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