| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This adds a check for invalid paths in obc_session_setpath.
|
|
|
|
| |
As described in coding style M10.
|
|
|
|
| |
An array can never be NULL.
|
|
|
|
|
| |
descs->data might be NULL while is descs not. Follow scheme in
src/profile.c (in get_profile_version() function).
|
|
|
|
|
|
|
|
|
|
| |
This adds supported_features support to obc_driver so driver can
provide this information when connecting.
This is required by PBAP 1.2 (page 48):
'Mandatory if the PSE advertises a PbapSupportedFeatures attribute in
its SDP record, else excluded.'
|
|
|
|
| |
This adds UpdateVersion method to PhonebookAccess interface.
|
|
|
|
| |
This adds FixedImageSize property to PhonebookAccess interface.
|
|
|
|
|
| |
This adds PrimaryCounter and SecondaryCounter properties to
PhonebookAccess interface.
|
|
|
|
| |
This adds DatabaseIdentifier property to PhonebookAccess interface.
|
|
|
|
| |
This adds Folder property to PhonebookAccess interface.
|
|
|
|
|
| |
This add parsing to PBAP record to extract version and supported
features.
|
|
|
|
|
| |
This adds support for reading profile version via
SDP_ATTR_PFILE_DESC_LIST
|
|
|
|
|
| |
As per spec(5.3.4.4) when MaxListCount headser is missing then
PSE should assume MaxListCount value as MAX (65535)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
g_str_equal has been used for the session path compare
which is not NULL-safe. Used the g_strcmp0() for the NULL-Safe
string comparision.
*#0 strcmp (p1=0x0, p2=0x7105c "/org/bluez/obex/client/session0")
* at strcmp.c:38
*#1 0xb6e0cd0a in g_str_equal (v1=<value optimized out>,
* v2=<value optimized out>) at ghash.c:1704
*#2 0x000264d8 in find_session (connection=<value optimized out>,
* message=0x55b38, user_data=<value optimized out>)
* at obexd/client/manager.c:162
*#3 remove_session (connection=<value optimized out>, message=0x55b38,
user_data=<value optimized out>) at obexd/client/manager.c:231
|
|
|
|
|
| |
Changes made to emit transfer completed to .Transfer1 interface on
ftp reset.
|
|
|
|
| |
This enables transfer management for FTP connections.
|
|
|
|
| |
Changes made to handle method open for mime_notification_registration
|
|
|
|
|
| |
Changes made to add support for MSE local time and timezone offset
parameter along with GetMessageListing response.
|
|
|
|
|
| |
Handles MAP supported feature bits as per the
MAP 1.2 specs section 7.1.1.
|
| |
|
|
|
|
|
|
|
| |
Adds the following filter entries:
1) Speed-dial
2) Uniform Caller Identifier
3) Unique Identifier
|
|
|
|
| |
Add support for the speed-dial and favorite folders.
|
|
|
|
|
|
|
|
|
|
|
|
| |
CC obexd/plugins/obexd-filesystem.o
In file included from obexd/plugins/filesystem.c:40:0:
/usr/include/wait.h:1:2: error: #warning redirecting incorrect
#include <wait.h> to <sys/wait.h> [-Werror=cpp]
#warning redirecting incorrect #include <wait.h> to <sys/wait.h>
^
cc1: all warnings being treated as errors
Makefile:6447: recipe for target 'obexd/plugins/obexd-filesystem.o' failed
make[1]: *** [obexd/plugins/obexd-filesystem.o] Error 1
|
|
|
|
| |
Removes the check for NULL agent.
|
|
|
|
|
| |
This adds support for Event Report 1.1 of MAP 1.2 which includes the
following atributes: Subject, datetime, sender_name, priority.
|
|
|
|
| |
Checks for NULL value before passing to the callback.
|
|
|
|
| |
This adds a common check before passing the event value to the callback.
|
|
|
|
|
| |
In case an event is received twice, due to remote side misbehaving or
not, it would leak the previous data.
|
|
|
|
|
| |
outparams can be NULL meaning no application parameters should be added
to the response.
|
|
|
|
|
| |
Some commands don't have any mandatory application parameter which means
inparams can be NULL which should not be treated as a bad request.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case the transport is disconnected while disconnect command is pending
the session is freed on disconnect_complete but disconnect callback is
still valid causing the following crash:
Invalid read of size 4
at 0x42682A: obc_session_ref (session.c:132)
by 0x42797B: obc_session_shutdown (session.c:580)
by 0x4139DA: incoming_data (gobex.c:1406)
by 0x59712A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x5971627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x5971A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x40D78C: main (main.c:320)
Address 0x728d814 is 4 bytes inside a block of size 120 free'd
at 0x4C28577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x5976F7E: g_free (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x4134B9: handle_response (gobex.c:1129)
by 0x4139BD: incoming_data (gobex.c:1403)
by 0x59712A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x5971627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x5971A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x40D78C: main (main.c:320)
|
|
|
|
|
| |
If a transfer is suspended it should be resumed before cancelling
otherwise it will timeout.
|
|
|
|
|
| |
Transfer may be created by different processes so it make sense to allow
them to be suspended even if they are not active.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove snprintf error check. Fixes clang warnings below:
...
obexd/client/map.c:471:9: warning: Access to field 'message' results in
a dereference of a null pointer (loaded from variable 'err')
err->message);
^~~~~~~~~~~~
obexd/client/map.c:772:9: warning: Access to field 'message' results in
a dereference of a null pointer (loaded from variable 'err')
err->message);
^~~~~~~~~~~~
...
|
|
|
|
| |
Fixes memory leak for message_listing_cb()
|
|
|
|
| |
Fixes memory leak for folder_listing_cb().
|
|
|
|
|
|
|
|
|
|
|
| |
Requests have the size set to OBJECT_SIZE_DELETE but if the request has
a body header the size should be set to OBJECT_SIZE_UNKNOWN as it no
longer can be considered a delete request:
"3.4.3.6 Put-Delete and Create-Empty Methods
A PUT operation with NO Body or End-of-Body headers whatsoever should
be treated as a delete request."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This leads to incorrect responses such as the following:
> ACL data: handle 12 flags 0x02 dlen 26
L2CAP(d): cid 0x0041 len 22 [psm 3]
RFCOMM(d): UIH: cr 0 dlci 38 pf 0 ilen 18 fcs 0xfd
OBEX: Get rsp(f): status 200 len 18
Status 200 = Success
Connection ID (0xcb) = 1
App. Parameters (0x4c) = Sequence length 4
End of Body (0x49) = Sequence length 0
< ACL data: handle 12 flags 0x00 dlen 11
L2CAP(d): cid 0x0040 len 7 [psm 3]
RFCOMM(d): UIH: cr 1 dlci 38 pf 0 ilen 3 fcs 0x27
OBEX: Get rsp(f): status 715 len 3
|
|
|
|
|
| |
gobex can now generate responses authentication challenge so this code
is no longer needed.
|
|
|
|
|
| |
Sending OBEX Disconnect command before disconnecting the transport is
mandatory.
|
|
|
|
|
|
|
| |
In case of GET operation the code does not use g_obex_get_req_pkt since
the beggining to be able to read the header from the first response, this
means that the request should be cancel with g_obex_cancel_req not with
g_obex_cancel_transfer.
|
|
|
|
| |
This method can be used to resume ongoing transfers.
|
|
|
|
| |
This method can be used to suspend ongoing transfers.
|
|
|
|
|
| |
As g_obex_apparam_set_uint16() converts data to big-endian format
internally, do not call htons() prior to it.
|
| |
|
|
|
|
|
|
| |
The old macro PB_LUID_FOLDER had the folder luid on the second level:
/telecom/luid. But the luid folder occurs per IrMC spec on level three
e.g. /telecom/pb/luid.
|
|
|
|
|
|
|
|
| |
It's per-user, so we won't try to overwrite somebody else's
files in /tmp when that happens. It's also (unless we have a
particularly bizarre setup) on the same partition as the destination
folder which means we can atomically move the file to the destination
with a unique filename.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When transport is disconnected unexpectedly it can cause the following
crash:
gobex-DEBUG: gobex/gobex.c:g_obex_send_internal() The transport is not connected
Invalid read of size 8
at 0x42662E: session_process_queue (session.c:789)
by 0x42668F: session_process (session.c:719)
by 0x3D46047E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x3D46048157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x3D46048559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x40D5FC: main (main.c:319)
Address 0x5086760 is 32 bytes inside a block of size 56 free'd
at 0x4A074C4: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x3D4604D9AE: g_free (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x426146: session_process_setpath (session.c:1063)
by 0x426629: session_process_queue (session.c:786)
by 0x42668F: session_process (session.c:719)
by 0x3D46047E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x3D46048157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x3D46048559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3)
by 0x40D5FC: main (main.c:319)
|
|
|
|
|
|
|
|
|
|
|
| |
The spec clearly states the handles are hexadecimal:
MAP 1.2 - Page 29
""handle" is the message handle in hexadecimal representation with up
to 16 digits; leading zero digits may be used so the MCE shall accept
both handles with and without leading zeros (e.g.,"00000012345678AB"
or "12345678AB")."
|