Full_Name: Ryan Tandy Version: master OS: Debian URL: Submission from: (NULL) (24.68.37.4) Submitted by: ryan
smbk5pwd.c: In function 'lmhash': smbk5pwd.c:206:21: warning: passing argument 2 of 'nettle_des_set_key' from incompatible pointer type [-Wincompatible-pointer-types] des_set_key( &ctx, &key ); ^AIAIn file included from smbk5pwd.c:69:0: /usr/include/nettle/des.h:76:1: note: expected 'const uint8_t * {aka const unsigned char *}' but argument is of type 'unsigned char (*)[8]' des_set_key(struct des_ctx *ctx, const uint8_t *key); ^ (and several more)
The openssl and gcrypt versions both used "&key" as well. It's correct for openssl, which takes a DES_cblock *. It's ambiguous for gcrypt, which takes a void *. It's wrong for nettle, which expects an unsigned char *.
This is not a functional problem, since in all cases the pointer points at the beginning of the array. Fixing the warning does not change the output.
smbk5pwd.c: In function 'nthash': smbk5pwd.c:249:36: warning: pointer targets in passing argument 3 of 'nettle_md4_update' differ in signedness [-Wpointer-sign] md4_update( &ctx, passwd->bv_len, passwd->bv_val ); ^ In file included from smbk5pwd.c:70:0: /usr/include/nettle/md4.h:69:1: note: expected 'const uint8_t * {aka const unsigned char *}' but argument is of type 'char *' md4_update(struct md4_ctx *ctx, ^
openssl and gcrypt both use void * here, nettle needs a cast (which should be safe).
The remaining warnings are not nettle-specific.
smbk5pwd.c: In function 'smbk5pwd_cf_func': smbk5pwd.c:915:14: warning: variable 'db' set but not used [-Wunused-but-set-variable] BackendDB db = *c->be; ^
Added in 29fab9c, apparently never used. Looks like cruft to me. Most likely didn't generate a warning with gcc prior to 4.6, due to the assignment just below.
smbk5pwd.c: In function 'smbk5pwd_modules_init': smbk5pwd.c:968:2: warning: variable 'dummy_ad' set but not used [-Wunused-but-set-variable] dummy_ad; ^
The unused-but-set-variable warning is new in gcc 4.6 and there is a different no-op trick to suppress it in a portable way.