Commit Graph

24357 Commits

Author SHA1 Message Date
Inga Stotland
0a2a2b0c7f mesh/meshctl: Exit cleanly if start up fails
This addresses the following issue: if the program exits
after bt_shell_init() has been called, but prior to calling
bt_shell_run() (e.g., failing to start meshctl due to invalid
input configuration), the original shell is messed up after that.
Calling bt_shell_cleanup() on faiure fixes this.
2018-03-27 13:59:16 +03:00
ERAMOTO Masaya
62168ef6e1 shared/mainloop: Fix overwriting exit status
Since mainloop_run() overwrites the exit_status variable even if having
called mainloop_{quit,exit_*}(), such as in case executing btmgmt with
an invalid command, it is initialized in declaration.
2018-03-27 13:58:21 +03:00
ERAMOTO Masaya
42a6847f2c tools/btmgmt: Return exit status for non-interactive 2018-03-27 13:58:21 +03:00
ERAMOTO Masaya
d2f105c3e2 tools/obexctl: Return exit status for non-interactive 2018-03-27 13:58:20 +03:00
ERAMOTO Masaya
e2a31b1b93 tools/bluetooth-player: Return exit status for non-interactive 2018-03-27 13:58:19 +03:00
ERAMOTO Masaya
14388c1d94 client: Return exit status for non-interactive 2018-03-27 13:58:17 +03:00
ERAMOTO Masaya
ab7da5b236 shared/shell: Return exit status to caller 2018-03-27 13:58:10 +03:00
Szymon Janc
834a45d22e Add support for requiring min key size for access GATT characteristics
This allows to configure bluetoothd to require minimum encryption key
size when accessing GATT server characteristics. It is a global
configuration option affecting whole GATT database.
2018-03-26 16:06:20 +02:00
Luiz Augusto von Dentz
db663b1d57 client: Parse all options passed for GATT attribute
This parses the options given to Acquire*, WriteValue and ReadValue.
2018-03-26 16:19:29 +03:00
Luiz Augusto von Dentz
2dded6f8c3 gatt: Send device and link options with AcquireNotify
This adds the device and link options to AcquireNotify as mentioned in
the documentation.
2018-03-26 16:19:29 +03:00
Luiz Augusto von Dentz
fe86d4ad5d doc/gatt-api: Update documentation regarding link option
This reflects what the code has already doing so any server operation which
requires the device option shall also get the link type as well.
2018-03-26 16:19:28 +03:00
Szymon Janc
89564618f4 gatt: Fail to register service with invalid Includes property
This is optional property but if it is present it must be of
proper type.
2018-03-23 13:19:06 +02:00
Andrzej Kaczmarek
806ba442da shared/gatt-client: Fix tracking current service during discovery
We should mark service as completed before trying to insert another
characteristic - in case inserting characteristic for new service
fails, previous one won't be discarded.
2018-03-23 13:19:06 +02:00
Andrzej Kaczmarek
a07eb3a5e9 shared/gatt-client: Fix discovery of discontinuous database
If local cache of peer's database has gaps where new services appear
after reconnection, GATT client will attempt to discover all included
services and characteristics definitions between starting handle of
first service and end handle of last service. This means the result
will contain also attributes which are already present in active
services in local database and thus attempting to add them again will
fail.

To fix this, instead of discovering whole range we'll only discover
ranges for missing services - starting with included services then
characteristics. To optimize this process we'll merge ranges of
adjacent services and any empty spaces in between - the result is
basically set of ranges without any known service. In most cases this
works the same or very similar to current implementation.

