platform/upstream/dbus.git
21 years ago2003-02-01 James Willcox <jwillcox@gnome.org>
James Willcox [Sun, 2 Feb 2003 00:39:10 +0000 (00:39 +0000)]
2003-02-01  James Willcox  <jwillcox@gnome.org>

* bus/driver.c: (bus_driver_handle_own_service):
Actually include the service reply code in the message.

21 years ago2003-02-02 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 2 Feb 2003 00:29:56 +0000 (00:29 +0000)]
2003-02-02  Anders Carlsson  <andersca@codefactory.se>

* bus/driver.c: (bus_driver_handle_service_exists):
Don't unref the incoming message.

21 years ago2003-02-02 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 1 Feb 2003 22:37:44 +0000 (22:37 +0000)]
2003-02-02  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus.h: Add dbus-address.h and dbus-bus.h

21 years ago2003-02-02 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 1 Feb 2003 22:34:04 +0000 (22:34 +0000)]
2003-02-02  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-server.c: (dbus_server_listen):
* dbus/dbus-transport.c: (_dbus_transport_open):
ifdef out the calls to the debug transport and server.

21 years ago2003-02-02 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Sat, 1 Feb 2003 22:02:27 +0000 (22:02 +0000)]
2003-02-02  Alexander Larsson  <alexl@redhat.com>

* dbus/dbus-watch.c (dbus_watch_get_flags):
Add note in the docs that ERROR or HANGUP won't be returned
and are assumed always on.

* glib/dbus-gmain.c (add_watch):
Always add IO_ERR | IO_HUP

* dbus/dbus-message.h:
Add semicolon after dbus_message_iter_get_string_array().
Makes qt code build again

21 years ago2003-02-01 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 1 Feb 2003 21:26:32 +0000 (21:26 +0000)]
2003-02-01  Anders Carlsson  <andersca@codefactory.se>

* bus/driver.c: (create_unique_client_name),
(bus_driver_handle_hello):
Don't take a name, just use a numeric id to identify
each client.

* dbus/Makefile.am:
* dbus/dbus-bus.c: (dbus_bus_register_client),
(dbus_bus_acquire_service), (dbus_bus_service_exists):
* dbus/dbus-bus.h:
Add new convenience functions for communicating with the bus.

* dbus/dbus-message.h:

* dbus/dbus-protocol.h:
Fix a typo.

21 years ago2003-02-01 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Sat, 1 Feb 2003 14:09:28 +0000 (14:09 +0000)]
2003-02-01  Alexander Larsson  <alexl@redhat.com>

* dbus/dbus-message.c (dbus_message_append_fields):
Add some more doc comments.

21 years ago2003-02-01 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 1 Feb 2003 05:16:31 +0000 (05:16 +0000)]
2003-02-01  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-break-loader.c (randomly_modify_length): change
a 4-byte value in the message as if it were a length

* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
execute bit on saved files

21 years ago2003-02-01 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 1 Feb 2003 04:58:16 +0000 (04:58 +0000)]
2003-02-01  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-break-loader.c (main): new program to find messages
that break the loader.

* dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function

* dbus/dbus-string.c (_dbus_string_set_byte): new

21 years ago2003-01-31 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 1 Feb 2003 02:43:52 +0000 (02:43 +0000)]
2003-01-31  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c: refactor the test code to be more general,
in preparation for writing a "randomly permute test cases to
try to break the loader" program.

21 years ago2003-01-31 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 1 Feb 2003 00:08:32 +0000 (00:08 +0000)]
2003-01-31  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: work on the specification

* dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
the protocol version of the message.

* dbus/dbus-protocol.h: drop special _REPLY names, the spec
no longer specifies that.
(DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
1/2/3/4)

* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
"break" for DBUS_TYPE_NIL, remove @todo

21 years ago2003-01-31 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 31 Jan 2003 23:28:09 +0000 (23:28 +0000)]
2003-01-31  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
just set_is_error/get_is_error as this is a commonly-used
function, and write docs.

21 years ago2003-01-31 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 31 Jan 2003 13:36:36 +0000 (13:36 +0000)]
2003-01-31  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-address.c: (dbus_address_entry_free):
Free key and value lists.

* dbus/dbus-internals.c: (_dbus_type_to_string):
Add the types we didn't have.

* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
(_dbus_marshal_validate_arg):
Add NIL types.

* dbus/dbus-message.c: (dbus_message_set_sender):
Remove todo about being able to set sender to NULL.

(dbus_message_set_is_error_reply),
(dbus_message_get_is_error_reply):
* dbus/dbus-message.h:
New functions.

* dbus/dbus-protocol.h:
Add error reply flag.

* test/data/valid-messages/opposite-endian.message:
Add NIL type to test.

21 years ago2003-01-31 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 31 Jan 2003 03:49:42 +0000 (03:49 +0000)]
2003-01-31  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: fully specify the header.  Add
flags and major protocol version, and change header/body len to
unsigned.

* dbus/dbus-message-builder.c (append_saved_length): append length
as uint32

* dbus/dbus-message.c (dbus_message_create_header): change header
length and body length to unsigned. Add the new fields from the
spec
(_dbus_message_loader_return_buffer): unsigned header/body len

21 years ago2003-01-30 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 31 Jan 2003 01:31:00 +0000 (01:31 +0000)]
2003-01-30  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-auth.c: rework to use only REJECTED, no
MECHANISMS

* doc/dbus-sasl-profile.txt: drop MECHANISMS and just
use REJECTED, suggested by Mark McLoughlin

