From: Stephan Bosch Date: Wed, 6 Mar 2019 21:15:50 +0000 (+0100) Subject: master: test-auth-master - Add support for retrying userdb lookups. X-Git-Tag: 2.3.9~667 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2903ef47416d705fef2fc7c356e8043ea4a2aba;p=thirdparty%2Fdovecot%2Fcore.git master: test-auth-master - Add support for retrying userdb lookups. --- diff --git a/src/master/test-auth-master.c b/src/master/test-auth-master.c index 5e2a65e964..5a76d4e3e0 100644 --- a/src/master/test-auth-master.c +++ b/src/master/test-auth-master.c @@ -77,7 +77,8 @@ static int test_client_passdb_lookup_simple(const char *user, bool retry, const char **error_r); static int -test_client_userdb_lookup_simple(const char *user, const char **error_r); +test_client_userdb_lookup_simple(const char *user, bool retry, + const char **error_r); static int test_client_user_list_simple(void); /* test*/ @@ -576,7 +577,7 @@ test_client_userdb_fail(void) const char *error; int ret; - ret = test_client_userdb_lookup_simple("harrie", &error); + ret = test_client_userdb_lookup_simple("harrie", FALSE, &error); test_out("run (ret == -2)", ret == -2); test_assert(error != NULL && strcmp(error, "It is no use!") == 0); @@ -590,7 +591,7 @@ test_client_userdb_notfound(void) const char *error; int ret; - ret = test_client_userdb_lookup_simple("henk", &error); + ret = test_client_userdb_lookup_simple("henk", FALSE, &error); test_out("run (ret == 0)", ret == 0); test_assert(error == NULL); @@ -603,7 +604,7 @@ test_client_userdb_timeout(void) const char *error; int ret; - ret = test_client_userdb_lookup_simple("holger", &error); + ret = test_client_userdb_lookup_simple("holger", FALSE, &error); test_out("run (ret == -1)", ret == -1); test_assert(error == NULL); @@ -925,7 +926,7 @@ test_client_userdb_lookup(void) const char *error; int ret; - ret = test_client_userdb_lookup_simple("harrie", &error); + ret = test_client_userdb_lookup_simple("harrie", FALSE, &error); test_out("run (ret > 0)", ret > 0); return FALSE; @@ -1113,12 +1114,14 @@ test_client_passdb_lookup_simple(const char *username, bool retry, } static int -test_client_userdb_lookup_simple(const char *username, const char **error_r) +test_client_userdb_lookup_simple(const char *username, bool retry, + const char **error_r) { struct auth_master_connection *auth_conn; enum auth_master_flags flags = 0; struct auth_user_info info; const char *const *fields; + const char *username_out; pool_t pool; int ret; @@ -1134,7 +1137,11 @@ test_client_userdb_lookup_simple(const char *username, const char **error_r) auth_conn = auth_master_init(TEST_SOCKET, flags); auth_master_set_timeout(auth_conn, 1000); ret = auth_master_user_lookup(auth_conn, username, &info, - pool, &username, &fields); + pool, &username_out, &fields); + if (ret < 0 && retry) { + ret = auth_master_user_lookup(auth_conn, username, &info, + pool, &username_out, &fields); + } auth_master_deinit(&auth_conn); *error_r = (ret < 0 ? t_strdup(fields[0]) : NULL);