[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
pam_cracklib: suggested changes
- From: David Lee <T D Lee durham ac uk>
- To: pam-list redhat com
- Subject: pam_cracklib: suggested changes
- Date: Mon, 4 Sep 2000 15:12:43 +0100 (BST)
In trying to get the pam_cracklib module running on Solaris, I have
encountered (and solved) a few problems, and would like to propose some
upwards-compatible amendments.
1. One convention to assist stacking of modules is to have options
called try_first_pass and use_first_pass. Together with the default
behaviour, this creates a three-way switch for getting the old and new
passwords:
default: get from user, else fail
use_first_pass: get from modules higher on stack, else fail
try_first_pass: try from stack, then try from user, else fail
I have implemented this and got it working nicely.
Side-effect: the main loop of pam_cracklib was already getting
unwieldy: because this change added yet more complexity, I took the
opportunity to tidy it up.
2. The prompts for user-interrogation are hardcoded into the source.
(The sys.admin. can adjust one detail.) I propose adding new options
to allow all three prompts to be specifiable by the sys.admin.
(The motivation for this is trying to get pam_cracklib to interwork
with the "poppassd" program, which itself has hard-coded lists of
possible prompts for use via "/bin/passwd". At present a sys.admin.
trying to use both products is forced to adjust source code in one
of the products. It would seem sensible to allow flexibility.)
Comments, anyone?
In looking at those issues, I notice that several modules seem to have
much code replicated. A related exercise (though much bigger!) would be
to try to abstract some common module functionality into a separate module
library. (Recent discussion about syslog also relates to this.) Again,
comments, anyone?
It seems that, as a matter of high priority, we should think through such
commonality issues (conventions such as "try_first_pass" and possibly
propmt-specifications), and perhaps consequent library abstraction,
and head towards a consistent method of module writing.
Andrew Morgan's proposed "autoconf" work would be a good incentive for
such rationalisation. But that seems to have dried up in recent weeks.
Andrew, I think, wants gradual, cautious change (understandably, although
development at "pam.sourceforge.net" seems to have stopped altogether).
On the other hand, the above suggestions (augmented by some earlier
discussion about the extent of autoconf) would indicate a more adventurous
path. (Actually, I think we're both heading in the same direction,
towards an "Open-PAM"-like philosophy, but with different ideas about how
to conduct the journey.)
In doing the Solaris/portability/autoconf work (those three areas overlap
considerably) I am accumulating many changes, including the "pam_cracklib"
ones. But how should I contribute these "to the greater good"?
--
: David Lee I.T. Service :
: Systems Programmer Computer Centre :
: University of Durham :
: http://www.dur.ac.uk/~dcl0tdl South Road :
: Durham :
: Phone: +44 191 374 2882 U.K. :
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[]