aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-06-26 12:21:38 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2019-07-03 12:29:37 +0200
commit166077ea4895a136d68bbe7912a3df78dfbb5103 (patch)
tree81f0cc95f9983442a3f6d218f73339a8527055a6
parent0c6c3c1da6c4338aa84f71468ee3b77ab17006d9 (diff)
mgcp-cli: Support lowercase header parameters
MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I4f7b07b77c2946e9cd6f0eeca00011bd905126dd
-rw-r--r--src/libosmo-mgcp-client/mgcp_client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index f2204e160..fd188c3a3 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -35,6 +35,7 @@
#include <errno.h>
#include <unistd.h>
#include <string.h>
+#include <ctype.h>
#ifndef OSMUX_CID_MAX
#define OSMUX_CID_MAX 255 /* FIXME: use OSMUX_CID_MAX from libosmo-netif? */
@@ -573,7 +574,7 @@ static int parse_head_params(struct mgcp_response *r)
*data_end = '\0';
for_each_non_empty_line(line, data_ptr) {
- switch (line[0]) {
+ switch (toupper(line[0])) {
case 'Z':
rc = mgcp_parse_head_param(r->head.endpoint,
sizeof(r->head.endpoint),
@@ -603,7 +604,6 @@ static int parse_head_params(struct mgcp_response *r)
goto exit;
break;
case 'X':
- case 'x':
if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) {
rc = mgcp_parse_osmux_cid(line);
if (rc < 0) {