obex: Resolve SRM issue for PTS testcases

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.
This commit is contained in:
Amisha Jain 2024-10-23 12:44:48 +05:30 committed by Luiz Augusto von Dentz
parent f93a73b2a5
commit d35bae1515

View File

@ -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;