1. 13 Apr, 2005 1 commit
    • David Zeuthen's avatar
      2005-04-13 David Zeuthen <davidz@redhat.com> · 44656f53
      David Zeuthen authored
      	* bus/selinux.c: Add c-file-style to top of file
      	(log_audit_callback): Don't free the data here anymore
      	(bus_selinux_check): Don't take spid and tpid since appending
      	that to auxdata may OOM.
      	(bus_selinux_allows_acquire_service): Handle OOM and signal back
      	to the caller if we are OOM by taking an error object.
      	(bus_selinux_allows_send): -do-
      	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
      	and bus_selinux_allows_send
      	* bus/bus.c (bus_context_check_security_policy): Pass error and
      	pass on OOM thrown by bus_selinux_allows_send()
      	* bus/services.c (bus_registry_acquire_service): Pass error and
      	pass on OOM thrown by bus_selinux_allows_acquire_service()
  2. 17 Mar, 2005 2 commits
    • Colin Walters's avatar
      2005-03-17 Colin Walters <walters@verbum.org> · a6558767
      Colin Walters authored
      	* bus/print-introspect.c: Move to tools/.
      	* bus/run-with-tmp-session-bus.sh: Ditto.
      	* glib/Makefile.am (dbus-glib-bindings.h): Move
      	generation to tools/Makefile.am.
      	* test/glib/run-test.sh: Update to handle move
      	of run-with-tmp-session-bus.sh.
      	* test/glib/test-service-glib.c: Update to handle
      	move of dbus-glib-bindings.h.
      	* tools/print-introspect.c: Moved here
      	from bus/, and ported to GLib bindings.
      	* tools/run-with-tmp-session-bus.sh: Moved here
      	from bus/.
      	* tools/Makefile.am: Generate dbus-glib-bindings.h
      	and dbus-bus-introspect.xml here.
      	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
    • Colin Walters's avatar
      2005-03-14 Colin Walters <walters@verbum.org> · 6180ae69
      Colin Walters authored
      	* bus/driver.c (write_args_for_direction): Use
      	_dbus_string_get_const_data to retrieve string;
      	_dbus_string_get_const_data_len doesn't actually return
      	a NULL-terminated substring.
      	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
      	(main): Change to use org_freedesktop_DBus_request_name
      	instead of using g_proxy_begin_call/end_call.
  3. 12 Mar, 2005 2 commits
    • Colin Walters's avatar
      2005-03-12 Colin Walters <walters@verbum.org> · 030cc1e5
      Colin Walters authored
      	* bus/driver.c (write_args_for_direction): New function,
      	parses a type signature into arguments and outputs to
      	(bus_driver_handle_introspect): Use it instead of
      	hardcoding XML for certain signatures.
      	* bus/Makefile.am (dbus-bus-introspect.xml): Add
      	dependency on dbus-daemon.
      	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
      	argument, pass it to dbus_binding_tool_output_glib_client.
      	* glib/dbus-binding-tool-glib.c
      	(generate_client_glue): Protect against multiple inclusion.
      	(dbus_binding_tool_output_glib_client): Add
      	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
      	Change to just take iface prefix directly.
      	(write_formal_parameters): Clarify error message.
      	(check_supported_parameters): New function; checks to see type
      	signatures of method parameters are supported.
      	(generate_client_glue): Handle ignore_unsupported flag.
      	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
      	* glib/Makefile.am (dbus-glib-bindings.h): Pass
      	--ignore-unsupported by default until glib bindings
      	support arrays.
    • Colin Walters's avatar
      2005-03-11 Colin Walters <walters@verbum.org> · 3dea5c18
      Colin Walters authored
      	* glib/Makefile.am: Generate dbus-glib-bindings.h and
      	install it.
      	* bus/print-introspect.c: New file; prints introspection
      	data for a given name and object path.
      	* bus/run-with-tmp-session-bus.sh: New file, refactored
      	from test/glib/run-test.sh.  Creates a temporary session
      	bus and runs another program.
      	* test/glib/run-test.sh: Refactor to invoke
      	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
      	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
      	macros instead of hardcoding.
      	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
  4. 17 Feb, 2005 2 commits
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · a9a4cc5f
      Colin Walters authored
      	* bus/.cvsignore, doc/.cvsignore
      	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · 24889520
      Colin Walters authored
      	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
      	Rename to DBUS_SERVICE_DBUS.
      	All other users of those constants have been changed.
      	* bus/driver.c (bus_driver_handle_introspect): Use constants.
      	* glib/dbus-gobject.c (handle_introspect): Use constants.
      	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
  5. 12 Feb, 2005 3 commits
    • Havoc Pennington's avatar
      2005-02-12 Havoc Pennington <hp@redhat.com> · 970be5fd
      Havoc Pennington authored
      	* tools/dbus-tree-view.c (info_set_func_text): display more
      	details on args
      	* bus/driver.c (bus_driver_handle_list_services): list the bus
      	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
      	* glib/dbus-gidl.c (signal_info_get_n_args): new function
      	(method_info_get_n_args): new function
    • Havoc Pennington's avatar
      2005-02-12 Havoc Pennington <hp@redhat.com> · 85fb9ff9
      Havoc Pennington authored
      	* bus/driver.c (bus_driver_handle_introspect): add introspection
      	for bus driver
    • Havoc Pennington's avatar
      2005-02-12 Havoc Pennington <hp@redhat.com> · 5b26893c
      Havoc Pennington authored
      	* bus/driver.c: put the signature of each bus driver method in the
      	table of handlers and check it on incoming calls; this isn't
      	really useful, but going to add introspect support in a minute.
  6. 07 Feb, 2005 1 commit
  7. 30 Jan, 2005 2 commits
    • Havoc Pennington's avatar
      2005-01-30 Havoc Pennington <hp@redhat.com> · 98ad8a8e
      Havoc Pennington authored
      	* glib/dbus-gobject.c (introspect_properties): fix the XML
      	* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
      	which effectively detects the use of freed messages
      	* glib/dbus-gobject.c (handle_introspect): modify and return the
      	reply message instead of the incoming message
      	* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
      	gee, maybe it should SEND THE XML instead of just making a string
      	and freeing it again ;-)
      	* tools/dbus-print-message.c (print_message): improve printing of
      	* configure.in: add debug-glib.service to the output
    • Havoc Pennington's avatar
      2005-01-30 Havoc Pennington <hp@redhat.com> · 41f52c96
      Havoc Pennington authored
              dbus-viewer introspected and displayed the bus driver
      	* dbus/dbus-object-tree.c
      	(object_tree_test_iteration): add tests for a handler registered on "/"
      	* dbus/dbus-object-tree.c
      	(_dbus_decompose_path): fix to handle path "/" properly
      	(run_decompose_tests): add tests for path decomposition
      	* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
      	* glib/dbus-gobject.c (handle_introspect): fix quotes
      	* test/glib/run-test.sh: support launching the bus, then running
      	* test/glib/test-service-glib.c (main): put in a trivial gobject
      	subclass and register it on the connection
      	* bus/driver.c (bus_driver_handle_introspect): implement
      	introspection of the bus driver service
      	* dbus/dbus-protocol.h: add #defines for the XML namespace,
      	identifiers, doctype decl
      	* bus/driver.c (bus_driver_handle_get_service_owner): handle
      	attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by
      	returning the service unchanged.
      	(bus_driver_handle_message): remove old check for reply_serial in
      	method calls, now the message type deals with that
      	(bus_driver_handle_message): handle NULL interface
      	* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
      	* glib/dbus-gloader-expat.c (description_load_from_string): allow
      	-1 for len
      	* tools/dbus-viewer.c: add support for introspecting a service on
      	a bus
      	* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
      	(dbus_g_pending_call_unref): add
  8. 21 Jan, 2005 1 commit
    • Havoc Pennington's avatar
      2005-01-20 Havoc Pennington <hp@redhat.com> · f5cf6756
      Havoc Pennington authored
      	* doc/dbus-tutorial.xml: replace > with &gt;
      	* bus/services.c (bus_registry_acquire_service): validate the name
      	and return a better error if it's no good.
      	* doc/dbus-specification.xml: note NO_AUTO_START change
      	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
      	from AUTO_START, we're toggling the default
      	* bus/dispatch.c: adapt the tests to change of auto-start default
  9. 18 Jan, 2005 2 commits
    • Havoc Pennington's avatar
      · 2abdb13e
      Havoc Pennington authored
      2005-01-18  Havoc Pennington  <hp@redhat.com>
      	* rename dbus-daemon-1 to dbus-daemon throughout
    • Havoc Pennington's avatar
      2005-01-18 Havoc Pennington <hp@redhat.com> · 8873c90f
      Havoc Pennington authored
              * Throughout, grand renaming to strip out the use of "service",
      	just say "name" instead (or "bus name" when ambiguous).  Did not
      	change the internal code of the message bus itself, only the
      	programmer-facing API and messages.
      	* doc/dbus-specification.xml: further update the message bus section
      	* bus/config-parser.c (all_are_equiv): fix bug using freed string
      	in error case
  10. 17 Jan, 2005 1 commit
    • Havoc Pennington's avatar
      2005-01-17 Havoc Pennington <hp@redhat.com> · 62e46533
      Havoc Pennington authored
      	* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
      	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
      	of an 8-bit type. Now dbus_bool_t is the type to use whenever you
      	are marshaling/unmarshaling a boolean.
  11. 16 Jan, 2005 1 commit
    • Havoc Pennington's avatar
      2005-01-16 Havoc Pennington <hp@redhat.com> · 31988af4
      Havoc Pennington authored
              * Add and fix docs according to Doxygen warnings throughout
      	* dbus/dbus-marshal-recursive.c
      	(_dbus_type_reader_array_is_empty): change this to just call
      	array_reader_get_array_len() and make it static
      	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
      	from get_array_type
      	(dbus_message_iter_init_append): rename from append_iter_init
      	* dbus/dbus-marshal-recursive.c
      	(_dbus_type_reader_get_element_type): rename from
  12. 15 Jan, 2005 1 commit
    • Havoc Pennington's avatar
      2005-01-15 Havoc Pennington <hp@redhat.com> · 9c3d566e
      Havoc Pennington authored
      	* Land the new message args API and type system.
      	This patch is huge, but the public API change is not
      	really large. The set of D-BUS types has changed somewhat,
      	and the arg "getters" are more geared toward language bindings;
      	they don't make a copy, etc.
      	There are also some known issues. See these emails for details
      	on this huge patch:
      	* dbus/dbus-marshal-*: all the new stuff
      	* dbus/dbus-message.c: basically rewritten
      	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
      	freed blocks to be all non-nul bytes so using freed memory is less
      	likely to work right
      	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
      	DBUS_FAIL_MALLOC=N environment variable, so you can do
      	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
      	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
      	* qt/message.cpp: port to the new message args API
      	(operator<<): use str.utf8() rather than str.unicode()
      	(pretty sure this is right from the Qt docs?)
      	* glib/dbus-gvalue.c: port to the new message args API
      	* bus/dispatch.c, bus/driver.c: port to the new message args API
      	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
      	"locked" flag to TRUE and align_offset to 0; I guess we never
      	looked at these anyhow, but seems cleaner.
      	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
      	move allocation padding macro to this header; use it to implement
      	(_DBUS_STRING_STATIC): ability to declare a static string.
      	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
      	change to return TRUE if the interface is not set.
      	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
      	to dbus-marshal-validate.[hc]
      	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
      	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
      	to dbus-marshal-*.[hc]
      	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
      	function here from dbus-marshal.c
  13. 27 Nov, 2004 1 commit
    • Havoc Pennington's avatar
      2004-11-26 Havoc Pennington <hp@redhat.com> · 65090abb
      Havoc Pennington authored
      	* test/glib/test-profile.c: add with_bus mode to profile echoes
      	that go through the bus.
      	* test/glib/run-test.sh: add ability to run test-profile
      	* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
      	config file reload.
  14. 26 Nov, 2004 1 commit
    • Havoc Pennington's avatar
      2004-11-25 Havoc Pennington <hp@redhat.com> · dbdea921
      Havoc Pennington authored
              The primary change here is to always write() once before adding
      	the write watch, which gives us about a 10% performance increase.
      	* dbus/dbus-transport-unix.c: a number of modifications to cope
      	with removing messages_pending
      	(check_write_watch): properly handle
      	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
      	messages_pending stuff
      	(check_read_watch): properly handle WAITING_FOR_MEMORY and
      	AUTHENTICATED cases
      	(unix_handle_watch): after writing, see if the write watch can be
      	(unix_do_iteration): assert that write_watch/read_watch are
      	non-NULL rather than testing that they aren't, since they
      	aren't allowed to be NULL. check_write_watch() at the end so
      	we add the watch if we did not finish writing (e.g. got EAGAIN)
      	* dbus/dbus-transport-protected.h: remove messages_pending call,
      	since it resulted in too much inefficient watch adding/removing;
      	instead we now require that the transport user does an iteration
      	after queueing outgoing messages, and after trying the first
      	write() we add a write watch if we got EAGAIN or exceeded our
      	max bytes to write per iteration setting
      	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
      	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
      	freed and then accessed, valgrind flagged this bug, fix it
      	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
      	as the last valid field plus 1, where really it is equal to the
      	last valid field. Corrects some message corruption issues.
      	* dbus/dbus-mainloop.c: verbosity changes
      	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
      	instead of aborting in one of the test codepaths
      	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
      	caused not printing the pid ever again if a verbose was missing
      	the newline at the end
      	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
      	* dbus/dbus-connection.c: verbosity changes;
      	(dbus_connection_has_messages_to_send): new function
      	(_dbus_connection_message_sent): no longer call transport->messages_pending
      	(_dbus_connection_send_preallocated_unlocked): do one iteration to
      	try to write() immediately, so we can avoid the write watch. This
      	is the core purpose of this patchset
      	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
      	dump the outgoing message queue, so nobody will get confused
      	trying to send them or thinking stuff is pending to be sent
      	* bus/test.c: verbosity changes
      	* bus/driver.c: verbosity/assertion changes
      	* bus/dispatch.c: a bunch of little tweaks to get it working again
      	because this patchset changes when/where you need to block.
  15. 09 Nov, 2004 1 commit
    • Colin Walters's avatar
      2004-11-09 Colin Walters <walters@verbum.org> · 935a41a0
      Colin Walters authored
      	* dbus/dbus-string.c (_dbus_string_get_length): New
      	function, writes DBusString to C buffer.
      	* dbus/dbus-string.h: Prototype it.
      	* dbus/dbus-message.c (dbus_message_type_to_string): New
      	function, converts message type into C string.
      	* dbus/dbus-message.h: Prototype it.
      	* bus/selinux.c (bus_selinux_check): Take source pid,
      	target pid, and audit data.  Pass audit data to
      	(log_audit_callback): New function, appends extra
      	audit information.
      	(bus_selinux_allows_acquire_service): Also take
      	service name, add it to audit data.
      	(bus_selinux_allows_send): Also take message
      	type, interface, method member, error name,
      	and destination, and add them to audit data.
      	(log_cb): Initialize func_audit.
      	* bus/selinux.h (bus_selinux_allows_acquire_service)
      	(bus_selinux_allows_send): Update prototypes
      	* bus/services.c (bus_registry_acquire_service): Pass
      	service name to bus_selinux_allows_acquire_service.
      	* bus/bus.c (bus_context_check_security_policy): Pass
      	additional audit data.  Move assignment of dest
      	to its own line.
  16. 07 Nov, 2004 1 commit
    • Colin Walters's avatar
      2004-11-07 Colin Walters <walters@verbum.org> · cdac3e05
      Colin Walters authored
      	* bus/bus.c (load_config): Break into three
      	separate functions: process_config_first_time_only,
      	process_config_every_time, and process_config_postinit.
      	(process_config_every_time): Move call of
      	bus_registry_set_service_context_table into
      	(process_config_postinit): New function, does
      	any processing that needs to happen late
      	in initialization (and also on reload).
      	(bus_context_new): Instead of calling load_config,
      	open config parser here and call process_config_first_time_only
      	and process_config_every_time directly.  Later, after
      	we have forked but before changing UID,
      	invoke bus_selinux_full_init, and then call
      	(bus_context_reload_config): As in bus_context_new,
      	load parse file inside here, and call process_config_every_time
      	and process_config_postinit.
      	* bus/services.h, bus/services.c
      	(bus_registry_set_service_context_table): Rename
      	from bus_registry_set_sid_table.  Take string hash from config
      	parser, and convert them here into SIDs.
      	* bus/config-parser.c (struct BusConfigParser): Have
      	config parser only store a mapping of service->context
      	(merge_service_context_hash): New function.
      	(merge_included): Merge context string hashes instead
      	of using bus_selinux_id_table_union.
      	(bus_config_parser_new): Don't use bus_selinux_id_table_new;
      	simply create a new string hash.
      	(bus_config_parser_unref): Unref it.
      	(start_selinux_child): Simply insert strings into hash,
      	don't call bus_selinux_id_table_copy_over.
      	* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
      	(bus_selinux_id_table_copy_over): Delete.
  17. 04 Nov, 2004 2 commits
  18. 03 Nov, 2004 1 commit
  19. 02 Nov, 2004 1 commit
    • Colin Walters's avatar
      2004-11-02 Colin Walters <walters@verbum.org> · 73ffe59d
      Colin Walters authored
      	* bus/selinux.c (bus_selinux_init): Split into two functions,
      	bus_selinux_pre_init and bus_selinux_post_init.
      	(bus_selinux_pre_init): Just determine whether SELinux is
      	(bus_selinux_post_init): Do everything else.
      	* bus/main.c (main): Call bus_selinux_pre_init before parsing
      	config file, and bus_selinux_post_init after.  This ensures that
      	we don't lose the policyreload notification thread that
      	bus_selinux_init created before forking previously.
      	* bus/test-main.c (test_pre_hook): Update for split.
  20. 29 Oct, 2004 4 commits
  21. 25 Oct, 2004 1 commit
    • John Palmieri's avatar
      John (J5) Palmieri <johnp@redhat.com> · 4612de01
      John Palmieri authored
              * dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
              the DBusUserInfo structure since this is passed into the function.
              This would cause a double free when the function that allocated
              the structure would try to free it when an error occured.
              * (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
              use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
              for service activation to avoid 32bit/64bit parallel install issues
  22. 18 Oct, 2004 2 commits
    • Colin Walters's avatar
      2004-10-18 Colin Walters <walters@verbum.org> · f79e96fc
      Colin Walters authored
      	* bus/selinux.c (bus_selinux_enabled): Handle
      	--disable-selinux case.
    • Colin Walters's avatar
      2004-10-18 Colin Walters <walters@verbum.org> · 736fa825
      Colin Walters authored
      	* bus/selinux.h: Add bus_selinux_enabled.
      	* bus/selinux.c (bus_selinux_enabled): Implement it.
      	* bus/config-parser.c (struct include): Add
      	if_selinux_enabled member.
      	(start_busconfig_child): Parse if_selinux_enabled
      	attribute for include.
      	(bus_config_parser_content): Handle it.
      	* bus/session.conf.in, bus/system.conf.in: Add
      	inclusion of context mapping to default config files;
      	conditional on SELinux being enabled.
      	* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
      	* test/data/invalid-config-files/badselinux-1.conf,
      	Test files for bad syntax.
  23. 27 Sep, 2004 1 commit
  24. 24 Sep, 2004 1 commit
  25. 17 Sep, 2004 1 commit
    • Olivier Andrieu's avatar
      * dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM. · 1658c8af
      Olivier Andrieu authored
      * doc/busconfig.dtd: update the DTD for the at_console attribute.
      * bus/driver.c (bus_driver_handle_hello): correctly handle Hello
      messages after the first one (bug #1389).
      * bus/dispatch.c (check_double_hello_message): add a test case for the
      double hello message bug.  (check_existent_service_activation): fix
      check of spawning error.
  26. 12 Sep, 2004 1 commit
    • David Zeuthen's avatar
      2004-09-12 David Zeuthen <david@fubar.dk> · a24270a4
      David Zeuthen authored
      	Patch from Kay Sievers <kay.sievers@vrfy.org>
      	* bus/bus.c (bus_context_new):
      	* bus/bus.h:
      	* bus/main.c (usage)
      	Add commandline option --nofork to override configuration file
  27. 26 Aug, 2004 1 commit
  28. 25 Aug, 2004 1 commit
    • John Palmieri's avatar
      Console user security policy · b78d2220
      John Palmieri authored
      * bus/config-parser.c:
      (struct PolicyType): Add POLICY_CONSOLE
      (struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
      (start_busconfig_child): Sets up console element when
      <policy at_console=""> is encountered in a policy file
      (append_rule_from_element): Convert console elements to console
      * bus/policy.c:
      (bus_policy_create_client_policy): Add console rules to the client
      policy based on if the client is at the console
      (bus_policy_append_console_rule): New function for adding a
      console rule to a policy
      (bus_policy_merge): Handle console rule merging
      * dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
      where we check for console user files
      * dbus/dbus-sysdeps.c:
      (_dbus_file_exists): New function which checks if the given
      file exists
      (_dbus_user_at_console): New function which does the system
      specific process of checking if the user is at the console
      * dbus/dbus-userdb.c:
      (_dbus_is_console_user): New function converts a UID to user name
      and then calls the system specific _dbus_user_at_console to
      see if the user is at the console and therefor a console user