<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/10749">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mgcp_client_test: test long conn_id<br><br>Add a full length (32 characters according to spec) conn ID in a CRCX response,<br>as well as a too long one.<br><br>The too long one is currently silently truncated, a subsequent patch will<br>improve on that (If2a1aab1f13e771a6705c430e3c75bd42477a23b).<br><br>Change-Id: I5f2d52f086ea2d330fcce88a176488ace972bf79<br>---<br>M tests/mgcp_client/mgcp_client_test.c<br>M tests/mgcp_client/mgcp_client_test.ok<br>2 files changed, 140 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/49/10749/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/mgcp_client/mgcp_client_test.c b/tests/mgcp_client/mgcp_client_test.c</span><br><span>index 74ed53e..e6982e4 100644</span><br><span>--- a/tests/mgcp_client/mgcp_client_test.c</span><br><span>+++ b/tests/mgcp_client/mgcp_client_test.c</span><br><span>@@ -162,6 +162,60 @@</span><br><span>              "a=ptime:20\r\n");</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void test_crcx_long_conn_id(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+   struct msgb *msg;</span><br><span style="color: hsl(120, 100%, 40%);">+     mgcp_trans_id_t trans_id;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   printf("\n===== %s =====\n", __func__);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if (mgcp)</span><br><span style="color: hsl(120, 100%, 40%);">+             talloc_free(mgcp);</span><br><span style="color: hsl(120, 100%, 40%);">+    mgcp = mgcp_client_init(ctx, &conf);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    msg = mgcp_msg_crcx(mgcp, 23, 42, MGCP_CONN_LOOPBACK);</span><br><span style="color: hsl(120, 100%, 40%);">+        trans_id = dummy_mgcp_send(msg);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    reply_to(trans_id, 200, "OK",</span><br><span style="color: hsl(120, 100%, 40%);">+               "I: 123456789abcdef0123456789ABCDEF0\r\n\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+               "v=0\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+           "o=- 1 23 IN IP4 10.9.1.120\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+            "s=-\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+           "c=IN IP4 10.9.1.120\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+           "t=0 0\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+         "m=audio 16002 RTP/AVP 110 96\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+          "a=rtpmap:110 AMR/8000\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+         "a=rtpmap:96 GSM-EFR/8000\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+              "a=ptime:20\r\n");</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void test_crcx_too_long_conn_id(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+   struct msgb *msg;</span><br><span style="color: hsl(120, 100%, 40%);">+     mgcp_trans_id_t trans_id;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   printf("\n===== %s =====\n", __func__);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if (mgcp)</span><br><span style="color: hsl(120, 100%, 40%);">+             talloc_free(mgcp);</span><br><span style="color: hsl(120, 100%, 40%);">+    mgcp = mgcp_client_init(ctx, &conf);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    msg = mgcp_msg_crcx(mgcp, 23, 42, MGCP_CONN_LOOPBACK);</span><br><span style="color: hsl(120, 100%, 40%);">+        trans_id = dummy_mgcp_send(msg);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    reply_to(trans_id, 200, "OK",</span><br><span style="color: hsl(120, 100%, 40%);">+               "I: 123456789abcdef0123456789ABCDEF01001029\r\n\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+                "v=0\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+           "o=- 1 23 IN IP4 10.9.1.120\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+            "s=-\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+           "c=IN IP4 10.9.1.120\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+           "t=0 0\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+         "m=audio 16002 RTP/AVP 110 96\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+          "a=rtpmap:110 AMR/8000\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+         "a=rtpmap:96 GSM-EFR/8000\r\n"</span><br><span style="color: hsl(120, 100%, 40%);">+              "a=ptime:20\r\n");</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> void test_mgcp_msg(void)</span><br><span> {</span><br><span>   struct msgb *msg;</span><br><span>@@ -570,6 +624,8 @@</span><br><span>      test_sdp_section_start();</span><br><span>    test_map_codec_to_pt_and_map_pt_to_codec();</span><br><span>  test_map_pt_to_codec();</span><br><span style="color: hsl(120, 100%, 40%);">+       test_crcx_long_conn_id();</span><br><span style="color: hsl(120, 100%, 40%);">+     test_crcx_too_long_conn_id();</span><br><span> </span><br><span>    printf("Done\n");</span><br><span>  fprintf(stderr, "Done\n");</span><br><span>diff --git a/tests/mgcp_client/mgcp_client_test.ok b/tests/mgcp_client/mgcp_client_test.ok</span><br><span>index 5e14219..aedb247 100644</span><br><span>--- a/tests/mgcp_client/mgcp_client_test.ok</span><br><span>+++ b/tests/mgcp_client/mgcp_client_test.ok</span><br><span>@@ -196,4 +196,88 @@</span><br><span>  2 <= 2</span><br><span>  100 <= 100</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+===== test_crcx_long_conn_id =====</span><br><span style="color: hsl(120, 100%, 40%);">+composed:</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+CRCX 1 17@mgw MGCP 1.0 </span><br><span style="color: hsl(120, 100%, 40%);">+C: 2a </span><br><span style="color: hsl(120, 100%, 40%);">+L: p:20, a:AMR, nt:IN </span><br><span style="color: hsl(120, 100%, 40%);">+M: loopback </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+composed response:</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+200 1 OK </span><br><span style="color: hsl(120, 100%, 40%);">+I: 123456789abcdef0123456789ABCDEF0 </span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span style="color: hsl(120, 100%, 40%);">+v=0 </span><br><span style="color: hsl(120, 100%, 40%);">+o=- 1 23 IN IP4 10.9.1.120 </span><br><span style="color: hsl(120, 100%, 40%);">+s=- </span><br><span style="color: hsl(120, 100%, 40%);">+c=IN IP4 10.9.1.120 </span><br><span style="color: hsl(120, 100%, 40%);">+t=0 0 </span><br><span style="color: hsl(120, 100%, 40%);">+m=audio 16002 RTP/AVP 110 96 </span><br><span style="color: hsl(120, 100%, 40%);">+a=rtpmap:110 AMR/8000 </span><br><span style="color: hsl(120, 100%, 40%);">+a=rtpmap:96 GSM-EFR/8000 </span><br><span style="color: hsl(120, 100%, 40%);">+a=ptime:20 </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+response cb received:</span><br><span style="color: hsl(120, 100%, 40%);">+  head.response_code = 200</span><br><span style="color: hsl(120, 100%, 40%);">+  head.trans_id = 1</span><br><span style="color: hsl(120, 100%, 40%);">+  head.conn_id = 123456789abcdef0123456789ABCDEF0</span><br><span style="color: hsl(120, 100%, 40%);">+  head.comment = OK</span><br><span style="color: hsl(120, 100%, 40%);">+  audio_port = 16002</span><br><span style="color: hsl(120, 100%, 40%);">+  audio_ip = 10.9.1.120</span><br><span style="color: hsl(120, 100%, 40%);">+  ptime = 20</span><br><span style="color: hsl(120, 100%, 40%);">+  codecs_len = 2</span><br><span style="color: hsl(120, 100%, 40%);">+  codecs[0] = 112</span><br><span style="color: hsl(120, 100%, 40%);">+  codecs[1] = 110</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap_len = 2</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[0].codec = 112</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[0].pt = 110</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[1].codec = 110</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[1].pt = 96</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+===== test_crcx_too_long_conn_id =====</span><br><span style="color: hsl(120, 100%, 40%);">+composed:</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+CRCX 1 17@mgw MGCP 1.0 </span><br><span style="color: hsl(120, 100%, 40%);">+C: 2a </span><br><span style="color: hsl(120, 100%, 40%);">+L: p:20, a:AMR, nt:IN </span><br><span style="color: hsl(120, 100%, 40%);">+M: loopback </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+composed response:</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+200 1 OK </span><br><span style="color: hsl(120, 100%, 40%);">+I: 123456789abcdef0123456789ABCDEF01001029 </span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span style="color: hsl(120, 100%, 40%);">+v=0 </span><br><span style="color: hsl(120, 100%, 40%);">+o=- 1 23 IN IP4 10.9.1.120 </span><br><span style="color: hsl(120, 100%, 40%);">+s=- </span><br><span style="color: hsl(120, 100%, 40%);">+c=IN IP4 10.9.1.120 </span><br><span style="color: hsl(120, 100%, 40%);">+t=0 0 </span><br><span style="color: hsl(120, 100%, 40%);">+m=audio 16002 RTP/AVP 110 96 </span><br><span style="color: hsl(120, 100%, 40%);">+a=rtpmap:110 AMR/8000 </span><br><span style="color: hsl(120, 100%, 40%);">+a=rtpmap:96 GSM-EFR/8000 </span><br><span style="color: hsl(120, 100%, 40%);">+a=ptime:20 </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+-----</span><br><span style="color: hsl(120, 100%, 40%);">+response cb received:</span><br><span style="color: hsl(120, 100%, 40%);">+  head.response_code = 200</span><br><span style="color: hsl(120, 100%, 40%);">+  head.trans_id = 1</span><br><span style="color: hsl(120, 100%, 40%);">+  head.conn_id = 123456789abcdef0123456789ABCDEF0</span><br><span style="color: hsl(120, 100%, 40%);">+  head.comment = OK</span><br><span style="color: hsl(120, 100%, 40%);">+  audio_port = 16002</span><br><span style="color: hsl(120, 100%, 40%);">+  audio_ip = 10.9.1.120</span><br><span style="color: hsl(120, 100%, 40%);">+  ptime = 20</span><br><span style="color: hsl(120, 100%, 40%);">+  codecs_len = 2</span><br><span style="color: hsl(120, 100%, 40%);">+  codecs[0] = 112</span><br><span style="color: hsl(120, 100%, 40%);">+  codecs[1] = 110</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap_len = 2</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[0].codec = 112</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[0].pt = 110</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[1].codec = 110</span><br><span style="color: hsl(120, 100%, 40%);">+  ptmap[1].pt = 96</span><br><span> Done</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10749">change 10749</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/10749"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I5f2d52f086ea2d330fcce88a176488ace972bf79 </div>
<div style="display:none"> Gerrit-Change-Number: 10749 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>