ltq-deu: fix setkey errors and static shared temp for hmac algos
authorDaniel Kestrel <kestrel1974@t-online.de>
Sun, 6 Jun 2021 19:16:32 +0000 (21:16 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 5 Jan 2022 23:22:57 +0000 (00:22 +0100)
commit85383b311212576e7afd9d01dec49f69ef6fb886
tree2f9f93caf09a2abe0aa232ec2cdf27f4cc60c0eb
parent9cb1875d2fcf20c208a63693d7395eb4963f59cb
ltq-deu: fix setkey errors and static shared temp for hmac algos

The hmac algorithms state, that keys larger than the key size should be
hashed with the underlying hash algorithms and then those hashes are to
be used as keys. This patch implements this. In order to avoid allocating
a descriptor during setkey, a shash_desc pointer is added to the context.
Another issue for multithreaded callers is the shared temp array.
The temp array is static and as such would be shared among multithreaded
callers, which obviously would neither work nor produce correct results.
The temp array (4k size) is moved to the context and since the size of
the context is limited, it can only be defined as pointer otherwise the
initialisation of the hash algorithm fails.
The allocations and freeing of both the temp and the desc pointer in the
context are done by implementing cra_init and cra_exit functions for
the hmac algorithms.
Also improved indentation in some areas.

Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c
package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c