All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] obex: Resolve SRM issue for PTS testcases
@ 2024-10-23  7:14 Amisha Jain
  2024-10-23  9:07 ` [v3] " bluez.test.bot
  2024-10-24 14:30 ` [PATCH v3] " patchwork-bot+bluetooth
  0 siblings, 2 replies; 3+ messages in thread
From: Amisha Jain @ 2024-10-23  7:14 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: quic_mohamull, quic_hbandi, quic_anubhavg

Add check for unknown/undefined srm value.

This fix is required to pass the below the PTS testcases :
1. OPP/SR/GOEP/SRM/BI-02-C
2. FTP/SR/GOEP/SRM/BI-02-C
3. PBAP/PSE/GOEP/SRM/BI-05-C

Description - Verify that the Server ignores a SRM header with an
invalid value in the PUT/GET request and carries on with the
PUT/GET operation with SRM disabled.

Current Behaviour - Server is sending SRM enable in the response even
though receiving the unknown SRM value.

To fix this, I have added the check to verify the valid SRM values
before continuing with SRM enable.

---
 gobex/gobex.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gobex/gobex.c b/gobex/gobex.c
index 40d6b8129..07e46627a 100644
--- a/gobex/gobex.c
+++ b/gobex/gobex.c
@@ -317,6 +317,15 @@ static void set_srm(GObex *obex, guint8 op, guint8 srm)
 	struct srm_config *config = obex->srm;
 	gboolean enable;
 
+	switch (srm) {
+	case G_OBEX_SRM_ENABLE:
+	case G_OBEX_SRM_DISABLE:
+	case G_OBEX_SRM_INDICATE:
+		break;
+	default:
+		return;
+	}
+
 	if (config == NULL) {
 		if (srm == G_OBEX_SRM_DISABLE)
 			return;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-10-24 14:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-23  7:14 [PATCH v3] obex: Resolve SRM issue for PTS testcases Amisha Jain
2024-10-23  9:07 ` [v3] " bluez.test.bot
2024-10-24 14:30 ` [PATCH v3] " patchwork-bot+bluetooth

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.