libosmocore/include/osmocom
Neels Hofmeyr 8352d31a86 GSUP, OAP, osmo-gen-vec: fix AUTS length to 14, not 16
GSUP transmits AUTS for UMTS authentication procedures, and OAP uses the same
procedures to authenticate. osmo-gen-vec is a utility program that passes AUTS
to our osmo_auth_gen_vec_auts() API.

According to 3GPP 33.102 6.3.3, AUTS = SQN^AK || MAC-S, which are 6 || 8 == 14
bytes. This is confirmed by 24.008 9.2.3a where the TLV has 16 bytes, TL = 2
and AUTS being the V = 14.

It is not harmful for milenage_gen_vec_auts() to pass two more AUTS bytes. But
writing 16 bytes to a GSUP struct is a potential problem when passing in a 14
byte long AUTS buffer to the GSUP API, which then reads past the AUTS buffer.
The API implies the length, so far to be 16, so passing in a 14 byte buffer to
GSUP would require copying to a larger buffer first.

Fix this by using a length of 14 for AUTS everywhere instead.

This constitues an ABI breakage, we may handle it as a "fix before an official
release", otherwise we need a version bump.

The OAP protocol document has also been updated, needs an update in the
osmo-gsm-manuals as well.

Change-Id: If25b173d9ec57ea4c504d860954912b7d82af455
2017-02-02 20:34:16 +01:00
..
codec Mark inline header function as static 2016-09-30 12:31:50 +00:00
core socket: Introduce function to obtain socket name 2017-01-27 10:28:58 +01:00
crypt Add GEA3 & GEA4 ciphers 2016-07-11 19:15:24 +00:00
ctrl comment: ports.h: more visibly remind to keep docs+wiki synced 2017-01-30 12:57:47 +01:00
gprs gprs: Increase NS_ALLOC_SIZE to 3k 2016-09-23 02:42:46 +00:00
gsm GSUP, OAP, osmo-gen-vec: fix AUTS length to 14, not 16 2017-02-02 20:34:16 +01:00
sim sim: make osim_reader_ops public 2016-03-19 21:18:40 +01:00
vty comment: ports.h: more visibly remind to keep docs+wiki synced 2017-01-30 12:57:47 +01:00