<h4>Pre-Submission Checklist</h4>



<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Commit message has the format required by CONTRIBUTING guide</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Commits are split per component (core, individual modules, libs, utils, ...)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Each component has a single commit (if not, squash them into one commit)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> No commits to README files for modules (changes must be done to docbook files<br>
in <code>doc/</code> subfolder, the README file is autogenerated)</li>
</ul>
<h4>Type Of Change</h4>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Small bug fix (non-breaking change which fixes an issue)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> New feature (non-breaking change which adds new functionality)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Breaking change (fix or feature that would change existing functionality)</li>
</ul>
<h4>Checklist:</h4>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> PR should be backported to stable branches</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Tested changes locally</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Related to issue #XXXX (replace XXXX with an open issue number)</li>
</ul>
<h4>Description</h4>

<p>Diameter request MAR and corresponding response MAA both contain authentication vectors in binary form. Ims_diameter_server lacks functionality to convert binary arrays to json and back. This pr is a couple of minor fixes to rectify the issue:</p>
<ul>
<li>when converting Diameter binary vector to json use %02x in sprintf() to form a proper hexdump which is possible to decode on json side. The hexdump is sent in "data" key value pair as string.</li>
<li>introduce new key value pair "hexdump" in json which will contain hex dump of binary vector formed on json side. ims_diameter_server converts it to Diameter AVP using hex dump to binary transcoding.</li>
</ul>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/kamailio/kamailio/pull/1528'>https://github.com/kamailio/kamailio/pull/1528</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>use hexdump type of string to send binary data in json</li>
  <li>duplicate before giving it to cdp</li>
  <li>converting binary data to hex dump requires fixed width lenght in snprintf</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1528/files#diff-0">src/modules/ims_diameter_server/avp_helper.c</a>
    (50)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/kamailio/kamailio/pull/1528.patch'>https://github.com/kamailio/kamailio/pull/1528.patch</a></li>
  <li><a href='https://github.com/kamailio/kamailio/pull/1528.diff'>https://github.com/kamailio/kamailio/pull/1528.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/pull/1528">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZSvmUMVoAwuovAISo7kLeGwPSKvPks5txUp6gaJpZM4T7FlW">mute the thread</a>.<img src="https://github.com/notifications/beacon/AF36Zc3t3FJOs9cAE8i27D10ZsnwLV9cks5txUp6gaJpZM4T7FlW.gif" height="1" width="1" alt="" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/kamailio/kamailio/pull/1528"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"change ims_diameter_server to allow binary data transcoding (#1528)"}],"action":{"name":"View Pull Request","url":"https://github.com/kamailio/kamailio/pull/1528"}}}</script>
<script type="application/ld+json">{"@type":"MessageCard","@context":"http://schema.org/extensions","hideOriginalBody":"false","originator":"37567f93-e2a7-4e2a-ad37-a9160fc62647","title":"change ims_diameter_server to allow binary data transcoding (#1528)","sections":[{"text":"","activityTitle":"**Sergey Zyrianov**","activityImage":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","activitySubtitle":"@szcom","facts":[]},{"title":"Commit Summary","facts":[{"name":"c4e1df2","value":"use hexdump type of string to send binary data in json"},{"name":"6930586","value":"duplicate before giving it to cdp"},{"name":"53a7f69","value":"converting binary data to hex dump requires fixed width lenght in snprintf"}]},{"title":"File Changes","facts":[{"name":"Modified","value":"[src/modules/ims_diameter_server/avp_helper.c](https://github.com/kamailio/kamailio/pull/1528/files#diff-0) (50 changes)"}]}],"potentialAction":[{"name":"Add a comment","@type":"ActionCard","inputs":[{"isMultiLine":true,"@type":"TextInput","id":"IssueComment","isRequired":false}],"actions":[{"name":"Comment","@type":"HttpPOST","target":"https://api.github.com","body":"{\"commandName\":\"IssueComment\",\"repositoryFullName\":\"kamailio/kamailio\",\"issueId\":1528,\"IssueComment\":\"{{IssueComment.value}}\"}"}]},{"name":"Close pull request","@type":"HttpPOST","target":"https://api.github.com","body":"{\"commandName\":\"PullRequestClose\",\"repositoryFullName\":\"kamailio/kamailio\",\"pullRequestId\":1528}"},{"targets":[{"os":"default","uri":"https://github.com/kamailio/kamailio/pull/1528"}],"@type":"OpenUri","name":"View on GitHub"},{"targets":[{"os":"default","uri":"https://github.com/kamailio/kamailio/pull/1528.patch"}],"@type":"OpenUri","name":"View patch"},{"targets":[{"os":"default","uri":"https://github.com/kamailio/kamailio/pull/1528.diff"}],"@type":"OpenUri","name":"View diff"},{"name":"Unsubscribe","@type":"HttpPOST","target":"https://api.github.com","body":"{\"commandName\":\"MuteNotification\",\"threadId\":334256470}"}],"themeColor":"26292E"}</script>