1. 09 Sep, 2004 1 commit
  2. 10 Aug, 2004 1 commit
  3. 30 Jul, 2004 1 commit
    • Havoc Pennington's avatar
      2004-07-24 Havoc Pennington <hp@redhat.com> · 1e9b185b
      Havoc Pennington authored
      	SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
      
      	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
      	functionality
      
      	* configure.in: add --enable-selinux
      
      	* bus/policy.c (bus_policy_merge): add FIXME to a comment
      
      	* bus/main.c (main): initialize and shut down selinux
      
      	* bus/connection.c: store SELinux ID on each connection, to avoid
      	repeated getting of the string context and converting it into
      	an ID
      
      	* bus/bus.c (bus_context_get_policy): new accessor, though it
      	isn't used
      	(bus_context_check_security_policy): check whether the security
      	context of sender connection can send to the security context of
      	recipient connection
      
      	* bus/config-parser.c: add parsing for <selinux> and <associate>
      
      	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
      	implement dbus_connection_get_unix_fd()
      
      	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
      	function, used by the selinux stuff
      1e9b185b
  4. 02 Dec, 2003 1 commit
  5. 07 Sep, 2003 1 commit
  6. 14 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-13 Havoc Pennington <hp@pobox.com> · 777707ed
      Havoc Pennington authored
      	* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
      	callbacks
      
      	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
      	users
      
      	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
      	fix to only recover unused bytes if we're already authenticated
      	(_dbus_transport_get_is_authenticated): fix to still mark us
      	authenticated if there are unused bytes.
      
      	* bus/dispatch.c: implement security policy checking
      
      	* bus/connection.c (bus_transaction_send_from_driver): new
      
      	* bus/bus.c (bus_context_check_security_policy): new
      
      	* bus/dispatch.c (send_service_nonexistent_error): delete this,
      	now we just set the DBusError and it gets converted to an error
      	reply.
      
      	* bus/connection.c (allow_user_function): enable code using actual
      	data from the config file
      
      	* bus/policy.c (list_allows_user): handle wildcard rules for
      	user/group connection perms
      777707ed
  7. 31 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-31 Havoc Pennington <hp@pobox.com> · 29c71168
      Havoc Pennington authored
      	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
      	(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
      	argument since they are always client side
      
      	* dbus/dbus-server.c (dbus_server_get_address): new function
      
      	* bus/main.c (main): take the configuration file as an argument.
      
      	* test/data/valid-config-files/debug-allow-all.conf: new file to
      	use with dispatch.c tests for example
      
      	* bus/test-main.c (main): require test data dir
      
      	* bus/bus.c (bus_context_new): change this to take a
      	configuration file name as argument
      
      	* doc/config-file.txt (Elements): add <servicedir>
      
      	* bus/system.conf, bus/session.conf: new files
      
      	* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
      	well-known socket if none set
      
      	* configure.in: create system.conf and session.conf
      29c71168
  8. 21 Mar, 2003 1 commit
  9. 17 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · b4a1100f
      Havoc Pennington authored
      	* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
      	the watch
      
      	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
      	add some missing dbus_set_result
      
      	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
      	alloc the DBusMessageHandler
      
      	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
      	the transport here, since we call this from the finalizer; it
      	resulted in a double-finalize.
      
      	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
      	where we tried to use transport->connection that was NULL,
      	happened when transport was disconnected early on due to OOM
      
      	* bus/*.c: adapt to handle OOM for watches/timeouts
      
      	* dbus/dbus-transport-unix.c: port to handle OOM during
      	watch handling
      
      	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
      	reference to unused bytes instead of a copy
      
      	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
      	out of memory
      
      	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
      	FALSE on OOM
      
      	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
      	of memory
      b4a1100f
  10. 15 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-15 Havoc Pennington <hp@pobox.com> · f587ce78
      Havoc Pennington authored
      	Make it pass the Hello handling test including all OOM codepaths.
      	Now to do other messages...
      
      	* bus/services.c (bus_service_remove_owner): fix crash when
      	removing owner from an empty list of owners
      	(bus_registry_ensure): don't leave service in the list of
      	a connection's owned services if we fail to put the service
      	in the hash table.
      
      	* bus/connection.c (bus_connection_preallocate_oom_error): set
      	error flag on the OOM error.
      
      	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
      	handle _dbus_transport_set_connection failure
      
      	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
      	to create watches up front and simply enable/disable them as
      	needed.
      	(unix_connection_set): this can now fail on OOM
      
      	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
      	of enabling/disabling a watch or timeout.
      
      	* bus/loop.c (bus_loop_iterate): don't touch disabled
      	watches/timeouts
      
      	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
      f587ce78
  11. 19 Jan, 2003 1 commit
    • Havoc Pennington's avatar
      2003-01-18 Havoc Pennington <hp@pobox.com> · 502fbda2
      Havoc Pennington authored
      	* dbus/dbus-transport-unix.c (unix_do_iteration): only do the
      	reading/writing if read_watch != NULL or write_watch != NULL.
      
      	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
      	the message loader code to actually load message->header and
      	message->body into the newly-created message.
      
      	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
      	in OOM case
      
      	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
      	(dbus_connection_get_max_message_size)
      	(dbus_connection_set_max_live_messages_size)
      	(dbus_connection_get_max_live_messages_size): implement some
      	resource limitation functions
      
      	* dbus/dbus-resources.c: new file implementing some of the
      	resource limits stuff
      
      	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
      	missing docs, add @todo to handle OOM etc.
      
      	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
      	docs
      502fbda2
  12. 04 Jan, 2003 1 commit
    • Havoc Pennington's avatar
      2003-01-04 Havoc Pennington <hp@pobox.com> · 01af5ff4
      Havoc Pennington authored
      	* test/watch.c (error_handler): make it safe if the error handler
      	is called multiple times (if we s/error handler/disconnect
      	handler/ we should just guarantee it's called only once)
      
      	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
      	error handler on disconnect (it's quite possible we should
      	just change the error handler to a "disconnect handler," I'm
      	not sure we have any other meaningful errors)
      
      	* configure.in: check for getpwnam_r
      
      	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
      	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
      	mechanism as in SASL spec, using socket credentials
      
      	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
      	(_dbus_send_credentials_unix_socket): new function
      
      	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
      	dbus_accept()
      	(_dbus_write): only check errno if <0 returned
      	(_dbus_write_two): ditto
      01af5ff4
  13. 27 Dec, 2002 1 commit
    • Havoc Pennington's avatar
      2002-12-26 Havoc Pennington <hp@pobox.com> · ff5283ab
      Havoc Pennington authored
      	* dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
      	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
      	doh
      
      	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
      	avoid swap_bytes() overhead (ignoring possible assembly stuff for
      	now). Main point is because I wanted unpack_uint32 to implement
      	_dbus_verbose_bytes
      	(_dbus_verbose_bytes): new function
      
      	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
      
      	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
      	mechanism to handle a corrupt message stream
      	(_dbus_message_loader_new): fix preallocation to only prealloc,
      	not prelengthen
      
      	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
      	(_dbus_string_test): enhance tests for copy/move and fix the
      	functions
      
      	* dbus/dbus-transport-unix.c: Hold references in more places to
      	avoid reentrancy problems
      
      	* dbus/dbus-transport.c: ditto
      
      	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
      	leak reference count in no-message case
      
      	* test/watch.c (do_mainloop): handle adding/removing watches
      	during iteration over the watches. Also, ref the connection/server
      	stored on a watch, so we don't try to mangle a destroyed one.
      
      	* dbus/dbus-transport-unix.c (do_authentication): perform
      	authentication
      
      	* dbus/dbus-auth.c (get_state): add a state
      	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
      	(_dbus_auth_get_unused_bytes): append the unused bytes
      	to the passed in string, rather than prepend
      
      	* dbus/dbus-transport.c (_dbus_transport_init_base): create
      	the auth conversation DBusAuth
      
      	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
      	(_dbus_transport_new_for_domain_socket): when creating a
      	transport, pass in whether it's a client-side or server-side
      	transport so we know which DBusAuth to create
      ff5283ab
  14. 25 Nov, 2002 1 commit
    • Havoc Pennington's avatar
      2002-11-24 Havoc Pennington <hp@pobox.com> · 041b0767
      Havoc Pennington authored
              * test/echo-client.c, test/echo-server.c: cheesy test
      	clients.
      
      	* configure.in (AC_CHECK_FUNCS): check for writev
      
      	* dbus/dbus-message.c (_dbus_message_get_network_data): new
      	function
      
      	* dbus/dbus-list.c (_dbus_list_foreach): new function
      
      	* dbus/dbus-internals.c (_dbus_verbose): new function
      
      	* dbus/dbus-server.c, dbus/dbus-server.h: public object
      	representing a server that listens for connections.
      
      	* dbus/.cvsignore: create
      
      	* dbus/dbus-errors.h, dbus/dbus-errors.c:
      	public API for reporting errors
      
      	* dbus/dbus-connection.h, dbus/dbus-connection.c:
      	public object representing a connection that
      	sends/receives messages. (Same object used for
      	both client and server.)
      
      	* dbus/dbus-transport.h, dbus/dbus-transport.c:
      	Basic abstraction for different kinds of stream
      	that we might read/write messages from.
      041b0767