[1638] in Moira
Re: [Fwd: reg applet not dealing well with "password in password dictionary" error]
daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Sat Aug 12 03:30:39 2000
Message-Id: <200008120730.DAA09745@riff-raff.mit.edu>
To: "Jeffrey I. Schiller" <jis@MIT.EDU>
Cc: moiradev@MIT.EDU
In-Reply-To: Your message of "Fri, 11 Aug 2000 23:13:10 EDT."
<3994C0C5.745E7EA0@mit.edu>
Date: Sat, 12 Aug 2000 03:30:36 -0400
From: Garry Zacheiss <zacheiss@MIT.EDU>
This actually turned out to be a bug with the reg_svr, not with
the registration applet. There's a new reg_svr running on moira that
fixes the problem (I needed to run it on moira to test it). Here are
the patches that I came up with to fix the problem.
Note that the error text associated with the new MR_QUALITY
error code isn't actually seen by anything in the process and could say
"Moira server just burst into flames" and no user would ever see it.
I'm not really attached to the text I chose.
Garry
Index: lib/mr_et.et
===================================================================
RCS file: /afs/athena.mit.edu/astaff/project/moiradev/repository/moira/lib/mr_et.et,v
retrieving revision 1.24
diff -c -r1.24 mr_et.et
*** mr_et.et 2000/06/02 19:47:15 1.24
--- mr_et.et 2000/08/12 07:16:27
***************
*** 219,222 ****
--- 219,225 ----
ec MR_RESERVED,
"That name is reserved"
+ ec MR_QUALITY,
+ "Password is too simple."
+
end
Index: reg_svr/kerberos.c
===================================================================
RCS file: /afs/athena.mit.edu/astaff/project/moiradev/repository/moira/reg_svr/kerberos.c,v
retrieving revision 1.4
diff -c -r1.4 kerberos.c
*** kerberos.c 1998/07/31 22:52:40 1.4
--- kerberos.c 2000/08/12 07:17:56
***************
*** 149,154 ****
--- 149,158 ----
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
Index: reg_svr/reg_svr.pc
===================================================================
RCS file: /afs/athena.mit.edu/astaff/project/moiradev/repository/moira/reg_svr/reg_svr.pc,v
retrieving revision 1.6
diff -c -r1.6 reg_svr.pc
*** reg_svr.pc 2000/03/14 21:50:51 1.6
--- reg_svr.pc 2000/08/12 07:23:05
***************
*** 595,601 ****
}
status = register_kerberos(rc->username, password);
! if (status == MR_IN_USE)
{
reply(rc, RESERVED_USERNAME_UNAVAILABLE, "INIT", "c", NULL,
rc->username);
--- 595,606 ----
}
status = register_kerberos(rc->username, password);
! 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);