This issue can sometimes be observed with iOS devices as ANCS and CTS
services may not be available all the time.
2018-03-23 13:19:05 +02:00
Andrzej Kaczmarek
c8e7911e80 shared/gatt-client: Fix removing services from pending list
We should remove from pending list service which was just processed,
not the one that has just started being processed.
2018-03-23 13:19:05 +02:00
Inga Stotland
009acf56fb shared/shell: Add bt_shell_cleanup
This releases resources used for shell initialization.
This is needed as a separate function to enable clean shutdown
when an application needs to exit prior to calling bt_shell_run(),
e.g., when failing program initialization based on processed command
line input options.
2018-03-23 13:19:05 +02:00
ERAMOTO Masaya
76d29b9bad client: Fix stay on error handling in non-interactive
Returns the FAILURE status since there is no meaning of stay in
non-interactive mode when executing some commands with an invalid
argument or with no controller. Also returns with the SUCCESS status
when getting a scan filtering value or disconnecting a non-default
device.
2018-03-23 13:19:04 +02:00
Luiz Augusto von Dentz
73233aa4ae gatt: Properly handle service changes when offline
If remote peer is disconnected the indication shall be cached so when
the peer connects again it receives the changes.
2018-03-22 15:53:55 +01:00
Luiz Augusto von Dentz
c0e2b3d01f gatt: Add confirmation callback
This replaces indicate flag with confirmation callback to enable
setting custom callback if necessary.
2018-03-22 15:53:55 +01:00
Inga Stotland
302a03f1c2 shared/shell: Fix short option parsing
The index value used for detecting and validating a short option
was not reset after processing a first short option.
This prevented the correct parsing of additional short options.
Fixed by resetting the index value back to original after each
iteration.
2018-03-22 11:38:48 +02:00
Luiz Augusto von Dentz
4f7162071f doc/gatt-api: Includes shall not be mandatory
It is perfectly fine to have a service without any Includes.
2018-03-22 11:19:14 +02:00
Luiz Augusto von Dentz
e8ae7a4f2d build: Fix make distcheck 2018-03-22 11:16:26 +02:00
Luiz Augusto von Dentz
bff0c2ae9f build: Fix not disabling obexd when given --disable-obex
--disable-obex shall disable building obexd daemon.
2018-03-22 10:35:17 +02:00
Grzegorz Kolodziejczyk
d3f155e458 client: Add authorization request handling for attribute operations
This patch adds optional authorization request for reading, writing of
gatt database attributes.
2018-03-21 11:25:52 +01:00
Grzegorz Kolodziejczyk
bc6facb0cf client: Update read callbacks with invalid offset error handlers
This patch adds invalid offset handlers to read callbacks of attributes.
2018-03-21 10:47:07 +01:00
Grzegorz Kolodziejczyk
4c22678e96 gatt: Add org.bluez.Error.InvalidOffset for long read procedure
This patch adds handling of invalid offset error for gatt database in
case if offset in read blob would be invalid.

"The Read Blob Request is repeated until the Read Blob Response’s Part
Attribute Value parameter is zero or an Error Response is sent by the server
with the Error Code set to Invalid Offset." Bluetooth Core 5.0, 4.12.2

