diff options
Diffstat (limited to 'libcrypt/md5.c')
-rw-r--r-- | libcrypt/md5.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libcrypt/md5.c b/libcrypt/md5.c index 989d4482c..412c8bfb5 100644 --- a/libcrypt/md5.c +++ b/libcrypt/md5.c @@ -94,12 +94,19 @@ static void __md5_Final (unsigned char [16], struct MD5Context *); static void __md5_Transform __P((u_int32_t [4], const unsigned char [64])); -static const char __md5__magic[] = "$1$"; /* This string is magic for this algorithm. Having +static const unsigned char __md5__magic[] = "$1$"; /* This string is magic for this algorithm. Having it this way, we can get better later on */ static const unsigned char __md5_itoa64[] = /* 0 ... 63 => ascii - 64 */ "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; +/* shut up gcc-4.x signed warnings */ +#define strcpy(dst,src) strcpy((char*)dst,(char*)src) +#define strlen(s) strlen((char*)s) +#define strncat(dst,src,n) strncat((char*)dst,(char*)src,n) +#define strncmp(s1,s2,n) strncmp((char*)s1,(char*)s2,n) + + #ifdef i386 #define __md5_Encode memcpy @@ -531,11 +538,11 @@ static void __md5_to64( char *s, unsigned long v, int n) * Use MD5 for what it is best at... */ -char * __md5_crypt( const char *pw, const char *salt) attribute_hidden; -char * __md5_crypt( const char *pw, const char *salt) +char * __md5_crypt( const unsigned char *pw, const unsigned char *salt) attribute_hidden; +char * __md5_crypt( const unsigned char *pw, const unsigned char *salt) { /* Static stuff */ - static const char *sp, *ep; + static const unsigned char *sp, *ep; static char passwd[120], *p; unsigned char final[17]; /* final[16] exists only to aid in looping */ |