[PATCH 4/8] oap: implement initial OAP API.

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Neels Hofmeyr nhofmeyr at sysmocom.de
Thu Oct 8 22:25:15 UTC 2015


On Wed, Oct 07, 2015 at 07:16:58PM +0200, Holger Freyther wrote:
> > +static int oap_evaluate_challenge(const struct oap_state *state,
> > +				  const uint8_t *rx_random,
> > +				  const uint8_t *rx_autn,
> > +				  uint8_t *tx_xres)
> > +{
> > 
> > +	OSMO_ASSERT(sizeof(auth.u.umts.k) == sizeof(state->secret_k));
> > +	OSMO_ASSERT(sizeof(auth.u.umts.opc) == sizeof(state->secret_opc));
> 
> static assert?

erm, that's a bit dumb indeed. I do feel more warm and fuzzy with it
around somewhere. Can I put it in oap_init()?

> > +	memcpy(auth.u.umts.k, state->secret_k, sizeof(auth.u.umts.k));
> > +	memcpy(auth.u.umts.opc, state->secret_opc, sizeof(auth.u.umts.opc));
> > +	memset(auth.u.umts.amf, 0, 2);
> 
> sizeof?

I picked it up from some other code around. Kindly elaborate on the
question..?

> > +	auth.u.umts.sqn = 42; /* TODO */
> 
> In three years we wonder what the todo is. I think it is a good habbit to add
> a short summary what we want to do.

I think it's pretty much right in every crypto face. The sequence nr is
constant! let me out! ;) but ok

BTW we talked about whether OAP is finished, but indeed this part is
missing.

> > +struct msgb *oap_encoded(const struct oap_message *oap_msg)
> 
> encode? Sure it is encoded after the function is done but it triggers the
> encoding?

It takes care of allocation in The OAP Way (tm) (makes a msgb with given
numbers) and conveniently does the obvious steps of encoding an oap_msg
struct. It encodes. trigger?

> > +{
> > +int oap_register(struct oap_state *state, struct msgb **msg_tx)
> 
> return the struct msgb*? If it is NULL you already know it didnt't work
> and the -1/0 carry as much value right now?

At the time of writing I kept the option of returning distinct error
codes. This just needs a bool apparently, that's correct. But in fact I
would like to keep the msg_tx analogy to oap_handle().

> > +	case OAP_MSGT_REGISTER_RESULT:
> > +		// successfully registered!
> 
> no C99 comments (sorry to have away the method again)

I don't understand "have away the method". But will fix the comment.

~Neels
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20151009/eb65eabc/attachment.bin>


More information about the OpenBSC mailing list