|
@@ -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 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 */
|
|
it this way, we can get better later on */
|
|
static const unsigned char __md5_itoa64[] = /* 0 ... 63 => ascii - 64 */
|
|
static const unsigned char __md5_itoa64[] = /* 0 ... 63 => ascii - 64 */
|
|
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
"./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
|
|
#ifdef i386
|
|
#define __md5_Encode memcpy
|
|
#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...
|
|
* 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 stuff */
|
|
- static const char *sp, *ep;
|
|
|
|
|
|
+ static const unsigned char *sp, *ep;
|
|
static char passwd[120], *p;
|
|
static char passwd[120], *p;
|
|
|
|
|
|
unsigned char final[17]; /* final[16] exists only to aid in looping */
|
|
unsigned char final[17]; /* final[16] exists only to aid in looping */
|