summaryrefslogtreecommitdiff
path: root/libcrypt/md5.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcrypt/md5.c')
-rw-r--r--libcrypt/md5.c15
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 */