summaryrefslogtreecommitdiffstats
path: root/dbus
Commit message (Collapse)AuthorAgeFilesLines
...
* arrays are working, wootHavoc Pennington2004-12-282-57/+126
|
* sync busted marshaling work in progressHavoc Pennington2004-12-285-153/+1103
|
* * dbus/make-dbus-glib-error-enum.sh: omit the function keyword forOlivier Andrieu2004-12-211-1/+1
| | | | better POSIX compliance.
* 2004-12-19 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-12-197-234/+657
| | | | | | | * dbus/dbus-string.c (_dbus_string_insert_4_aligned) (_dbus_string_insert_8_aligned): new functions * dbus/dbus-string.c (_dbus_string_alloc_space): new function
* back up some files I'm working on that don't do anything yetHavoc Pennington2004-12-195-0/+4350
|
* 2004-12-18 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-12-194-4/+21
| | | | | | | | | | | | * dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII macro * dbus/dbus-message.c: fix a comment, and add a still-unused not-implemented function * dbus/dbus-marshal.h: fix comment * dbus/dbus-internals.h (_DBUS_ISASCII): new macro
* 2004-11-27 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-274-6/+47
| | | | | | | | | | | | * dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts are disabled (_dbus_string_get_const_data): inline when asserts are disabled * dbus/dbus-message.c: record the _dbus_current_generation of creation so we can complain if dbus_shutdown() is used improperly. Do this only if checks are enabled. * dbus/dbus-connection.c: ditto
* 2004-11-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-271-3/+4
| | | | | | | | | | * 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.
* 2004-11-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-261-5/+12
| | | | | * dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug where I was trying to cache one too many messages
* 2004-11-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-261-27/+62
| | | | | * dbus/dbus-message.c: reimplement message cache as an array which makes the cache about twice as fast and saves maybe 1.5% overall
* 2004-11-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-261-1/+2
| | | | | * dbus/dbus-threads.c (init_global_locks): forgot to put the message cache lock here
* 2004-11-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-264-46/+258
| | | | | | | | | | | | * dbus/dbus-message.c (struct DBusMessage): put the locked bit and the "char byte_order" next to each other to save 4 bytes (dbus_message_new_empty_header): reduce preallocation, since the message cache should achieve a similar effect (dbus_message_cache_or_finalize, dbus_message_get_cached): add a message cache that keeps a few DBusMessage around in a pool, another 8% speedup or so. * dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
* 2004-11-25 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-261-1/+24
| | | | | | | * dbus/dbus-transport-unix.c (unix_do_iteration): if we're going to write, without reading or blocking, try it before the poll() and skip the poll() if nothing remains to write. This is about a 3% speedup in the echo client/server
* 2004-11-25 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-2616-164/+575
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 removed (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 function * 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.
* 2004-11-22 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-221-7/+6
| | | | | | | | * test/glib/test-profile.c (N_CLIENT_THREADS): run multiple threads for more time, so sysprof can get a grip on it. * dbus/dbus-string.c (_dbus_string_validate_utf8): remove pointless variable
* 2004-11-13 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-11-133-30/+74
| | | | | | | | | | | | | | | | | | | | | | | | * test/glib/test-profile.c: fix this thing up a bit * dbus/dbus-message.c (dbus_message_new_empty_header): increase preallocation sizes by a fair bit; not sure if this will be an overall performance win or not, but it does reduce reallocs. * dbus/dbus-string.c (set_length, reallocate_for_length): ignore the test hack that forced constant realloc if asserts are disabled, so we can profile sanely. Sprinkle in some _DBUS_UNLIKELY() which are probably pointless, but before I noticed the real performance problem I put them in. (_dbus_string_validate_utf8): micro-optimize this thing a little bit, though callgrind says it didn't help; then special-case ascii, which did help a lot; then be sure we detect nul bytes as invalid, which is a bugfix. (align_length_then_lengthen): add some more _DBUS_UNLIKELY superstition; use memset to nul the padding instead of a manual loop. (_dbus_string_get_length): inline this as a macro; it showed up in the profile because it's used for loop tests and so forth
* add a little comment about WNOHANG/EINTRHavoc Pennington2004-11-101-0/+3
|
* 2004-11-10 Colin Walters <walters@verbum.org>Colin Walters2004-11-101-1/+5
| | | | | * dbus/dbus-spawn.c (check_babysit_events): Handle EINTR, for extra paranoia.
* 2004-11-09 Colin Walters <walters@verbum.org>Colin Walters2004-11-094-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 avc_has_perm. (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.
* 2004-11-07 Colin Walters <walters@verbum.org>Colin Walters2004-11-071-1/+1
| | | | | * dbus/dbus-transport-unix.c (do_authentication): Always initialize auth_completed.
* 2004-10-29 Colin Walters <walters@redhat.com>Colin Walters2004-10-292-0/+39
| | | | | | | | | | * dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take parameter for fd to write pid to. * dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it. * bus/bus.c (bus_context_new): Pass print_pid_fd to _dbus_become_daemon (bug #1720)
* 2004-10-29 Colin Walters <walters@redhat.com>Colin Walters2004-10-291-3/+3
| | | | | * dbus/dbus-glib.h: Update documentation to not refer to internal APIs.
* John (J5) Palmieri <johnp@redhat.com>John (J5) Palmieri2004-10-251-1/+0
| | | | | | | | | | | * 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
* 2004-10-21 Colin Walters <walters@verbum.org>Colin Walters2004-10-221-10/+32
| | | | | | | | | | * dbus/dbus-transport-unix.c (do_authentication): Return authentication status to callers. (unix_handle_watch): If we completed authentication this round, don't do another read. Instead wait until the next iteration, after we've read any pending data in the auth buffer. (unix_do_iteration): Ditto. (unix_handle_watch): Updated for new do_authentication prototype.
* 2004-10-17 Colin Walters <walters@verbum.org>Colin Walters2004-10-181-9/+9
| | | | | | * dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards) (dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf format specifier mismatches.
* * dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect format string.Olivier Andrieu2004-10-071-1/+1
| | | | | * glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL pointer (bug #1540, Leonardo Boiko).
* * bus/signals.c (bus_match_rule_parse): validate the components ofOlivier Andrieu2004-09-271-16/+12
| | | | | | match rules (bug #1439). * dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
* * dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.Olivier Andrieu2004-09-171-5/+8
| | | | | | | | | | | * 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.
* remove the ; after DBUS_(BEGIN|END)_DECLS (bug #974)Olivier Andrieu2004-09-0936-72/+72
|
* 2004-08-28 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-08-293-4/+6
| | | | | | | | | | | | * dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable More fixes from Steve Grubb * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak (_dbus_listen_tcp_socket): fix fd leak * dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for EINTR to a bit lower in the code
* Console user security policyJohn (J5) Palmieri2004-08-254-1/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 rules. * 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
* 2004-08-24 Mikael Hallendal <micke@imendio.com>Mikael Hallendal2004-08-241-2/+0
| | | | | * dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since it's been replaced by dbus_g_bus_get
* might be nice if my patches compiled...Havoc Pennington2004-08-231-2/+2
|
* 2004-08-23 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-08-231-0/+10
| | | | | * dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to drop supplementary groups, suggested by Steve Grubb
* * bus/bus.c (process_config_first_time_only): get rid of an unusedOlivier Andrieu2004-08-102-3/+5
| | | | | | | | | DBusError that was causing a memoy leak (bug #989). * dbus/dbus-keyring.c, dbus/dbus-message.c: fix compilation on Solaris/Forte C (bug #974) * bus/main.c (main): plug two minuscule memleaks.
* 2004-08-09 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-08-1082-82/+82
| | | | | * COPYING: switch to Academic Free License version 2.1 instead of 2.0, to resolve complaints about patent termination clause.
* * bus/config-parser.c (bus_config_parser_new): fix an invalid _unrefOlivier Andrieu2004-07-311-1/+1
| | | | | | | | | | | | | in the SELinux support. * doc/busconfig.dtd: update DTD for SELinux support. * bus/config-loader-libxml.c: fix error handler and parser initialisation/cleanup. OOM test now works with libxml2 HEAD. * configure.in: remove the warning about libxml2 * dbus/dbus-bus.c: silence doxygen warning.
* * dbus/dbus-internals.h (_DBUS_SET_OOM):Olivier Andrieu2004-07-312-2/+2
| | | | | | | | * bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of dbus_error_set. * bus/dispatch.c (check_send_exit_to_service): fix the test case, broken by the change in the _SET_OOM macros.
* 2004-07-24 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-07-306-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * bus/config-loader-libxml.c: complete the implementation of libxmlOlivier Andrieu2004-07-292-9/+33
| | | | | | | | | | | | | | | | | | | | | | backend for config file loader. Doesn't work with full OOM test yet. * configure.in: change error when selecting libxml into a warning. * test/data/invalid-config-files: add two non-well-formed XML files. * glib/Makefile.am: libdbus_gtool always uses expat, not libxml. * dbus/dbus-transport-unix.c (unix_handle_watch): do not disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may be necessary to read all the buffer. (bug #894) * bus/activation.c (bus_activation_activate_service): fix a potential assertion failure (bug #896). Small optimization in the case of auto-activation messages. * dbus/dbus-message.c (verify_test_message, _dbus_message_test): add test case for byte-through-vararg bug (#901). patch by Kimmo Hämäläinen.
* 2004-07-22 Olivier Andrieu <oliv__a@users.sourceforge.net>Olivier Andrieu2004-07-225-15/+15
| | | | | | | | | | | | | | | | | | | | | | * dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name, breaking build on Solaris, reported by Farhad Saberi on the ML. * dbus/dbus-message.c (dbus_message_append_args_valist): fix the va_arg invocation to account for integer promotion in the case of DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901) * bus/services.c (bus_service_remove_owner): fix bug #902, use _dbus_list_get_first_link, not _dbus_list_get_first. * dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak. * dbus/dbus-object-tree.c (free_subtree_recurse): always null handler functions so that the asserts in _dbus_object_subtree_unref do not fail. * dbus/dbus-transport-unix.c (do_reading): _dbus_transport_queue_messages return value is of type dbus_bool_t, not DBusDispatchStatus.
* 2004-07-19 David Zeuthen <david@fubar.dk>David Zeuthen2004-07-196-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN * bus/dispatch.c: (check_get_connection_unix_user): Debug says GetProperty; but the method is called GetConnectionUnixUser (check_get_connection_unix_process_id): New function (bus_dispatch_test): Actually call check_get_connection_unix_user(); also call check_get_connection_unix_process_id() * bus/driver.c: (bus_driver_handle_get_connection_unix_process_id): New function, handles GetConnectionUnixProcessID on the org.freedesktop.DBus interface * dbus/dbus-auth.c: (handle_server_data_external_mech): Set pid from the credentials obtained from the socket * dbus/dbus-connection.c: (dbus_connection_get_unix_process_id): New function * dbus/dbus-connection.h: Add prototype for dbus_connection_get_unix_process_id * dbus/dbus-transport.c: (_dbus_transport_get_unix_process_id): New function * dbus/dbus-transport.h: Add prototype for _dbus_transport_get_unix_process_id
* * dbus/dbus-message.c: Message counter fix, patch by Christian Hammond ↵Olivier Andrieu2004-07-191-1/+1
| | | | <chipx86@gnupdate.org>
* add autogenerated dbus-glib-error-enum.hOlivier Andrieu2004-06-281-0/+1
|
* * bus/driver.c (bus_driver_handle_get_connection_unix_user)Olivier Andrieu2004-06-282-0/+76
| | | | | | | | * dbus/bus.c (dbus_bus_get_unix_user) * doc/dbus-specification.xml: implement GetConnectionUnixUser method of org.freedesktop.DBus interface. * bus/dispatch.c: test case
* 2004-06-20 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-06-2023-56/+384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * dbus/dbus-glib-error-enum.h: autogenerate the GError enum codes from the dbus error names * glib/dbus-glib.h: move to subdir dbus/ since it's included as dbus/dbus-glib.h and that breakage is now visible due to including dbus/dbus-glib.h in dbus-glib-lowlevel.h * glib/dbus-glib.h: s/gproxy/g_proxy/ * dbus/dbus-shared.h: new header to hold stuff shared with binding APIs * dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather than dbus-errors.h * glib/dbus-glib.h (dbus_set_g_error): move to dbus-glib-lowlevel.h * glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch of stuff to enable this * dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here * a bunch of other changes with the same basic "separate glib bindings from dbus.h" theme
* 2004-06-09 Olivier Andrieu <oliv__a@users.sourceforge.net>Olivier Andrieu2004-06-091-3/+1
| | | | | * bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for the reply value of the ServiceExists message.
* 2004-06-07 Havoc Pennington <hp@redhat.com>Havoc Pennington2004-06-075-116/+294
| | | | | | | | | | | | | | | | | | | * dbus/dbus-message-builder.c (_dbus_message_data_load): append random signature when using REQUIRED_FIELDS (this hack won't work in the long term) * dbus/dbus-message.c: change the signature to be a header field, instead of message->signature special-case string. Incremental step forward. Then we can fix up code to send the signature in the message, then fix up code to validate said signature, then fix up code to not put the typecodes inline, etc. (load_one_message): don't make up the signature after the fact (decode_header_data): require signature field for the known message types * dbus/dbus-marshal.c (_dbus_marshal_string_len): new * dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
* 2004-06-05 Olivier Andrieu <oliv__a@users.sourceforge.net>Olivier Andrieu2004-06-054-45/+106
| | | | | | | | | | | | | * dbus/dbus-connection.h, dbus/dbus-connection.c: have object path registration functions take the path argument as char* instead of char**. * dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path): split off the path decompostion part of _dbus_demarshal_object_path. Some misc. fixes to silence compiler warnings. * glib/dbus-gobject.c, test/test-service.c: update accordingly.
* 2004-06-02 Kristian Høgsberg <krh@redhat.com>Kristian Høgsberg2004-06-021-350/+391
| | | | | | | | | | * dbus/dbus-auth.c: Rewrite auth protocol handling to use a state machine approach. A state is implemented as a function that handles incoming events as specified for that state. * doc/dbus-specification.xml: Update auth protocol state machine specification to match implementation. Remove some leftover base64 examples.