forked from github/server
fix build, add test for new algorithm
Conflicts: src/util/password.test.c
This commit is contained in:
parent
4c46d9d0ef
commit
d2d50cb23f
|
@ -0,0 +1,30 @@
|
|||
#include <platform.h>
|
||||
#include <CuTest.h>
|
||||
#include "password.h"
|
||||
|
||||
static void test_passwords(CuTest *tc) {
|
||||
const char *hash;
|
||||
|
||||
hash = password_hash("Hodor", "FqQLkl8g", PASSWORD_APACHE_MD5);
|
||||
CuAssertPtrNotNull(tc, hash);
|
||||
CuAssertStrEquals(tc, "$apr1$FqQLkl8g$.icQqaDJpim4BVy.Ho5660", hash);
|
||||
CuAssertIntEquals(tc, VERIFY_OK, password_verify(hash, "Hodor"));
|
||||
|
||||
hash = password_hash("jollygood", "ZouUn04i", PASSWORD_MD5);
|
||||
CuAssertPtrNotNull(tc, hash);
|
||||
CuAssertStrEquals(tc, "$1$ZouUn04i$yNnT1Oy8azJ5V.UM9ppP5/", hash);
|
||||
CuAssertIntEquals(tc, VERIFY_OK, password_verify(hash, "jollygood"));
|
||||
|
||||
hash = password_hash("password", "hodor", PASSWORD_PLAIN);
|
||||
CuAssertPtrNotNull(tc, hash);
|
||||
CuAssertStrEquals(tc, "$0$hodor$password", hash);
|
||||
CuAssertIntEquals(tc, VERIFY_OK, password_verify(hash, "password"));
|
||||
CuAssertIntEquals(tc, VERIFY_FAIL, password_verify(hash, "arseword"));
|
||||
CuAssertIntEquals(tc, VERIFY_UNKNOWN, password_verify("$9$saltyfish$password", "password"));
|
||||
}
|
||||
|
||||
CuSuite *get_password_suite(void) {
|
||||
CuSuite *suite = CuSuiteNew();
|
||||
SUITE_ADD_TEST(suite, test_passwords);
|
||||
return suite;
|
||||
}
|
Loading…
Reference in New Issue