summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-08-24hfp: Handle extra CCWA eventKuba Pawlak1-0/+10
When a call is waitng, CCWA event is sent and call object in state WAITING is created. on ReleaseAndAnswer it is promoted to INCOMING and later to ACTIVE. iPhones send an extra CCWA event when active call is ended. This extra event is creating a second call object in state WAITING. It is not possible to have two WAITING calls, but previously waiting call was already promoted to INCOMING. For a brief time we have two calls from the same number, one INCOMING and one WAITING. Later WAITING one is removed. As we cannot have a waiting and incoming call at the same time, ignore CCWA when there is already an INCOMING call. < \r\n+CIEV: 3,3\r\n < \r\n+CIEV: 2,1\r\n < \r\n+CIEV: 3,0\r\n < \r\n+CCWA: "01234567890",129,1,"Me"\r\n < \r\n+CIEV: 3,1\r\n > AT+CLCC\r < \r\n+CLCC: 1,0,0,0,0,"09876543210",129,"Me"\r\n < \r\n+CLCC: 2,1,5,0,0,"01234567890",129,"Me"\r\n < \r\nOK\r\n < \r\n+CIEV: 2,0\r\n < \r\n+CCWA: "01234567890",129,1,"Me"\r\n < \r\n+CIEV: 2,1\r\n < \r\n+CIEV: 3,0\r\n > AT+CLCC\r < \r\n+CLCC: 2,1,0,0,0,"01234567890",129,"Me"\r\n < \r\nOK\r\n
2015-08-06voicecall: Don't accept USSD strings in Dial()Denis Kenzior1-0/+3
2015-08-05hfp: Synchronize call state in case of +CHUP errorKuba Pawlak1-0/+4
It is possible for the phone to accept Dial request but not actually dial. This leaves a voicecall object in state 'dialling' that cannot be removed. Proposed workaround is to trigger AT+CLCC when an error is returned for Hangup. As the call is not on the list, this would remove this hanging object and signal CallRemoved. Windows Phone trace with this fix: ofonod[273]: > ATD1;\r ofonod[273]: < \r\nOK\r\n ofonod[273]: src/voicecall.c:dial_handle_result() Registering new call: 1 ofonod[273]: < \r\n+CIEV: 5,4\r\n ofonod[273]: src/network.c:ofono_netreg_strength_notify() strength 80 ofonod[273]: > AT+CHUP\r ofonod[273]: < \r\nERROR\r\n ofonod[273]: src/voicecall.c:generic_callback() command failed with error: Unknown error type ofonod[273]: > AT+CLCC\r ofonod[273]: < \r\nOK\r\n ofonod[273]: src/voicecall.c:ofono_voicecall_disconnected() Got disconnection event for id: 1, reason: 2
2015-07-28cdma-connman: Make static analysis tools happyDenis Kenzior1-1/+1
The kernel simply puts a null terminator at index 15 prior to ifr_name processing. So we do the same. Original report by: Sabas Rosales, Blanca E <blanca.e.sabas.rosales@intel.com> Buffer not null terminated (BUFFER_SIZE_WARNING) buffer_size_warning: Calling strncpy with a maximum size argument of 16 bytes on destination array ifr.ifr_ifrn.ifrn_name of size 16 bytes might leave the destination string unterminated. 92 strncpy(ifr.ifr_name, interface, IFNAMSIZ);
2015-07-28ppp_net: Make static analysis tools happyDenis Kenzior1-1/+1
The kernel simply puts a null terminator at index 15 prior to ifr_name processing. So we do the same. Original report by: Sabas Rosales, Blanca E <blanca.e.sabas.rosales@intel.com> Buffer not null terminated (BUFFER_SIZE_WARNING) buffer_size_warning: Calling strncpy with a maximum size argument of 16 bytes on destination array ifr.ifr_ifrn.ifrn_name of size 16 bytes might leave the destination string unterminated. 67 strncpy(ifr.ifr_name, net->if_name, sizeof(ifr.ifr_name));
2015-07-20gprs: Try re-attaching when we switch cellsDenis Kenzior1-3/+2
2015-07-16message-waiting: Fix reading EF_MWIS recordsAlfonso Sanchez-Beato1-1/+1
2015-07-16message-waiting: Update properly EF_MWIS SIM fileAlfonso Sanchez-Beato1-0/+1
2015-07-16AUTHORS: Mention Johannes' contributionsDenis Kenzior1-0/+1
2015-07-16udevng: add support for Ericsson N5321 gwJohannes 'josch' Schauer1-0/+7
2015-07-12hfp_hf_bluez5: Fix crash on re-pairing a DeviceKuba Pawlak1-1/+10
It may happen that a Device object is unpaired an paired again without being removed from DBus. This in turn triggers second modem object to be created, but not fully initialized. If this modem object is used, oFono will crash.
2015-07-06handsfree: Mark GetProperties method ASYNCDenis Kenzior1-1/+1
2015-07-07u8500: Fix compiler warning with logical expressionMarcel Holtmann1-1/+1
CC plugins/u8500.o plugins/u8500.c: In function ‘reachable_cb’: plugins/u8500.c:235:28: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] if (!g_isi_msg_error(msg) < 0) ^
2015-07-07n900: Fix compiler warning with logical expressionMarcel Holtmann1-1/+1
CC plugins/n900.o plugins/n900.c: In function ‘mtc_reachable_cb’: plugins/n900.c:241:28: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] if (!g_isi_msg_error(msg) < 0) ^
2015-07-07isiusb: Fix compiler warning with logical expressionMarcel Holtmann1-1/+1
CC plugins/isiusb.o plugins/isiusb.c: In function ‘reachable_cb’: plugins/isiusb.c:207:28: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] if (!g_isi_msg_error(msg) < 0) ^
2015-07-07gatchat: Fix compiler warning with logical expressionMarcel Holtmann1-1/+1
CC gatchat/gatchat.o gatchat/gatchat.c: In function ‘have_line’: gatchat/gatchat.c:586:28: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] if (!strncmp(str, "AT", 2) == TRUE) ^
2015-07-05AUTHORS: Mention Marko's contributionsDenis Kenzior1-0/+1
2015-07-05configure.ac: fix typoMarko Sulejic1-1/+1
2015-07-01AUTHORS: Mention Sergey's contributionsDenis Kenzior1-0/+1
2015-07-01build: make ofono build against muslSergey Alirzaev2-1/+9
ifdef away GNU libc extensions and use a POSIXly correct pointer type
2015-06-30handsfree: Fix potential buffer overflowDenis Kenzior1-1/+5
Function: ag_features_list static const char *list[10]; (Out of bounds write, line 75) Incrementing i the value is now 10, for “hf-indicators” Reported by: blanca.e.sabas.rosales@intel.com
2015-06-18sim: Fix up whitespace issuesDenis Kenzior1-1/+1
2015-06-18Emit LockedPins after pin_type is queriedTommi Kenakkala1-1/+21
Fixes property change not being emited when hot-swapping a PIN-enabled card.
2015-06-17sim: Reset pin_type on card removeTommi Kenakkala1-2/+5
Fixes PinRequired not being emitted when a card is inserted
2015-06-04hfpmodem: Fix connecting to AG with existing mptyKuba Pawlak1-0/+20
If there is more then one active or held call, we are in mpty calls. We won't get indicator update if any of them is released by CHLD=1x. So we have to poll it.
2015-05-18gprs: Add comment to gprs_reset_contextsAlfonso Sanchez-Beato1-0/+5
2015-05-18test: Fix file mode for reset-contextsDenis Kenzior1-0/+0
2015-05-18gprs: Refactor to remove forward declarationAlfonso Sanchez-Beato1-104/+102
2015-05-18test: Add script for resetting contextsAlfonso Sanchez-Beato1-0/+20
2015-05-18doc: Add description for ResetContexts methodAlfonso Sanchez-Beato1-0/+10
2015-05-18gprs: Add DBus method to reset contextsAlfonso Sanchez-Beato1-24/+118
Add DBus method that removes the current contexts and re-provisions using the APN database.
2015-05-13cinterion: Correct use of freed structureAlex J Lennon1-2/+2
On error struct cb_data *cbd was used after in cinterion_set_online after already being freed.
2015-05-13ste: Fix out-of-order freeDenis Kenzior1-2/+1
CALLBACK_WITH_FAILURE used data structure freed just beforehand
2015-05-13dundee: Fix out-of-order freeDenis Kenzior1-2/+1
CALLBACK_WITH_FAILURE used data structure freed just beforehand
2015-05-13AUTHORS: Mention Alex's contributionsDenis Kenzior1-0/+1
2015-05-13udev: Add support for ehs6 nameAlex J Lennon1-0/+2
As with tc65, ehs6 makes use of cinterion plugin
2015-05-13cinterion: Register as OFONO_VENDOR_CINTERIONAlex J Lennon1-1/+3
This enables us to take advantage of vendor specific quirks (e.g. signal strength handling specifics for tc65)
2015-05-13atmodem: Add Cinterion quirk for signal strengthAlex J Lennon2-0/+55
Implement OFONO_VENDOR_CINTERION specific vendor support to register textual +CIEV indications for signal strength using AT^SIND command.
2015-05-13tc65: Replace tc65 plugin with cinterion pluginAlex J Lennon3-32/+38
On the basis that tc6x and other Cinterion devices will likely have similar firmware requirements, provide a generic Cinterion plugin which is functionally identical to the replaced tc65 plugin. The udev implementation retains support for "tc65" name for backwards compatibility, and adds support for the new "cinterion" name.
2015-05-13hfp_hf_bluez5: Implement sco_connected_hintDenis Kenzior1-6/+42
2015-05-13handsfree-audio: Call sco_connected_hintDenis Kenzior1-0/+3
2015-05-13include: Add sco_connected_hint to handsfree-audioDenis Kenzior1-0/+1
2015-05-13gatchat: Introduce g_at_chat_get_userdataDenis Kenzior2-0/+33
2015-05-13handsfree-audio: Add additional debugsDenis Kenzior1-0/+5
2015-04-20gdbus: Close private connection if setup failsLuiz Augusto von Dentz1-0/+1
Private connection should be properly closed with dbus_connection_close otherwise libdbus exits with the following error: 'The last reference on a connection was dropped without closing the connection. This is a bug in an application. See dbus_connection_unref() documentation for details. Most likely, the application was supposed to call dbus_connection_close(), since this is a private connection.'
2015-04-09gdbus: Fix crash in g_dbus_create_error_valistSzymon Janc1-1/+4
Passing NULL format parameter to vsnprintf results in invalid argument error on glibc. But with some other libc libraries (musl and uClibc) this results in dereferencing NULL pointer and crash due to segmentation fault.
2015-04-09gdbus: Use g_dbus_create_error_valist internallySzymon Janc1-4/+1
There is no need to duplicate code in g_dbus_send_error_valist.
2015-04-07gdbus: Add g_dbus_get_flags functionMichael Janssen2-0/+6
The g_dbus_get_flags function enables detection of when the G_DBUS_FLAG_ENABLE_EXPERIMENTAL is set.
2015-03-26gdbus: Make GDBusClient work without ObjectManagerLuiz Augusto von Dentz1-2/+7
This makes GDBusClient work normally without ObjectManager.
2015-03-26gdbus/client: Allow specifying ObjectManager pathArman Uguray2-6/+22
GDBusClient currently hard-codes "/" as the remote ObjectManager path. This is generally incorrect, as an application can choose to expose an ObjectManager at any well-known path. This patch fixes this by allowing the user to pass in the ObjectManager path by introducing a new conctructor "g_dbus_client_new_full".