"If the prepare Value Offset is greater than the current length of the attribute
value then all pending prepare write values shall be discarded for this client,
the queue shall be cleared and then an Error Response shall be sent with the
«Invalid Offset»." Bluetooth Core 5.0, 3.4.6.3
2018-03-21 10:47:07 +01:00
Grzegorz Kolodziejczyk
1abee58711 client: Fix reading long values
While value has more than single MTU can carry long read procedure will
be triggered. In such cases offset need to bo considered while getting
value from storage.
2018-03-21 10:47:07 +01:00
Avichal Agarwal
9786f58072 gatt-database: Add support for Included service
Parse Includes property and register any object path found as included
service.
2018-03-20 10:38:52 +02:00
Avichal Agarwal
6e8f947212 doc/gatt-api.txt: Add support for Included Service
included service support implemented at server side
2018-03-20 10:11:34 +02:00
Robert Lubaś
99209ba5e0 Mesh: Fix proxy PDU SAR msg length
In read_pipe function there was a mishandled case when the msg has
more than one segment. As a result e.g. after provisioning the
capabilities discovery was incorrect parsed.
2018-03-19 17:02:50 +02:00
ERAMOTO Masaya
80c56880c8 shared/shell: Fix memory leak by generator for submenu
Since asprintf() allocates new memory when a submenu command is
complemented, the memory leak occurs as below:

   8 bytes in 1 blocks are definitely lost in loss record 18 of 179
      at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      by 0x5679C99: strdup (strdup.c:42)
      by 0x13B1E7: find_cmd.constprop.2 (shell.c:597)
      by 0x13B2D1: cmd_generator (shell.c:646)
      by 0x53B976D: rl_completion_matches (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
      by 0x13BA91: shell_completion (shell.c:777)
      by 0x53B98B6: ??? (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
      by 0x53B9A99: rl_complete_internal (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
      by 0x53B02EE: _rl_dispatch_subseq (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
      by 0x53B07B5: readline_internal_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
      by 0x53C8F84: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
      by 0x13AD80: input_read (shell.c:1065)
2018-03-19 07:45:22 +02:00
ERAMOTO Masaya
5aa0dd42f7 shared/shell: Return NULL if generator error occur
Explicitly returns NULL if asprintf() fails, since the asprintf(3)
man-page says that the contents of the first argument are undefined if
any error occurs.
2018-03-19 07:45:20 +02:00
Atul Rai
1c1f807c30 Mesh: Close net session on device disconnection
On device disconnection, net session is not closed. On next
attempt to provision/connect a device, net session proxy is
not updated by net_session_open() as proxy_in is not NULL.
This causes meshctl to use invalid proxy resulting in below
crash.

0  strlen () at ../sysdeps/x86_64/strlen.S:106
1  0x00007f3a3c8b1ac4 in _dbus_string_init_const () from libdbus-1.so.3
2  0x00007f3a3c89ed15 in ?? () from libdbus-1.so.3
3  0x00007f3a3c89fba0 in dbus_message_new_method_call () from libdbus-1.so.3
4  0x0000000000419880 in g_dbus_proxy_method_call at gdbus/client.c:997
5  0x000000000040ab9d in mesh_gatt_write at mesh/gatt.c:347
6  0x000000000040d761 in send_mesh_pkt at mesh/net.c:1227
7  send_seg at mesh/net.c:1325
8  0x000000000040fa60 in net_access_layer_send at mesh/net.c:2163
9  0x0000000000413c74 in config_send at mesh/config-client.c:418
10 0x0000000000414886 in cmd_composition_get at mesh/config-client.c:470
11 0x000000000041ffd9 in cmd_exec at src/shared/shell.c:356
12 menu_exec at src/shared/shell.c:383
13 0x00000000004203a5 in shell_exec at src/shared/shell.c:426
14 0x0000000000420d24 in rl_handler (input=0x2259aa0 "composition-get ")
at src/shared/shell.c:571
15 0x00007f3a3c45d6f5 in rl_callback_read_char () from libreadline.so.6
16 0x0000000000420229 in input_read at src/shared/shell.c:1034
17 0x0000000000421655 in watch_callback at src/shared/io-glib.c:170
18 0x00007f3a3cb1a04a in g_main_context_dispatch () from libglib-2.0.so.0
19 0x00007f3a3cb1a3f0 in ?? () from libglib-2.0.so.0
20 0x00007f3a3cb1a712 in g_main_loop_run () from libglib-2.0.so.0
21 0x0000000000421bf5 in mainloop_run () at src/shared/mainloop-glib.c:73
22 0x000000000042115a in bt_shell_run () at src/shared/shell.c:962
23 0x0000000000405c5d in main at mesh/main.c:1992
2018-03-18 10:43:12 +02:00
Luiz Augusto von Dentz
340a7b043a shared/shell: Enable generator for submenus
This enables command generator to work with submenu commands like:

[bluetooth]# advertise.
advertise.appearance    advertise.manufacturer  advertise.timeout
advertise.clear         advertise.name          advertise.tx-power
advertise.duration      advertise.service       advertise.uuids

Note that by default submenus commands will not be shown until . is
present in the input, that way only one command list is active at time.
2018-03-15 15:51:25 +02:00
Luiz Augusto von Dentz
969dfae9a7 shared/gatt-client: Fix attempting to discovery with handle 0
If a service was removed an no other service was added it may happen
that pending_svc has not empty but first_svc and last_svc has not been
set causing the following request:

< ACL Data TX: Handle 76 flags 0x00 dlen 11
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0000-0x0000
        Attribute type: Include (0x2802)
2018-03-15 10:38:21 +02:00
Luiz Augusto von Dentz
fad3abf46d shared/gatt-client: Fix secondary service discovery
If the error returned is either BT_ATT_ERROR_ATTRIBUTE_NOT_FOUND or
BT_ATT_ERROR_UNSUPPORTED_GROUP_TYPE the discovery shall be marked as
successful and no error shall be printed.
2018-03-15 10:38:21 +02:00
Luiz Augusto von Dentz
e88fe5f9bd shared/gatt-client: Omit valid errors for primary discovery
BT_ATT_ERROR_ATTRIBUTE_NOT_FOUND shall not cause anything to be printed
since it is a valid response and just mark the end of primary discovery.
2018-03-15 10:38:20 +02:00
Szymon Janc
9e3fa05343 shared/gatt-server: Fix crash on read multiple
When read multiple includes external characteristic, call to
gatt_db_attribute_read's complete callback is asynchronous.

Fix following crash:
Use of uninitialised value of size 8
   at 0x49718A: read_multiple_complete_cb (gatt-server.c:994)
   by 0x498999: pending_read_result (gatt-db.c:136)
   by 0x49A84B: gatt_db_attribute_read_result (gatt-db.c:1787)
   by 0x451F4C: read_reply_cb (gatt-database.c:1712)
   by 0x48B221: method_call_reply (client.c:972)
   by 0x53AB601: ??? (in /usr/lib64/libdbus-1.so.3.19.3)
   by 0x53AEF7E: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.3)
   by 0x486FEF: message_dispatch (mainloop.c:72)
   by 0x50CB576: ??? (in /usr/lib64/libglib-2.0.so.0.5400.3)
   by 0x50CEB76: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5400.3)
   by 0x50CEF1F: ??? (in /usr/lib64/libglib-2.0.so.0.5400.3)
   by 0x50CF231: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5400.3)

Invalid read of size 8
   at 0x49718A: read_multiple_complete_cb (gatt-server.c:994)
   by 0x498999: pending_read_result (gatt-db.c:136)
   by 0x49A84B: gatt_db_attribute_read_result (gatt-db.c:1787)
   by 0x451F4C: read_reply_cb (gatt-database.c:1712)
   by 0x48B221: method_call_reply (client.c:972)
   by 0x53AB601: ??? (in /usr/lib64/libdbus-1.so.3.19.3)
   by 0x53AEF7E: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.19.3)
   by 0x486FEF: message_dispatch (mainloop.c:72)
   by 0x50CB576: ??? (in /usr/lib64/libglib-2.0.so.0.5400.3)
   by 0x50CEB76: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.5400.3)
   by 0x50CEF1F: ??? (in /usr/lib64/libglib-2.0.so.0.5400.3)
   by 0x50CF231: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.5400.3)
 Address 0x8 is not stack'd, malloc'd or (recently) free'd