21 years ago2003-01-30 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 31 Jan 2003 00:56:01 +0000 (00:56 +0000)]
2003-01-30  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-server.c (dbus_server_listen): @todo about how we need
a better way to report errors here. e.g.  "unix address lacks
path" or something. also "no such file" when the path doesn't
exist, etc.

* dbus/dbus-address.c (dbus_address_entries_free): add @todo about
leaking list nodes
(dbus_parse_address): add @todo about documenting address format,
and allowing , and ; to be escaped

21 years agoFix silly
Anders Carlsson [Thu, 30 Jan 2003 21:06:30 +0000 (21:06 +0000)]
Fix silly

21 years ago2003-01-30 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Thu, 30 Jan 2003 20:49:11 +0000 (20:49 +0000)]
2003-01-30  Anders Carlsson  <andersca@codefactory.se>

* dbus/Makefile.am:
Add dbus-address.[ch]

* dbus/dbus-address.c: (dbus_address_entry_free),
(dbus_address_entries_free), (create_entry),
(dbus_address_entry_get_method), (dbus_address_entry_get_value),
(dbus_parse_address), (_dbus_address_test):
* dbus/dbus-address.h:
New files for dealing with address parsing.

* dbus/dbus-connection.c:
Document timeout functions.

* dbus/dbus-message.c:
Document dbus_message_new_from_message.

* dbus/dbus-server-debug.c:
Document.

* dbus/dbus-server.c: (dbus_server_listen):
Parse address and use correct server implementation.

* dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
* dbus/dbus-string.h:
New function with test.

* dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
* dbus/dbus-test.h:
Add address tests.

* dbus/dbus-transport-debug.c:
Document.

* dbus/dbus-transport.c: (_dbus_transport_open):
Parse address and use correct transport implementation.

21 years ago2003-01-30 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 30 Jan 2003 04:20:44 +0000 (04:20 +0000)]
2003-01-30  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c: use message->byte_order instead of
DBUS_COMPILER_BYTE_ORDER throughout.
(dbus_message_create_header): pad header to align the
start of the body of the message to 8-byte boundary

* dbus/dbus-marshal.h: make all the demarshalers take const
DBusString arguments.

* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
validate message args here, so we don't have to do slow validation
later, and so we catch bad messages as they are incoming. Also add
better checks on header_len and body_len. Also fill in
message->byte_order

* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
implemented properly)
(_dbus_string_validate_nul): new function to check all-nul

* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
get_arg_end_pos and remove all validation
(_dbus_marshal_validate_arg): actually do validation here.

21 years ago2003-01-29 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 30 Jan 2003 01:49:54 +0000 (01:49 +0000)]
2003-01-29  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c (check_message_handling): fix assertion
failure on set_client_serial

21 years ago2003-01-28 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 29 Jan 2003 02:42:35 +0000 (02:42 +0000)]
2003-01-28  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-server-debug.c: Add doc section comments

* dbus/dbus-transport-debug.c: add doc section comments

21 years ago2003-01-28 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 28 Jan 2003 19:56:41 +0000 (19:56 +0000)]
2003-01-28  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
the reverse order from how I had it
(_dbus_string_base64_encode): reverse encoding order. I was
basically byteswapping everything during encoding.

21 years agoAnd these.
Anders Carlsson [Tue, 28 Jan 2003 14:47:11 +0000 (14:47 +0000)]
And these.

21 years agoForgot this.
Anders Carlsson [Tue, 28 Jan 2003 14:45:58 +0000 (14:45 +0000)]
Forgot this.

21 years ago2003-01-28 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 28 Jan 2003 14:28:05 +0000 (14:28 +0000)]
2003-01-28  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-connection-internal.h:
* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
(_dbus_connection_remove_timeout):
Add functions for adding and removing timeouts.

* dbus/dbus-message.c: (dbus_message_new_from_message):
Add new function that takes a message and creates an exact
copy of it, but with the refcount set to 1.
(check_message_handling):
Fix build error.

* dbus/dbus-server-protected.h:
* dbus/dbus-server.c: (_dbus_server_init_base),
(_dbus_server_finalize_base), (_dbus_server_add_timeout),
(dbus_server_set_timeout_functions):
(_dbus_server_remove_timeout):
New functions so that a server can add and remove timeouts.

(dbus_server_listen):
Add commented out call to dbus_server_debug_new.

* dbus/dbus-timeout.c: (_dbus_timeout_new):
Actually set the handler, doh.

* dbus/dbus-transport.c: (_dbus_transport_open):
Add commented out call to dbus_transport_debug_client_new.

* dbus/Makefile.am:
Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]

21 years ago2003-01-28 Anders Carlsson <set EMAIL_ADDRESS environment variable>
Anders Carlsson [Tue, 28 Jan 2003 14:26:49 +0000 (14:26 +0000)]
2003-01-28  Anders Carlsson  <set EMAIL_ADDRESS environment variable>

* dbus/dbus-connection-internal.h:
* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
(_dbus_connection_remove_timeout):
Add functions for adding and removing timeouts.

* dbus/dbus-message.c: (dbus_message_new_from_message):
Add new function that takes a message and creates an exact
copy of it, but with the refcount set to 1.
(check_message_handling):
Fix build error.

* dbus/dbus-server-protected.h:
* dbus/dbus-server.c: (_dbus_server_init_base),
(_dbus_server_finalize_base), (_dbus_server_add_timeout),
(dbus_server_set_timeout_functions):
(_dbus_server_remove_timeout):
New functions so that a server can add and remove timeouts.

(dbus_server_listen):
Add commented out call to dbus_server_debug_new.

