! Fixed rad_tunnel_pwdecode for passwords longer than 16 characters
author3APA3A <3APA3A>
Tue, 18 Jun 2002 15:22:14 +0000 (15:22 +0000)
committer3APA3A <3APA3A>
Tue, 18 Jun 2002 15:22:14 +0000 (15:22 +0000)
src/lib/radius.c

index 7fce643..90550ee 100644 (file)
@@ -1492,7 +1492,7 @@ int rad_tunnel_pwdecode(char *passwd, int * pwlen, const char *secret, const cha
                        librad_md5_calc(digest, buffer, secretlen + AUTH_VECTOR_LEN + 2);
                }
                else {
-                       memcpy(buffer + secretlen, passwd - AUTH_PASS_LEN, AUTH_PASS_LEN);
+                       memcpy(buffer + secretlen, passwd + AUTH_PASS_LEN * (ntimes - 1), AUTH_PASS_LEN);
                        librad_md5_calc(digest, buffer, secretlen + AUTH_PASS_LEN);
                }
                for ( i = 0, n = ntimes * AUTH_PASS_LEN; i < AUTH_PASS_LEN && (i + n) < len; i++)