[PATCH] Add A5/3-4 cipher support

Sylvain Munaut 246tnt at gmail.com
Tue Jun 17 22:15:09 UTC 2014

> Could you emphasize - why exactly introducing private header is such a disaster that
> we have to waste time and efforts trying to not let it happen?

- It's a useless file that's used at exactly 1 place and not even for
code used in installed libs but just for the test. At that point you
might just as well just pre-declare them in the test source file
- It prevents making those function static
- It requires static linking for the test
- For the A5/[3/4] you bypass the osmo_a5 wrapper and thus don't cover
a breakage that would happen there.

The alternative solves all of the above and requires exactly 1 lines
changes in the original _a5_4 function :

uint32_t fn_count = (fn_correct) ? osmo_a5_fn_count(fn) : fn;


uint32_t fn_count = (fn & (1<<31)) ? (fn & ~(1<<31)) : osmo_a5_fn_count(fn);

btw, in your test I also see

+       osmo_a5(4, key, osmo_a5_fn(count), dlout, NULL);
+       osmo_a5(4, key, osmo_a5_fn(count), NULL, ulout);

Why separate ? The case where both dlout and ulout are requested at
the same time should work as well.



More information about the baseband-devel mailing list