[READ-ONLY] Mirror of https://github.com/VibeDevelopers/atheme. Modified fork of atheme IRC Services www.vibetalk.net/
0

Configure Feed

Select the types of activity you want to include in your feed.

modules/statserv/pwhashes: fix broken pbkdf2 (v1) test

The output length of this deprecated module is 144 characters,
not 140. Also, the first 16 characters are an entirely alphanumeric
salt, not a hexadecimal one.

Fixes: 2c05c2f860cfedb52565

Aaron Jones (Sep 17, 2020, 12:03 PM UTC) a11e85ef 652a4059

+3 -2
+3 -2
modules/statserv/pwhashes.c
··· 23 23 #define SCANFMT_CRYPT3_SHA2_512 "$6$" SCANFMT_BASE64_CRYPT3 "$" SCANFMT_BASE64_CRYPT3 24 24 #define SCANFMT_CRYPT3_SHA2_512_EXT "$6$rounds=%u$" SCANFMT_BASE64_CRYPT3 "$" SCANFMT_BASE64_CRYPT3 25 25 #define SCANFMT_IRCSERVICES "$ircservices$" SCANFMT_HEXADECIMAL 26 - #define SCANFMT_PBKDF2 SCANFMT_HEXADECIMAL 26 + #define SCANFMT_PBKDF2 "%16[A-Za-z0-9]%128[A-Fa-f0-9]" 27 27 #define SCANFMT_PBKDF2V2_SCRAM "$z$%u$%u$" SCANFMT_BASE64_RFC4648 "$" SCANFMT_BASE64_RFC4648 "$" SCANFMT_BASE64_RFC4648 28 28 #define SCANFMT_PBKDF2V2_HMAC "$z$%u$%u$" SCANFMT_BASE64_RFC4648 "$" SCANFMT_BASE64_RFC4648 29 29 #define SCANFMT_RAWMD5 "$rawmd5$" SCANFMT_HEXADECIMAL ··· 218 218 { 219 219 pwhashes[TYPE_IRCSERVICES]++; 220 220 } 221 - else if (pwlen == 140U && sscanf(pw, SCANFMT_PBKDF2, s1) == 1 && strcmp(s1, pw) == 0) 221 + else if (pwlen == 144U && sscanf(pw, SCANFMT_PBKDF2, s1, s2) == 2 && 222 + strlen(s1) == 16U && strlen(s2) == 128U) 222 223 { 223 224 // Fuzzy (no rigid format) 224 225 pwhashes[TYPE_PBKDF2]++;