des encryption on netbsd crashes, and the compiler warns
/tmp/cch12003.s:5740: Warning: GOT relocation burb: `_des_keymap' should be global
the problem is des_keymap, in des.c:
static const uint32_t des_keymap[] = { #include "keymap.h" };
in desCode.h:
extern const uint32_t des_keymap[];
Assuming you want des_keymap to be private, the fix below works. If you want to make des_keymap public, simply removing the 'static' keyword works.
Thanks.
Index: des.c =================================================================== RCS file: /cvsroot/shishi/shishi/crypto/des.c,v retrieving revision 1.2 diff -u -p -r1.2 des.c --- des.c 15 Aug 2003 16:25:03 -0000 1.2 +++ des.c 17 Aug 2003 10:33:17 -0000 @@ -40,9 +40,6 @@
#include "desCode.h"
-static ENCRYPT(DesSmallFipsEncrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS) -static DECRYPT(DesSmallFipsDecrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS) - /* various tables */
static const uint32_t @@ -59,6 +56,9 @@ static const char parity[] = { #include "parity.h" }; + +static ENCRYPT(DesSmallFipsEncrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS) +static DECRYPT(DesSmallFipsDecrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS)
void des_fix_parity(unsigned length, uint8_t *dst, Index: desCode.h =================================================================== RCS file: /cvsroot/shishi/shishi/crypto/desCode.h,v retrieving revision 1.1 diff -u -p -r1.1 desCode.h --- desCode.h 9 Aug 2003 01:30:44 -0000 1.1 +++ desCode.h 17 Aug 2003 10:33:17 -0000 @@ -9,7 +9,6 @@
#include "des.h"
-extern const uint32_t des_keymap[]; extern const uint32_t des_bigmap[];
/* optional customization:
Simon Josefsson jas@extundo.com writes:
des encryption on netbsd crashes, and the compiler warns
...
Assuming you want des_keymap to be private, the fix below works. If you want to make des_keymap public, simply removing the 'static' keyword works.
Thanks. Checked in now (the table should indeed be private).
/Niels
Thanks. Btw, in
http://josefsson.org/cgi-bin/viewcvs.cgi/shishi/shishi/crypto/?cvsroot=Savan...
there is a md4, hmac-md4, cbc-cts and cbc-mac implementation in nettle-style, in case you want to include it. Unfortunately no self tests.
nettle-bugs@lists.lysator.liu.se