ChangeLog 242 KB
Newer Older
1 2 3 4 5 6 7 8
2004-10-07  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
	format string.

	* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
	pointer (bug #1540, Leonardo Boiko).

9 10 11 12 13 14 15 16 17 18 19 20 21
2004-09-28  Jon Trowbridge  <trow@ximian.com>

	* mono/BusDriver.cs: Changed BusDriver struct to remove
	the ServiceCreated and ServiceDeleted events and replace them
	with the new ServiceOwnerChanged event.

	* mono/example/BusListener.cs: Added a new example program,
	which listens for and reports any ServiceOwnerChanged events
	on the bus driver.

	* mono/example/Makefile.am (DESTDIR): Build changes for the
	new BusListener.cs example.

22 23 24 25 26 27 28
2004-09-27  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/signals.c (bus_match_rule_parse): validate the components of
	match rules (bug #1439).

	* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.

29 30 31 32 33 34 35 36 37 38 39
2004-09-24  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* doc/dbus-specification.xml: document ServiceOwnerChanged
	signal.
	
	* bus/driver.c, bus/driver.h, bus/services.c: Use
	ServiceOwnerChanged signal instead of ServiceCreated and
	ServiceDeleted.
	
	* bus/dispatch.c: update testcase for the new signal.

40 41 42 43 44 45 46 47 48 49 50 51 52 53
2004-09-20  Jon Trowbridge  <trow@ximian.com>

	Patch from Nat Friedman <nat@novell.com>

	* mono/Makefile.am: A number of small build fixes to allow "make
	distcheck" to succeed.

	* mono/example/Makefile.am: "make distcheck" fixes.

	* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
	key in @srcdir@.

	* test/Makefile.am: "make distcheck" fixes.

54 55 56 57 58 59 60 61 62 63 64 65 66
2004-09-17  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.

	* 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.
	
67 68 69 70
2004-09-16  David Zeuthen  <david@fubar.dk>

	* python/dbus_bindings.pyx.in: Add support for int64 and uint64

71 72 73 74 75 76 77 78 79 80 81
2004-09-12  David Zeuthen  <david@fubar.dk>

	Patch from Kay Sievers <kay.sievers@vrfy.org>

	* bus/bus.c (bus_context_new):
	* bus/bus.h:
	* bus/main.c (usage)
	(main):
	Add commandline option --nofork to override configuration file
	setting.

82 83 84 85 86
2004-09-09  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
	compilers don't like it (bug #974).

Harald Fernengel's avatar
Harald Fernengel committed
87 88
2004-09-04  Harald Fernengel  <harry@kdevelop.org>

89
	* qt/connection.*: Applied patch by Jérôme Lodewyck
Harald Fernengel's avatar
Harald Fernengel committed
90 91 92
	<lodewyck@clipper.ens.fr> to integrate an existing
	connection into the Qt eventloop

93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
2004-08-30  Jon Trowbridge  <trow@ximian.com>

	* mono/BusDriver.cs: Added.  This is a class for interacting with
	the org.freedesktop.DBus service.

	* mono/Message.cs: Added a mechanism to expose the message that is
	currently being dispatched via the static Message.Current
	property.  Added Message.Sender and Message.Destination
	properties.

	* mono/Handler.cs: Expose the dispatched message via
	Message.Current when handling method calls.

	* mono/Service.cs: Expose the dispatched message via
	Message.Current when handling signal emissions.
	
	* mono/Connection.cs: Bind dbus_bus_get_base_service via the
	Connection.BaseService property.

112 113 114 115 116 117 118 119 120 121 122 123
2004-08-28  Havoc Pennington  <hp@redhat.com>

	* 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

124 125 126 127 128 129
2004-08-26  Jon Trowbridge  <trow@ximian.com>

	* bus/driver.c (bus_driver_handle_service_exists): Respond with
	TRUE if we are inquiring about the existence of the built-in
	org.freedesktop.DBus service.

John Palmieri's avatar
John Palmieri committed
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
2004-08-25  John Palmieri  <johnp@redhat.com>
	* 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

160 161 162 163 164 165 166 167 168 169 170
2004-08-25  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/config-parser.c (set_limit):
	* bus/dbus-daemon-1.1.in:
	* test/data/valid-config-files/many-rules.conf: set the
	max_match_rules_per_connection limt from the config file. 

	* doc/busconfig.dtd: update the DTD.

	* bus/driver.c: remove some unused variables.

171 172 173 174 175
2004-08-24  Mikael Hallendal  <micke@imendio.com>

	* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 
	it's been replaced by dbus_g_bus_get

176 177
2004-08-23  Colin Walters  <walters@redhat.com>

Colin Walters's avatar
Colin Walters committed
178 179
	Updated SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>

180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
	* bus/selinux.h: Prototype bus_selinux_get_policy_root.

	* bus/selinux.c: Create a thread for policy reload notification.
	(bus_selinux_get_policy_root): Implement.

	* bus/config-parser.c (start_busconfig_child)
	(bus_config_parser_content): Support SELinux-root relative
	inclusion.

	* configure.in <HAVE_SELINUX>: Add -lpthread.
	
	* bus/test-main.c (test_pre_hook, test_post_hook): New.
	(test_post_hook): Move memory checking into here.
	(test_pre_hook, test_post_hook): Move SELinux checks in
	here, but conditional on a DBUS_TEST_SELINUX environment
	variable.  Unfortunately we can't run the SELinux checks
	as a normal user, since they won't have any permissions
	for /selinux.  So this will have to be tested manually
	for now, until we have virtualization for most of
	libselinux.
	
201 202 203 204 205
2004-08-23  Havoc Pennington  <hp@redhat.com>

	* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
	drop supplementary groups, suggested by Steve Grubb

206 207 208 209 210 211 212 213
2004-08-20  Colin Walters  <walters@redhat.com>

	* bus/config-parser.c (start_busconfig_child): Remove some unused
	variables.
	
	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
	warning.

214 215 216 217 218 219 220 221
2004-08-17  Joe Shaw  <joeshaw@novell.com>

	* configure.in: If --enable-mono is passed in, if we can't find
	mono error out.

	* mono/Makefile.am: Use /gacutil to install assemblies into the
	GAC and not /root.

222 223 224 225 226 227
2004-08-12  Havoc Pennington  <hp@redhat.com>

	* NEWS: update for 0.22

	* configure.in: release 0.22

228 229 230 231 232
2004-08-11  Colin Walters  <walters@redhat.com>

	* tools/dbus-send.c (main, usage): Add --reply-timeout
	argument.

233 234 235 236 237 238 239 240 241 242
2004-08-10  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/bus.c (process_config_first_time_only): get rid of an unused
	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.

243 244 245 246
2004-08-10  Havoc Pennington  <hp@redhat.com>

	* doc/dbus-tutorial.xml: add some more info on GLib bindings

247 248 249 250 251
2004-08-09  Havoc Pennington  <hp@redhat.com>

	* COPYING: switch to Academic Free License version 2.1 instead of
	2.0, to resolve complaints about patent termination clause.

252 253 254 255 256
2004-07-31  John (J5) Palmieri  <johnp@redhat.com>

	* README: added documentation for the --enable-python 
	configure switch.

257 258 259 260 261 262 263 264 265 266 267 268 269 270
2004-07-31  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/config-parser.c (bus_config_parser_new): fix an invalid
	_unref 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.

271 272 273 274
2004-07-31  Colin Walters  <walters@redhat.com>

	* configure.in: Move #error in SELinux check to its own line.

275 276 277 278 279 280 281 282 283
2004-07-31  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-internals.h (_DBUS_SET_OOM):
	* 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.

284 285 286 287 288
2004-07-31  Colin Walters  <walters@redhat.com>

	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
	BUS_SET_OOM.

289 290 291 292 293 294
2004-07-31  Colin Walters  <walters@redhat.com>

	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
	AC_MSG_CHECKING.

295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
2004-07-24  Havoc Pennington  <hp@redhat.com>

	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
	
326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350
2004-07-29  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/config-loader-libxml.c: complete the implementation of
	libxml 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. 

351 352 353 354 355 356 357
2004-07-28  Anders Carlsson  <andersca@gnome.org>

	* python/dbus.py:
	* python/dbus_bindings.pyx.in:
	Add dbus.init_gthreads (), allow emit_signal to pass
	arguments to the signal.
	
358 359 360 361 362
2004-07-24  Havoc Pennington  <hp@redhat.com>

	* AUTHORS: add some people, not really comprehensively, let me
	know if I missed you

363 364 365 366 367 368 369
2004-07-24  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
	Owen

	* test/Makefile.am (DIST_SUBDIRS): here also

370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391
2004-07-22  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* 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.
	
392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
2004-07-19  David Zeuthen  <david@fubar.dk>

	* 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
	
424 425 426 427 428
2004-07-19  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-message.c: Message counter fix, patch by Christian
	Hammond <chipx86@gnupdate.org>

429 430 431 432 433 434 435 436 437 438 439 440
2004-07-18  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:
	* python/dbus_bindings.pyx.in:
	* python/tests/test-client.py:

	Add dbus.ByteArray and dbus_bindings.ByteArray
	types so that byte streams can be passed back.

	Give jdahlin the heaps of credit that are so
	rightfully his.
	
441 442 443 444 445 446 447 448 449 450 451 452 453 454
2004-07-12  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:

	Add message argument to the default object_method_handler
	function.
	
	* python/dbus_bindings.pyx.in:

	Automatically return NIL when passed an empty list
	(we can't pass back a list since lists are typed
	and we don't have any idea what type the the client
	intended the list to be... :-( )
	
455 456 457 458 459 460
2004-07-10  Seth Nickell  <seth@gnome.org>

	* python/examples/Makefile.am:

	Fix distcheck breakage caused by new examples.

461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487
2004-07-10  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:

	Add "message" argument to service-side dbus.Object
	methods. This will break existing services written
	using the python bindings, but will allow extraction
	of all the message information (e.g. who its from).

	Add improved "object oriented" signal handling/emission.
	
	* python/examples/example-service.py:

	Nix this example.
	
	* python/examples/example-signal-emitter.py:
	* python/examples/example-signal-recipient.py:

	Two new examples that show how to emit and receive
	signals using the new APIs.
	
	* python/examples/example-signals.py:
	* python/examples/gconf-proxy-service.py:
	* python/examples/gconf-proxy-service2.py:

	Add "message" argument to service methods.

488 489 490 491 492 493 494 495 496
2004-06-28  Kay Sievers <kay.sievers@vrfy.org>

	* bus/driver.c (bus_driver_handle_get_connection_unix_user)
	* 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

497 498 499 500 501
2004-06-23  John (J5) Palmieri  <johnp@redhat.com>

	* python/Makefile.am: switched include directory from glib/ to dbus/
	since dbus-glib.h moved
 
502 503 504 505 506
2004-06-22  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* configure.in: prevent building the gcj stuff and libxml loader
	since they are broken.

507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
2004-06-20  Havoc Pennington  <hp@redhat.com>

        * 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
	
535 536
2004-06-10  Owen Fraser-Green  <owen@discobabe.net>

537 538
	* dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.

539 540
	* python/examples/Makefile.am: Fixed typo in EXTRA_DIST.

541 542 543 544 545
2004-06-09  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
	the reply value of the ServiceExists message.

546 547 548 549 550 551 552
2004-06-07  John (J5) Palmieri  <johnp@redhat.com>

	* python/dbus_bindings.pyx.in: No longer need to parse path
	elements and pass them as arrays of strings.  The C API now
	accepts plain path strings.
	(_build_parsed_path): removed 

553 554 555 556 557
2004-06-07  Havoc Pennington  <hp@redhat.com>

	* doc/TODO: remove auto-activation item since it's done; sort
	items by importance/milestone

558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576
2004-06-07  Havoc Pennington  <hp@redhat.com>

	* 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

577 578 579 580 581 582 583 584 585 586 587 588
2004-06-07  Owen Fraser-Green  <owen@discobabe.net>

	* mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path

	* mono/Handler.cs: Updated to follow new path argument for
	(un-)registering objects.

	* mono/example/Makefile.am:
	* mono/Makefile.am:
	* configure.in: Bumped required version for mono and use new -pkg
	syntax for deps

589 590 591 592 593 594 595 596 597 598 599 600 601
2004-06-05  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* 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.
	
602 603 604 605 606 607 608 609 610 611
2004-06-02  Kristian Høgsberg  <krh@redhat.com>
 
	* 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.

612 613 614 615 616 617 618 619 620 621 622 623 624
2004-06-02  Kristian Høgsberg  <krh@redhat.com>

	* glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
	dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
	quiet doxygen.

	* Doxyfile.in: remove deprecated options.

	* dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
	glib/test-thread.h, glib/test-thread-client.c,
	glib/test-thread-server.c, glib/test-profile.c,
	glib/test-dbus-glib.c: remove these unused files.

625 626 627 628 629 630 631 632 633 634
2004-06-01  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-object-tree.c
	(_dbus_object_tree_dispatch_and_unlock): fix dispatch for
	non-fallback handlers (bug #684).
	(_dbus_object_subtree_new): initialize invoke_as_fallback field.
	(find_subtree_recurse): report wether the returned subtree is an
	exact match or a "fallback" match higher up in the tree.
	(object_tree_test_iteration): update test case.

635 636 637 638 639 640 641 642 643 644 645 646
2004-06-01  Seth Nickell  <seth@gnome.org>

	* python/dbus_bindings.pyx.in:
	* python/tests/test-client.py:

	Round off basic type support. Add dicts (yay!), and 
	remaining array types.

	Make MessageIter more general so it works for dicts too.

	Mark all loop variables as C integers.
	
647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665
2004-05-31  Havoc Pennington  <hp@redhat.com>

	* glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
	"in" before "out"

	* glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c

	* glib/dbus-glib-tool.c (main): set up to have a --self-test
	option that runs the tests, and start filling in some code
	including for starters just dumping the interfaces to stdout

	* glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR

	* test/data/valid-introspection-files/lots-of-types.xml: test of
	an example introspection file

	* glib/dbus-gparser.c (parser_check_doctype): doctype should be
	"node" (I think...)

666 667 668 669 670 671 672 673
2004-05-31  Seth Nickell  <seth@gnome.org>

	* python/dbus_bindings.pyx.in:
	* python/tests/test-client.py:

	Test Suite: 1
	Python Bindings: 0

674
	Fix string array memory trashing bug... oops...
675

676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699
2004-05-30  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:

	Add a nicer-but-less-flexible alternate API for handling 
	calls to virtual objects in dbus.ObjectTree.

	Screw up the argument order to the dbus.Object constructor
	for consistency with dbus.ObjectTree (and to make dbus_methods
	optional for future extension)
	
	* python/examples/Makefile.am:
	* python/examples/gconf-proxy-service.py:
	* python/examples/gconf-proxy-service2.py:

	Alternate implementation of gconf-proxy-service using the
	nicer dbus.ObjectTree API.
	
	* python/examples/example-service.py:
	* python/tests/test-server.py

	Reverse the argument order to deal with dbus.Object constructor
	changes.
	
700 701 702 703 704 705 706 707 708
2004-05-30  Seth Nickell  <seth@gnome.org>

	* python/examples/example-client.py:
	* python/examples/example-service.py:

	Take it back. Lists seem to work but they're broken
	in the test suite. Make the base examples use
	lists (works fine).

709 710 711 712 713 714 715 716 717
2004-05-30  Seth Nickell  <seth@gnome.org>

	* python/dbus_bindings.pyx.in:
	* python/tests/test-client.py:

	Add some more tests and fix errors that crop up.
	Unfortunately, currently it seems like marshalling
	and unmarshalling of lists is completely broken :-(

718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733
2004-05-30  Seth Nickell  <seth@gnome.org>

	* python/dbus_bindings.pyx.in:

	Add support for ObjectPath type.

	* python/dbus.py:

	Refactor message handling code to a common function.
	
	* python/tests/test-client.py:
	* python/tests/test-server.py:

	Add tests that check to make sure values of all types
	can be echoed from a service w/o mangling.
	
734 735 736 737 738 739 740 741 742 743 744 745 746 747 748
2004-05-29  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:

	Add ObjectTree class which allows implementation
	of trees of "virtual" objects. Basically the python
	wrapper for "register_fallback".
	
	* python/examples/Makefile.am
	* python/examples/gconf-proxy-client.py:
	* python/examples/gconf-proxy-service.py:

	Implement a simple GConf proxy service that supports
	get/set on string and int GConf keys using the ObjectTree.
	
749 750 751 752 753 754 755 756 757 758 759
2004-05-29  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:
	* python/examples/example-client.py:
	* python/examples/example-service.py:
	* python/examples/list-system-services.py:

	Add SessionBus, SystemBus and ActivationBus classes
	so you don't need to know the special little BUS_TYPE
	flag.
	
760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780
2004-05-29  Havoc Pennington  <hp@redhat.com>

	* bus/config-parser.c (process_test_valid_subdir): temporarily
	stop testing config parser OOM handling, since expat has issues
	http://freedesktop.org/pipermail/dbus/2004-May/001153.html

	* bus/dbus-daemon-1.1.in: change requested_reply to
	send_requested_reply/receive_requested_reply so we can send the
	replies, not just receive them.

	* bus/config-parser.c: parse the new
	send_requested_reply/receive_requested_reply

	* bus/policy.c (bus_client_policy_check_can_send): add
	requested_reply argument and use it

	* bus/bus.c (bus_context_check_security_policy): pass through
	requested_reply status to message send check

	* bus/system.conf.in: adapt to requested_reply change
	
781 782 783 784 785 786 787 788 789 790 791 792 793 794 795
2004-05-28  Havoc Pennington  <hp@redhat.com>

	* test/glib/test-service-glib.c (main): remove unused variable

	* glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning

	* dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
	from the enum, no longer in use.

	* dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
	works right.

	* dbus/dbus-message.c: add various _dbus_return_val_if_fail for
	whether error_name passed in is a valid error name.

John Palmieri's avatar
John Palmieri committed
796 797 798 799 800
2004-05-28  John (J5) Palmieri  <johnp@redhat.com>

	* dbus/dbus-message.c (dbus_message_get_args): Added support for
	OBJECT_PATH and OBJECT_PATH_ARRAY

Seth Nickell's avatar
 
Seth Nickell committed
801 802 803 804 805 806
2004-05-28  Seth Nickell  <seth@gnome.org>

	* python/examples/Makefile.am:

	Forget to add Makefile.am. Do not pass go.

807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830
2004-05-28  Michael Meeks  <michael@ximian.com>

	* glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 
	fix no int64 case.

	* dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.

	* dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
	(_dbus_message_iter_get_basic_type_array): impl.
	drastically simplify ~all relevant _get methods to use these.
	(_dbus_message_iter_append_basic_array),
	(dbus_message_iter_append_basic): impl
	drastically simplify ~all relevant _append methods to use these.

	* dbus/dbus-message-builder.c (parse_basic_type) 
	(parse_basic_array, lookup_basic_type): impl.
	(_dbus_message_data_load): prune scads of duplicate /
	cut & paste coding.

	* dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 
	(_dbus_demarshal_basic_type): implement,
	(demarshal_and_validate_len/arg): beef up debug.
	(_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.

Seth Nickell's avatar
Seth Nickell committed
831 832 833 834 835 836 837 838 839 840 841 842
2004-05-27  Seth Nickell  <seth@gnome.org>

	* configure.in:
	* python/Makefile.am:

	Include the example python apps in the tarball.
	
	* python/examples/list-system-services.py

	Add a python new example that fetches the list of services
	from the system bus.
	
843 844 845 846 847 848 849 850
2004-05-27  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:
	* python/dbus_bindings.pyx.in:

	Fix failure to notify that a signal was not handled,
	resulted in hung functions.
	
Colin Walters's avatar
Colin Walters committed
851 852 853 854
2004-05-25  Colin Walters  <walters@redhat.com>

	* tools/dbus-monitor.c (main): Monitor all types of messages.

855 856 857 858 859
2004-05-23  Owen Fraser-Green  <owen@discobabe.net>

	* mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
	which unregisters the object path and disposes the handler.

Kristian Høgsberg's avatar
 
Kristian Høgsberg committed
860 861 862 863 864 865 866 867
2004-05-23  Kristian Høgsberg  <krh@redhat.com>
 
        Patch from Timo Teräs <ext-timo.teras@nokia.com> (#614):
         
	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
        operands to && so we call dbus_message_iter_next () for the last
        argument also.

868 869 870 871 872 873 874 875 876 877
2004-05-21  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-object-tree.c
	(_dbus_object_tree_list_registered_unlock, lookup_subtree): return
	children even if the requested path isn't registered.
	(object_tree_test_iteration): test object_tree_list_registered.

	* configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
	it to 0.
	
878 879
2004-05-20  Kristian Høgsberg  <krh@redhat.com>

880 881 882 883 884 885 886 887
	* doc/TODO: Remove resolved items.

	* bus/expirelist.h (struct BusExpireList): remove unused n_items
	field.
	
	* bus/connection.c (bus_connections_expect_reply): Enforce the
	per-connection limit on pending replies.
	
888 889 890 891 892 893 894 895 896 897 898 899 900
	Patch from Jon Trowbridge <trow@ximian.com>:
 
 	* bus/main.c (setup_reload_pipe): Added.  Creates a pipe and sets
 	up a watch that triggers a config reload when one end of the pipe
 	becomes readable.
 	(signal_handler): Instead of doing the config reload in our SIGHUP
 	handler, just write to the reload pipe and let the associated
 	watch handle the reload when control returns to the main loop.
 
 	* bus/driver.c (bus_driver_handle_reload_config): Added.
 	Implements a ReloadConfig method for requesting a configuration
 	file reload via the bus driver.
 
901 902 903 904
2004-05-19  Owen Fraser-Green  <owen@discobabe.net>

	* HACKING: Updated release instructions concerning the wiki page.

905 906
2004-05-18  Kristian Høgsberg  <krh@redhat.com>

907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929
 	* dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
	filter against auth->allowed_mechs; we only add allowed mechs in
	record_mechanisms().
 
 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
	ALLOWED_MECHS to auth-script format so we can set the list of
	allowed mechanisms.
 
 	* data/auth/client-out-of-mechanisms.auth-script: New test to
	check client disconnects when it is out of mechanisms to try.
 
 	* dbus/dbus-auth.c (process_command): Remove check for lines
	longer that 1 MB; we only buffer up maximum 16 kB.
 
 	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
	assume there might be unused bytes.
 
 	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
	client-out-of-mechs, it is handled in process_reject(). Move check
	for max failures to send_rejected(), as it's a server-only thing.

930 931 932 933
	* dbus/dbus-auth.c: Factor out protocol reply code into functions
	send_auth(), send_data(), send_rejected(), send_error(),
	send_ok(), send_begin() and send_cancel().

934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951
2004-05-17  Kristian Høgsberg  <krh@redhat.com>

	Remove base64 encoding, replace with hex encoding. Original patch
	from trow@ximian.com, added error handling.

	* dbus/dbus-string.c (_dbus_string_base64_encode)
	(_dbus_string_base64_decode): Remove.
	(_dbus_string_hex_decode): Add end_return argument so we can
	distinguish between OOM and invalid hex encoding.
	(_dbus_string_test): Remove base64 tests and add test case for
	invalid hex.

	* dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
	Replace base64 with hex.

	* test/data/auth/invalid-hex-encoding.auth-script: New test case
	for invalid hex encoded data in auth protocol.

952 953 954 955 956
2004-05-17  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
	leak.

Owen Fraser-Green's avatar
Owen Fraser-Green committed
957 958
2004-05-15  Owen Fraser-Green  <owen@discobabe.net>

959 960 961 962 963 964 965 966 967 968 969 970
	* mono/dbus-sharp.dll.config.in: Added for GAC
	* mono/dbus-sharp.snk: Added for GAC
	* mono/Assembly.cs.in: Added for GAC
	* mono/Makefile.am: Changes for GAC installation	
	* configure.in: Added refs for dbus-sharp.dll.config.in and
	Assembly.cs.in. More fixes for mono testing
	* mono/example/Makefile.am: Changed var to CSC
	* Makefile.am: Changed flag name to DBUS_USE_CSC

2004-05-15  Owen Fraser-Green  <owen@discobabe.net>

	* mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
Owen Fraser-Green's avatar
Owen Fraser-Green committed
971 972 973 974
	* mono/doc/*: Added documentation framework
	* configure.in: Added monodoc check
	* README: Added description of mono configure flags

975 976 977 978 979 980 981 982 983 984 985
2004-05-11  John (J5) Palmieri  <johnp@redhat.com>:

	* doc/dbus-specification.xml: Added a "Required" column to the 
	header fields table and changed the "zero or more" verbage in
	the above paragraph to read "The header must contain the required 
	named header fields and zero or more of the optional named header 
	fields".
	* test/data/invalid-messages/*.message: Added the required PATH 
	named header field to the tests so that they don't fail on 
	'Missing path field'

986 987 988 989 990 991 992
2004-05-07  John (J5) Palmieri  <johnp@redhat.com>

	* python/dbus-bindings.pyx.in: Stopped the bindings from trashing
	the stack by implicitly defining variable and parameter types and
	removing the hack of defining C pointers as python objects and later
	casting them.

993 994 995 996
2004-05-02  Owen Fraser-Green  <owen@discobabe.net>

	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target

Owen Fraser-Green's avatar
Owen Fraser-Green committed
997 998 999 1000 1001 1002
2004-05-01  Owen Fraser-Green  <owen@discobabe.net>

	* mono/DBusType/Dict.cs: Handle empty dicts
	* mono/DBusType/Array.cs: Handle empty arrays
	* mono/Arguments.cs: Handle empty arguments

1003 1004 1005 1006 1007
2004-04-30  Owen Fraser-Green  <owen@discobabe.net>

	* dbus-sharp.pc.in: Modified to include include Libs and Requires
	field

1008 1009 1010 1011 1012
2004-04-25  Kristian Høgsberg  <krh@redhat.com>

	* test/data/valid-messages/standard-*.message: Update message
	test scripts to new header field names.

1013
2004-04-22  John (J5) Palmieri  <johnp@redhat.com>
1014 1015 1016 1017 1018 1019

	* test/break-loader.c (randomly_do_n_things): tracked down buffer
	overflow to times_we_did_each_thing array which would chop off the
	first character of the failure_dir string. Increased the size of
	the array to 7 to reflect the number of random mutation functions
	we have.
1020

1021 1022 1023 1024 1025 1026 1027 1028 1029 1030
2004-04-21  Kristian Høgsberg  <krh@redhat.com>

	* dbus/dbus-server-unix.c (unix_finalize): Don't unref
	unix_server->watch here, it is unreffed in disconnect.
	(_dbus_server_new_for_tcp_socket): convert NULL host to
	"localhost" here so we don't append NULL to address.
	
	* dbus/dbus-server.c (_dbus_server_test): Add test case for
	various addresses, including tcp with no explicit host.

1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043
2004-04-21  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-message.c (decode_header_data, decode_string_field):
	fix incorrect setting of .name_offset in the HeaderField (it was
	off by two bytes, positioned right after the name and typecode)

	* bus/bus.c (bus_context_new, bus_context_unref): test before
	calling dbus_server_free_data_slot and _dbus_user_database_unref
	in case of an error.

	* tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
	by libdbus-gtool.

1044 1045 1046 1047 1048
2004-04-19  Kristian Høgsberg  <krh@redhat.com>

	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
	_dbus_poll() instead of select().

1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074
2004-04-15  Jon Trowbridge  <trow@ximian.com>

	* bus/main.c (signal_handler): Reload the configuration files
	on SIGHUP.
	(main): Set up our SIGHUP handler.

	* bus/bus.c (struct BusContext): Store the config file, user and
	fork flag in the BusContext.
	(process_config_first_time_only): Added.  Contains the code
	(previously in bus_context_new) for setting up the BusContext from
	the BusConfigParser that should only be run the first time the
	config files are read.
	(process_config_every_time): Added.  Contains the code (previously
	in bus_context_new) for setting up the BusContext from the
	BusConfigParser that should be run every time the config files are
	read.
	(load_config): Added.  Builds a BusConfigParser from the config
	files and passes the resulting structure off to
	process_config_first_time_only (assuming this is the first time)
	and process_config_every_time.
	(bus_context_new): All of the config-related code has been moved
	to process_config_first_time_only and process_config_every_time.
	Now this function just does the non-config-related initializations
	and calls load_config.
	(bus_context_reload_config): Added.

1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088
2004-04-15  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* bus/driver.c (bus_driver_handle_get_service_owner):
	implement a GetServiceOwner method.
	* doc/dbus-specification.xml: document it.
	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
	
	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
	implement, using the bus GetServiceOwner method.

	* test/glib/test-dbus-glib.c:
	use dbus_gproxy_new_for_service_owner so that we can receive the
	signal. 

1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107
2004-04-15  John (J5) Palmieri  <johnp@redhat.com>

	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
	dbus/dbus-message.c, dbus/dbus-protocol.h
	(DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION

	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
	dbus/dbus-message.c, dbus/dbus-protocol.h
	(DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER

	* dbus/dbus-internals.c (_dbus_header_field_to_string):
	DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
	DBUS_HEADER_FIELD_SENDER resolves to "sender"

	* doc/dbus-specification.xml (Header Fields Table):
	s/SERVICE/DESTINATION
	s/SENDER_SERVICE/SENDER


1108 1109 1110 1111 1112
2004-04-14  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* test/glib/test-dbus-glib.c (timed_exit): fail the test after
	a few seconds.

1113 1114
2004-04-13  Michael Meeks  <michael@ximian.com>

1115 1116 1117 1118
	* glib/dbus-gobject.c (handle_introspect): split out
	(introspect_properties): this.
	(handle_introspect): implement this.

1119 1120 1121 1122 1123
	* test/glib/Makefile.am: use the absolute path so the bus
	daemon's chdir ("/") doesn't kill us dead.

	* configure.in: subst ABSOLUTE_TOP_BUILDDIR

1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138
2004-04-12  Jon Trowbridge  <trow@ximian.com>

	* bus/config-parser.c (struct BusConfigParser): Added
	included_files field.
	(seen_include): Added.  Checks whether or not a file has already
	been included by any parent BusConfigParser.
	(bus_config_parser_new): Copy the parent's included_files.
	(include_file): Track which files have been included, and fail on
	circular inclusions.
	(process_test_valid_subdir): Changed printf to report if we are
	testing valid or invalid conf files.
	(all_are_equiv): Changed printf to be a bit clearer about
	what we are actually doing.
	(bus_config_parser_test): Test invalid configuration files.

1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166
2004-04-09  Jon Trowbridge  <trow@ximian.com>

	* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
	argument.  If non-null, the newly-constructed BusConfigParser will
	be initialized with the parent's BusLimits instead of the default
	values.
	(include_file): When including a config file, pass in
	the current parser as the parent and then copy the BusLimits
	from the included BusConfigParser pack to the current parser.
	(process_test_valid_subdir): Renamed from process_test_subdir.
	(process_test_equiv_subdir): Added.  Walks through a directory,
	descending into each subdirectory and loading the config files
	it finds there.  If any subdirectory contains two config files
	that don't produce identical BusConfigParser structs, fail.
	For now, the BusConfigParser's BusPolicies are not compared.
	(bus_config_parser_test): Call both process_test_valid_subdir and
	process_test_equiv_subdir.

	* bus/config-loader-libxml.c (bus_config_load): Take a parent
	argument and pass it along to the call to bus_config_parser_new.
	Also made a few small changes to allow this code to compile.

	* bus/config-loader-expat.c (bus_config_load): Take a parent
	argument and pass it along to the call to bus_config_parser_new.

	* bus/bus.c (bus_context_new): Load the config file
	with a NULL parent argument.

1167 1168 1169 1170 1171 1172 1173
2004-03-29  Michael Meeks  <michael@ximian.com>

	* glib/dbus-gobject.c (introspect_properties): split
	out, fix mangled 'while' flow control.
	(introspect_signals): implement.
	(handle_introspect): update.

1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184
2004-03-29  Michael Meeks  <michael@ximian.com>

	* glib/dbus-gobject.c (set_object_property): split out / 
	re-work, use the property type, and not the message type(!)
	(get_object_property): ditto.

        * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
	(dbus_gvalue_marshal): make this code re-usable, needed
	for signals too, also on both proxy and server side.
	Re-write for more efficiency / readability.

1185 1186 1187 1188 1189 1190 1191 1192 1193 1194
2004-03-29  Michael Meeks  <michael@ximian.com>

	* dbus/dbus-message.c
	(dbus_message_new_error_printf): impl.

	* dbus/dbus-connection.c
	(dbus_connection_unregister_object_path): fix warning.

	* configure.in: fix no-mono-installed situation.

1195 1196 1197 1198 1199 1200 1201 1202 1203 1204
2004-03-27  Havoc Pennington  <hp@redhat.com>

	Patch from Timo Teräs:
	
	* tools/dbus-send.c (main): if --print-reply, assume type is
	method call; support boolean type args
	
	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
	bunch of memleak and logic bugs
	
1205 1206
2004-03-23  Owen Fraser-Green  <owen@discobabe.net>

1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225
        * mono/Arguments.cs:
	* mono/Introspector.cs:
	* mono/Handler.cs:
	* mono/InterfaceProxy.cs:
	* mono/Message.cs
	* mono/ProxyBuilder.cs:
	* mono/Service.cs:
	Added InterfaceProxy class to avoid building proxies for every
	object.

	* dbus-message.h:
	* dbus-message.c (dbus_message_append_args_valist)
	(dbus_message_iter_get_object_path)
	(dbus_message_iter_get_object_path_array)
	(dbus_message_iter_append_object_path)
	(dbus_message_iter_append_object_path_array):
	Added object_path iter functions to handle OBJECT_PATH arguments
	
2004-03-23  Owen Fraser-Green  <owen@discobabe.net>
1226

1227
	First checkin of mono bindings.
1228 1229 1230 1231 1232
	* configure.in:
	* Makefile.am:
	Build stuff for the bindings
	* dbus-sharp.pc.in: Added for pkgconfig
	
1233 1234 1235 1236
2004-03-21  Havoc Pennington  <hp@redhat.com>

	* test/test-service.c (main): remove debug spew

1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249
2004-03-21  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
	arrays

	* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
	(dbus_message_iter_init_array_iterator)
	(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
	indicate whether the iterator is empty

	* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
	warnings

1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263
2004-03-19  Havoc Pennington  <hp@redhat.com>

	* NEWS: 0.21 updates

	* configure.in: 0.21

	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
	
	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
	you don't need pyrex to make dist

	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
	sources; run moc
	
1264 1265 1266 1267 1268
2004-03-18  Richard Hult  <richard@imendio.com>

	* dbus/dbus-message.c (dbus_message_get_auto_activation) 
	(dbus_message_set_auto_activation): Add doxygen docs.

1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288
2004-03-16  Richard Hult  <richard@imendio.com>

	* bus/activation.c: (bus_activation_service_created),
	(bus_activation_send_pending_auto_activation_messages),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/dispatch.c: (bus_dispatch),
	(check_nonexistent_service_auto_activation),
	(check_service_auto_activated),
	(check_segfault_service_auto_activation),
	(check_existent_service_auto_activation), (bus_dispatch_test):
	* bus/driver.c: (bus_driver_handle_activate_service):
	* bus/services.c: (bus_registry_acquire_service):
	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
	(dbus_message_get_auto_activation):
	* dbus/dbus-message.h:
	* dbus/dbus-protocol.h: Implement auto-activation.
	
	* doc/dbus-specification.xml: Add auto-activation to the spec.

1289 1290 1291 1292 1293 1294 1295 1296
2004-03-12  Olivier Andrieu  <oliv__a@users.sourceforge.net>

	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
	fix a bug with CUSTOM types.

	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
	a unit test for this bug (used to fail).

1297 1298 1299 1300 1301 1302 1303 1304
2004-03-12  Mikael Hallendal  <micke@imendio.com>

	* bus/activation.c:
	(babysitter_watch_callback): notify all pending activations waiting for
	  the same exec that the activation failed.
	(bus_activation_activate_service): shortcut the activation if we 
	  already waiting for the same executable to start up.

1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320
2004-03-12  Mikael Hallendal  <micke@imendio.com>

	* bus/activation.c: 
	- Added service file reloading. 
	  Each service files directory is kept in an hash table in 
	  BusActivation and each BusActivationEntry knows what .service-file it
	  was read from. So when you try to activate a service the bus will 
	  check if it's been updated, removed or if new .service-files has 
	  been installed.
	- Test code at the bottom for the service file reloading.
	* bus/test-main.c: (main):
	* bus/test.h:
	- added service reloading test.
	* dbus/dbus-sysdeps.c: 
	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.

1321 1322
2004-03-08  Michael Meeks  <michael@ximian.com>

1323 1324 1325
	* dbus/dbus-connection.c (_dbus_connection_block_for_reply): 
	bail immediately if disconnected, to avoid busy loop.

1326 1327 1328
	* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
	cleanup cut/paste/inefficiency.

1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340
2004-03-01  David Zeuthen  <david@fubar.dk>

	* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
	bug where args were used twice. This bug resulted in a segfault
	on a Debian/PPC system when starting the messagebus daemon. Include
	dbus-sysdeps.h for DBUS_VA_COPY

	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib

	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
	appropriate va_copy implementation. From GLib
 	
1341 1342 1343 1344 1345
2004-02-24  Joe Shaw  <joe@ximian.com>

	* bus/services.c (bus_registry_acquire_service): We need to pass
	in the service name to dbus_set_error() to prevent a crash.

1346 1347 1348 1349
2003-12-26  Anders Carlsson  <andersca@gnome.org>

	* AUTHORS: Reveal my True identity.

1350 1351 1352 1353 1354
2003-12-17  Mikael Hallendal  <micke@imendio.com>

	* dbus/dbus-message.c: (dbus_message_append_args_valist): 
	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.

1355 1356 1357 1358
2003-12-13  Mikael Hallendal  <micke@imendio.com>

	* doc/TODO: Added not about better error check of configuration files.

1359 1360 1361 1362 1363
2003-12-02  Richard Hult  <richard@imendio.com>

	* Update AFL version to 2.0 throughout the source files to reflect
	the update that was done a while ago.

1364 1365 1366 1367 1368 1369 1370 1371 1372 1373
2003-12-02  Richard Hult  <richard@imendio.com>

	* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
	wrote_dict_key to FALSE on the iter that the dict is appended to,
	just like when appending other types. Fixes a bug where a dict
	couldn't be put inside a dict.
	(dbus_message_iter_append_dict_key): Fix typo in warning message.
	(message_iter_test, _dbus_message_test): Add test case for dict
	inside dict.

1374 1375 1376 1377 1378 1379
2003-12-01  David Zeuthen  <david@fubar.dk>

	* python/dbus.py: Add the actual message when calling the reciever
	of a signal such that parameters can be inspected. Add the method
	remove_signal_receiver
	
1380 1381 1382 1383 1384 1385
2003-11-26  Mikael Hallendal  <micke@imendio.com>

	* bus/*.[ch]:
	* dbus/*.[ch]:
	* glib/*.[ch]: Made ref functions return the pointer

1386 1387 1388 1389 1390 1391 1392 1393 1394 1395
2003-11-25  Zack Rusin  <zack@kde.org>

	* qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,

	* qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 
	wrappers,

	* qt/connection.h, qt/connection.cpp: Adjusting to changes in 
	the Integrator and to better fit with the server,

1396 1397 1398 1399 1400 1401 1402 1403
2003-11-24  Zack Rusin  <zack@kde.org>

	* qt/connection.h, qt/connection.cpp: removing initDbus method since
	the integrator handles it now

	* qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
	since QTimer wasn't really meant to be used the way DBusTimeout is

Zack Rusin's avatar
Zack Rusin committed
1404 1405 1406 1407 1408 1409 1410 1411 1412
2003-11-24  Zack Rusin  <zack@kde.org>

	* qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 
	Integrator class which integrates D-BUS with the Qt event loop,

	* qt/connection.h, qt/connection.cpp: Move all the code which
	was dealing with D-BUS integration to the Integrator class,
	and start using Integrator,

1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426
2003-11-23  Zack Rusin  <zack@kde.org>

	* qt/connection.h, qt/connection.cpp: Adding the DBusConnection 
	wrapper

	* qt/message.h, qt/message.cpp: updating to the current D-BUS api,
	switching namespaces to DBusQt, reworking the class,

	* Makefile.cvs: switching dependencies so that it matches KDE 
	schematics,
	
	* qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 
	the library

1427 1428 1429 1430 1431 1432 1433 1434 1435
2003-11-19  Havoc Pennington  <hp@redhat.com>

	* NEWS: update

        * configure.in: bump version to 0.20

	* configure.in (have_qt): add yet another place to look for qt
	(someone hand trolltech a .pc file...)

1436 1437 1438 1439 1440
2003-11-01  Havoc Pennington  <hp@redhat.com>

	* doc/dbus-specification.xml: add state machine docs on the auth
	protocol; just a first draft, I'm sure it's wrong.	

1441 1442 1443 1444 1445
2003-10-28  David Zeuthen  <david@fubar.dk>

	* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
	return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
	
1446 1447 1448 1449
2003-10-28  Havoc Pennington  <hp@redhat.com>

	* dbus/dbus-message.c (get_next_field): delete unused function

1450 1451 1452 1453 1454 1455 1456 1457 1458 1459
2003-10-28  Havoc Pennington  <hp@redhat.com>

	* bus/expirelist.c (do_expiration_with_current_time): detect
	failure of the expire_func due to OOM

	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM

	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
	NoReply error that's now created by the bus when the service exits

1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470
2003-10-28  Havoc Pennington  <hp@redhat.com>

	* dbus/dbus-message.c (_dbus_message_test): enable and fix the
	tests for set_path, set_interface, set_member, etc.

	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes

	* dbus/dbus-message.c (set_string_field): always just delete and
	re-append the field; accept NULL for deletion
	(re_align_fields_recurse): reimplement
	
1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482
2003-10-26  Havoc Pennington  <hp@redhat.com>

	* dbus/dbus-connection.c: fix docs to properly describe the
	disconnected message
	(_dbus_connection_notify_disconnected): remove this function; 
	we can't synchronously add the disconnected message, we have to 
	do it after we've queued any remaining real messages
	(_dbus_connection_get_dispatch_status_unlocked): queue the
	disconnect message only if the transport has finished queueing all
	its real messages and is disconnected.
	(dbus_connection_disconnect): update the dispatch status here

1483 1484 1485 1486 1487 1488 1489
2003-10-22  Havoc Pennington  <hp@redhat.com>

	* bus/bus.c (bus_context_check_security_policy): fix up assertion

	* bus/connection.c (bus_transaction_send_from_driver): set the
	destination to the connection's base service

1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543
2003-10-20  Havoc Pennington  <hp@redhat.com>

        hmm, make check is currently not passing.
	
	* doc/dbus-specification.xml: add requirement that custom type
	names follow the same rules as interface names.

	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
	duplication and allow 'c' to be 'custom'; dict is now 'm' for
	'map'

	* doc/dbus-specification.xml: update type codes to match
	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
	CUSTOM. Add type OBJECT_PATH to the spec.

2003-10-17  Havoc Pennington  <hp@redhat.com>

	* bus/driver.c (create_unique_client_name): use "." as separator
	in base service names instead of '-'

	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
	byte at the end of the string

	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
	optimization macros since string validation seems to be a slow
	point.
	
	* doc/dbus-specification.xml: restrict valid
	service/interface/member/error names. Add test suite code for the
	name validation.

	* dbus/dbus-string.c: limit service/interface/member/error names 
	to [0-9][A-Z][a-z]_

	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
	format arg to verbose spew

	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
	memory, return instead of g_error

	* test/test-service.c (path_message_func): support emitting a
	signal on request

	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
	activation bus type if DBUS_BUS_ACTIVATION was set; default to
	assuming the activation bus was the session bus so that services
	started manually will still register.
	(init_connections_unlocked): fix so that in OOM situation we get
	the same semantics when retrying the function
	
	* test/test-service.c (main): change to use path registration, to
	test those codepaths; register with DBUS_BUS_ACTIVATION rather
	than DBUS_BUS_SESSION

1544 1545 1546 1547 1548 1549 1550 1551
2003-10-16  Havoc Pennington  <hp@redhat.com>

	* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS

	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
	coverage of the tests
	(coverage-report.txt): don't move the .da and .bbg files around

1552 1553 1554 1555 1556
2003-10-16  Havoc Pennington  <hp@redhat.com>

	* bus/bus.c (struct BusContext): remove struct field I didn't mean
	to put there

1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610
2003-10-16  Havoc Pennington  <hp@redhat.com>

	* bus/connection.c (bus_pending_reply_expired): either cancel or
	execute, not both
	(bus_connections_check_reply): use unlink, not remove_link, as we
	don't want to free the link; fixes double free mess

	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
	where no reply was received

	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
	fix a refcount leak

	* bus/signals.c (match_rule_matches): add special cases for the
	bus driver, so you can match on sender/destination for it.

	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
	DBUS_PRINT_BACKTRACE is set

	* dbus/dbus-internals.c: add pid to assertion failure messages

	* dbus/dbus-connection.c: add message type code to the debug spew

	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
	sender=foo not service=foo

	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
	DBUS_ACTIVATION_ADDRESS instead

	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
	DBUS_SYSTEM_BUS_ADDRESS if appropriate

	* bus/bus.c (bus_context_new): handle OOM copying bus type into
	context struct

	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
	(dbus_message_iter_get_object_path_array): new function (half
	finished, disabled for the moment)
	
	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
	DBUS_MESSAGE_TYPE_ERROR

	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
	avoid redirecting stderr to /dev/null
	(babysit): close stdin if not doing the "exit_with_session" thing

	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
	stdout/stdin, so things don't get confused
	
	* bus/system.conf.in: fix to allow replies, I modified .conf
	instead of .conf.in again.

1611 1612 1613 1614 1615 1616 1617
2003-10-14  David Zeuthen  <david@fubar.dk>

	* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
	argtype to arg_type when raising unknown arg type exception.
	Changed type list to reflect the changes in dbus-protocol.h so 
	the bindings actually work.

1618 1619 1620 1621 1622 1623
2003-10-14  Havoc Pennington  <hp@redhat.com>

	* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
	to have a bug keeping it from outputting the .da files sometimes
	(string_get_string): don't append garbage nul bytes to the string.

1624 1625 1626 1627 1628 1629
2003-10-15  Seth Nickell  <seth@gnome.org>

	* python/Makefile.am:

	Include dbus_h_wrapper.h in the dist tarball.

1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657
2003-10-14  Havoc Pennington  <hp@redhat.com>

	* bus/bus.c (bus_context_check_security_policy): revamp this to
	work more sanely with new policy-based requested reply setup

	* bus/connection.c (bus_transaction_send_from_driver): set bus
	driver messages as no reply

	* bus/policy.c (bus_client_policy_check_can_receive): handle a
	requested_reply attribute on allow/deny rules

	* bus/system.conf: add <allow requested_reply="true"/>

	* bus/driver.c (bus_driver_handle_message): fix check for replies
	sent to the bus driver, which was backward. How did this ever work
	at all though? I think I'm missing something.

	* dbus/dbus-message.c (decode_header_data): require error and
	method return messages to have a reply serial field to be valid
	(_dbus_message_loader_queue_messages): break up this function;
	validate that reply serial and plain serial are nonzero; 
	clean up the OOM/error handling.
	(get_uint_field): don't return -1 from this
	(dbus_message_create_header): fix signed/unsigned bug

	* bus/connection.c (bus_connections_expect_reply): save serial of
	the incoming message, not reply serial

1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671
2003-10-14  Havoc Pennington  <hp@redhat.com>

	* bus/connection.c: implement pending reply tracking using
	BusExpireList

	* bus/bus.c (bus_context_check_security_policy): verify that a
	reply is pending in order to allow a reply to be sent. Deny 
	messages of unknown type.

	* bus/dbus-daemon-1.1.in: update to mention new resource limits

	* bus/bus.c (bus_context_get_max_replies_per_connection): new
	(bus_context_get_reply_timeout): new

1672 1673 1674 1675 1676 1677 1678
2003-10-13  Seth Nickell  <seth@gnome.org>

	* python/Makefile.am:

	Pass "make distcheck": remove a couple files from DIST_FILES
	that weren't included in the final version.

1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712
2003-10-12  Havoc Pennington  <hp@pobox.com>

        Added test code that 1) starts an actual bus daemon and 2) uses
	DBusGProxy; fixed bugs that were revealed by the test. Lots 
	more testing possible, but this is the basic framework.
	
	* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
	empty proxy lists from the proxy list hash

	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
	couple of return_if_fail checks

	* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
	to allocate, so everything is cleared to NULL as it should be.

	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
	source as data to dbus_connection_set_timeout_functions() as the 
	timeout functions expected

	* test/glib/run-test.sh: add a little script to start up a message
	bus and run tests using it

	* tools/dbus-launch.1: updates

	* tools/dbus-launch.c (main): add --config-file option

	* tools/dbus-launch.c (main): remove confusing else if (runprog)
	that could never be reached.

	* dbus/dbus-message.c (dbus_message_new_method_return) 
	(dbus_message_new_error, dbus_message_new_signal): set the
	no-reply-expected flag on all these. Redundant, but may
	as well be consistent.

1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736
2003-10-11  Havoc Pennington  <hp@pobox.com>

	* test/decode-gcov.c (function_solve_graph): make broken block
	graph a nonfatal error since it seems to be broken. Need to debug
	this.

	* dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
	can't just check type > INVALID < LAST anymore

	* dbus/dbus-message.c (dbus_message_get_signature): new function
	(dbus_message_has_signature): new function
	(struct DBusMessage): add signature field (right now it isn't sent
	over the wire, just generated on the fly)
	(dbus_message_copy): copy the signature, and init strings to
	proper length to avoid some reallocs
	(dbus_message_iter_init_array_iterator): return void, since it
	can't fail
	(dbus_message_iter_init_dict_iterator): return void since it can't fail
	(_dbus_message_loader_queue_messages): add silly temporary hack to
	fill in message->signature on load

	* dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
	characters, so they are relatively human-readable.

1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754
2003-10-11  Havoc Pennington  <hp@pobox.com>

	* dbus/dbus-message.c (_dbus_message_test): add more test
	coverage, but #if 0 for now since they uncover a bug 
	not fixed yet; I think in re_align_field_recurse()
	(re_align_field_recurse): add FIXME about broken assertion

	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage

	* bus/connection.c: share a couple code bits with expirelist.c

	* bus/expirelist.h, bus/expirelist.c: implement a generic
	expire-items-after-N-seconds facility, was going to share between
	expiring connections and replies, decided not to use for expiring
	connections for now.

	* COPYING: include AFL 2.0 (still need to change all the file headers)

1755 1756 1757 1758 1759 1760 1761 1762 1763 1764
2003-10-09  Havoc Pennington  <hp@redhat.com>

	* configure.in: define DBUS_HAVE_GCC33_GCOV if we have
	gcc 3.3. Not that we do anything about it yet.

	* bus/signals.c (bus_match_rule_parse): impose max length on the
	match rule text

	* dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH

1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783
2003-10-09  Havoc Pennington  <hp@redhat.com>

        Make matching rules theoretically work (add parser).
	
	* bus/bus.c (bus_context_check_security_policy): fix up to handle
	the case where destination is explicitly specified as bus driver
	and someone else is eavesdropping.
	
	* bus/policy.c (bus_client_policy_check_can_receive): fix up
	definition of eavesdropping and assertion

	* tools/dbus-send.c (main): use dbus_message_type_from_string

	* bus/signals.c (bus_match_rule_parse): implement

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

	* dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add

1784 1785 1786 1787 1788 1789 1790 1791 1792 1793
2003-10-02  Havoc Pennington  <hp@pobox.com>

	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
	dbus_gproxy_oneway_call

	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 
	(dbus_server_setup_with_g_main): fix to allow calling them more
	than once on the same args
	(dbus_bus_get_with_g_main): new function

1794 1795 1796 1797
2003-10-02  Havoc Pennington  <hp@redhat.com>

	* doc/dbus-tutorial.xml: write some stuff

1798 1799 1800 1801 1802 1803 1804 1805
2003-09-29  Havoc Pennington  <hp@pobox.com>

	* configure.in: split checks for Doxygen from XML docs, check for
	xmlto

	* doc/Makefile.am: XML-ify all the docs, and add a blank
	dbus-tutorial.xml

1806 1807 1808 1809 1810 1811 1812
2003-09-29  Havoc Pennington  <hp@pobox.com>

	* Merge dbus-object-names branch. To see the entire patch 
	do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
	it's huuuuge though.
	To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
	
1813 1814 1815 1816
2003-09-28  Havoc Pennington  <hp@pobox.com>

	* HACKING: update to reflect new server

1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832
2003-09-26  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:
	* python/examples/example-signals.py:

	Start implementing some notions of signals. The API
	is really terrible, but they sort of work (with the
	exception of being able to filter by service, and to
	transmit signals *as* a particular service). Need to
	figure out how to make messages come from the service
	we registered :-(
	
	* python/dbus_bindings.pyx.in:

	Removed duplicate message_handler callbacks.
	
1833 1834 1835 1836
2003-09-25  Havoc Pennington  <hp@redhat.com>

	* bus/session.conf.in: fix my mess

1837 1838 1839 1840
2003-09-25  Havoc Pennington  <hp@pobox.com>

	* bus/session.conf.in: fix security policy, reported by Seth Nickell

1841 1842 1843 1844 1845 1846 1847 1848 1849 1850
2003-09-25  Seth Nickell  <seth@gnome.org>

	* python/examples/example-service.py:

	Johan notices complete wrong code in example-service, but
	completely wrong in a way that works exactly the same (!).
	Johan is confused, how could this possibly work? Example
	code fails to serve purpose of making things clear.
	Seth fixes.

1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912
2003-09-25  Mark McLoughlin  <mark@skynet.ie>

	* doc/dbus-specification.sgml: don't require header fields
	to be 4-byte aligned and specify that fields should be
	distinguished from padding by the fact that zero is not
	a valid field name.
	
	* doc/TODO: remove re-alignment item and add item to doc
	the OBJECT_PATH type.
	
	* dbus/dbus-message.c:
	(HeaderField): rename the original member to value_offset
	and introduce a name_offset member to keep track of where
	the field actually begins.
	(adjust_field_offsets): remove.
	(append_int_field), (append_uint_field),
	(append_string_field): don't align the start of the header
	field to a 4-byte boundary.
	(get_next_field): impl finding the next marhsalled field
	after a given field.
	(re_align_field_recurse): impl re-aligning a number of
	already marshalled fields.
	(delete_field): impl deleting a field of any type and
	re-aligning any following fields.
	(delete_int_or_uint_field), (delete_string_field): remove.
	(set_int_field), (set_uint_field): no need to re-check
	that we have the correct type for the field.
	(set_string_field): ditto and impl re-aligning any
	following fields.
	(decode_header_data): update to take into account that
	the fields aren't 4-byte aligned any more and the new
	way to distinguish padding from header fields. Also,
	don't exit when there is too much header padding.
	(process_test_subdir): print the directory.
	(_dbus_message_test): add test to make sure a following
	field is re-aligned correctly after field deletion.
	
	* dbus/dbus-string.[ch]:
	(_dbus_string_insert_bytes): rename from insert_byte and
	allow the insert of multiple bytes.
	(_dbus_string_test): test inserting multiple bytes.

	* dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
	warning note to docs about having to re-align any
	marshalled values following the string.
	
	* dbus/dbus-message-builder.c:
	(append_string_field), (_dbus_message_data_load):
	don't align the header field.
	
	* dbus/dbus-auth.c: (process_test_subdir): print the
	directory.
	
	* test/break-loader.c: (randomly_add_one_byte): upd. for
	insert_byte change.
	
	* test/data/invalid-messages/bad-header-field-alignment.message:
	new test case.
	
	* test/data/valid-messages/unknown-header-field.message: shove
	a dict in the unknown field.

1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924
2003-09-25  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:
	* python/dbus_bindings.pyx.in:

	Handle return values.
	
	* python/examples/example-client.py:
	* python/examples/example-service.py:

	Pass back return values from the service to the client.
	
1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947
2003-09-24  Seth Nickell  <seth@gnome.org>

	* python/dbus.py:

	Connect Object methods (when you are sharing an object) up... pass
	in a list of methods to be shared. Sharing all the methods just
	worked out too weird. You can now create nice Services over the
	DBus in Python. :-)
	
	* python/dbus_bindings.pyx.in:

	Keep references to user_data tuples passed into C functions so 
	Python doesn't garbage collect on us.

	Implement MethodReturn and Error subclasses of Message for creating
	DBusMessage's of those types.
	
	* python/examples/example-client.py:
	* python/examples/example-service.py:

	Simple example code showing both how create DBus services and objects,
	and how to use them.

1948 1949 1950 1951
2003-09-23  Havoc Pennington  <hp@pobox.com>

	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement

1952 1953 1954 1955 1956 1957 1958 1959
2003-09-23  Havoc Pennington  <hp@redhat.com>

	* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
	(dbus_gproxy_disconnect_signal): implement
	(dbus_gproxy_manager_remove_signal_match): implement
	(dbus_gproxy_manager_add_signal_match): implement
	(dbus_gproxy_oneway_call): implement

1960 1961 1962 1963 1964 1965 1966 1967
2003-09-23  Havoc Pennington  <hp@pobox.com>

	* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
	subclass. This means dropping the transparent thread safety of the
	proxy; you now need a separate proxy per-thread, or your own
	locking on the proxy. Probably right anyway.
	(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref

1968 1969 1970 1971
2003-09-22  Havoc Pennington  <hp@redhat.com>

	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement

1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996
2003-09-21  Seth Nickell  <seth@gnome.org>

        First checkin of the Python bindings.
	
	* python/.cvsignore:
	* python/Makefile.am:
	* python/dbus_bindings.pyx.in:
	* python/dbus_h_wrapper.h:

	Pieces for Pyrex to operate on, building a dbus_bindings.so
	python module for low-level access to the DBus APIs.
	
	* python/dbus.py:

	High-level Python module for accessing DBus objects.

	* configure.in:
	* Makefile.am:

	Build stuff for the python bindings.

	* acinclude.m4:

	Extra macro needed for finding the Python C header files.

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
2003-09-21  Havoc Pennington  <hp@pobox.com>

	* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
	implementing the proxy manager, didn't get very far.

	* dbus/dbus-bus.c (dbus_bus_add_match): new
	(dbus_bus_remove_match): new

	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
	path_name argument; adjust the other not-yet-implemented 
	gproxy constructors to be what I think they should be.

2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
2003-09-21  Havoc Pennington  <hp@pobox.com>

	* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
	by default for message bus connections.

	* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
	exit_on_disconnect flag is set and we process the disconnected
	signal.
	(dbus_connection_set_exit_on_disconnect): new function

2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053
2003-09-21  Havoc Pennington  <hp@pobox.com>

	Get matching rules mostly working in the bus; only actually
	parsing the rule text remains. However, the client side of
	"signal connections" hasn't been started, this patch is only the
	bus side.
	
	* dbus/dispatch.c: fix for the matching rules changes
	
	* bus/driver.c (bus_driver_handle_remove_match)
	(bus_driver_handle_add_match): send an ack reply from these
	method calls

	* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
	arguments, reported by Seth Nickell

	* bus/config-parser.c (append_rule_from_element): support
	eavesdrop=true|false attribute on policies so match rules 
	can be prevented from snooping on the system bus.

	* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
	and "destination" in attribute names; fix some docs bugs; 
	add eavesdrop=true|false attribute

	* bus/driver.c (bus_driver_handle_add_match)
	(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
	messages

	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
	rid of broadcast service concept, signals are just always broadcast

	* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
	mostly implement matching rules stuff (currently only exposed as signal
	connections)

2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089
2003-09-21  Mark McLoughlin  <mark@skynet.ie>

	* doc/dbus-specification.sgml: Change the header field name
	to be an enum and update the rest of the spec to reference
	the fields using the conventinal name.

	* dbus/dbus-protocol.h: update to reflect the spec.

	* doc/TODO: add item to remove the 4 byte alignment requirement.
	
	* dbus/dbus-message.c: Remove the code to generalise the
	header/body length and serial number header fields as named
	header fields so we can reference field names using the 
	protocol values.
	(append_int_field), (append_uint_field), (append_string_field):
	Append the field name as a byte rather than four chars.
	(delete_int_or_uint_field), (delete_string_field): reflect the
	fact that the field name and typecode now occupy 4 bytes instead
	of 8.
	(decode_string_field), (decode_header_data): update to reflect
	protocol changes and move the field specific encoding from
	decode_string_field() back into decode_header_data().
	
	* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
	Add utility to aid debugging.
	
	* dbus/dbus-message-builder.c:
	(append_string_field), (_dbus_message_data_load): Update to
	reflect protocol changes; Change the FIELD_NAME directive
	to HEADER_FIELD and allow it to take the field's conventional
	name rather than the actual value.
	
	* test/data/*/*.message: Update to use HEADER_FIELD instead
	of FIELD_NAME; Always align the header on an 8 byte boundary
	*before* updating the header length.

2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155
2003-09-15  Havoc Pennington  <hp@pobox.com>

	* dbus/dbus-pending-call.c: add the get/set object data
	boilerplate as for DBusConnection, etc. Use generic object data
	for the notify callback.

	* glib/dbus-gparser.c (parse_node): parse child nodes

	* tools/dbus-viewer.c: more hacking on the dbus-viewer
	
	* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
	contain functions shared between the convenience lib and the
	installed lib

	* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
	-export-symbols-regex to the GLib library

	* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
	fix the locking in here, and add a default handler for
	Introspect() that just returns sub-nodes.

2003-09-14  Havoc Pennington  <hp@pobox.com>

	* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
	rather than gfoo consistent

	* glib/dbus-gproxy.h: delete for now, move contents to
	dbus-glib.h, because the include files don't work right since we
	aren't in the dbus/ subdir.
	
	* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
	(dbus_gproxy_end_call): finish
	(dbus_gproxy_begin_call): finish

	* glib/dbus-gmain.c (dbus_set_g_error): new

	* glib/dbus-gobject.c (handle_introspect): include information
	about child nodes in the introspection

	* dbus/dbus-connection.c (dbus_connection_list_registered): new
	function to help in implementation of introspection

	* dbus/dbus-object-tree.c
	(_dbus_object_tree_list_registered_and_unlock): new function

2003-09-12  Havoc Pennington  <hp@pobox.com>

	* glib/dbus-gidl.h: add common base class for all the foo_info
	types

        * tools/dbus-viewer.c: add GTK-based introspection UI thingy
	similar to kdcop

	* test/Makefile.am: try test srcdir -ef . in addition to test
	srcdir = ., one of them should work (yeah lame)
	
        * glib/Makefile.am: build the "idl" parser stuff as a convenience
	library
	
	* glib/dbus-gparser.h: make description_load routines return
	NodeInfo* not Parser*

	* Makefile.am (SUBDIRS): build test dir after all library dirs

	* configure.in: add GTK+ detection

2156 2157 2158 2159
2003-09-07  Havoc Pennington  <hp@pobox.com>

	* Make Doxygen contented.

2160 2161 2162 2163
2003-09-07  Havoc Pennington  <hp@pobox.com>

	* doc/dbus-specification.sgml: more updates

2164 2165 2166 2167 2168