Commit graph

1306 commits

Author SHA1 Message Date
John (J5) Palmieri
63ac302bab * glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
when using recursive g_main_loops

* python/_dbus.py (class Bus): add the ProxyObjectClass
  alias for ProxyObject to make it easier for the Twisted
  networking framework to integrate dbus.

* python/proxies.py (class ProxyObject): add the ProxyMethodClass
  alias for ProxyMethod to make it easier for the Twisted
  networking framework to integrate dbus.
2005-05-16 21:27:04 +00:00
Colin Walters
ad5bafed04 2005-05-11 Ross Burton <ross@burtonini.com>
* glib/dbus-glib-tool.c: Add --prefix argument.
	* glib/dbus-binding-tool-glib.h: Add prefix argument.
	* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
	Add prefix argument.
	(generate_glue): Pass prefix argument down.
	(dbus_binding_tool_output_glib_server): Pass prefix to
	glib-genmarshal.
2005-05-11 19:02:31 +00:00
Colin Walters
3fa4c2f404 2005-05-11 Colin Walters <walters@verbum.org>
* tools/dbus-send.c (append_array): New function.
	(append_arg): Broken out from main.
	(main): Add cheesy hack to send arrays and variants.
	(usage): Update.
	* tools/dbus-print-message.c (print_iter): Broken out
	from main.
2005-05-11 18:48:24 +00:00
Colin Walters
61411a061c 2005-05-11 Colin Walters <walters@verbum.org>
* dbus/dbus-signature.c (dbus_signature_iter_get_signature):
	New function, returns signature string for signature iter.
	* dbus/dbus-signature.h: Prototype it.
	* dbus/dbus-message.c (dbus_message_iter_get_signature):
	New function, returns signature string for message iter.
	(dbus_message_iter_get_array_len): New function, returns
	length of array.
	(dbus_message_iter_get_fixed_array): Fix assertion; this
	function should be used when the iter is pointing to the
	contents of an array
	* dbus/dbus-message.h: Prototypes.
	* dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
	New function; returns length of an array.
	* dbus/dbus-marshal-recursive.h: Prototype it.
2005-05-11 18:07:22 +00:00
Colin Walters
ca01b21112 2005-05-11 Colin Walters <walters@verbum.org>
* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
	compilation error.
2005-05-11 17:59:46 +00:00
Havoc Pennington
0e0b8c197d 2005-05-08 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
	daemon's pid, not the parent's pid, to the file descriptor.
	Reported by Taj Morton.
2005-05-08 15:41:39 +00:00
Havoc Pennington
4db285c800 2005-05-05 Havoc Pennington <hp@redhat.com>
* configure.in (LT_*): add notes on how the libtool versioning
	works to save thinking. Increment soname to indicate protocol
	breakage (though really the library interface hasn't changed I
	guess)

	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
	verify the GUID received from server matches what we were
	expecting, if we had an expectation

	* dbus/dbus-auth.c (send_ok): send GUID along with the OK command
	(_dbus_auth_get_guid_from_server): new function
	(send_begin): parse the OK args

	* doc/dbus-specification.xml: add GUID to the auth protocol
