summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2013-09-12include: Add voicecall multiparty hint methodDenis Kenzior1-0/+7
On protocols that support creation of multiparty calls outside of oFono's control, we need a way to detect multiparty call transitions. This method adds a way for the driver to hint the core which calls should be part of the multiparty call. Right now this is relevant only to HFP. Real modem hardware should not be using this method.
2013-09-12test: Add selecting the modem in private-chatDenis Kenzior1-1/+7
2013-09-12test: Add selecting the modem in create-multipartyDenis Kenzior1-1/+4
2013-09-12gdbus/client: Use g_dbus_add_properties_watch to track propertiesLuiz Augusto von Dentz1-79/+56
This make the handling much simpler and avoids duplicates of the same match rule.
2013-09-12gdbus/client: Use g_dbus_add_signal_watch to track signalsLuiz Augusto von Dentz1-36/+37
This make the handling much simpler and avoids duplicates of the same match rule.
2013-09-12gdbus/client: Use g_dbus_add_service_watch to track servicesLuiz Augusto von Dentz1-135/+38
This make the handling much simpler and avoids duplicates of the same match rule.
2013-09-12gdbus/watch: Fix crash when disconnecting from D-BusLuiz Augusto von Dentz1-0/+2
When disconnecting from D-Bus a message could be recieved with no sender: Invalid read of size 1 at 0x4A09EE1: strcmp (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x3B03C386B8: g_str_equal (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x4065D6: message_filter (watch.c:529) by 0x3B0700F9E5: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.7.4) by 0x4052E7: message_dispatch (mainloop.c:76) by 0x3B03C48962: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C47E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C48157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C48559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x4038C5: client_proxy_removed (test-gdbus-client.c:902) by 0x3B03C6B566: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C6B6E5: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) Address 0x0 is not stack'd, malloc'd or (recently) free'd
2013-09-12gdbus/watch: Fix aborting when removing D-Bus filterLuiz Augusto von Dentz1-17/+8
In case of filter_data having a watch to a service name it may call dbus_connection_remove_filter twice causing libdbus to abort: process 24723: Attempt to remove filter function 0x4063e0 user data (nil), but no such filter has been added To fix this the code will now only attempt to call dbus_connection_remove_filter once in filter_data_free which is the counterpart of filter_data_get where dbus_connection_add_filter is called.
2013-09-12gdbus/watch: Fix crash when g_dbus_remove_watch is called from connect callbackLuiz Augusto von Dentz1-2/+6
at 0x40570C: update_service (watch.c:601) by 0x40584B: service_reply (watch.c:627) by 0x3B0700C511: ??? (in /usr/lib64/libdbus-1.so.3.7.4) by 0x3B0700F740: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.7.4) by 0x405167: message_dispatch (mainloop.c:76) by 0x3B03C48962: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C47E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C48157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x3B03C48559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3) Address 0x4c58a30 is 32 bytes inside a block of size 56 free'd at 0x4A074C4: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x3B03C4D9AE: g_free (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x406102: filter_data_remove_callback (watch.c:378) by 0x405FC0: g_dbus_remove_watch (watch.c:798) by 0x40A22B: g_dbus_client_unref (client.c:1227) by 0x40570B: update_service (watch.c:599) by 0x40584B: service_reply (watch.c:627)
2013-09-10gdbus: Fix emitting PropertiesChanged twiceLuiz Augusto von Dentz1-2/+2
This fixes double emission of PropertiesChanged introduced by flushing changes, the flushing can happen during the pending processing so the pending_prop flag needs to be updated in the beginning and the list of properties can be freed before g_dbus_send_message as it is not required anymore.
2013-09-10gdbus: Avoid calling dbus_connection_send*Luiz Augusto von Dentz2-64/+42
dbus_connection_send* should not be called directly except by g_dbus_send_message.
2013-09-10gdbus: Add g_dbus_send_message_with_replyLuiz Augusto von Dentz2-0/+14
g_dbus_send_message_with_reply flushes pending signals before calling dbus_connection_send_with_reply so it does not alter the message order
2013-09-10gdbus: Fix sending ObjectManager/Properties signals out of orderLuiz Augusto von Dentz1-16/+53
In some cases the order of the messages is altered when a message is sent without processing the pending signals first, currently this affect client_check_order unit test: /gdbus/client_check_order: ** ERROR:unit/test-gdbus-client.c:795:property_check_order: assertion failed: (g_strcmp0(string, "value1") == 0) As can be observed the value of the property is not yet updated because the signal it is still pending, once this fix is applied the test pass: /gdbus/client_check_order: OK Note that the flushing only works when g_dbus_send_message is used so places where dbus_connection_send and other variants are called directly may still change the order.
2013-09-03smsutil: Make sure to return 1/0Denis Kenzior1-1/+1
So the value might be used directly for D-Bus property emission. Otherwise D-Bus asserts and screws itself with: ofonod[7427]: src/sms.c:handle_mwi() process 7427: arguments to dbus_message_iter_append_basic() were incorrect, assertion "*bool_p == 0 || *bool_p == 1" failed in file ../../dbus/dbus-message.c line 2549.
2013-09-03test-sms: Add skeleton code for MWI unit testDenis Kenzior1-0/+105
2013-08-25hfp: Set UDUB affected set to WAITING onlyDenis Kenzior1-2/+1
INCOMING calls are not affected by UDUB, only by +CHUP.
2013-08-25hfp: Fix up disconnect reason handling for +CHUPDenis Kenzior1-1/+6
The affected call types for +CHUP were set to only ACTIVE calls. Instead the affected set should include INCOMING, DIALING, ALERTING and ACTIVE calls. Thanks to Ionut Dediu for the diagnosing and reporting this issue.
2013-08-19bluetooth: Add define for SCO voice settingsVinicius Costa Gomes1-0/+9
Add defines for SCO voice setting (Air Coding). Air mode "Transparent Data" shall be supported if wide band speech is supported.
2013-08-07handsfree-audio: Make sure to reset has_widebandDenis Kenzior1-0/+4
When Agent is unregistered we do not know whether the wideband speech is supported. Default to false.
2013-07-22atmodem: Fix whitespace violationDenis Kenzior1-1/+1
2013-07-22SIMCOM: add a quirk to fix crsm requestAnthony Viallard1-0/+1
2013-07-22SIMCOM: add a quirk for signal strength reportingAnthony Viallard1-1/+8
We must tell we want the signal strength reporting using AT+AUTOCSQ command (ref. "SIM5215_SIM5216_ATC_V1.18.pdf - §10.7").
2013-07-22SIMCOM: add a quirk for AT+CNMI command buildingAnthony Viallard1-0/+1
Use mode=1 otherwise it fails (ref. "SIM5215_SIM5216_ATC_V1.18.pdf - §6.9")
2013-07-19build: Use dummy=yes assignment for pkg-config checkMarcel Holtmann1-2/+1
2013-07-19sim900: Use SIM900 quirk for gprs contextJesper Larsen1-1/+1
Use the module specific quirk for gprs by using the vendor entry OFONO_VENDOR_SIMCOM_SIM900
2013-07-18atmodem: Add gprs-context quirk for SIM900Jesper Larsen1-1/+5
The SIM900 module from SIMCOM does have a AT+CGDATA command. However, it is not possible to make a ppp connection when CGDATA has been used to bring up the gprs context. This patch adds a quirk that uses the alternative ATD*99***<cid># command instead.
2013-07-18atmodem: Add vendor entry for SIM900 moduleJesper Larsen1-0/+1
2013-07-18build: Build a simpler version of libgdbus-internalMarcel Holtmann1-6/+4
2013-07-18build-sys: Use libgdbus-internal.laLucas De Marchi1-10/+19
With the current approach if we have different CFLAGS for each binary we would build gdbus several times for no reason. Instead of prepending $(gdbus_sources) to several _SOURCES variable, use a convenience library thas is used internally only, thus with a "-internal" suffix.
2013-07-17sim900: Fix order of dlc prefixesJesper Larsen1-5/+5
The order of the defines for the dlc prefixes does not match the order of the array containing the strings to print.
2013-07-17AUTHORS: Mention Jesper's contributionsDenis Kenzior1-0/+1
2013-07-17sim900: Enable serial receiverJesper Larsen1-0/+1
The read option must be set to 'on' in order for two-way communication with SIM900 module to work.
2013-06-29dundee: return error if there is a connection procedure ongoingGustavo Padovan3-0/+11
2013-06-26hfp_hf_bluez5: Fix SDP record with correct featuresFrederic Danis1-1/+2
2013-06-26hfpmodem: Fix ECNR HF featureFrederic Danis1-1/+2
2013-06-19gdbus: Remove proxies when client disconnectsHenrique Dante de Almeida1-0/+4
Remove proxies and generate proxy_removed callbacks even when there are no corresponding InterfaceRemoved signals. This patch fixes having zombie gdbus proxy object when a server disconnects without sending InterfaceRemoved signals. These objects may interact with new server instances, for example, making InterfaceAdded signals of new objects with the same name be filtered out as duplicated, or staying allocated, but unused, if the new server doesn't reuse the object paths. Note that as a side-effect, the lifetime of a gdbus proxy becomes stricter: it lives at most for the duration of a single connection to a single instance of a server process.
2013-05-22common: Fix parsing SS control stringLucas De Marchi1-1/+1
It's not possible to be both greater than '9' and less than '0'. This would lead to accepting things like "#$33#" as activation and "*$33#" as deactivation, even though the string makes no sense.
2013-05-22gitignore: Ignore file generated by Automake 1.13Lucas De Marchi1-0/+4
Automake >= 1.13 enables parallel-tests option by default which uses a test-driver script (copied by automake). Ignore this file and the files generated by this script.
2013-05-22stk: Fix sizeof on memcpyLucas De Marchi1-1/+1
src/stk.c: In function ‘__ofono_cbs_sim_download’: src/stk.c:283:45: error: argument to ‘sizeof’ in ‘memcpy’ call is the same expression as the source; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess] memcpy(&e.cbs_pp_download.page, msg, sizeof(msg)); ^
2013-05-08gdbus: Fix using NULL DBusPendingCall when disconnected from D-BusAnderson Lizardo1-0/+5
From D-Bus documentation for dbus_connection_send_with_reply(): "Warning: if the connection is disconnected or you try to send Unix file descriptors on a connection that does not support them, the DBusPendingCall will be set to NULL, so be careful with this." Fix these errors when killing D-Bus daemon with the client still running: process 5712: arguments to dbus_pending_call_set_notify() were incorrect, assertion "pending != NULL" failed in file ../../dbus/dbus-pending-call.c line 596. This is normally a bug in some application using the D-Bus library. process 5712: arguments to dbus_pending_call_unref() were incorrect, assertion "pending != NULL" failed in file ../../dbus/dbus-pending-call.c line 572. This is normally a bug in some application using the D-Bus library.
2013-05-08gdbus: Fix segfault when D-Bus daemon exitsAnderson Lizardo1-0/+2
Fix this crash if D-Bus exits while the client is still connected to it: ==5570== Invalid read of size 1 ==5570== at 0x402D28E: strcmp (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==5570== by 0x4070E22: g_str_equal (ghash.c:1704) ==5570== by 0x8055F61: message_filter (client.c:1123) ==5570== by 0x4141500: dbus_connection_dispatch (in /lib/i386-linux-gnu/libdbus-1.so.3.5.8) ==5570== by 0x80506F7: message_dispatch (mainloop.c:76) ==5570== by 0x4081A7E: g_timeout_dispatch (gmain.c:3882) ==5570== by 0x4080D85: g_main_context_dispatch (gmain.c:2539) ==5570== by 0x4081124: g_main_context_iterate.isra.21 (gmain.c:3146) ==5570== by 0x408156A: g_main_loop_run (gmain.c:3340) ==5570== by 0x41BF4D2: (below main) (libc-start.c:226) ==5570== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==5570== ==5570==
2013-05-03gdbus: Fix calling GetManagedObjects twice in a rowLuiz Augusto von Dentz1-7/+18
Calling g_dbus_client_new followed by g_dbus_client_set_proxy_handlers cause two calls to GetManagedObjects in a row as GetNameOwner reply is asyncronously it triggers the second call because the handlers have been set by g_dbus_client_set_proxy_handlers.
2013-05-03handsfree-audio: Fix replying to an empty D-Bus messageVinicius Costa Gomes1-2/+7
In the case that ofono_handsfree_card_connect_sco() is called outside the context of a .Connect() call, there's no message we need to reply. This happens, for example, when the HFP AG plugin initiates a SCO connection when it receives an AT+BCC command from the HF.
2013-04-25hfp_hf_bluez5: Enable WB only with defer_setupVinicius Costa Gomes1-2/+8
When setting the SDP features, only enable wideband speech support if the kernel has defer setup for SCO. It is possible that even if defer setup is supported the kernel is not able to use Transparent Mode for SCO.
2013-04-25handsfree-audio: Implement ofono_handsfree_audio_has_defer_setup()Vinicius Costa Gomes1-0/+5
2013-04-25include: Add ofono_handsfree_audio_has_defer_setup()Vinicius Costa Gomes1-0/+2
2013-04-25Revert "hfp_hf_bluez5: UUIDs can change after Pairing"Denis Kenzior1-2/+1
This reverts commit 456b8c9723b9b73c3ea4cadc8c6f84ca90675f9a.
2013-04-25hfp_hf_bluez5: Register the SDP record with correct featuresVinicius Costa Gomes1-1/+6
2013-04-25hfp: Add defines for HFP SDP feature bitsVinicius Costa Gomes1-0/+18
2013-04-25bluez5: Unify bt_register_profile_* into a single functionVinicius Costa Gomes6-20/+14
It was a cause of confusion for little gain to have separate functions for registering profiles with extra information, for example "role" and "features". We remove those helper functions in favor of a single one with more parameters, "role" and "feature" when NULL, will be ignored.