2018-03-14 15:36:50 +01:00
ERAMOTO Masaya
a097cb0732 tools/bluetooth-player: Add item-generator for change-folder 2018-03-12 10:07:01 +02:00
ERAMOTO Masaya
a9cf2502c9 tools/bluetooth-player: Merge cmd_play{,_item}() 2018-03-12 10:06:58 +02:00
Marcel Holtmann
848d1d221c Release 5.49 2018-03-10 16:35:21 +01:00
Luiz Augusto von Dentz
a1a7f09383 avctp: Fix crash when disconnecting
When disconnecting the channel queue shall not be destroyed before
freeeing all requests including those that already have been processed
otherwise the following crash may happen:

4 errors in context 2 of 103:
Invalid read of size 4
   at 0x12A5C2: control_req_destroy (avctp.c:762)
   by 0x12A539: pending_destroy (avctp.c:517)
   by 0x48A0D48: g_slist_foreach (in /usr/lib/libglib-2.0.so.0.3600.0)
   by 0x12A77B: avctp_channel_destroy (avctp.c:553)
   by 0x12A801: avctp_disconnected (avctp.c:570)
   by 0x12A0F1: control_disconnect (control.c:134)
   by 0x1306B9: avrcp_disconnect (avrcp.c:4471)
   by 0x17DAE9: btd_service_disconnect (service.c:307)
   by 0x18437D: dev_disconn_service (device.c:1405)
   by 0x48A0D48: g_slist_foreach (in /usr/lib/libglib-2.0.so.0.3600.0)
   by 0x187D87: device_request_disconnect (device.c:1437)
   by 0x187EC6: dev_disconnect (device.c:1522)
 Address 0x4fde068 is 0 bytes inside a block of size 16 free'd
   at 0x48252B3: free (vg_replace_malloc.c:446)
   by 0x4888172: g_free (in /usr/lib/libglib-2.0.so.0.3600.0)
   by 0x12AB64: avctp_queue_destroy (avctp.c:537)
   by 0x48A0D48: g_slist_foreach (in /usr/lib/libglib-2.0.so.0.3600.0)
   by 0x48A0D91: g_slist_free_full (in /usr/lib/libglib-2.0.so.0.3600.0)
   by 0x12A75E: avctp_channel_destroy (avctp.c:552)
   by 0x12A801: avctp_disconnected (avctp.c:570)
   by 0x12A0F1: control_disconnect (control.c:134)
   by 0x1306B9: avrcp_disconnect (avrcp.c:4471)
   by 0x17DAE9: btd_service_disconnect (service.c:307)
   by 0x18437D: dev_disconn_service (device.c:1405)
   by 0x48A0D48: g_slist_foreach (in /usr/lib/libglib-2.0.so.0.3600.0)
