From 9c0c1480964438925607a8a0da999523d673fe6c Mon Sep 17 00:00:00 2001 From: zacheiss Date: Sun, 13 Aug 2000 04:06:41 +0000 Subject: [PATCH] Cope with the KDC returning an error indicating a weak password was chosen by the user. --- reg_svr/kerberos.c | 4 ++++ reg_svr/reg_svr.pc | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/reg_svr/kerberos.c b/reg_svr/kerberos.c index 21574864..870dfd41 100644 --- a/reg_svr/kerberos.c +++ b/reg_svr/kerberos.c @@ -149,6 +149,10 @@ cleanup: if (status == KADM5_DUP) return MR_IN_USE; + else if (status == KADM5_PASS_Q_TOOSHORT || + status == KADM5_PASS_Q_CLASS || + status == KADM5_PASS_Q_DICT) + return MR_QUALITY; else return status; } #endif diff --git a/reg_svr/reg_svr.pc b/reg_svr/reg_svr.pc index 8b15567a..6c6b8f3c 100644 --- a/reg_svr/reg_svr.pc +++ b/reg_svr/reg_svr.pc @@ -595,7 +595,12 @@ void PSWD(reg_client *rc, int argc, char **argv) } status = register_kerberos(rc->username, password); - if (status == MR_IN_USE) + if (status == MR_QUALITY) + { + reply(rc, PASSWORD_SIMPLE, "GETP", "c", NULL); + return; + } + else if (status == MR_IN_USE) { reply(rc, RESERVED_USERNAME_UNAVAILABLE, "INIT", "c", NULL, rc->username); -- 2.45.1