<p><a href="https://gerrit.osmocom.org/c/libosmocore/+/20334">View Change</a></p><p>3 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/20334/1/src/gsm/bssmap_le.c">File src/gsm/bssmap_le.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/libosmocore/+/20334/1/src/gsm/bssmap_le.c@317">Patch Set #1, Line 317:</a> <code style="font-family:monospace,monospace">#define PARSE_ERR(ERRMSG) \</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">this is highly untypical for our code. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">meh, that is not realistic. I will not return separate rc depending on the error cause and write another layer of human readable strings around that.</p><p style="white-space: pre-wrap; word-wrap: break-word;">We usually just return -EINVAL and that does not provide any information about which IE had an error.<br>I know it is (so far) untypical but it is a definite improvement in indicating the cause of decoding errors.</p><p style="white-space: pre-wrap; word-wrap: break-word;">I could imagine returning a negative IEI code to indicate which section had the error as a compromise. still that cannot map all of the error cases reported in these strings.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/libosmocore/+/20334/1/src/gsm/bssmap_le.c@335">Patch Set #1, Line 335:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;">msgb_put_u8(msg, OSMO_BSSMAP_LE_IEI_APDU);<br>        l = msgb_put(msg, 2);<br> old_tail = msg->tail;<br>      msgb_put_u8(msg, OSMO_BSSMAP_LE_APDU_PROT_BSSLAP);<br>    int rc = osmo_bsslap_enc(msg, bsslap);<br>        if (rc <= 0)<br>               return -EINVAL;<br>       osmo_store16be(msg->tail - old_tail, l);<br></pre></blockquote></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">you can probably avoid the "let's first reserve two bytes and store a local pointer to whcih we late […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">no, because the IE is appended to existing data</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/libosmocore/+/20334/1/src/gsm/bssmap_le.c@349">Patch Set #1, Line 349:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><br>   if (len < 1)<br>               return "APDU too short";<br><br>  proto = data[0];<br><br>    switch (proto) {<br>      case OSMO_BSSMAP_LE_APDU_PROT_BSSLAP:<br>         return osmo_bsslap_dec(bsslap, data + 1, len - 1);<br>    default:<br>              return "Unimplemented APDU type<br></pre></blockquote></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">likewise here. Please return error values (cause values, errno, custom error codes, ... […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">i prefer strings!</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/20334">change 20334</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/c/libosmocore/+/20334"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I271e59b794bafc0a7ae0eabbf58918f6d7df431d </div>
<div style="display:none"> Gerrit-Change-Number: 20334 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Comment-Date: Thu, 01 Oct 2020 13:20:45 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>