2018-03-09 11:31:13 +02:00
Johan Hedberg
c8bacaff6c build: Include Mesh JSON files unconditionally in EXTRA_DIST
We always want the JSON files to be part of the generated tarball, and
not just when --enable-mesh has been given.
2018-03-08 15:00:21 +02:00
ERAMOTO Masaya
5fdcfa515e shared/shell: Fix memory leak of wordexp with we_offs
This sets the we_offs variable to zero before do wordfree(). Since it
frees from the elements of the we_wordv array pointed to by the we_offs
variable, memory leak occurs as below:

  101 bytes in 1 blocks are definitely lost in loss record 122 of 184
     at 0x4C2FA3F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x4C31D84: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x56E7CD2: w_addchar (wordexp.c:104)
     by 0x56E7CD2: parse_dquote (wordexp.c:2200)
     by 0x56E7CD2: wordexp (wordexp.c:2349)
     by 0x13A6A5: parse_args (shell.c:262)
     by 0x13A94D: cmd_exec (shell.c:313)
     by 0x13A94D: menu_exec (shell.c:375)
     by 0x13AEA4: shell_exec (shell.c:418)
     by 0x13BBF1: rl_handler (shell.c:563)
     by 0x53C8D72: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x13ACE0: input_read (shell.c:1018)
     by 0x13C90A: watch_callback (io-glib.c:170)
     by 0x4E86E24: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x4E871EF: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)

  117 (16 direct, 101 indirect) bytes in 1 blocks are definitely lost in loss record 125 of 184
     at 0x4C31D2F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x56E81C3: w_addword (wordexp.c:182)
     by 0x56E81C3: wordexp (wordexp.c:2447)
     by 0x13A6A5: parse_args (shell.c:262)
     by 0x13B55A: args_completion (shell.c:656)
     by 0x13B55A: menu_completion (shell.c:695)
     by 0x13B836: shell_completion (shell.c:723)
     by 0x53B98B6: ??? (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B9A99: rl_complete_internal (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B02EE: _rl_dispatch_subseq (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B07B5: readline_internal_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53C8F84: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x13ACE0: input_read (shell.c:1018)
     by 0x13C90A: watch_callback (io-glib.c:170)
2018-03-07 11:29:07 +02:00
ERAMOTO Masaya
a25dcec6cb shared/shell: Fix memory leak when parsing args
When running the command having mandatory arguments, memory leak occurs
as below:

  1 bytes in 1 blocks are definitely lost in loss record 2 of 184
     at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x5679C99: strdup (strdup.c:42)
     by 0x13A976: cmd_exec (shell.c:327)
     by 0x13A976: menu_exec (shell.c:375)
     by 0x13AEA4: shell_exec (shell.c:418)
     by 0x13BBF1: rl_handler (shell.c:563)
     by 0x53C8D72: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x13ACE0: input_read (shell.c:1018)
     by 0x13C90A: watch_callback (io-glib.c:170)
     by 0x4E86E24: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x4E871EF: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x4E87501: g_main_loop_run (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x13D244: mainloop_run (mainloop-glib.c:73)

  7 bytes in 1 blocks are definitely lost in loss record 12 of 184
     at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x5679C99: strdup (strdup.c:42)
     by 0x139EEA: strdelimit (util.c:991)
     by 0x13B66A: args_completion (shell.c:668)
     by 0x13B66A: menu_completion (shell.c:695)
     by 0x13B836: shell_completion (shell.c:723)
     by 0x53B98B6: ??? (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B9A99: rl_complete_internal (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B02EE: _rl_dispatch_subseq (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B07B5: readline_internal_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53C8F84: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x13ACE0: input_read (shell.c:1018)
     by 0x13C90A: watch_callback (io-glib.c:170)

  9 bytes in 1 blocks are definitely lost in loss record 21 of 184
     at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x5679C99: strdup (strdup.c:42)
     by 0x13B53F: args_completion (shell.c:654)
     by 0x13B53F: menu_completion (shell.c:695)
     by 0x13B836: shell_completion (shell.c:723)
     by 0x53B98B6: ??? (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B9A99: rl_complete_internal (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B02EE: _rl_dispatch_subseq (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53B07B5: readline_internal_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x53C8F84: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x13ACE0: input_read (shell.c:1018)
     by 0x13C90A: watch_callback (io-glib.c:170)
     by 0x4E86E24: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)

  9 bytes in 1 blocks are definitely lost in loss record 22 of 184
     at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
     by 0x5679CE9: strndup (strndup.c:43)
     by 0x13A9EB: cmd_exec (shell.c:301)
     by 0x13A9EB: menu_exec (shell.c:375)
     by 0x13AEA4: shell_exec (shell.c:418)
     by 0x13BBF1: rl_handler (shell.c:563)
     by 0x53C8D72: rl_callback_read_char (in /lib/x86_64-linux-gnu/libreadline.so.7.0)
     by 0x13ACE0: input_read (shell.c:1018)
     by 0x13C90A: watch_callback (io-glib.c:170)
     by 0x4E86E24: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x4E871EF: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x4E87501: g_main_loop_run (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.5400.1)
     by 0x13D244: mainloop_run (mainloop-glib.c:73)
2018-03-07 11:29:06 +02:00
Szymon Janc
169aa558fc device: Fix missing Paired property change on non-bonded device
If device is paired but not bonded than Paired property should be
also updated when device is disconnected.
2018-03-07 10:06:01 +02:00
Szymon Janc
7a345ddef3 Fix storage for adapters without public address
Since those have adapter folder prefixed with "static-" this needs
to be taken into account when storing data.
2018-03-07 10:03:36 +02:00
Luiz Augusto von Dentz
5b890a1962 advertising: Fix crash when if client invalidate property
If a property is invalidated the iter is set to NULL which should be
checked and properly reset.
2018-03-06 10:51:30 +02:00
Luiz Augusto von Dentz
32bcd5a34f advertising: Fix creating another mgmt instance
adapter already instanciate a instance of mgmt so just reuse that
instead of creating a new one.
2018-03-06 10:42:39 +02:00
Inga Stotland
dfd5144eef mesh: Add sample JSON files to EXTRA_DIST
This adds mesh/local_node.json and mesh/prov_db.json samples
to be included with dist tarball.
2018-03-06 09:48:22 +02:00