2005-05-05 22:02:11 +00:00
John (J5) Palmieri
b4b85685f1 * Fix my name in previous changelog ;)
* python/proxies.py (ProxyObject.__getattr__): add further patch
  from Anthony Baxter to throw an AttributeError when python
  __special__ functions are called instead of marshling them over
  the bus (Bug#1685 comment 3).
2005-05-05 18:27:34 +00:00
John (J5) Palmieri
425257ddf9 * python/Makefile.am: changed to use pyexecdir for the binding
shared libraries (Bug#2494)

* python/exceptions.py: bring exceptions over from the bindings
  so they can be used in applications (Bug#2036)
  Make all exceptions derive from DBusException

* python/_dbus.py, python/proxies.py: implement __repr__ in a couple
  of classes so that print obj doesn't throw an exception (Bug #1685)
2005-05-05 18:01:45 +00:00
Colin Walters
18ada3395f 2005-05-03 Ross Burton <ross@burtonini.com>
* glib/dbus-gobject.c (dbus_g_connection_register_g_object):
	Return if we get an error during registration.  Set up a
	weak reference on object to unregister if object is destroyed.
	(unregister_gobject): New function.
2005-05-03 17:45:30 +00:00
John (J5) Palmieri
ac3b8d0a70 * python/dbus_bindings.pyx.in:
- added new type classes for hinting to the marashaler what type
to send over the wire
- added int16 and uint16 marshalers
- Fixed a bug in the type constants that caused int32 to go out
as uint16 over the wire
* python/dbus.py: split up into different files and renamed _dbus.py
* python/__init__.py, python/_util.py, python/decorators.py,
python/exceptions.py, python/proxies.py, python/services.py,
python/types.py: new files split off from dbus.py
* python/Makefile.am: Add new files, remove dbus.py and
install all python files to <python module dir>/dbus
* python/examples/*: Added #!/usr/bin/env python to the top of
every example.  Patch provided by Tatavarty Kalyan
2005-05-01 19:34:58 +00:00
John (J5) Palmieri
eb8bfeb8f2 * update configure.in to next version 2005-04-26 00:56:26 +00:00
John (J5) Palmieri
d06c0d47f3 * Update to 0.33 2005-04-26 00:54:52 +00:00
John (J5) Palmieri
8d40569d8a * python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
method for doing async calls
(_pending_call_notification): New C function for handling pendning call
callbacks
(set_notify): New method for setting pending call notification

* python/dbus.py: new version tuple "version" is set at (0, 40, 0)
Async capabilities added to remote method calls
(Sender): class removed
(RemoteService): class removed
(ObjectTree): class removed for now
(RemoteObject): Renamed to ProxyObject
(RemoteMethod): Renamed to ProxyMethod
(method): Decorator added for decorating python methods as dbus methods
(signal): Decorator added for decorating python methods as signal emitters
(ObjectType): Metaclass added for generating introspection data and the
method callback vtable
(Interface): Wrapper class added to wrap objects in a dbus interface
(Object): Uses ObjectType as its metaclass and exports Introspect
of the org.freedesktop.DBus.Introspectable interface
(ValidationException, UnknownMethodException): new exceptions

* python/examples/*: Modified to fit with the new bindings
2005-04-25 22:54:28 +00:00
Havoc Pennington
64f3d8f67d 2005-04-23 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
	reported by Tony Houghton

	* test/test-service.c (main): test
	dbus_connection_get_object_path_data()

	* dbus/dbus-object-tree.c (find_handler): be sure we always init
	the exact_match
	(_dbus_object_tree_get_user_data_unlocked): new function used by
	dbus_connection_get_object_path_data()
	(do_register): add assertion test for get_user_data_unlocked
	(object_tree_test_iteration): more tests

	* dbus/dbus-connection.c (dbus_connection_get_object_path_data):
	new function from Dan Reed to let you get the user data from
	dbus_connection_register_object_path()
2005-04-24 14:04:16 +00:00
John (J5) Palmieri
52fce19fab * dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
in numerous places that did not account for the NULL terminator
  (signature_from_seed): changed the manual string copy loop to
  just use strcpy instead
  make check should now pass
2005-04-23 22:34:48 +00:00
John (J5) Palmieri
83ce7b267c * dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
so that it allows messages that are not signals to pass in
  NULL as the interface.
2005-04-19 13:14:55 +00:00
David Zeuthen
087140dfc4 2005-04-18 David Zeuthen <davidz@redhat.com>
* glib/dbus-gmain.c (io_handler_destroy_source):
	(timeout_handler_destroy_source, connection_setup_free):
	Also unref the source to avoid memory leaks.
2005-04-19 03:35:26 +00:00
David Zeuthen
ded3a8efb1 2005-04-13 David Zeuthen <davidz@redhat.com>
* bus/config-parser.c (bus_config_parser_new): Bump this to a
        more reasonable, yet still totally arbitrary, value :-).
2005-04-14 15:10:22 +00:00
David Zeuthen
a43b6f86d1 2005-04-13 David Zeuthen <davidz@redhat.com>
* doc/TODO: Added an "important for 1.0" item about selinux
        allow/deny messages
2005-04-13 16:13:42 +00:00
David Zeuthen
44656f538f 2005-04-13 David Zeuthen <davidz@redhat.com>
* bus/selinux.c: Add c-file-style to top of file
	(log_audit_callback): Don't free the data here anymore
	(bus_selinux_check): Don't take spid and tpid since appending
	that to auxdata may OOM.
	(bus_selinux_allows_acquire_service): Handle OOM and signal back
	to the caller if we are OOM by taking an error object.
	(bus_selinux_allows_send): -do-

	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
	and bus_selinux_allows_send

	* bus/bus.c (bus_context_check_security_policy): Pass error and
	pass on OOM thrown by bus_selinux_allows_send()

	* bus/services.c (bus_registry_acquire_service): Pass error and
	pass on OOM thrown by bus_selinux_allows_acquire_service()
2005-04-13 14:27:11 +00:00
Havoc Pennington
893f5b7bf5 2005-04-13 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
	message at a time to avoid monopolizing the main loop, bug
	#2953 from Benjamin Otte
2005-04-13 14:10:21 +00:00
Havoc Pennington
6606169cbc 2005-04-09 Havoc Pennington <hp@redhat.com>
* dbus/dbus-string.c (copy): change a memcpy to memmove due to
	possible overlap, fix from Daniel Reed
	(fixup_alignment): fix signedness warnings
	(_dbus_string_append_unichar): ditto
2005-04-10 03:36:46 +00:00
Havoc Pennington
8475b3a848 2005-04-09 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning

	* glib/dbus-glib-tool.c (main): fix warning

	* glib/dbus-binding-tool-glib.c (generate_glue): fix warning

	* dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
	add a new function that can be used in simple applications that
	don't have a main loop and are willing to block
2005-04-09 23:50:58 +00:00
David Zeuthen
9f13881562 2005-04-05 David Zeuthen <davidz@redhat.com>
Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889

	* glib/dbus-gmain.c:
	(io_handler_destroy_source): Remove from list of IO handlers
	of the ConnectionSetup object
	(timeout_handler_destroy_source): -do- for timeout handlers
	(io_handler_source_finalized): Don't remove from list since
	we now do that in io_handler_destroy_source(). Renamed from
	io_handler_source_destroyed
	(timeout_handler_source_destroyed): -do- for timeout handlers
	(connection_setup_free): It is now safe to iterate over all
	IO and timeout handlers as the _destroy_source removes them
	from the list synchronously
2005-04-06 17:36:47 +00:00
Havoc Pennington
6cd7cb575d 2005-03-30 Havoc Pennington <hp@redhat.com>
* configure.in: change check to gtk 2.4

	* tools/dbus-viewer.c (name_combo_changed_callback): remove
	gtk_combo_box_get_active_text() usage to decrement GTK requirement
	to 2.4
2005-03-31 02:24:12 +00:00
John (J5) Palmieri
8e0bd8c06c - bump to next release 2005-03-29 18:33:27 +00:00
John (J5) Palmieri
99127825e2 * News: Update 0.32
* HACKING: Fixed realease instructions.  configure.in should be updated to
  the next release by the person who made the last release.
2005-03-29 18:27:35 +00:00
John (J5) Palmieri
8f5a88e1e2 * python/lvalue_cast_post_process.py - removed. Patch has been
submitted to Pyrex maintainers that fixes gcc4.0 error

* python/Makefile.am: removed refrences to lvalue_cast_post_process.py
2005-03-29 17:01:43 +00:00
Colin Walters
c3492190e7 2005-03-24 Daniel Reed <n@ml.org>
* tools/Makefile.am: Make print-introspect and
	dbus-bus-introspect.xml building conditional on HAVE_GLIB.
2005-03-24 15:44:43 +00:00
Havoc Pennington
4bbafebfdb add colin to patch approver list (the list is really wonky/out-of-date in more ways than this) 2005-03-24 14:23:08 +00:00
John (J5) Palmieri
6eab514119 * tools/Makefile.am: Patch by Colin Walters that fixes distcheck
* dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have
  had in Red Hat packages for a while but for some reason never
  got merged upstream
  (_dbus_is_a_number): New checks if a string
  can be converted to a number and does the conversion if it can
  (_dbus_user_database_lookup): Add check to see if the given username
  is a udi.  This allows udi's to be used instead of usernames in the
  config file.
  (_dbus_user_database_lookup_group): Add check to see if the given groupname
  is a gdi.  This allows gdi's to be used instead of groupnames in the
  config file.
2005-03-22 17:57:27 +00:00
John (J5) Palmieri
11519c46c4 * python/lvalue_cast_post_process.py - added post processor to fix Pyrex
code so that it compiles with gcc4.0

* python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
  run dbus_bindings.c through lvalue_cast_post_process.py and copy the
  results back to dbus_binding.c
2005-03-21 21:13:56 +00:00
Colin Walters
5edf809963 2005-03-20 Colin Walters <walters@verbum.org>
Patch suggested by Inguva Rajasekhar <ringuva@novell.com>.

	* configure.in: Require GTK+ 2.6.
2005-03-21 03:03:57 +00:00
Colin Walters
254f4d8592 2005-03-20 Colin Walters <walters@verbum.org>
* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
2005-03-21 02:31:09 +00:00
Colin Walters
49c64e69de 2005-03-17 Tom Parker <palfrey@tevp.net>
* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
	print DBUS_UID_UNSET; instead print passed username.  Also
	be sure to actually use gid looked up in cache.

	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
	for DBUS_GID_UNSET and groupname.
2005-03-17 23:13:38 +00:00
Colin Walters
b651df5510 2005-03-17 Tom Parker <palfrey@tevp.net>
* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
	print DBUS_UID_UNSET; instead print passed username.

	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
	for DBUS_GID_UNSET and groupname.
2005-03-17 23:10:44 +00:00
Colin Walters
20427aff29 *** empty log message *** 2005-03-17 17:53:31 +00:00
Colin Walters
a65587676f 2005-03-17 Colin Walters <walters@verbum.org>
* bus/print-introspect.c: Move to tools/.
	* bus/run-with-tmp-session-bus.sh: Ditto.

	* glib/Makefile.am (dbus-glib-bindings.h): Move
	generation to tools/Makefile.am.

	* test/glib/run-test.sh: Update to handle move
	of run-with-tmp-session-bus.sh.

	* test/glib/test-service-glib.c: Update to handle
	move of dbus-glib-bindings.h.

	* tools/print-introspect.c: Moved here
	from bus/, and ported to GLib bindings.

	* tools/run-with-tmp-session-bus.sh: Moved here
	from bus/.

	* tools/Makefile.am: Generate dbus-glib-bindings.h
	and dbus-bus-introspect.xml here.

	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
	Update.
2005-03-17 17:48:29 +00:00
Colin Walters
6180ae6941 2005-03-14 Colin Walters <walters@verbum.org>
* bus/driver.c (write_args_for_direction): Use
	_dbus_string_get_const_data to retrieve string;
	_dbus_string_get_const_data_len doesn't actually return
	a NULL-terminated substring.

	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
	(main): Change to use org_freedesktop_DBus_request_name
	instead of using g_proxy_begin_call/end_call.
2005-03-17 17:11:59 +00:00
Joe Shaw
bcdd185483 2005-03-15 Joe Shaw <joeshaw@novell.com>
* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
	generating the finalizer.  Fixes from Ben Maurer.
2005-03-15 23:30:55 +00:00
Joe Shaw
42287b94d1 2005-03-13 Joe Shaw <joeshaw@novell.com>
* mono/ProxyBuilder.cs (BuildConstructor): Decalre a local
	variable for storing our callback in.  Update the allocation
	comments.
2005-03-13 05:07:35 +00:00
Joe Shaw
dfa00f175b 2005-03-12 Joe Shaw <joeshaw@novell.com>
* mono/BusDriver.cs: Update method names: ListServices
	becomes ListNames; GetOwner becomes GetNameOwner.
2005-03-13 02:15:09 +00:00
Joe Shaw
2452ac5cdf 2005-03-12 Joe Shaw <joeshaw@novell.com>
* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
	onto the eval stack when removing the delegate.
2005-03-13 02:05:56 +00:00
Joe Shaw
727073e691 2005-03-12 Joe Shaw <joeshaw@novell.com>
* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
	LT_CURRENT.  Set it to the autoconf variable.
2005-03-13 01:56:29 +00:00
Joe Shaw
7857193391 2005-03-12 Joe Shaw <joeshaw@novell.com>
* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
	classes that disconnects the signal handler delegate from the
	service object.  Fixes a big leak of proxy objects on the
	client side of things.  Patch from Ben Maurer
	<bmaurer@ximian.com>
2005-03-13 01:13:22 +00:00
Joe Shaw
79bc662439 *** empty log message *** 2005-03-13 01:13:04 +00:00
Colin Walters
030cc1e53c 2005-03-12 Colin Walters <walters@verbum.org>
* bus/driver.c (write_args_for_direction): New function,
	parses a type signature into arguments and outputs to
	XML.
	(bus_driver_handle_introspect): Use it instead of
	hardcoding XML for certain signatures.

	* bus/Makefile.am (dbus-bus-introspect.xml): Add
	dependency on dbus-daemon.

	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
	argument, pass it to dbus_binding_tool_output_glib_client.

	* glib/dbus-binding-tool-glib.c
	(generate_client_glue): Protect against multiple inclusion.
	(dbus_binding_tool_output_glib_client): Add
	G_BEGIN_DECLS/G_END_DECLS.

	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
	Change to just take iface prefix directly.
	(write_formal_parameters): Clarify error message.
	(check_supported_parameters): New function; checks to see type
	signatures of method parameters are supported.
	(generate_client_glue): Handle ignore_unsupported flag.
	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
	parameter.

	* glib/Makefile.am (dbus-glib-bindings.h): Pass
	--ignore-unsupported by default until glib bindings
	support arrays.
2005-03-12 20:07:21 +00:00
Colin Walters
3dea5c183f 2005-03-11 Colin Walters <walters@verbum.org>
* glib/Makefile.am: Generate dbus-glib-bindings.h and
	install it.

	* bus/print-introspect.c: New file; prints introspection
	data for a given name and object path.

	* bus/run-with-tmp-session-bus.sh: New file, refactored
	from test/glib/run-test.sh.  Creates a temporary session
	bus and runs another program.

	* test/glib/run-test.sh: Refactor to invoke
	run-with-tmp-session-bus.sh.

	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
	macros instead of hardcoding.

	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
2005-03-12 16:33:01 +00:00
Joe Shaw
3c1d2d6565 2005-03-11 Joe Shaw <joeshaw@novell.com>
* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
	this unref; it doesn't match up evenly in some codepaths.
	(_dbus_connection_block_pending_call): Unref at every exitpoint;
	this evenly matches with the ref near the top of this function.
2005-03-11 17:43:22 +00:00