summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 0.48HEAD0.48masterMarcel Holtmann2012-11-302-1/+7
|
* test: Allow phonebook listing to failMarcel Holtmann2012-11-301-1/+5
|
* build: Add unit/test-gobex-apparam to .gitignoreMarcel Holtmann2012-11-301-0/+1
|
* gdbus: Add g_dbus_add_properties_watch functionLuiz Augusto von Dentz2012-11-302-0/+33
| | | | Convenient function to create watches for D-Bus properties.
* gdbus: Don't automatically attach ObjectManagerLucas De Marchi2012-11-292-21/+36
| | | | | Let each project attach the object manager interface instead of registering it automatically.
* gdbus: Don't register DBus.Properties with no propertiesLucas De Marchi2012-11-291-3/+6
| | | | | | Delay registering DBus.Properties interface until the moment there are properties on that path. This is needed for objects that currently don't expose any property to not export the interface.
* gdbus: Remove not needed NULL pointer checksSzymon Janc2012-11-261-2/+2
| | | | | g_strdup returns NULL if argument passed is NULL and there is no need to double check that.
* gdbus: Replace leading spaces with tabsSyam Sidhardhan2012-11-261-4/+4
| | | | Trivial formatting fix.
* gdbus: Fix compilation error due to missing #definesSyam Sidhardhan2012-11-261-0/+8
| | | | | | | | | | | | | | | | | Since these are simple #define strings, we are defining it here instead of upgrading to D-Bus 1.5 or later. Log: CC gdbus/object.o gdbus/object.c: In function ‘properties_set’: gdbus/object.c:876:7: error: ‘DBUS_ERROR_UNKNOWN_PROPERTY’ undeclared (first use in this function) gdbus/object.c:876:7: note: each undeclared identifier is reported only once for each function it appears in gdbus/object.c:881:6: error: ‘DBUS_ERROR_PROPERTY_READ_ONLY’ undeclared (first use in this function) make[1]: *** [gdbus/object.o] Error 1 make: *** [all] Error 2
* gdbus: Remove connection from pending_property functionsLucas De Marchi2012-11-262-20/+17
| | | | | | | | | | The reply to a DBus.Properties.Set() method call should go through the same D-Bus connection. Thus remove the DBusConnection parameter from the following functions: - g_dbus_pending_property_success() - g_dbus_pending_property_error_valist() - g_dbus_pending_property_error()
* gdbus: Fix invalid memory access during interface removalJohan Hedberg2012-11-261-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an interface is removed from the root path during the same mainloop iteration that it was added we need to check for data->added before doing the check for data->parent == NULL in the remove_interface() function. Otherwise the added interface doesn't get removed from the data->added list and will result in accessing freed memory: ==337== Invalid read of size 8 ==337== at 0x4F65AFA: dbus_message_iter_append_basic (in /usr/lib64/libdbus-1.so.3.7.1) ==337== by 0x1247B5: append_interface (object.c:556) ==337== by 0x4C8DC5C: g_slist_foreach (gslist.c:840) ==337== by 0x1261F7: process_changes (object.c:594) ==337== by 0x126372: generic_unregister (object.c:997) ==337== by 0x4F69669: ??? (in /usr/lib64/libdbus-1.so.3.7.1) ==337== by 0x4F5CE51: dbus_connection_unregister_object_path (in /usr/lib64/libdbus-1.so.3.7.1) ==337== by 0x125E81: object_path_unref (object.c:1236) ==337== by 0x126136: g_dbus_unregister_interface (object.c:1361) ==337== by 0x14CDF0: service_exit (service.c:581) ==337== by 0x177556: plugin_cleanup (plugin.c:242) ==337== by 0x12221F: main (main.c:559) ==337== Address 0x5bc1550 is 0 bytes inside a block of size 56 free'd ==337== at 0x4A079AE: free (vg_replace_malloc.c:427) ==337== by 0x4C7850E: g_free (gmem.c:252) ==337== by 0x125DB0: remove_interface (object.c:671) ==337== by 0x125E3B: object_path_unref (object.c:1230) ==337== by 0x126136: g_dbus_unregister_interface (object.c:1361) ==337== by 0x14CDF0: service_exit (service.c:581) ==337== by 0x177556: plugin_cleanup (plugin.c:242) ==337== by 0x12221F: main (main.c:559)
* gdbus: Add g_dbus_get_properties functionJohan Hedberg2012-11-262-0/+21
| | | | | This function can be used to construct custom D-Bus messages containing the properties for a specific interface on a given path.
* gdbus: Add support for invalidated propertiesJohan Hedberg2012-11-261-1/+14
| | | | | | If there's a pending property but its exists() callback returns false the property should be considered invalidated and included in the relevant list of the PropertiesChanged signal.
* gdbus: Fix processing pending properties in remove_interface()Johan Hedberg2012-11-261-0/+2
|
* gdbus: Fix up Properties.Set() code pathLucas De Marchi2012-11-261-3/+7
| | | | | | | | | | Minor fixes to make setter actually work: - Add propdata in pending_property_set - Break loop when we are removing propdata from list and we found it - in_args and out_args were swapped - interface and method name arguments were swapped
* gdbus: Fix invalid memory access while unregisteringLucas De Marchi2012-11-261-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | If an interface is added and removed on the same mailoop iteration, ObjectManager would try to send InterfacesAdded signal while running the idler because the interface was added to data->added list. This is easily reproduced by forcing an error path in a plugin registration, like on sap_server_register(), resulting in the following error: ==11795== Invalid read of size 4 ==11795== at 0x496F592: dbus_message_iter_append_basic (dbus-message.c:2598) ==11795== by 0x117B39: append_interface (object.c:554) ==11795== by 0x48955E7: g_slist_foreach (gslist.c:840) ==11795== by 0x11923B: process_changes (object.c:592) ==11795== by 0x11956D: generic_unregister (object.c:980) ==11795== by 0x4973BAC: _dbus_object_tree_unregister_and_unlock (dbus-object-tree.c:516) ==11795== by 0x4965240: dbus_connection_unregister_object_path (dbus-connection.c:5776) ==11795== by 0x1178A5: object_path_unref (object.c:1219) ==11795== by 0x118517: g_dbus_unregister_interface (object.c:1344) ==11795== by 0x19AF5B: sap_exit (sap.c:385) ==11795== by 0x13E9E2: sap_server_register (server.c:1428) ==11795== by 0x13C092: sap_server_probe (manager.c:44) With this patch we don't send the InterfacesAdded signal, removing it from data->added while unregistering.
* gdbus: Implement PropertiesChanged signalLucas De Marchi2012-11-262-2/+109
|
* gdbus: Simplify code for appending propertiesLuiz Augusto von Dentz2012-11-261-32/+2
| | | | This reuse append_properties for GetAll and GetManagedObjects
* gdbus: Integrates ObjectManager with Properties interfaceLuiz Augusto von Dentz2012-11-261-1/+27
| | | | This appends the properties and its values when using ObjectManager.
* gdbus: Only export ObjectManager interface on root pathLuiz Augusto von Dentz2012-11-261-2/+15
| | | | | ObjectManager should be exported only in the root path and list all the children paths.
* gdbus: Group interface changes to reduce the amount of signals emittedLuiz Augusto von Dentz2012-11-261-154/+208
| | | | | InterfacesAdded and InterfacesRemoved can group all the interfaces changes together in one message.
* gdbus: Add support for org.freedesktop.DBus.ObjectManager interfaceLuiz Augusto von Dentz2012-11-261-10/+237
| | | | | | | | | This implements initial support for ObjectManager, it automatically adds objects to its parents so no action is needed by daemons to get their objects managed by this interface. ObjectManager is part of D-Bus spec since revision 0.17: http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
* gdbus: Add properties into Introspectable interfaceLucas De Marchi2012-11-261-0/+19
|
* gdbus: Implement DBus.Properties.Set methodLucas De Marchi2012-11-262-1/+157
| | | | | | Contrary to Get() and GetAll(), Set() is asynchronous so we pass an id to the setter so later it can declare the Set() as successful or otherwise.
* gdbus: Implement DBus.Properties.GetAll methodLucas De Marchi2012-11-261-1/+55
|
* gdbus: Implement DBus.Properties.Get methodLucas De Marchi2012-11-262-1/+69
|
* gdbus: Add skeleton of DBus.Properties interfaceLucas De Marchi2012-11-261-0/+46
| | | | | | | | | This interface is responsible for handling properties of all objects in a given path. Right now it only registers itself, doing nothing useful. A conversion to this new layout will be done by subsequent patches. org.freedesktop.org.DBus.Properties spec can be found at http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties
* gdbus: Use macros to add annotationsLucas De Marchi2012-11-261-12/+28
| | | | Besides being more readable this way it avoids going over 80 chars.
* gdbus: Move typedefs upLucas De Marchi2012-11-261-18/+29
| | | | Move the typedefs up so they can be used by functions and callbacks.
* btio: Fix type detection for L2CAP fixed channelsLuiz Augusto von Dentz2012-11-151-0/+1
|
* bluetooth: Fix using BtIOTypeLuiz Augusto von Dentz2012-11-141-22/+8
|
* tools: Fix using BT_IO_TYPE in test-client and test-serverLuiz Augusto von Dentz2012-11-142-64/+61
|
* client: Fix using BtIOTypeLuiz Augusto von Dentz2012-11-141-3/+3
|
* btio: Fix type detection when psm or channel are 0Luiz Augusto von Dentz2012-11-141-25/+12
| | | | | | | | | They could be set to 0 on purpose so the kernel would automatically pick one available. To fix this now the detection is done while parsing the options, so in case the user set the option to 0 it will automatically set the type as well.
* btio: Remove BT_IO_L2ERTMJohan Hedberg2012-11-141-43/+6
| | | | | | There's no need to have a separate type for ERTM. The mode parameter takes care of most needs and if necessary a "reliable" parameter can be added later which will map to SOCK_STREAM usage.
* btio: Make BtIOType privateJohan Hedberg2012-11-142-35/+119
| | | | | | Since the socket type can be inferred from the socket itself or from the PSM/Channel/CID/etc parameters provided to listen() and connect() it doesn't make sense to expose this in the BtIO API.
* btio: Remove unneeded L2CAP raw socket supportJohan Hedberg2012-11-142-25/+0
| | | | Now that pairing is done through mgmt this support is no-longer needed.
* MAP: Add get_next_header() in message listingSunil Kumar Behera2012-11-121-0/+1
| | | | | | In case of message listing we need to send application parameters in response and also it is required for sending response to message listing size request.
* MAP: Reset ap_sent variableSunil Kumar Behera2012-11-091-0/+1
| | | | | | For multiple subsequent request for message listing we need to reset this variable to FALSE, so that each time the get next header function is executed properly.
* PBAP: Fix sending absolute pathLuiz Augusto von Dentz2012-10-261-1/+1
| | | | As per OBEX spec the NAME header should not contain absolute paths
* client: Fix returning empty if messages was already listedLuiz Augusto von Dentz2012-10-111-1/+1
| | | | | | | Once a message was already listed and inserted on the cache it could not be listed again as the code was using the wrong key to lookup for found messages then once we try to create the message again it fails as the object already exists.
* client: Fix freeing apparam data on PBAP moduleLuiz Augusto von Dentz2012-10-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Invalid read of size 8 at 0x40EC04: g_obex_apparam_free (gobex-apparam.c:362) by 0x41A66A: obc_transfer_free (transfer.c:272) by 0x413221: pending_request_free (session.c:163) by 0x413659: session_terminate_transfer (session.c:745) by 0x41A53E: xfer_complete (transfer.c:518) by 0x41B5D7: get_xfer_progress_first (transfer.c:562) by 0x409750: handle_response (gobex.c:948) by 0x40A609: incoming_data (gobex.c:1191) by 0x371D047824: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x371D047B57: ??? (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x371D047F51: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x40542F: main (main.c:175) Address 0x4f64510 is 0 bytes inside a block of size 8 free'd at 0x4A079AE: free (vg_replace_malloc.c:427) by 0x371D04D50E: g_free (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x416060: phonebook_size_callback (pbap.c:266) by 0x413651: session_terminate_transfer (session.c:743) by 0x41A53E: xfer_complete (transfer.c:518) by 0x41B5D7: get_xfer_progress_first (transfer.c:562) by 0x409750: handle_response (gobex.c:948) by 0x40A609: incoming_data (gobex.c:1191) by 0x371D047824: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x371D047B57: ??? (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x371D047F51: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3200.4) by 0x40542F: main (main.c:175)
* client: Fix not using port when it is set by the clientLuiz Augusto von Dentz2012-10-091-0/+1
| | | | | If the client set a channel/port the code would just ignore and attempt to discover the service anyway.
* test: Update map-client to include UpdateInbox.Srinivasa Ragavan2012-10-071-0/+7
|
* client-doc: Add documentation for UpdateInboxSrinivasa Ragavan2012-10-071-0/+5
|
* client: Add implementation for UpdateInboxSrinivasa Ragavan2012-10-071-0/+58
|
* MAP: Fix build when using --with-messages=trackerLuiz Augusto von Dentz2012-10-051-3/+3
| | | | | | | | Commit 15b15167fb2dd82e2189cc1955def1818a7bc6a6 broke the build: plugins/messages.c:324:42: error: unknown type name ‘messages_update_inbox_cb’ plugins/messages.c:331:5: error: unknown type name ‘messages_set_read_cb’ plugins/messages.c:337:6: error: unknown type name ‘messages_set_delete_cb’
* test: Update map-client to include Message.SetProperty and Message.GetPropertiesSrinivasa Ragavan2012-10-041-0/+42
|
* client-doc: Add documentation for Message.SetProperty and Message.GetPropertiesSrinivasa Ragavan2012-10-041-0/+79
|
* client: Add Message.SetProperty and Message.GetProperties implementation.Srinivasa Ragavan2012-10-041-0/+189
|