* dbus/dbus-timeout.c: (_dbus_timeout_new):
Actually set the handler, doh.

* dbus/dbus-transport.c: (_dbus_transport_open):
Add commented out call to dbus_transport_debug_client_new.

* dbus/Makefile.am:
Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]

21 years ago2003-01-28 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 28 Jan 2003 04:20:29 +0000 (04:20 +0000)]
2003-01-28  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c (check_message_handling): function to check
on the loaded message, iterates over it etc.

21 years ago2003-01-28 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 28 Jan 2003 03:56:55 +0000 (03:56 +0000)]
2003-01-28  Havoc Pennington  <hp@pobox.com>

* test/Makefile.am (dist-hook): fix make distdir

* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check

21 years ago2003-01-27 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 28 Jan 2003 03:53:29 +0000 (03:53 +0000)]
2003-01-27  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-mempool.c (time_for_size): replace printf with
_dbus_verbose

* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
empty lines; fix the SAVE_LENGTH stuff to be
START_LENGTH/END_LENGTH so it actually works; couple other
bugfixes

* test/Makefile.am (dist-hook): add dist-hook for .message files

* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
can be constant or locked.
(_dbus_string_free): allow freeing a const string as
documented/intended

* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility

* dbus/dbus-test-main.c (main): take an argument which is the
directory containing test data

* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
argument to this and load all the messages in test/data/
checking that they can be loaded or not loaded as appropriate.

21 years ago2003-01-27 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 27 Jan 2003 11:20:55 +0000 (11:20 +0000)]
2003-01-27  Anders Carlsson  <andersca@codefactory.se>

* bus/dispatch.c: (bus_dispatch_message_handler):
Dispatch messages sent to services.

* bus/driver.c: (bus_driver_send_service_deleted),
(bus_driver_send_service_created), (bus_driver_send_service_lost),
(bus_driver_send_service_acquired):
Add helper functions for sending service related messages.

(bus_driver_send_welcome_message):
Send HELLO_REPLY instead of WELCOME.

(bus_driver_handle_list_services):
Send LIST_SERVICES_REPLY instead of SERVICES.

(bus_driver_handle_own_service),
(bus_driver_handle_service_exists):
New message handlers.

(bus_driver_handle_message):
Invoke new message handlers.

(bus_driver_remove_connection):
Don't remove any services here since that's done automatically
by bus_service_remove_owner now.

* bus/driver.h:
New function signatures.

* bus/services.c: (bus_service_add_owner):
Send ServiceAcquired message if we're the only primary owner.

(bus_service_remove_owner):
Send ServiceAcquired/ServiceLost messages.

(bus_service_set_prohibit_replacement),
(bus_service_get_prohibit_replacement):
Functions for setting prohibit replacement.

(bus_service_has_owner):
New function that checks if a connection is in the owner queue of
a certain service.

* bus/services.h:
Add new function signatures.

* dbus/dbus-list.c: (_dbus_list_test):
Add tests for _dbus_list_remove_last and traversing the list backwards.

* dbus/dbus-list.h:
Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
go any further, so return NULL then.

* dbus/dbus-protocol.h:
Add new messages, service flags and service replies.

21 years ago2003-01-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 26 Jan 2003 21:16:06 +0000 (21:16 +0000)]
2003-01-26  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message-builder.c: implement, completely untested.

