0
0
mirror of https://github.com/postfixadmin/postfixadmin.git synced 2024-09-19 11:12:15 +02:00

ensure {MD5-CRYPT}$1$ and $1$... are treated the same .. see also #843

This commit is contained in:
David Goodwin 2024-07-16 11:16:48 +01:00
parent 90c837f261
commit b726c7aba8
No known key found for this signature in database

View File

@ -320,18 +320,17 @@ class PaCryptTest extends \PHPUnit\Framework\TestCase
global $CONF;
$mechs = [
'md5crypt' => '$1$c9809462$fC8eUPU2lq7arWRvxChMu1',
'md5crypt' => ['$1$c9809462$fC8eUPU2lq7arWRvxChMu1', '{MD5-CRYPT}$1$rGTbP.KE$wimpECWs/wQa7rnSwCmHU.'],
'md5' => 'cc03e747a6afbbcbf8be7668acfebee5',
'cleartext' => 'test123',
'mysql_encrypt' => '$6$$KMCDSuWNoVgNrK5P1zDS12ZZt.LV4z9v9NtD0AG0T5Rv/n0wWVvZmHMSKKZQciP7lrqrlbrBrBd4lhBSGy1BU0',
'authlib' => '{MD5RAW}cc03e747a6afbbcbf8be7668acfebee5', // authpasswd md5raw (via courier-authdaemon package)
'php_crypt:SHA512' => '{SHA512-CRYPT}$6$IeqpXtDIXF09ADdc$IsE.SSK3zuwtS9fdWZ0oVxXQjPDj834xqxTiv3Qfidq3AbAjPb0DNyI28JyzmDVlbfC9uSfNxD9RUyeO1.7FV/',
'php_crypt:DES' => 'VXAXutUnpVYg6',
'php_crypt:MD5' => '$1$rGTbP.KE$wimpECWs/wQa7rnSwCmHU.',
'php_crypt:MD5' => ['$1$rGTbP.KE$wimpECWs/wQa7rnSwCmHU.', '{MD5-CRYPT}$1$rGTbP.KE$wimpECWs/wQa7rnSwCmHU.'],
'php_crypt:SHA256' => '$5$UaZs6ZuaLkVPx3bM$4JwAqdphXVutFYw7COgAkp/vj09S1DfjIftxtjqDrr/',
'php_crypt:BLOWFISH' => '$2y$10$4gbwQMAoJPcg.mWnENYNg.syH9mZNsbQu6KN7skK92g3tlPnvvBDW',
'sha512.b64' => '{SHA512-CRYPT.B64}JDYkMDBpOFJXQ0JwMlFMMDlobCRFMVFWLzJjbENPbEo4OTg0SjJyY1oxeXNTaFJIYVhJeVdFTDdHRGl3aHliYkhQUHBUQjZTM0lFMlYya2ZXczZWbHY0aDVNa3N0anpud0xuRTBWZVRELw==',
];
@ -340,6 +339,11 @@ class PaCryptTest extends \PHPUnit\Framework\TestCase
continue;
}
if (is_string($example_hash)) {
$example_hash = [$example_hash];
}
foreach ($example_hash as $hash) {
Config::write('encrypt', $mech);
$CONF['encrypt'] = $mech;
@ -351,9 +355,10 @@ class PaCryptTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($x, $y); // $y == %x if the password was correct.
// should be valid against what's in the lookup array above
$x = pacrypt('test123', $example_hash);
$x = pacrypt('test123', $hash);
$this->assertEquals($example_hash, $x);
$this->assertEquals($hash, $x);
}
}
}
}