client: Do not accept endpoint ids with wildcards in responses
When the client gets a specific endpoint identifier (Z) in a
MGCP response it just accepts the identifier even when it is
not specific (contsins wildcard characters). In those cases,
the client should refuse to parse the response.
- Check for wildcards in endpoint identifiers and stop
parsing when check is positive.
Change-Id: Ic94bd8c025b7b3eb006b639fecfd7282194e504a
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index 771de45..d868c7f 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -356,6 +356,13 @@
'Z', line);
if (rc)
goto exit;
+
+ /* A specific endpoint identifier returned by the MGW
+ * must not contain any wildcard characters */
+ if (strstr(r->head.endpoint, "*") != NULL) {
+ rc = -EINVAL;
+ goto exit;
+ }
break;
case 'I':
rc = mgcp_parse_head_param(r->head.conn_id,