* test/data/*: add data to be used in testing.
".message" files are our simple loadable text format.
".message-raw" will be binary dumps of messages.

* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new

21 years agoadd a couple @todo
Havoc Pennington [Sun, 26 Jan 2003 16:13:57 +0000 (16:13 +0000)]
add a couple @todo

21 years ago2003-01-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 26 Jan 2003 16:11:11 +0000 (16:11 +0000)]
2003-01-26  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function

* dbus/dbus-errors.c (dbus_result_to_string): add
file errors

* dbus/dbus-message-builder.c: new file, will contain code to load
up messages from files. Not implemented yet.

21 years ago2003-01-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 26 Jan 2003 15:01:05 +0000 (15:01 +0000)]
2003-01-26  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c (dbus_message_set_sender): support deleting
the sender by setting to NULL

21 years ago2003-01-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 26 Jan 2003 07:48:16 +0000 (07:48 +0000)]
2003-01-26  Havoc Pennington  <hp@pobox.com>

        The unit tests pass, but otherwise untested.  If it breaks, the
tests should have been better. ;-)

* bus/driver.c (bus_driver_handle_hello): return if we disconnect
the connection.

* dbus/dbus-message.c: redo everything so we maintain
message->header as the only copy of the various fields.
This avoids the possibility of out-of-memory in some cases,
for example dbus_message_lock() can't run out of memory anymore,
and avoids extra copying. Figured I may as well go ahead and do
this since it was busted for dbus_message_lock to not return
failure on OOM, and dbus_message_write_header was totally
unchecked for OOM. Also fixed some random other bugs.

* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
that strings are nul-terminated. Also, end_pos can be equal
to string length just not greater than, I think.
(_dbus_marshal_set_int32): new function
(_dbus_marshal_set_uint32): new function
(_dbus_marshal_set_string): new function

* dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
a warning, init timeout_list to NULL
(dbus_connection_send_message): don't use uninitialized variable
"serial"

* dbus/dbus-string.c (_dbus_string_replace_len): new function

21 years ago2003-01-26 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 26 Jan 2003 01:34:22 +0000 (01:34 +0000)]
2003-01-26  Anders Carlsson  <andersca@codefactory.se>

* bus/driver.c: (bus_driver_handle_hello),
(bus_driver_send_welcome_message):
Plug leaks

21 years ago2003-01-26 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 26 Jan 2003 01:30:11 +0000 (01:30 +0000)]
2003-01-26  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
(dbus_connection_unref):
* dbus/dbus-marshal.c: (_dbus_marshal_test):
* dbus/dbus-message.c: (dbus_message_unref),
Plug memory leaks.

(dbus_message_get_fields):
Remove debugging printout.

(_dbus_message_loader_return_buffer):
Don't store the header string.

(_dbus_message_test):
Plug leaks.

21 years ago2003-01-26 Richard Hult <rhult@codefactory.se>
Richard Hult [Sun, 26 Jan 2003 00:06:30 +0000 (00:06 +0000)]
2003-01-26  Richard Hult  <rhult@codefactory.se>

* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
the file descriptor list, since it can change under us.

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 25 Jan 2003 21:22:57 +0000 (21:22 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* glib/dbus-gmain.c: (dbus_connection_prepare),
(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
(remove_watch), (dbus_connection_hookup_with_g_main):
Rewrite the glib handling to use its own GSource instead of a
GIOChannel so we can catch messages put in the queue while waiting
for a reply.

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 25 Jan 2003 20:53:53 +0000 (20:53 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* bus/Makefile.am:
* bus/connection.c: (connection_disconnect_handler),
(connection_watch_callback), (bus_connection_setup):
* bus/dispatch.c: (send_one_message),
(bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
(bus_dispatch_add_connection), (bus_dispatch_remove_connection):
* bus/dispatch.h:
* bus/driver.c: (bus_driver_send_service_deleted),
(bus_driver_send_service_created), (bus_driver_handle_hello),
(bus_driver_send_welcome_message),
(bus_driver_handle_list_services), (bus_driver_remove_connection),
(bus_driver_handle_message):
* bus/driver.h:
Refactor code, put the message dispatching in its own file. Use
_DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
is disconnected.

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 25 Jan 2003 20:52:33 +0000 (20:52 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-internals.h:
Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.

* dbus/dbus-message.c: (dbus_message_get_sender):
* dbus/dbus-message.h:
Implement dbus_message_get_sender.

* dbus/dbus-protocol.h:
Add message and service defines.

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 25 Jan 2003 09:37:49 +0000 (09:37 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-connection.c: (dbus_connection_send_message):
* dbus/dbus-message-internal.h:
* dbus/dbus-message.c: (_dbus_message_get_client_serial),
(dbus_message_write_header):
Remove _dbus_messag_unlock and don't set the client serial on a
message if one already exists.

21 years ago2003-01-24 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 25 Jan 2003 01:26:49 +0000 (01:26 +0000)]
2003-01-24  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-list.c (alloc_link): put a thread lock on the global
list_pool

* bus/driver.c (bus_driver_handle_list_services): fix a leak
on OOM

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 25 Jan 2003 00:11:41 +0000 (00:11 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-list.c: (alloc_link), (free_link):
Use a memory pool for the links.

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 24 Jan 2003 23:51:59 +0000 (23:51 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* bus/connection.c: (bus_connection_foreach):
* bus/connection.h:
Add new bus_connection_foreach function.

* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
Add function that broadcasts a message to all clients.

(bus_driver_send_service_created), (bus_driver_handle_hello),
(bus_driver_send_welcome_message),
(bus_driver_handle_list_services), (bus_driver_message_handler):
Implement functions that take care of listing services, and notifying
clients when new services are created.

* bus/services.c: (bus_services_list):
* bus/services.h:
Add new function that returns an array of strings with the currently
registered services.

* glib/dbus-glib.h:
* glib/dbus-gmain.c:
Update copyright year.

21 years ago2003-01-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 24 Jan 2003 23:34:01 +0000 (23:34 +0000)]
2003-01-25  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-connection.c: (dbus_connection_send_message):
Unlock the message in case it was sent earlier.

(dbus_connection_send_message_with_reply_and_block):
Remove the reply message from the list.

* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
Set array_len and new_pos correctly.

(_dbus_marshal_test):
Remove debug output.

* dbus/dbus-message-internal.h:
* dbus/dbus-message.c: (_dbus_message_get_reply_serial):
New function that returns the reply serial.

(_dbus_message_unlock):
New function that unlocks a message and resets its header.

(dbus_message_append_string_array),
(dbus_message_get_fields_valist),
(dbus_message_iter_get_field_type),
(dbus_message_iter_get_string_array),
(dbus_message_get_fields),
(dbus_message_append_fields_valist):
Handle string arrays.

(dbus_message_set_sender):
Make this function public since the bus daemon needs it.

(decode_header_data):
Set the reply serial to -1 initially.

* dbus/dbus-message.h:
Add dbus_message_set_sender.

21 years ago2003-01-24 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 24 Jan 2003 05:16:42 +0000 (05:16 +0000)]
2003-01-24  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: add some stuff

21 years ago.cvsignore
Havoc Pennington [Thu, 23 Jan 2003 20:31:01 +0000 (20:31 +0000)]
.cvsignore

21 years ago2003-01-22 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 23 Jan 2003 05:04:03 +0000 (05:04 +0000)]
2003-01-22  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: Start to document the protocol.

21 years ago2003-01-22 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 22 Jan 2003 04:48:47 +0000 (04:48 +0000)]
2003-01-22  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-connection.c
(dbus_connection_send_message_with_reply_and_block): add some @todo

* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak

21 years ago2003-01-21 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 22 Jan 2003 03:36:05 +0000 (03:36 +0000)]
2003-01-21  Havoc Pennington  <hp@pobox.com>

        (patch untested because can't compile)

* bus/driver.c (create_unique_client_name): make this function
never recycle client names. Also, caller should initialize
the DBusString.

* dbus/dbus-sysdeps.c (_dbus_get_current_time): new function

21 years ago2003-01-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 21 Jan 2003 14:07:09 +0000 (14:07 +0000)]
2003-01-21  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_double),
(_dbus_marshal_int32), (_dbus_marshal_uint32),
(_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
(_dbus_marshal_double_array), (_dbus_marshal_string_array),
(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
(_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
* dbus/dbus-marshal.h:
* dbus/dbus-protocol.h:
Add support for marshalling and demarshalling integer, double
and string arrays.

21 years ago2003-01-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 21 Jan 2003 12:42:33 +0000 (12:42 +0000)]
2003-01-21  Anders Carlsson  <andersca@codefactory.se>

* bus/Makefile.am:
Add driver.[ch]

* bus/connection.c: (connection_disconnect_handler):
Remove the connection from the bus driver's list.

(connection_watch_callback): Dispatch messages.

(free_connection_data): Free connection name.

(bus_connection_setup): Add connection to the bus driver's list.
(bus_connection_remove_owned_service):
(bus_connection_set_name), (bus_connection_get_name):
Add functions for setting and getting the connection's name.

* bus/connection.h:
Add function headers.

* bus/driver.c: (create_unique_client_name),
(bus_driver_handle_hello_message),
(bus_driver_send_welcome_message), (bus_driver_message_handler),
(bus_driver_add_connection), (bus_driver_remove_connection):
* bus/driver.h:
* bus/main.c:
* bus/services.c: (bus_service_free):
* bus/services.h:
New file that handles communication and registreation with the bus
itself.

21 years ago2003-01-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 21 Jan 2003 09:23:18 +0000 (09:23 +0000)]
2003-01-21  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-connection.c: (dbus_connection_send_message):
Add a new client_serial parameter.

(dbus_connection_send_message_with_reply):
Remove a @todo since we've implemented the blocking function.

(dbus_connection_send_message_with_reply_and_block):
New function that sends a message and waits for a reply and
then returns the reply.

* dbus/dbus-connection.h:
Add new functions.

* dbus/dbus-errors.c: (dbus_result_to_string):
* dbus/dbus-errors.h:
Add new DBUS_RESULT.

* dbus/dbus-message-internal.h:
* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
(_dbus_message_set_sender), (dbus_message_write_header),
(dbus_message_new_reply), (decode_header_data),
(_dbus_message_loader_return_buffer), (_dbus_message_test):
* dbus/dbus-message.h:
Add new functions that set the reply serial and sender.
Also marshal and demarshal them correctly and add test.

* dbus/dbus-protocol.h:
Add new DBUS_MESSAGE_TYPE_SENDER.

* glib/dbus-glib.h:
* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
(add_watch), (remove_watch), (add_timeout), (remove_timeout),
(dbus_connection_hookup_with_g_main):
* glib/test-dbus-glib.c: (main):
Rewrite to use GIOChannel and remove the GSource crack.

* test/echo-client.c: (main):
* test/watch.c: (check_messages):
Update for changed APIs

21 years agoAdd these.
Anders Carlsson [Sun, 19 Jan 2003 22:29:52 +0000 (22:29 +0000)]
Add these.

21 years ago2003-01-19 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 19 Jan 2003 21:55:49 +0000 (21:55 +0000)]
2003-01-19  Anders Carlsson  <andersca@codefactory.se>

* dbus/Makefile.am: Add dbus-timeout.[cħ]

* dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
Create a DBusTimeoutList.
(dbus_connection_set_timeout_functions): Add new function to
set timeout callbacks

* dbus/dbus-connection.h: Add public DBusTimeout API.

* dbus/dbus-message.c: (dbus_message_get_service):
* dbus/dbus-message.h: New function.

* dbus/dbus-server.c: Fix small doc typo.

* dbus/dbus-timeout.[ch]: New files for mainloop timeouts.

21 years agoAdd this
Anders Carlsson [Sun, 19 Jan 2003 18:27:44 +0000 (18:27 +0000)]
Add this

21 years ago2003-01-19 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 19 Jan 2003 15:57:56 +0000 (15:57 +0000)]
2003-01-19  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
of the string, just as long as specified.

21 years ago2003-01-19 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 19 Jan 2003 05:14:46 +0000 (05:14 +0000)]
2003-01-19  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
new function

* dbus/dbus-server.c (dbus_server_set_max_connections)
(dbus_server_get_max_connections, dbus_server_get_n_connections):
keep track of current number of connections, and add API for
setting a max (but haven't implemented enforcing the max yet)

21 years ago2003-01-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 19 Jan 2003 03:33:35 +0000 (03:33 +0000)]
2003-01-18  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-01-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 18 Jan 2003 17:40:42 +0000 (17:40 +0000)]
2003-01-18  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-connection.c (dbus_connection_unref): disconnect the
connection if it hasn't been already.

* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
replace with DisconnectFunction.

21 years ago2003-01-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 18 Jan 2003 15:52:53 +0000 (15:52 +0000)]
2003-01-18  Havoc Pennington  <hp@pobox.com>

        Building --disable-verbose-mode --disable-asserts --disable-tests
cuts the library from 112K to 45K or so

* configure.in: check for varargs macro support,
add --enable-verbose-mode, --enable-asserts.

* dbus/dbus-internals.h (_dbus_assert): support
DBUS_DISABLE_ASSERT
(_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE

21 years ago2003-01-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 18 Jan 2003 15:19:01 +0000 (15:19 +0000)]
2003-01-18  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-test.c: include config.h so that tests actually run

* dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
so the failure mode when that assumption fails will be plenty
obvious.

21 years ago2003-01-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 18 Jan 2003 14:41:37 +0000 (14:41 +0000)]
2003-01-18  Havoc Pennington  <hp@pobox.com>

* configure.in: default --enable-tests to $USE_MAINTAINER_MODE

* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
the distribution

* test/Makefile.am: don't use special variable "TESTS" for echo-*
since we don't want to use those in make check

21 years ago2003-01-15 Havoc Pennington <hp@redhat.com> dbus-0.2
Havoc Pennington [Wed, 15 Jan 2003 18:40:30 +0000 (18:40 +0000)]
2003-01-15  Havoc Pennington  <hp@redhat.com>

        Release 0.2

* NEWS: update

21 years ago2003-01-15 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 15 Jan 2003 18:30:12 +0000 (18:30 +0000)]
2003-01-15  Havoc Pennington  <hp@redhat.com>

* test/Makefile.am: fix so that test source code ends up in the
distribution on make distcheck

21 years agoupdate AUTHORS dbus-0.1
Havoc Pennington [Wed, 15 Jan 2003 16:41:06 +0000 (16:41 +0000)]
update AUTHORS

21 years ago2003-01-15 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 15 Jan 2003 16:37:09 +0000 (16:37 +0000)]
2003-01-15  Havoc Pennington  <hp@redhat.com>

        Release 0.1.

* NEWS: update

21 years ago2003-01-15 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 15 Jan 2003 16:34:52 +0000 (16:34 +0000)]
2003-01-15  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
fix build when --disable-tests

* Makefile.am (EXTRA_DIST): put HACKING in here

* HACKING: document procedure for making a tarball release.

21 years ago2003-01-14 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 14 Jan 2003 11:19:06 +0000 (11:19 +0000)]
2003-01-14  Anders Carlsson  <andersca@codefactory.se>

* bus/connection.c: (connection_error_handler),
(bus_connection_setup):
* bus/main.c: (main):
Make sure that the DBusConnectionData struct is NULLed
out to prevent a segfault.

* dbus/dbus-errors.c: (dbus_result_to_string):
* dbus/dbus-errors.h:
* dbus/dbus-message.c: (dbus_message_get_fields),
(dbus_message_get_fields_valist), (_dbus_message_test):
* dbus/dbus-message.h:
Make dbus_message_get_fields return a result code so we can
track invalid fields as well as oom.

21 years ago2003-01-11 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 11 Jan 2003 17:08:11 +0000 (17:08 +0000)]
2003-01-11  Havoc Pennington  <hp@pobox.com>

* configure.in: change --enable-test/--enable-ansi action-if-given
to enable_foo=$enableval instead of enable_foo=yes

21 years ago2003-01-08 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 9 Jan 2003 01:31:35 +0000 (01:31 +0000)]
2003-01-08  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-string.c (_dbus_string_align_length): new function

* dbus/dbus-test-main.c: move main() for test app here
* dbus/dbus-test.c
(dbus_internal_symbol_do_not_use_run_tests): we have to export a
symbol to run tests, because dbus-test isn't in the main
library

        Code review nitpicks.

* dbus/dbus-message.c (dbus_message_write_header): add newlines
for people with narrow emacs ;-). Assert client_serial was filled
in. Assert message->name != NULL.
(dbus_message_append_fields): have "first_field_type" arg separate
from va list, needed for C++ binding that also uses varargs IIRC
and helps with type safety
(dbus_message_new): add @todo about using DBusString to store
service/name internally
(dbus_message_new): don't leak ->service and ->name on OOM later
in the function
(dbus_message_unref): free the service name
(dbus_message_get_fields): same change to varargs
i.e. first_field_type
(_dbus_message_loader_return_buffer): assert that the message data
is aligned (if not it's a bug in our code). Put in verbose griping
about why we set corrupted = TRUE.
(decode_header_data): add FIXME that char* is evil.  Was going to
add FIXME about evil locale-specific string.h strncmp, but just
switched to wacky string-as-uint32 optimization. Move check for
"no room for field name" above get_const_data_len() to avoid
assertion failure in get_const_data_len if we have trailing 2
bytes or the like. Check for service and name fields being
provided twice. Don't leak service/name on error. Require field
names to be aligned to 4 bytes.

* dbus/dbus-marshal.c: move byte swap stuff to header
(_dbus_pack_int32): uscore-prefix
(_dbus_unpack_int32): uscore-prefix
(_dbus_unpack_uint32): export
(_dbus_demarshal_string): add @todo complaining about use of
memcpy()
(_dbus_marshal_get_field_end_pos): add @todo about bad error
handling allowing corrupt data to go unchecked

21 years ago2003-01-08 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 8 Jan 2003 19:29:00 +0000 (19:29 +0000)]
2003-01-08  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
to the select() as needed for authentication. (should be using
_dbus_poll() not select, but for another day)

* dbus/dbus.h: include dbus/dbus-protocol.h

21 years ago2003-01-08 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Wed, 8 Jan 2003 09:04:16 +0000 (09:04 +0000)]
2003-01-08  Anders Carlsson  <andersca@codefactory.se>

* dbus/Makefile.am (dbusinclude_HEADERS): Install
dbus-connection.h

21 years ago2003-01-08 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 7 Jan 2003 23:08:41 +0000 (23:08 +0000)]
2003-01-08  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-internals.c: (_dbus_type_to_string):
New function that returns a string describing a type.

* dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
* dbus/dbus-marshal.h:
* dbus/dbus-message.c: (dbus_message_get_fields_valist),
(dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
(dbus_message_iter_get_byte_array):
* dbus/dbus-message.h:
Add new convenience functions for appending and getting message fields.
Also add demarshalling routines for byte arrays.

21 years ago2003-01-08 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 7 Jan 2003 22:22:39 +0000 (22:22 +0000)]
2003-01-08  Anders Carlsson  <andersca@codefactory.se>

reviewed by: <delete if not using a buddy>

* dbus/dbus-internals.c: (_dbus_type_to_string):
New function that returns a string describing a type.

* dbus/dbus-internals.h:
* dbus/dbus-message.c: (dbus_message_append_fields),
(dbus_message_append_fields_valist), (dbus_message_get_fields),
(dbus_message_get_fields_valist), (_dbus_message_test):
* dbus/dbus-message.h:
Add new convenience functions for appending and getting message fields.
Also add a test for those.

21 years ago2003-01-07 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 7 Jan 2003 20:18:23 +0000 (20:18 +0000)]
2003-01-07  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-connection-internal.h:
* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
(_dbus_connection_get_next_client_serial),
(dbus_connection_send_message):
* dbus/dbus-internals.h:
* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
(_dbus_marshal_uint32), (_dbus_demarshal_double),
(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
(_dbus_verbose_bytes), (_dbus_marshal_test):
* dbus/dbus-marshal.h:
* dbus/dbus-message-internal.h:
* dbus/dbus-message.c: (_dbus_message_set_client_serial),
(dbus_message_write_header), (_dbus_message_lock),
(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
(dbus_message_get_name), (dbus_message_append_int32),
(dbus_message_append_uint32), (dbus_message_append_double),
(dbus_message_append_string), (dbus_message_append_byte_array),
(dbus_message_get_fields_iter), (dbus_message_iter_ref),
(dbus_message_iter_unref), (dbus_message_iter_has_next),
(dbus_message_iter_next), (dbus_message_iter_get_field_type),
(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
(decode_header_data), (_dbus_message_loader_return_buffer),
(message_iter_test), (_dbus_message_test):
* dbus/dbus-message.h:
* dbus/dbus-protocol.h:
* dbus/dbus-test.c: (main):
* dbus/dbus-test.h:
* glib/test-dbus-glib.c: (message_handler), (main):
* test/echo-client.c: (main):
* test/watch.c: (check_messages):
Make messages sendable and receivable for real.

21 years agoadd todo comment about fixing dbus_verbose_bytes not to print when not in verbose...
Havoc Pennington [Tue, 7 Jan 2003 18:51:55 +0000 (18:51 +0000)]
add todo comment about fixing dbus_verbose_bytes not to print when not in verbose mode

21 years ago2003-01-07 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 6 Jan 2003 22:19:09 +0000 (22:19 +0000)]
2003-01-07  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_double),
(_dbus_marshal_string), (_dbus_marshal_byte_array):
* dbus/dbus-message.c: (dbus_message_append_int32),
(dbus_message_append_uint32), (dbus_message_append_double),
(dbus_message_append_string), (dbus_message_append_byte_array):
Handle OOM restoration.

21 years ago2003-01-07 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 6 Jan 2003 22:09:16 +0000 (22:09 +0000)]
2003-01-07  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_string),
(_dbus_demarshal_string), (_dbus_marshal_test):
* dbus/dbus-marshal.h:
Document these functions.

* dbus/dbus-message.c: (dbus_message_get_name),
(dbus_message_append_int32), (dbus_message_append_uint32),
(dbus_message_append_double), (dbus_message_append_string),
(dbus_message_append_byte_array):
* dbus/dbus-message.h:
Add functions for adding message fields of different types.

* dbus/dbus-protocol.h:
Add the different types.

21 years agoadd a comment about needed fix for dbus_static_mutex_lock
Havoc Pennington [Mon, 6 Jan 2003 16:19:26 +0000 (16:19 +0000)]
add a comment about needed fix for dbus_static_mutex_lock

21 years ago2003-01-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 6 Jan 2003 01:08:14 +0000 (01:08 +0000)]
2003-01-05  Havoc Pennington  <hp@pobox.com>

* bus/connection.c: implement routines for handling connections,
first thing is keeping a list of owned services on each connection
and setting up watches etc.

* bus/services.c: implement a mapping from service names to lists
of connections

* dbus/dbus-hash.c: add DBUS_HASH_POINTER

* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
to use static mutexes for global data

* dbus/dbus-connection.c (dbus_connection_set_data): add new
collection of functions to set/get application-specific data
on the DBusConnection.

21 years ago2003-01-04 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 4 Jan 2003 20:29:46 +0000 (20:29 +0000)]
2003-01-04  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
(_dbus_poll): new function

* dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
copied from GLib

* bus/loop.c: initial code for the daemon main loop

21 years ago2003-01-04 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 4 Jan 2003 07:28:54 +0000 (07:28 +0000)]
2003-01-04  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-01-02 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Thu, 2 Jan 2003 10:09:46 +0000 (10:09 +0000)]
2003-01-02  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
(_dbus_marshal_test):
* dbus/dbus-marshal.h:
Add _dbus_marshal_byte_array and rename _dbus_marshal_string
to _dbus_marshal_utf8_string. Also fix some tests.

21 years ago* dbus/Makefile.am: added missing headers for make dist
Harri Porten [Sat, 28 Dec 2002 10:53:57 +0000 (10:53 +0000)]
* dbus/Makefile.am: added missing headers for make dist

21 years agovery basic check for Qt integration. Another proof that Qt's build
Harri Porten [Sat, 28 Dec 2002 09:10:43 +0000 (09:10 +0000)]
very basic check for Qt integration. Another proof that Qt's build
system needs more work for people using it.
I didn't want to copy all of KDEs autoconf magic so this is far from
perfect, yet. Can we use pkg-config here ?

21 years ago2002-12-28 Kristian Rietveld <kris@gtk.org>
Kristian Rietveld [Fri, 27 Dec 2002 21:38:13 +0000 (21:38 +0000)]
2002-12-28  Kristian Rietveld  <kris@gtk.org>

        * dbus/Makefile.am: fixup export-symbols-regex.

21 years ago2002-12-27 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 27 Dec 2002 21:32:38 +0000 (21:32 +0000)]
2002-12-27  Anders Carlsson  <andersca@codefactory.se>

* acinclude.m4: Add this file and put the
PKG_CHECK_MODULE macro in it.

21 years ago2002-12-27 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 27 Dec 2002 08:29:21 +0000 (08:29 +0000)]
2002-12-27  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_string),
(_dbus_demarshal_double), (_dbus_demarshal_int32),
(_dbus_demarshal_uint32), (_dbus_demarshal_string),
(_dbus_marshal_test):
Make the demarshalling routines align the pos argument.
Add string marshalling tests and fix the obvious bugs
discovered.

21 years agoSsh
Anders Carlsson [Fri, 27 Dec 2002 08:26:26 +0000 (08:26 +0000)]
Ssh

21 years ago2002-12-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 27 Dec 2002 02:07:21 +0000 (02:07 +0000)]
2002-12-26  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-auth.c: fixes fixes fixes

* dbus/dbus-transport-unix.c: wire up support for
encoding/decoding data on the wire

* dbus/dbus-auth.c (_dbus_auth_encode_data)
(_dbus_auth_decode_data): append to target string
instead of nuking it.

21 years ago2002-12-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 27 Dec 2002 00:44:41 +0000 (00:44 +0000)]
2002-12-26  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2002-12-26 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Wed, 25 Dec 2002 22:58:50 +0000 (22:58 +0000)]
2002-12-26  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_string),
(_dbus_demarshal_double), (_dbus_demarshal_int32),
(_dbus_demarshal_uint32), (_dbus_demarshal_string),
(_dbus_marshal_test):
* dbus/dbus-marshal.h:
Add string marshal functions and have the demarshal functions
return the new position.

21 years ago2002-12-25 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 25 Dec 2002 18:00:10 +0000 (18:00 +0000)]
2002-12-25  Havoc Pennington  <hp@pobox.com>

* doc/dbus-sasl-profile.txt: docs on the authentication protocol,
it is a simple protocol that just maps directly to SASL.

* dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
initial implementation, not actually used yet.

* dbus/dbus-string.c (_dbus_string_find): new function
(_dbus_string_equal): new function
(_dbus_string_base64_encode): new function
(_dbus_string_base64_decode): new function

21 years ago2002-12-25 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Wed, 25 Dec 2002 14:18:04 +0000 (14:18 +0000)]
2002-12-25  Anders Carlsson  <andersca@codefactory.se>

* dbus/Makefile.am:
* dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
(_dbus_marshal_int32), (_dbus_marshal_uint32),
(_dbus_demarshal_double), (_dbus_demarshal_int32),
(_dbus_demarshal_uint32), (_dbus_marshal_test):
* dbus/dbus-marshal.h:
* dbus/dbus-protocol.h:
* dbus/dbus-test.c: (main):
* dbus/dbus-test.h:
Add un-optimized marshalling/demarshalling routines.

21 years agoadjusted ctor and getter function to KDE/Qt conventions
Harri Porten [Wed, 25 Dec 2002 11:37:20 +0000 (11:37 +0000)]
adjusted ctor and getter function to KDE/Qt conventions

21 years agoStarting the work on Qt integration.
Zack Rusin [Wed, 25 Dec 2002 00:12:15 +0000 (00:12 +0000)]
Starting the work on Qt integration.

21 years ago2002-12-24 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 24 Dec 2002 06:37:33 +0000 (06:37 +0000)]
2002-12-24  Havoc Pennington  <hp@pobox.com>

* glib/dbus-gthread.c: fix include

* glib/dbus-glib.h: rename DBusMessageHandler for now.
I think glib API needs to change, though, as you don't
want to use DBusMessageFunction, you want to use the
DBusMessageHandler object. Probably
dbus_connection_open_with_g_main_loop()
and dbus_connection_setup_g_main_loop() or something like that
(but think of better names...) that just create a connection
that has watch/timeout functions etc. already set up.

* dbus/dbus-connection.c
(dbus_connection_send_message_with_reply): new function just to
show how the message handler helps us deal with replies.

* dbus/dbus-list.c (_dbus_list_remove_last): new function

* dbus/dbus-string.c (_dbus_string_test): free a string that
wasn't

* dbus/dbus-hash.c: use memory pools for the hash entries
(rebuild_table): be more paranoid about overflow, and
shrink table when we can
(_dbus_hash_test): reduce number of sprintfs and write
valid C89. Add tests for case where we grow and then
shrink the hash table.

* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools

* dbus/dbus-connection.c (dbus_connection_register_handler)
(dbus_connection_unregister_handler): new functions

* dbus/dbus-message.c (dbus_message_get_name): new

* dbus/dbus-list.c: fix docs typo

* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
an object representing a handler for messages.

21 years agoForgot this.
Anders Carlsson [Sun, 22 Dec 2002 19:01:06 +0000 (19:01 +0000)]
Forgot this.