summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 4.134.13Marcel Holtmann2008-10-102-1/+10
|
* Make server_is_enabled simply use the config file values for nowJohan Hedberg2008-10-102-45/+21
| | | | | | | | There's something broken in the "profile enabled" logic at the moment which makes server_is_enabled return FALSE sometimes when it shouldn't which causes the necessary interface not to be added to remote device objects. Use simply the config file values for now since we don't support per-adapter server configuration anyway.
* Fix uuid list allocation and freeing bug exposed by previous mem leak fixJohan Hedberg2008-10-102-6/+5
|
* Fix memory leakJohan Hedberg2008-10-101-0/+1
|
* Fix situation where avctp_disconnect is called while connectingJohan Hedberg2008-10-101-2/+12
| | | | | | | Previously the avctp session would be free'd and the connect callback would try to access this free'd memory. Now we detect this situation properly but the fundamental problem remains that the bt_l2cap_connect API doesn't allow aborting the connect procedure.
* Fix response and hold response logigJohan Hedberg2008-10-091-6/+7
|
* Implement operator selection (AT+COPS) supportJohan Hedberg2008-10-093-34/+86
|
* Clean up properly if stream starting failsJohan Hedberg2008-10-091-0/+6
| | | | | | | | Remove the stream state callback if stream start fails. Without this patch the callback could still be called after a unix client has disconnected which in turn would cause a double-free to occur. There is code to remove the callback also in client_free() but it won't work since we remove any references to the session and stream in the resume callback.
* Add mechanism for adding new UUIDs from the driver sideJohan Hedberg2008-10-096-39/+61
| | | | | | With this patch drivers can notify the core daemon that a device supports some UUID. This is useful in case we don't have a service record for a profile which the remote device initiates a connection for.
* Make device driver probe calls take UUID's instead of full recordsJohan Hedberg2008-10-0912-116/+172
| | | | | This is preparation for allowing the device object to be correctly set up even when we don't have the full service records but only the remote UUID's.
* Check for NULL streamJohan Hedberg2008-10-091-0/+3
|
* Don't remove service discovery timer even if device disconnectsJohan Hedberg2008-10-091-5/+0
| | | | | | | | | | Since it's important for us to find out what profiles a device has in order to populate the device object with the correct D-Bus interfaces insist on doing SDP even if got disconnected from the device. Since the timer is only 2 seconds the chances are that device will still be around and the connection will be successfull. This situation can happen if the remote device acts as an initiator for dedicated bonding and brings down the ACL before our timer goes off.
* Fix parameter passing to headset_set_stateJohan Hedberg2008-10-091-1/+1
|
* Don't detect profile removal on during reverse service discoveryJohan Hedberg2008-10-093-9/+16
| | | | | | | Some devices will hide their service secords when they are connected so we incorrectly think that they have removed support for the profile. A simple solution is not to try to do this detection when we are doing reverse service discovery.
* Fix the service discovery-upon-pairing logicJohan Hedberg2008-10-083-11/+20
| | | | | | | | | The original code seems to try to handle the situation of two opposite directed pairing attempts (remote side starts dedicated bonding with us but someone calls CreatePairedDevice on our side at the same time). I'm not sure how likely this actually is or if it can even succeed, but the existing logic in the code was nevertheless wrong. After this patch is at least in theory makes sense to me (and is better commented if I forget what I was thinking when I wrote it).
* Fix possible memleak which could happen if bt_search_service fails.Luiz Augusto von Dentz2008-10-081-21/+32
|
* Check for headset connected state when unregisteringJohan Hedberg2008-10-081-0/+6
| | | | | | | | In theory a headset could be in a connected state when the driver for it gets unregistered. Do proper cleanup in this case (call headset_set_state(hs, DISCONNECTED)). Currently this happens even in practice due to a bug where we incorrectly assume that a device has removed a profile when in fact it's just hiding it while it's connected.
* Fix typoJohan Hedberg2008-10-081-1/+1
|
* Move dev->sink initialization as acceptor to correct placeJohan Hedberg2008-10-081-3/+19
| | | | | | | We can't initialize dev->sink in the AVDTP server callback since at this point we don't know if the remote device will be acting in audio source or audio sink role. So, do the initialization when we get the SetConfiguration command since then we can check the type of the SEP that was selected.
* Create audio device objects on incoming connections if necessaryJohan Hedberg2008-10-084-14/+34
| | | | | | If we haven't done SDP yet the data structures will be uninitialized. This patch makes sure that the structures are properly initialized if we get an incoming connection before service discovery has been done.
* Add separate function for creating new audio device objectsJohan Hedberg2008-10-082-9/+55
| | | | | This is needed in preparation of supporting remotely initated audio device pairing and connections (when we haven't done SDP to the remote device yet).
* Reject non-voice calls in headset.cJohan Hedberg2008-10-082-15/+16
| | | | | | Basicly reverts the previous commit since data calls just don't make sense with HFP. Check for proper voice call dial string and pass the number without the terminating semicolon to the telephony driver.
* Minor coding style fixJohan Hedberg2008-10-081-1/+1
|
* Properly extract the phone number from the ATD stringJohan Hedberg2008-10-081-1/+15
| | | | | | | Voice call ATD requests have a semicolon at the end of the string while data call requests don't. So detect this and don't copy the semicolon to the currently active number (possible sent back to the headset in subsequent operations).
* Fail cleanly if we don't have knowledge of a connecting deviceJohan Hedberg2008-10-081-5/+11
| | | | | | Without this fix we segfault if a device pairs and connects to us before we have completed service discovery to it. Underneath is a more fundamental problem of how we initialize our data structures and this still needs fixing.
* Fix use of uninitialized address variableJohan Hedberg2008-10-081-1/+2
|
* Don't do double g_io_channel_unref if btd_request_authorization failsJohan Hedberg2008-10-081-2/+2
|
* Fix channel mode string from dual to dual-channel.Luiz Augusto von Dentz2008-10-071-1/+1
|
* Fix channel mode string to joint-stereo.Luiz Augusto von Dentz2008-10-071-1/+1
|
* Send a proper reply to AT+CMEEJohan Hedberg2008-10-071-1/+1
|
* Assert that device->headset != NULL for each active deviceJohan Hedberg2008-10-071-0/+3
| | | | | | We got one segfault due to hs == NULL but I couldn't figure out how on earth in could happen. The best I can do right now is to have an assert to catch it instead of a direct segfault.
* Send a proper reply to call waiting notification requestJohan Hedberg2008-10-071-1/+1
|
* Fix removing of entries from a GSListJohan Hedberg2008-10-071-2/+4
|
* Check for NULL return of adapter_find_deviceJohan Hedberg2008-10-071-0/+4
| | | | | | | | In theory the device might have been removed if the D-Bus client exited before the remote side accepted the pairing. This is just a short term fix since security.c is still storing the link key. In the long run we should move the link key storing to dbus-hci.c and only do it when we get auth complete or connect complete.
* Fix bonding process state tracking for auto-accept caseJohan Hedberg2008-10-071-0/+3
| | | | | | Without this fix the temporary flag was never cleared (for the auto-accept case) and so the device was incorrectly removed at the end of the bonding process.
* Merge branch 'for-upstream' of git://gitorious.org/bluez/vudentzs-cloneMarcel Holtmann2008-10-061-2/+2
|\
| * Fix bug on sco_connect which attempt to close an invalid file descriptor.Luiz Augusto von Dentz2008-10-061-2/+2
| |
* | Release 4.124.12Marcel Holtmann2008-10-062-1/+9
| |
* | Update library versionMarcel Holtmann2008-10-061-1/+1
| |
* | Don't allow NULL strings in dictionaries (just ignore them)Marcel Holtmann2008-10-061-0/+6
| |
* | Include protocol UUIDs in the pattern otherwise complex searches failMarcel Holtmann2008-10-061-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > ACL data: handle 11 flags 0x02 dlen 34 L2CAP(d): cid 0x0040 len 30 [psm 1] SDP SSA Req: tid 0x6c len 0x19 pat uuid-16 0x110a (AudioSource) uuid-16 0x0100 (L2CAP) uuid-16 0x0019 (AVDTP) max 100 aid(s) 0x0004 (ProtocolDescList) 0x0009 (BTProfileDescList) 0x0311 (SuppFeatures) cont 00 < ACL data: handle 11 flags 0x02 dlen 14 L2CAP(d): cid 0x0040 len 10 [psm 1] SDP SSA Rsp: tid 0x6c len 0x5 count 2 cont 00 Without this fix even searching for the L2CAP UUID fails.
* | Print the UUIDs associated with a record patternMarcel Holtmann2008-10-061-0/+11
|/
* Fix coding styleMarcel Holtmann2008-10-061-2/+1
|
* Merge branch 'master' of ssh://master.kernel.org/pub/scm/bluetooth/bluezMarcel Holtmann2008-10-061-0/+2
|\
| * Cancel any pending authorization request if the connection gets dropedJohan Hedberg2008-10-061-0/+2
| |
* | Fix *_bind helpers to call bind() before setsockopt().Luiz Augusto von Dentz2008-10-061-20/+21
| |
* | Make sco_connect to use sco_bind.Luiz Augusto von Dentz2008-10-061-46/+34
|/
* Check for HAL errorsMarcel Holtmann2008-10-061-0/+6
|
* Fix DBusPendingCall memory leakJohan Hedberg2008-10-061-0/+2
|
* Don't call pending_connect_finalize in headset_cancel_streamJohan Hedberg2008-10-061-2/+0
| | | | | The pending connect is still needed when rfcomm_connect_cb gets informed of the failed connect attempt.