* [PATCH BlueZ] obexd: Handle message read status change events
@ 2026-10-20 3:56 Mohammed Sadiq
2026-10-20 8:27 ` [BlueZ] " bluez.test.bot
0 siblings, 1 reply; 2+ messages in thread
From: Mohammed Sadiq @ 2026-10-20 3:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Mohammed Sadiq
obexd is advertised to support Extended Event Report 1.1. But it was
not handling "ReadStatusChanged" type which made those events being
mismarked as MAP_ET_NEW_MESSAGE. This resulted in existing message to
be replaced by new message with only "Status" property set instead of
updating the "Status" of the existing message.
---
obexd/client/map-event.h | 3 ++-
obexd/client/map.c | 3 +++
obexd/client/mns.c | 2 ++
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/obexd/client/map-event.h b/obexd/client/map-event.h
index bb127b0f4..ab185eadf 100644
--- a/obexd/client/map-event.h
+++ b/obexd/client/map-event.h
@@ -19,7 +19,8 @@ enum map_event_type {
MAP_ET_MEMORY_FULL,
MAP_ET_MEMORY_AVAILABLE,
MAP_ET_MESSAGE_DELETED,
- MAP_ET_MESSAGE_SHIFT
+ MAP_ET_MESSAGE_SHIFT,
+ MAP_ET_READ_STATUS_CHANGED
};
struct map_event {
diff --git a/obexd/client/map.c b/obexd/client/map.c
index 955db9315..487354252 100644
--- a/obexd/client/map.c
+++ b/obexd/client/map.c
@@ -2148,6 +2148,9 @@ static void map_handle_notification(struct map_event *event, void *user_data)
case MAP_ET_MESSAGE_SHIFT:
map_handle_folder_changed(map, event, event->folder);
break;
+ case MAP_ET_READ_STATUS_CHANGED:
+ map_handle_status_changed(map, event, "read-status-changed");
+ break;
case MAP_ET_MEMORY_FULL:
case MAP_ET_MEMORY_AVAILABLE:
default:
diff --git a/obexd/client/mns.c b/obexd/client/mns.c
index c7f86afdc..6408e48d3 100644
--- a/obexd/client/mns.c
+++ b/obexd/client/mns.c
@@ -168,6 +168,8 @@ static void parse_event_report_type(struct map_event *event, const char *value)
event->type = MAP_ET_MESSAGE_DELETED;
else if (!g_ascii_strcasecmp(value, "MessageShift"))
event->type = MAP_ET_MESSAGE_SHIFT;
+ else if (!g_ascii_strcasecmp(value, "ReadStatusChanged"))
+ event->type = MAP_ET_READ_STATUS_CHANGED;
}
static void parse_event_report_handle(struct map_event *event,
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* RE: [BlueZ] obexd: Handle message read status change events
2026-10-20 3:56 [PATCH BlueZ] obexd: Handle message read status change events Mohammed Sadiq
@ 2026-10-20 8:27 ` bluez.test.bot
0 siblings, 0 replies; 2+ messages in thread
From: bluez.test.bot @ 2026-10-20 8:27 UTC (permalink / raw)
To: linux-bluetooth, sadiq
[-- Attachment #1: Type: text/plain, Size: 3147 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/series/1189420/
---Test result---
Test Summary:
CheckPatch PASS 0.49 seconds
GitLint PASS 0.34 seconds
BuildEll PASS 19.88 seconds
BluezMake PASS 310.73 seconds
CheckSmatch PASS 298.66 seconds
bluezmakeextell PASS 94.42 seconds
TestFunctional FAIL 1166.13 seconds
IncrementalBuild PASS 303.37 seconds
ScanBuild PASS 1164.03 seconds
Details
##############################
Test: TestFunctional - FAIL
Desc: Run test-functional
Output:
FAIL functional.test_bluetoothctl::test_bluetoothctl_pair_bredr[hosts15-vm2]: pytest_bluezenv.rpc.RemoteError: <pexpect.popen_spawn.PopenSpawn object at 0x7fb36a566510>
searcher: searcher_re:
0: re.compile(b'Changing pairable on succeeded')
<pexpect.popen_spawn.PopenSpawn object at 0x7fb36a566510>
searcher: searcher_re:
0: re.compile(b'Changing pairable on succeeded')
Remote traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.14/dist-packages/pytest_bluezenv/../pytest_bluezenv/rpc.py", line 102, in server_stream
result = method(*msg["a"], **msg["kw"])
File "/usr/local/lib/python3.14/dist-packages/pytest_bluezenv/../pytest_bluezenv/env.py", line 256, in call_plugin
return getattr(self.plugins[name], method)(*a, **kw)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.14/dist-packages/pytest_bluezenv/../pytest_bluezenv/host_plugins.py", line 502, in expect
ret = self.ctl.expect(*a, **kw)
File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 354, in expect
return self.expect_list(compiled_pattern_list,
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
timeout, searchwindowsize, async_)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 383, in expect_list
return exp.expect_loop(timeout)
~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3/dist-packages/pexpect/expect.py", line 181, in expect_loop
return self.timeout(e)
~~~~~~~~~~~~^^^
File "/usr/lib/python3/dist-packages/pexpect/expect.py", line 144, in timeout
raise exc
pexpect.exceptions.TIMEOUT: <pexpect.popen_spawn.PopenSpawn object at 0x7fb36a566510>
searcher: searcher_re:
0: re.compile(b'Changing pairable on succeeded')
<pexpect.popen_spawn.PopenSpawn object at 0x7fb36a566510>
searcher: searcher_re:
0: re.compile(b'Changing pairable on succeeded')
https://github.com/bluez/bluez/pull/2695
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-20 8:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 3:56 [PATCH BlueZ] obexd: Handle message read status change events Mohammed Sadiq
2026-10-20 8:27 ` [BlueZ] " bluez.test.bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.