Re: Incompatibility between Linux-PAM and other PAM?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



BTW, my guess is the FreeBSD folk never tested the password-changing/aging
aspect of this PAM_KRB5 module. Either that or this bug mistified them.

Plus there's a another bug in this module, as I mentioned before, in
that it does not copy the null-termination to the krb5_data response
buffers provided by krb5_get_init_password(). This isn't obviously
necessary since the length of the strings is recorded in the krb5_data,
but, unfortunately, krb5_get_init_password() uses strcmp() to compare
the two new passwords (instead of comparing their length and then using
strncmp()).

Sigh...

Nico


On Sun, Mar 04, 2001 at 02:13:36PM -0500, Nicolas Williams wrote:
> Steve,
> 
> Yes, I see. Solaris conversation functions expect a pointer to the first
> of a set of contiguous (struct pam_message). Linux-PAM's misc_conv()
> expects a pointer to an array of pointers to (struct pam_message).
> 
> What a horrid mistake Sun's developers made. Eeck.
> 
> We can probably put in #ifdef'ed fixes for this in all modules that
> prompt for more than one item at a time.
> 
> Another possible fix would be to make a module prompt for one item at a
> time. That was something I was already going to make an option in this
> module because CDE's dtgreet only handles a prompt at a time anyways
> (which means dtlogin has to break-up multi-prompts and, I think, it is
> buggy wrt multi-prompts, at least on Solaris 8 BETA_REFRESH [yes, I
> need to upgrade]).
> 
> I see no reason why it is necessary or better to send these three prompts at
> once rather than one after the other:
> 
> "Password expired.  You must change it now."
> "Enter new password"
> "Enter it again"
> 
> That would be a simple fix, though it will only work as long as there
> isn't an absolute need to prompt multiple prompts in one go.
> 
> Nico
--





[Index of Archives]     [Fedora Users]     [Kernel]     [Red Hat Install]     [Linux for the blind]     [Gimp]

  Powered by Linux