Attention is currently required from: laforge, pespin.
1 comment:
File src/libmsc/sgs_iface.c:
Patch Set #6, Line 192: osmo_apn_to_str(mme_name, mme_name_enc, mme_name_enc_len);
if we end up here, does it makes sense to previously have checked "if (mme_name_enc_len >= mme_name_ […]
The check in line 176 is still valid. The only difference between the two formats is only the delimiter. The gpp format uses a dot as delimiter and the IETF format uses a one byte length field.
But let's take a closer look:
SGS_MME_NAME_LEN = 55
The URL as per 3gpp TS 23.003 looks like this. The URL is 54 bytes long, so I assume we have defined SGS_MME_NAME_LEN to accommodate for the string terminator. (This would also mean that the sgs_iface.c code is a bit unclean now since we add another string terminator byte, but that is a different story).
mmec00.mmegi0000.mme.epc.mncMNC.mccMCC.3gppnetwork.org0
(the string terminator in the TLV object is actually a length byte that is set to 0, see NOTE in 3GPP TS 23.003, section 19.4.2.1)
Now let's hold this against the RFC-1035, section 3.1 format. I have added 'L' to mark the length fields.
Lmmec00Lmmegi0000LmmeLepcLmncMNCLmccMCCL3gppnetwork.org
So both end up with the same length, which mean both will pass the minimum length test and the maximum length test. Apart from the fact that our code now wastes one byte everything should be fine.
To view, visit change 43237. To unsubscribe, or for help writing mail filters, visit settings.