1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765 |
- =======================================================================
- =======================================================================
- This file is no longer used for tracking changes for Linux-PAM. For
- user visible changes, please look at the NEWS file. A more verbose
- list of changes can be found in ChangeLog.
- =======================================================================
- =======================================================================
- -----------------------------
- TODO:
- - sanitize use of md5 throughout distribution.. Make a static
- library for helping to develop modules that contains it and other
- stuff. Also add sha-1 and ripemd-160 digest algorithms.
- - once above is done. remove hacks from the secret@here module etc..
- - document PAM_INCOMPLETE changes
- - verify that the PAM_INCOMPLETE interface is sensible. Can we
- catch errors? should we permit item changing etc., between
- pam_authenticate re-invocations?
- - verify that the PAM_INCOMPLETE interface works (auth seems ok..)
- - add PAM_INCOMPLETE support to modules (partially added to pam_pwdb)
- - work on RFC.
- - auth and acct support in pam_cracklib, "yes, I know the password
- you just typed was valid, I just don't think it was very strong..."
- ====================================================================
- If you have found a bug in Linux-PAM (including a documentation bug,
- or a new feature request and/or patch), please consider filing such a
- bug report - outstanding bugs are listed here:
- http://sourceforge.net/tracker/?atid=106663&group_id=6663&func=browse
- (to file another bug see the 'submit bug' button on that page).
- ====================================================================
- 0.81: please submit patches for this section with actual code/doc
- patches!
- * pam_umask: New module for setting umask from GECOS field, /etc/login.defs
- or /etc/default/login (kukuk)
- * configure/pam_strerror: Remove old ugly-hack option for pam_strerror
- interface change (kukuk)
- * configure.in: Fix AC_DEFINE usage for autoheader (kukuk)
- * configure.in/_pam_aconf.h.in: Remove feature.h inclusion (kukuk)
- * defs: Remove obsolete directory/content (kukuk)
- * Rename _pam_aconf.h.in to config.h (kukuk)
- * pam_unix: Don't ignore pam_get_item return value (kukuk)
- * pam_userdb: Fix regression - crash when crypt param not specified (t8m)
- * libpam: Remove pam_authenticate_secondary stub (kukuk)
- * Use autoconf/automake/libtool (kukuk)
- * pam_securetty: Be fail-close on user lookups, always log failures,
- not just with "debug" (Solar Designer)
- * Add gettext support
- * Add translations for cs, de, es, fr, hu, it, ja, nb, pa, pt_BR,
- pt, zh_CN and zh_TW
- * pam_limits: Apply ALT Linux/Owl patch
- * pam_motd: Apply ALT Linux/Owl patch
- * libpam: Cache pam_get_user() failures
- * libpam: Add pam_prompt,pam_vprompt,pam_error,pam_verror,pam_info
- and pam_vinfo functions for use by modules as extension (kukuk).
- * pam_cracklib: Make path to cracklib dicts an option (kukuk).
- * libpam: Add pam_syslog function for unified syslog messages from
- PAM modules (kukuk).
- * pam_tally, pam_time, pam_userdb: use pam_syslog and pam_prompt (ldv)
- * pam_issue: major cleanup (ldv)
- * pam_echo: New PAM module for message output (kukuk)
- * pam_limits: Fix regression from RLIMIT_NICE support (wrong limit
- values for other limits are applied) patch by Anton Guda
- * pam_unix: Always honor nis flag on password change (by Aaron Hope)
- * libpam: Moved functions from pammodutil to libpam (t8m)
- * pam_lastlog: Cleanup, fix broken logic in pam_parse,
- modify wtmp by default, nowtmp option switches that off (ldv)
- 0.80: Wed Jul 13 13:23:20 CEST 2005
- * pam_tally: test for NULL data before dereferencing them (t8m)
- * pam_unix: fix regression introduced in 0.78 - both NIS and local password
- should be changed if possible (t8m)
- * misc_conv: flush input first then print the prompt - fixes problem
- with expect scripts (t8m)
- * pam_unix: nis option shouldn't clear the shadow option (t8m)
- * cleanups and minor bugfixes by Steve Grubb (t8m)
- * pam_private.h: set PAM_DEFAULT_PROMPT to "login: " (kukuk)
- * pam_mkhomedir: Create parent directories if they do not already
- exist (Bug 600351 - kukuk)
- * pam_mkhomedir: Set owner/permissions of home directory after we
- created all files (Bug 1032922 - kukuk)
- * pam_rhosts: Get rid of static buffer for path (kukuk)
- * pam_selinux/pam_unix/pam_rootok: Add SELinux support based on
- patch from Red Hat (kukuk)
- * pam_limits: Correct support of unlimited limits, use correct type
- for rlimit value (Bug 945449 - kukuk, t8m)
- * pam_xauth: Unset the XAUTHORITY variable when requesting user is
- root and target user is not (t8m)
- * pam_access: Add listsep option to set list element separator by
- Richard Shaffer (t8m)
- * pam_limits: Don't reset process priority if none is specified in
- the config file (Novell #81690 - kukuk)
- * Fix all occurrence of dereferencing type-punned pointer will break
- strict-aliasing rules warnings (kukuk)
- * pam_limits: Support new limits in linux 2.6.12 (t8m)
- * pam_mkhomedir: change mode datatype (toady)
- * pam_limits: Don't lowercase login names (kukuk)
- 0.79: Thu Mar 31 16:48:45 CEST 2005
- * pam_tally: added audit option (toady)
- * pam_unix: don't log user unknown failure when he can be properly
- authenticated by another module (t8m)
- * configure: don't abort if no cracklib dictinaries were found, but
- warn user that pam_cracklib will not be built (kukuk)
- * modules/pam_unix/support.c: Fix return value if user aborts while
- changes the password (Bug 872945 - kukuk)
- * modules/pam_unix/support.c: Fix return value for an unknown user
- (Bug 872943 - kukuk)
- * pam_limits: support for new Linux kernel 2.6 limits (from toby cabot
- - t8m)
- * pam_tally: major rewrite of the module (t8m)
- * libpam: don't return PAM_IGNORE for OK or JUMP actions if using
- cached chain (Bug 629251 - t8m)
- * pam_nologin: don't overwrite return value with return from
- pam_get_item (t8m)
- * libpam: Add more checks for broken PAM configuration files to
- avoid seg.faults (kukuk)
- * pam_shells: correct README
- * libpam: Fix debug code (kukuk)
- * pam_limits: Fix order of LIMITS_DEF_* priorities (kukuk)
- * pam_xauth: preserve DISPLAY variable (Novell #66885 - kukuk)
- * libpam: Add prelude ids (http://www.prelude-ids.org) support,
- as experimental. (toady)
- * configure: Add the directory where new versions of cracklib is
- installed (from Jim Gifford - toady)
- * libpamc: Use standard u_intX_t types instead of __uX (kukuk)
- 0.78: Do Nov 18 14:48:36 CET 2004
- * pam_unix: change the order of trying password changes - local first,
- NIS second (t8m)
- * pam_wheel: add option only_root to make it affect authentication
- to root account only
- * pam_unix: test return values on renaming files and report error to
- syslog and to user
- * pam_unix: forced password change shouldn't trump account expiration
- * pam_unix: remove the use of openlog (from debian - toady)
- * pam_unix: NIS cleanup (patch from Philippe Troin)
- * pam_access: you can now authenticate an explicit user on an explicit
- tty (from debian - toady)
- * pam_limits, pam_rhosts, pam_unix: fixed hurd portability issues
- (patch from Igor Khavkine)
- * pam_env: added comments in the configuration file to avoid errors
- (from debian - toady)
- * pam_mail: check PAM_NO_ENV to know if we can delete the environment
- variable (from debian - toady)
- * pam_filter: s/termio/termios/g (from debian - toady)
- * pam_mkhomedir: no maxpathlen required (from debian - toady)
- * pam_limits: applied patch to allow explicit limits for root
- and remove limits on su. (from debian - toady)
- * pam_unix: severe denial of service possible with this module since
- it locked too aggressively. Bug report and testing help from Sascha
- Loetz. (Bug 664290 - agmorgan)
- * getlogin was spoofable: "/tmp/" and "/dev/" have the same number of
- characters, so 'ln /dev/tty /tmp/tty1 ; bash < /tmp/tty1 ; logname'
- attacks could potentially spoof pam_wheel with the 'trust' module
- argument into granting access to a luser. Also, pam_unix gave
- odd error messages in such a situation (logname != uid). This
- problem was found by David Endler of iDefense.com (Bug 667584 -
- agmorgan).
- * added my new DSA public key to the pgp.keys.asc file. Also included
- a signed copy of my new public key (1024D/D41A6DF2) made with my old
- key (1024/2A398175).
- * added "include" directive to config file syntax.
- The whole idea is to create few "systemwide" pam configs and include
- parts of them in application pam configs.
- (patch by "Dmitry V. Levin" <ldv@altlinux.org>) (Bug 812567 - baggins).
- * doc/modules/pam_mkhomedir.sgml: Remove wrong debug options
- (Bug 591605 - kukuk)
- * pam_unix: Call password checking helper whenever the password field
- contains only one character (Bug 1027903 - kukuk)
- * libpam/pam_start.c: All service names should be files below /etc/pam.d
- and nothing else. Forbid paths. (Bug 1027912 - kukuk)
- * pam_cracklib: Fix error in distance algorithm in the 0.9 pam_cracklib
- module (Bug 1010142 - toady)
- * pam_userdb: applied patch from Paul Walmsley <paul@booyaka.com>
- it now indicates whether encrypted or plaintext passwords are stored
- in the database needed for pam_userdb (BerliOS - toady)
- * pam_group: The module should also ignore PAM_REINITIALIZE_CRED to
- avoid spurious errors (from Linux distributors - kukuk)
- * pam_cracklib: Clear the entire options structure (from Linux
- distributors - kukuk)
- * pam_issue: We write a NUL to prompt_tmp[tot_size] later, so make sure
- that the destination is part of the allocated block, make do_prompt
- static (from Linux distributors - kukuk)
- * ldconfig: Only run full ldconfig, if we don't install into a FAKEROOT
- environment, else let ldconfig only create the symlinks correct
- (from Linux distributors - kukuk)
- * pam_unix/pam_pwdb: Use SIG_DFL instead of SIG_IGN for SIGCHLD
- (from Linux distributors - kukuk)
- * Add most of Steve Grubb's resource leak and other fixes (from
- Linux distributors - kukuk)
- * doc/Makefile: Don't include .cvsignore files in tar ball (kukuk)
- * libpam_misc/misc_conv.c: Differentiate between Ctrl-D and
- <Return> (Bug 1032604 - kukuk)
- * Make.Rules.in: Add targets for installing man pages for modules
- (from Linux distributors - kukuk)
- * Add pam_xauth module (Bug 436440 - kukuk)
- * Add pam_localuser module (Bug 436444 - kukuk)
- * Add pam_succeed_if module (from Linux distributors - kukuk)
- * configure.in: Fix check for libcrypt (Bug 417704 - kukuk)
- * Add the "broken_shadow" argument to pam_unix, for ignoring errors
- reading shadow information (from Linux distributors - kukuk)
- * Add patches to make PAM modules reentrant (Bug 440107 - kukuk)
- * Merge patches from Red Hat (Bug 477000 and other - kukuk)
- * Fix pam_rhosts option parsing (Bug 922648 - kukuk)
- * Add $ISA support in config files (from Red Hat - kukuk)
- 0.77: Mon Sep 23 10:25:42 PDT 2002
- * documentation support for pdf files was not quite right -
- installation was messed up.
- * pam_wheel was too aggressive to grant access (in the case of the
- 'deny' option you want to pay attention to 'trust'). Fix from
- Nalin (Bugs 476951, 476953 - agmorgan)
- * account management support for: pam_shells, pam_listfile, pam_wheel
- and pam_securetty (+ static module fix for pam_nologin). Patch from
- redhat through Harald Welte (Bug 436435 - agmorgan).
- * pam_wheel feature from Nalin - can use the module to provide wheel
- access to non-root accounts. Also from Nalin, a bugfix related to
- the primary group of the applicant is the 'wheel' group. (Bugs
- 476980, 476941 - agmorgan)
- * pam_unix and pam_pwdb: by default turn off the SIGCHLD handler while
- running the helper binary (patch from Nalin) added the "noreap"
- module argument to both of these modules to turn off this new
- default. Bugfix found by Silvan Minghetti for former module and
- 521314 checkin. (Bugs 476963, 521314 - agmorgan).
- * updated CHANGELOG and configure.in for 0.77 work.
- 0.76: Mon Jul 8 21:44:59 PDT 2002
- * pam_unix: fix for legacy crypt() support when the password entered
- was long. (Bug 521314 - agmorgan).
- * pam_access no longer include gethostname() prototype complaint from
- David Lee (Bug 415423 - agmorgan).
- * make pam_nologin more secure by default, added two new module
- arguments etc. - acting on suggestion from Nico (Bug 419307 -
- agmorgan)
- * link in libpam to libpam_misc - since the latter uses functions in
- the former it makes some sort of sense to do this (although, in the
- static library case, I remain to be convinced). (Bug 565470 -
- agmorgan).
- * absorbed some of the proposed darwin (OS X) changes from Luke Howard
- (of PADL software) - hopefully will get the rest (see Rob Braun's
- 534205) by 0.77 (Bug 491466 - agmorgan).
- * README fix for pam_unix from Nalin (Bug 476971 - agmorgan).
- * add support for building pdf files from the documentation - request
- from 'lolive' (Bug 471377 - agmorgan).
- * documented the equivalent '[..]' expressions for "required"
- etc. Request from Ross Patterson (Bug 529078 - agmorgan).
- * '[...]' parsing: document it and also fix it to support '\]' escape
- sequence. Feature request from Russell Kliese (Bug 517064 -
- agmorgan).
- * pam_rootok: compilation warning noted by Tony den Haan wrt no
- prototype for strcmp() (Bug 557322 - agmorgan).
- * documentation: (a few of mine in passing) and app documentation
- suggestions regarding PAM environment variables and module
- documentation changes regarding the conversation function from Jenn
- Vesperman (Bug 527821, 527965 - agmorgan)
- * documentation: pam_time.sgml typo fixed, pam_motd exists now,
- correct Red Hat comment about config files (Bugs 554274, 554261,
- 554182 - agmorgan)
- * pam_limits: added '%' domain for maxlogins limiting, now '*' and @group
- have the old meaning (every) and '%' the new one (all)
- (Bug 533664 - baggins)
- * pam_limits: put not so interesting log messages under debug arg
- (Bug 533668 - baggins)
- * pam_access: added the 'fieldsep=' argument (Bug 547051 - agmorgan),
- made a PAM_RHOST of "" equivalent to NULL (Bug 547521 - agmorgan).
- * pam_limits: keep well know behaviour of maxlogins default ('*') limit
- (Bug 533664 - baggins)
- * pam_unix: more from Nalin log password changes (Bug 517743 - agmorgan)
- * pam_limits: make it use the priority value specified in config
- (bug 530428 - baggins)
- * pam_unix: removed broken code in password update code. Report from
- Len Lattanzi (Bug 507379 - agmorgan)
- * pam_mkhomedir: recurse directories. Patch from Nalin (Bug 476981 -
- agmorgan)
- * pam_limits can handle negative priority limits now (which can apply
- to the superuser too) - based on patch from Nalin. Also cleanup the
- error handling that was very sloppy before. Also, courtesy of Berend
- De Schouwe get the math right on login counting (Bug 476990, 476987,
- 493294 - agmorgan)
- * documentation: random typo fixes from Nalin and more stuff from me
- (Bug 476949, Tasks 43507, 17426 - agmorgan)
- * A Tru64 fix (given other stuff has already resolved this, it
- actually just a comment actually) from 'Eddie'. (Bug 418450 -
- agmorgan)
- * pam_handlers: BSD fix from Dag-Erling Smørgrav and Anton Berezin
- (Bug 486063 - agmorgan)
- * added the dynamic/* directory to the distribution. If you go in
- there after building the rest of the tree, you'll make a pam.so
- object that can be used by something like a java runtime with
- dlopen. Its not very well tested - caveat emptor. (Bug 232194 -
- agmorgan)
- * somehow pam_unix has started forcing the user prompt to be "login: ".
- This is entirely inapropriate as it overrides PAM_USER_PROMPT. (Bug
- 486361 - agmorgan).
- * added a static module helper library object includes a few changes
- to examples/xsh.c for testing purposes (added a simple shell wrapper
- for running xsh with the sandbox libraries), and also modified the
- pam_rhosts_auth module to use this new library. (Bug 490938, 409852
- - agmorgan).
- * pam_unix: fix 'likeauth' to kill off the memory leak once and for all.
- (Bug 483959 - vorlon)
- * pam_unix: restore handling of 'likeauth' argument to a known working
- state; prettify AUTH_RETURN macro; remove redundant argv checks in
- pam_sm_setcred() (Bugs 483959, 113596 - vorlon)
- * pam_cracklib: another try at implementing similar() from Harald
- Welte and Nalin (Bugs 436053, 476957 - agmorgan)
- * pam_access: default access.conf file contained a type (console
- instead of LOCAL) fix from Nalin (Bug 476934 - agmorgan)
- * pam_unix: fixed bizarre memory leak pointed out by Fernando Trias
- (Bug 483959 - agmorgan)
- * misc string comparison length checking changes from Nalin. Modules
- touched, pam_cracklib, pam_listfile, pam_unix, pam_wheel (Bug 476947 -
- agmorgan)
- * pam_userdb: require that all of typed password matches that in
- database report and fix from Vladimir Pastukhov. (Bug 484252 - agmorgan)
- * pam_malloc: revived malloc debugging code, now tied to
- --enable-memory-debug and added strdup() support (Bug 485454 - agmorgan)
- * pam_tally: Nalin's fix for lastlog corruption (Bug 476985 - agmorgan)
- * pam_rhosts: Nalin adds support for '+hostname', and zdd fix
- compilation warning. (Bug 476986 - agmorgan)
- * pam_motd: Nalin fixed compiler warning. (Bug 476938 - agmorgan)
- * pam_pwdb: Solar Designer pointed out that there was a problem with
- the compatibility support for md5 password hashing. (Bug 460717,
- 476961 - agmorgan)
- * pam_issue: Nalin found segfaulting problems if the PAM_USER_PROMPT
- is unset, found some similar problems with assumptions about
- realloc. (Bug 476983 - agmorgan)
- * pam_env: 'weichangyang of hotmail' pointed out a wild string with no
- valid '\0' was leading to problems with sshd and suggested fix (Bug
- 473034 - agmorgan)
- * MANDIR cleanup. It defaults to /usr/share/man, but can be overridden
- using the --enable-mandir ./configure option, similarly for DOCDIR
- from Nalin (Bug 476940 - agmorgan)
- * pam_filter cleanup (including moving the filter directory) Nalin
- and Harald Welte (Bugs 436057, 476970 - agmorgan)
- * db3 is now recognized as a libdb candidate (Bug 435764 - agmorgan)
- * more changes (extracted from redhat version) courtesy of
- Harald Welte (Bugs pam_limits=436061, pam_lastlog=436060,
- pam_mkhomedir/pam_env=435991 - agmorgan)
- * fix for legacy behavior of pam_setcred and pam_close_session in
- the case that pam_authenticate and pam_open_session hadn't been
- called - bug report from Seongwan Park. (Bug 468724 - agmorgan)
- * some BSD updates and fixes from Mark Murray - including a slightly
- more robust conversation function and some minimization of gcc
- warnings. (Bugs 449203,463984 - agmorgan)
- * verified that the setcred stack didn't suffer from the bug I was
- nervous about, add a new module pam_debug to help me test this.
- fixed a libpam/pam_dispatch.c instrumentation line that I tripped
- over when testing. Also restructured pam_warn to help here (Bug
- 424315 - agmorgan).
- * pam_unix/support.c: sample use of reentrant NSS function. Not yet active,
- because modules do not include _pam_aconf_h! (Bug 440107 - vorlon)
- * doc/Makefile changes - use $(mandir) [courtesy Harald Welte] (Bug
- 435760) and add some rules to make/delete the draft rfc I've been
- working on (Task 17426 - agmorgan)
- * pam_modules.sgml: sourceforge has changed its CVS viewing software
- (Bug 460491 - agmorgan)
- * pam_unix_passwd: got rid of an annoying warning (Bug 461089 - agmorgan)
- * configure.in, _pam_aconf.h.in: set the stage for fully reentrant PAM
- modules, with some infrastructure to detect getxxbyxx_r() functions
- (Bug 440107 - vorlon)
- * pam_unix: removed superfluous use of static variables in md5 and bigcrypt
- routines, bringing us a step closer to thread-safeness. Eliminated
- some variable indirection along the way. (Bug 440107 - vorlon)
- * pam_tally: remove #include of stdlib.h, which isn't needed by anything
- found in this module. Can be readded if we find a real need for it at
- a later date. (Bug 436432 - vorlon)
- * pam_tally: added an #include (was it really needed?) and made the
- pam_tally app install (with more pretty printing and a corrected
- Makefile dependency) motivated by a (red hat diff) courtesy of Harald
- Welte (Bug 436432 - agmorgan)
- * configure.in changes to help support non-Linux environments courtesy
- of Scott T. Emery (Bug 422563 - agmorgan)
- * made a pam_cracklib enhancement to interpret -ve limits in a
- sensible fashion contributed by Werner Puschitz (Bug 413162 -
- agmorgan)
- * another fix for the latest number of rlimits available to pam_limits
- (Bug 424060 - agmorgan)
- * removed stale link from pam_pwdb documentation (Bug 433460 - agmorgan)
- * pam_appl.sgml change - more discussion of choosing a service name
- (Bug 417512 - agmorgan)
- * more specific linking requirements for -lndbm for pam_userdb - from
- David Lee (Bug 417339 - agmorgan)
- * a large number of small changes to make AIX support better (Bug
- 416229 - agmorgan)
- * $(MAKE) instead of 'make' - from Scott T. Emery (Bug 422144 -
- agmorgan)
- * c++ header fixes for pam_misc.h and pam_client.h - from Alexandre
- Sagala (Bug 420270 - agmorgan)
- * pam_access fixes - looks out for trailing '.' - from Carlo Marcelo
- Arenas Belon (Bug 419631 - agmorgan)
- * don't zero out password strings during pam_unix's password changing
- function (Bug 419803 - vorlon)
- * propagate some definitions to the _pam_aconf.h file - from David Lee
- (Bug 415419 - agmorgan)
- * solaris GCC OS_CFLAGS change from David Lee (Bug 415412 - agmorgan)
- * added a comment to this CHANGELOG to explain why most of the bugids
- used below appear not to be known to sourceforge [try adding 100000
- to the bugid number.] (Bug 414943 - agmorgan)
- * bumped version numbers and also added support for SONAME defines
- that appear not to have survived the great autoconf experiment (Bug
- 414669 - agmorgan).
- 0.75: Sat Apr 7 23:10:50 PDT 2001
- ** WARNING **
- This release contains backwardly incompatible changes to
- libpam. Prior versions were buggy - see bugfix for Bug 129775.
- ** WARNING **
- * made 0.75 release (Bug 414665 - agmorgan)
- * pam_pwdb has been removed from the suggested pam.conf template. I've
- replaced it with pam_unix. (Bug 227565 - agmorgan)
- * pam_limits - Richard M. Yumul reported that "<domain> -" didn't
- work, first fix suggested by Werner Puschitz (Bug 404953 - agmorgan)
- * Nicolay Pelov suggested a simple fix for freebsd support (Bug 407282
- - agmorgan)
- * Michel D'HOOGE submitted documentation fixes (Bug 408961 - agmorgan)
- * fix for module linking directions (Bug 133545 - agmorgan)
- * fix for glibc-2.2.2 compilation of pam_issue (Bug 133542 - agmorgan)
- * fix pam_userdb to make and link both .o files it needs - converse()
- wasn't being linked! (Bug 132880 - agmorgan)
- * added some sys-admin documentation for the pam_tally module (Bug
- 126210 - agmorgan).
- * added a link to module examples from the module writers doc (Bug
- 131192 - agmorgan).
- * fixed a small security hole (more of a user confusion issue) with
- the unix and pwdb password helper binaries. The beef is described in
- the bug report, but no uid change was possible so no-one should
- think they need to issue a security bulletin over this one! (Bug
- 112540 - agmorgan)
- * pam_lastlog needs to be linked with -lutil, also removed ambiguity
- from sysadmin guide regarding this module being a 'session' module
- (Bug 131549 - agmorgan).
- * pam_cracklib needs to be linked with -lcrypt (old password checking)
- (Bug 131601 - agmorgan).
- * fixes for static library builds and also the examples when linked
- with the debugging build of the libraries. (Bug 131783 - agmorgan)
- * fixed URL for original RFC to a cached kernel.org file. (Bug 131503
- - agmorgan)
- * quoted the $CRACKLIB_DICTPATH test in configure.in (Bug 130130 -
- agmorgan).
- * improved handling of the setcred/close_session and update chauthtok
- stack. *Warning* This is a backwardly incompatable change, but 'more
- sane' than before. (Bug 129775 - agmorgan)
- * bumped the version number, and added some code to assist in making
- documentation releases (Bug 129644 - agmorgan).
- 0.74: Sun Jan 21 22:36:08 PST 2001
- * made 0.74 release (Bug 129642 - agmorgan)
- * libpam - cleaned up a few non-static functions to be static and added
- support for libpam to enforce things like pam_[gs]et_data() and
- AUTHTOK rules for using the API. Also documented pam_[gs]et_item()
- a little better including return codes (Bugs 129027, 128576 -
- agmorgan).
- * pam_access - fixed the non-default config file option (Bug 127561 -
- agmorgan)
- * pam.8 manual page clarified with respect to the default location for
- finding modules, also added some text describing the [...] control
- syntax. (Bug 127625 - agmorgan)
- * md5.h ia64 fixes for pam_unix and pam_pwdb (Bug 127700 - agmorgan)
- * removed requirement for c++ from the configure{.in,} files (Bug
- 128298 - agmorgan)
- * removed subdirectories from man page redirections (124396 - baggins)
- * per David Lee, fixed non-POSIX shell command in modules/pam_filter/Makefile
- (Bug 126440 - vorlon)
- * modify format of pam_unix log messages to include service name
- (Bug 126423 - vorlon)
- * prevent pam_unix from logging unknown usernames (Bug 126431 - vorlon)
- * changed format of pam_unix 'authentication failure' log messages to make
- them clearer and more consistent (Bug 126036 - vorlon)
- * improved portability of pam_unix by eliminating Linux-specific utmp
- defines in PAM_getlogin() (Bug 125704 - vorlon)
- * removed static variables from pam_tally (Bug 117434 - agmorgan)
- * added copyright message to pam_access module from original logdaemon
- sources (Bug 125022 - agmorgan)
- * configure.in - removed the GCC -Wtraditional flag (Bug 124923 - agmorgan)
- * pam_mail - use PAM_PATH_MAILDIR as the location of mail spool
- (Bug 124397 - baggins)
- * _pam_aconf.h.in, configure.in - added PAM_PATH_MAILDIR set via
- --with-mailspool=dir option (default is _PAM_MAILDIR if defined
- in paths.h otherwise /var/spool/mail (Bug 124397 - baggins)
- * removed unnecessary CVS Log tags from all over the source
- (Bug 124391 - baggins)
- * pam_tally - check for PAM_TTY if PAM_RHOST is not set when writing
- to faillog (Bug 124394 - baggins)
- * use O_NOFOLLOW if available when opening debug log (Bug 124385 - baggins)
- * pam_cracklib - removed comments about pam_unix not working with
- pam_cracklib, added information about use_authtok parameter
- (Bug 124388 - baggins)
- * pam_userdb - fixed wrong definition of struct pam_module (was pam_wheel)
- (Bug 124386 - baggins)
- * fixed example/Makefile include path (Bug 124187, 127563(?) - agmorgan)
- * pam_userdb compiles on RH5x. Also removed circular dependency on
- configure.in. Also bumped revision number to 0.74. (Bug 124136 -
- agmorgan)
- 0.73: Sat Dec 2 00:04:04 PST 2000
- * updated documentaion revisions and added 'make release' support
- to the top level Makefile (Bug 124132 - agmorgan).
- * documented Qmail support in pam_mail (Bug 109219 - baggins)
- * add change_uid option to pam_limits, and set real uid only if
- this option is present (Bug 124062 - baggins)
- * pam_limits - set real uid to the user for who we set limits.
- (Bug 123972 - baggins)
- * removed static variables from pam_limits (thread safe now). (Bug
- 117450 - agmorgan).
- * removed static variable from pam_wheel (module should be thread safe
- now). (Bug 112906 - agmorgan)
- * added support for '/' symbols in pam_time and pam_group config files
- (support for modern terminal devices). Fixed infinite loop problem
- with '\\[^\n]' in these files. (Bug 116076 - agmorgan)
- * avoid potential SIGPIPE when writing to helper binaries with (Bug
- 123399 - agmorgan)
- * replaced bogus logic in the pam_cracklib module for determining if
- the replacement is too similar to the old password (Bug 115055 -
- agmorgan)
- * added accessconf=<filename> feature to pam_access - request from
- Aldrin Martoq and Meelis Roos (Bugs 111927,117240 - agmorgan)
- * fix for pam_limit module not dealing with all limits Adam J. Richter
- (Bug 119554 - agmorgan)
- * comment fix describing fail_delay callback in _pam_types.h (Bug
- 112646 - agmorgan)
- * "likeauth" fix for pam_unix and pam_pwdb which (Bug 113596 - agmorgan)
- * fix for pam_unix (support.c) to avoid segfault with NULL password
- (Bug 113238 - vorlon)
- * fix to pam_unix_passwd: try repeatedly to get a lock on the password
- file, instead of failing immediately (Bug 108845 - fix vorlon)
- * fix to pam_shells: logged information was not formatted correctly
- (extra comma) (Bug 111491 - fix vorlon)
- * fix for C++ application support (Bug 111645 - fix agmorgan)
- * fix for typo in pam_client.h (Bug 111648 - fix agmorgan)
- * removal of -lpam from pam_mkhomedir Makefile (Bug 116380 - fix agmorgan)
- * autoconf support [Task ID 15788, Bug ID 108297 - agmorgan with help!]
- - bugfix for libpamc.h include file [Bug ID 117476 - agmorgan]
- - bugfix for pam_filter.h inclusion [Bug ID 117474 - agmorgan]
- 0.72: Mon Dec 13 22:41:11 PST 1999
- * patches from Debian (Ben Collins): pam_ftp supports event driven
- conversations now; pwdb_chkpwd cleanup; pam_warn static compile fix;
- user_db compiler warnings removed; debian defs file; pam_mail can
- now be used as a session module
- * ndbm compilation option for user_db module (fix explained by Richard Khoo)
- * pam_cracklib bug fix
- * packaging fixes & build from scratch stuff (Konst Bulatnikov & Frodo
- Looijaard)
- * -ldl appended to the libpam.so compilation make rule. (Charles Seeger)
- * Red Hat security patch for pam_pwdb forwarded by Debian! (Ben
- Collins. Fix provided by Andrey as it caught the problem earlier in the
- code.)
- * heuristic to prevent leaking filedescriptors to an agent. [This needs
- to be better supported perhaps by an additional libpamc API function?]
- * pam_userdb segfault fix from (Ben Collins)
- * PAM draft spec extras added at request of 'sen_ml'
- 0.71: Sun Nov 7 20:21:19 PST 1999
- * added -lc to linker pass for pam_nologin module (glibc is weird).
- * various header changes to lower the number of warnings on glibc
- systems (Dan Yefimov)
- * merged a bunch of Debian fixes/patches/documentation (Ben Collins)
- things touched: libpam (minor); doc/modules/pam_unix.sgml; pam_env
- (plus docs); pam_mkhomedir (new module for new home directories on
- the fly...); pam_motd (new module); pam_limits (adjust to match
- docs); pam_issue (new module + doc) [Some of these were also
- submitted by Thorsten Kukuk]
- * small hack to lower the number of warnings that pam_client.h was
- generating.
- * debian and SuSE apparently can use the pam_ftp module, so
- removed the obsolete comment about this from the docs. (Thorsten
- Kukuk)
- 0.70: Fri Oct 8 22:05:30 PDT 1999
- * bug fix for parsing of value=action tokens in libpam/pam_misc.c was
- segfaulting (Jan Rekorajski and independently Matthew Melvin)
- * numerous fixes from Thorsten Kukuk (icluding much needed fixes for
- bitrot in modules and some documentation) that got included in SuSE 6.2.
- * reentrancy issues in pam_unix and pam_cracklib resolved (Jan Rekorajski)
- * added hosts_equiv_rootok module option to pam_rhosts module (Tim Berger)
- * added comment about 'expose_account' module argument to admin and
- module writers' docs (request from Michael K Johnson).
- * myriad of bug fixes for libpamc - library now built by default and
- works with the biomouse fingerprint scanner agent/module
- (distributed separately).
- 0.69: Sun Aug 1 20:25:37 PDT 1999
- * c++ header #ifdef'ing for pam_appl.h (Tuomo Pyhala)
- * added pam_userdb module (Cristian Gafton)
- * minor documentation changes
- * added in revised pam_client library (libpamc). Not installed by
- default yet, since the example agent/module combo is not very secure.
- * glibc fixes (Thorsten Kukuk, Adam J. Richter)
- 0.68: Sun Jul 4 23:04:13 PDT 1999
- * completely new pam_unix module from Jan Rekorajski and Stephen Langasek
- * Jan Rekorajski pam_mail - support for Maildir format mailboxes
- * Jan Rekorajski pam_cracklib - support for old password comparison
- * Jan Rekorajski bug fix for pam_pwdb setcred reusing auth retval
- * Andrey's pam_tally patch (lstat -> fstat)
- * Robert Milkowski's additional pam_tally patches to **change format of
- /var/log/faillog** to one from shadow-utils, add new option "per_user"
- for pam_tally module, failure time logging, support for fail_line
- field, and support for fail_locktime field with new option
- no_lock_time.
- * pam_tally: clean up the tally application too.
- * Marcin Korzonek added process priority settings to pam_limits (bonus
- points for adding to documentation!)
- * Andrey's pam_pwdb patch (cleanup + md5 endian fubar fix)
- * more binary prompt preparations (make misc conv more compatible with spec)
- * modified callback hook for fail delay to be more useful with event
- driven applications (changed function prototype - suspect no one
- will notice). Documented this in app developer guide.
- * documentation for pam_access from Tim Berger
- * syntax fixes for the documentation - a long time since I've built it :*(
- added some more names to the CREDITS file.
- 0.67: Sat Jun 19 14:01:24 PDT 1999
- * [dropped libpam_client - libpamc will be in the next release and
- conforms to the developing spec in doc/specs/draft-morgan-pam.raw.
- Sorry if you are keeping a PAM tree in CVS. CVS is a pain for
- directories, but this directory was actually not referenced by
- anything so the disruption should be light.]
- * updates to pam_tally from Tim
- * multiple updates from Stephen Langasek to pam_unix
- * pam_filter had some trouble compiling (bug report from Sridhar)
- * pam_wheel now attempts to identify the wheel group for the local
- system instead of blindly assuming it is gid=0. In the case that
- there is no "wheel" group, we default to assuming gid=0 is what was
- meant - former behavior. (courtesy of Sridhar)
- * NIS+ changes to pam_unix module from Dmitry O Panov
- * hopefully, a fix for redefinition of LOG_AUTHPRIV (bug report Luke
- Kenneth Casson Leighton)
- * fix for minor typo in pam_wheel documentation (Jacek Kopecky)
- * slightly more explanation of the [x=y] pam.conf syntax in the sys
- admin guide.
- 0.66: Mon Dec 28 20:22:23 PST 1998 <morgan@linux.kernel.org>
- * Started using cvs to keep track of changes to Linux-PAM. This will
- likely break some of the automated building stuff (RPMs etc..).
- * security bug fix to pam_unix and pam_tally from Andrey.
- * modules make file is now more automatic. It should be possible to
- unpack an external module in the modules directory and have it automatically
- added to the build process. Also added a modules/download-all script
- that will make such downloading easier. I'm happy to receive patches to
- this file, informing the distribution of places from which to enrich itself.
- * removed pam_system_log stuff. Thought about it long and hard: a
- bad idea. If libc cannot guarantee a thread safe syslog, it needs
- to be fixed and compatibility with other PAM libraries was
- unnecessarily strained.
- * SAG documentation changes: Seth Chaiklin
- * rhosts: problems with NIS lookup failures with the root-uid check.
- As a work-around, I've partially eliminated the need for the lookup
- by supplying two new arguments: no_uid_check, superuser=<username>.
- As a general rule this is more pluggable, since this module might be
- used as an authentication scheme for a network service that does not
- need root privilege...
- * authenticate retval -> setcred for pam_pwdb (likeauth arg).
- * pam_pwdb event driven support
- * non openlog pam_listfile logging
- * BUGFIX: close filedescriptor in pam_group and pam_time (Emmanuel Galanos)
- * Chris Adams' mailhash change for pam_mail module
- * fixed malloc failure check in pam_handlers.c (follow up to comment
- by Brad M. Garcia).
- * update to _pam_compat.h (Brad M. Garcia)
- * support static modules in libpam again (Brad M. Garcia)
- * libpam/pam_misc.c for egcs to grok the code (Brad M. Garcia)
- * added a solaris-2.5.1 defs file (revived by Derrick J Brashear)
- * pam_listfile logs failed attempts
- * added a comment (Michael K Johnson pointed it out) about sgml2latex
- having a new syntax. I'll make it the change real when I upgrade...
- * a little more text to the RFC, spelling fix from William J Buffam.
- * minor changes to pam_securetty to accommodate event driven support.
- 0.65: Sun Apr 5 22:29:09 PDT 1998 <morgan@linux.kernel.org>
- * added event driven programming extensions to libpam
- - added PAM_INCOMPLETE handling to libpam/pam_dispatch.c
- - added PAM_CONV_AGAIN which is a new conversation response that
- should be mapped to PAM_INCOMPLETE by the module.
- - ensured that the pam_get_user() function can resume
- - changes to pam_strerror to accommodate above return codes
- - clean up _pam_former_state at pam_end()
- - ensured that former state is correctly initialized
- - added resumption tests to pam_authenticate(), pam_chauthtok()
- - added PAM_FAIL_DELAY item for pausing on failure
- * improved _pam_macros.h so that macros can be used as single commands
- (Andrey)
- * reimplemented logging to avoid bad interactions with libc. Added
- new functions, pam_[,v]system_log() to libpam's API. A programmer
- can check for this function's availablility by checking if
- HAVE_PAM_SYSTEM_LOG is #defined.
- * removed the reduce conflict from pam_conv1 creation -- I can sleep
- again now. :^]
- * made building of static and dynamic libpam separate. This is
- towards making it possible to build both under Solaris (for Derrick)
- * made USE_CRACKLIB a condition in unix module (Luke Kenneth Casson Leighton)
- * automated (quiet) config installation (Andrey)
- 0.64: Thu Feb 19 23:30:24 PST 1998 Andrew Morgan <morgan@linux.kernel.org>
- * miscellaneous patches for building under Solaris (Derrick J Brashear)
- * removed STATIC support from a number of module Makefiles. Notably,
- these modules are those that use libpwdb and caused difficulties
- satisfying the build process. (Please submit patches to fix this...;)
- * reomved the union for binary packet conversations from
- (_pam_types.h). This is now completely implemented in libpam_client.
- * Andrey's patch for working environment variable handling in
- sh_secret module.
- * made the libpam_misc conversation function a bit more flexible with
- respect to binary conversations.
- * added top level define (DEBUG_REL) for compiling in the form of
- a debugging release. I use this on a Red Hat 4.2 system with little
- chance of crashing the system as a whole. (Andrey has another
- implementation of this -- with a spec file to match..)
- 0.63: Wed Jan 28 22:55:30 PST 1998 Andrew Morgan <morgan@linux.kernel.org>
- * added libpam_client "convention" library. This makes explicit the
- use of PAM_BINARY_PROMPT. It is a first cut, so don't take it too
- seriously yet. Comments/suggestions for improvements are very
- welcome. Note, this library does not compile by default. It will
- be enabled when it is judged stable. The library comes with two
- module/agent pairs and can be used with ssh using a patch available
- from my pre-release directory [where you got this file.]
- * backward compatibility patch for libpam/pam_handlers.c (PAM_IGNORE
- was working with neither "requistie" nor "required") and a DEBUG'ing
- compile time bug with pam_dispatch.c (Savochkin Andrey Vladimirovich)
- * minor Makefile change from (Savochkin Andrey Vladimirovich)
- * added pam_afsauth, pam_afspass, pam_restrict, and pam_syslog hooks
- (Derrick J Brashear)
- * pam_access use of uname(2) problematic (security problem
- highlighted by Olaf Kirch).
- * pam_listfile went a bit crazy reading group membersips (problem
- highlighted by Olaf Kirch and patched independently by Cristian
- Gafton and Savochkin Andrey Vladimirovich)
- * compatibility hooks for solaris and hpux (Derrick J Brashear)
- * 64 bit Linux/alpha bug fixed in pam_rhosts (Andrew D. Isaacson)
- 0.62: Wed Jan 14 14:10:55 PST 1998 Andrew Morgan <morgan@linux.kernel.org>
- * Derrick J Brashear's patches: adds the HP stuff missed in the first
- patch; adds SunOS support; adds support for the Solaris native ld
- instead of requiring gnu ld.
- * last line of .rhosts file need not contain a newline. (Bug reported by
- Thompson Freeman.)
- 0.61: Thu Jan 8 22:57:44 PST 1998 Andrew Morgan <morgan@linux.kernel.org>
- * complete rewrite of the "control flag" logic. Formerly, we were
- limited to four flags: requisite, required, sufficient, optional.
- We can now use these keywords _and_ a great deal more besides.
- The extra logic was inspired by Vipin Samar, a preliminary patch was
- written by Andy Berkheimer, but I "had some ideas of my own" and
- that's what I've actually included. The basic idea is to allow the
- admin to custom build a control flag with a series of token=value
- pairs inside square brackets. Eg., '[default=die success=ok]' which
- is pretty close to a synonym for 'requisite'. I'll try to document it
- better in the sys-admin guide but I'm pretty sure it is a change for
- the better.... If what is in the sys-admin guide is not good enough
- for you, just take a look at the source for libpam ;^)
- 0.59: Thu Jan 8 22:27:22 PST 1998 Andrew Morgan <morgan@linux.kernel.org>
- * better handling of empty lines in .rhosts file. (Formerly, we asked
- the nameserver about them!) Fix from Hugh Daschbach.
- * _broke_some_binary_compatibility_ with previous versions to become
- compliant with X/Open's XSSO spec. Specifically, this has been
- by changing the prototype for pam_strerror().
- * altered the convention for the conversation mechanism to agree
- with that of Sun. (number of responses 'now=' number of messages
- with help from Cristian for finding a bug.. Cristian also found a
- nasty speradic segfault bug -- Thanks!)
- * added NIS+ support to pam_unix_*
- * fixed a "regular file checking" problem with the ~/.rhosts sanity
- check. Added "privategroup" option to permit group write permission
- on the ~/.rhosts file in the case that the group owner has the same
- name as the authenticating user. :*) "promiscuous" and "suppress"
- were not usable!
- * added glibc compatibility to pam_rhosts_auth (protected __USE_MISC
- with #ifndef since my libc already defines it!).
- * Security fix from Savochkin Andrey Vladimirovich with suggested
- modification from Olaf Seibert.
- * preC contains mostly code clean-ups and a number of changes to
- _pam_macros.
- 0.58: whenever
- * pam_getenvlist() has a more robust definition (XSSO) than was previously
- thought. It would seem that we no longer need pam_misc_copy_env()
- which was there to provide the robustness that pam_getenvlist()
- lacked before...
- Accordingly, I have REMOVED the prototype from libpam_misc. (The
- function, however, will remain in the library as a wrapper for
- legacy apps, but will likely be removed from libpam_misc-1.0.) PLEASE
- FIX YOUR APPS *BEFORE* WE GET THERE!
- * Alexy Nogin reported garbage output from pam_env in the case of
- a non-existent environment variable.
- * 'fixed' pwdb compilation for pam_wheel. Not very cleanly
- done.. Mmmm. Should really clean up the entire source tree...
- * added prototypes for mapping functions
- <**WARNING**>
- various constants have had there names changed. Numerical values have
- been retained but be aware some source old modules/applications will
- need to be fixed before recompilation.
- </**WARNING**>
- * appended documentation to README for pam_rhosts module (Nicolai
- Langfeldt).
- * verified X/Open compatibility of header files - note, where we differ
- it is at the level of compilation warnings and the use of 'const char *'
- instead of 'char *'. Previously, Sun(X/open) have revised their spec
- to be more 'const'-ervative in the light of comments from Linux-PAM
- development.
- * Ooops! PAM_AUTHTOKEN_REQD should have been PAM_NEW_AUTHTOK_REQD.
- changed: pam_pwdb(pam_unix_acct) (also bug fix for
- _shadow_acct_mgmt_exp() return value), pam_stress,
- libpam/pam_dispatch, blank, xsh.
- * New: PAM_AUTHTOK_EXPIRED - password has expired.
- * Ooops! PAM_CRED_ESTABLISH (etc.) should have been PAM_ESTABLISH_CRED
- etc... (changed - this may break some people's modules - PLEASE TAKE
- NOTE!)
- changed: pam_group, pam_mail, blank, xsh; module and appl
- docs, pam_setcred manual page.
- * renamed internal _pam_handle structure to be pam_handle as per XSSO.
- * added PAM_RADIO_TYPE (for multiple choice input method). Also
- added PAM_BINARY_{MSG,PROMPT} (for interaction out of sight of user
- - this could be used for RSA type authentication but is currently
- just there for experimental purposes). The _BINARY_ types are now
- usable with hooks in the libpam_misc conversation function. Still
- have to add PAM_RADIO_TYPE.
- * added pam_access module (Alexei Nogin)
- * added documentation for pam_lastlog. Also modified the module to
- not (by default) print "welcome to your new account" when it cannot
- find a utmp entry for the user (you can turn this on with the
- "never" argument).
- * small correction to the pam_fail_delay manual page. Either the appl or
- the modules header file will prototype this function.
- * added "bigcrypt" (DEC's C2) algorithm(0) to pam_pwdb. (Andy Phillips)
- * *BSD tweaking for various #include's etc. (pam_lastlog, pam_rhosts,
- pam_wheel, libpam/pam_handlers). (Michael Smith)
- * added configuration directory $SCONFIGED for module specific
- configuration files.
- * added two new "linked" man pages (pam.conf(8) and pam.d(8))
- * included a reasonable default for /etc/pam.conf (which can be
- translated to /etc/pam.d/* files with the pam_conv1 binary)
- * fixed the names of the new configuration files in
- conf/pam_conv1/pam_conv.y
- * fixed make check.
- * pam_lastlog fixed to handle UID in virgin part of /var/log/lastlog
- (bug report from Ronald Wahl).
- * grammar fix in pam_cracklib
- * segfault avoided in pam_pwdb (getting user). Updating of passwords
- that are directed to a "new" database are more robust now (bug noted
- by Michael K. Johnson). Added "unix" module argument for migrating
- passwords from another database to /etc/passwd. (documentation
- updated). Removed "bad username []" warning for empty passwords -
- on again if you supply the 'debug' module argument.
- * ctrl-D respected in conversation function (libpam_misc)
- * Removed -DPAM_FAIL_DELAY_ON from top-level Makefile. Nothing in
- the distribution uses it. I guess this change happened a while
- back, basically I'm trying to make the module parts of the
- distribution "source compatible" with the RFC definition of PAM.
- This implementation of PAM is a superset of that definition. I have
- added the following symbols to the Linux-PAM header files:
- PAM_DATA_SILENT (see _pam_types.h)
- HAVE_PAM_FAIL_DELAY (see _pam_types.h)
- PAM_DATA_REPLACE (see _pam_modules.h)
- Any module (or application) that wants to utilize these features,
- should check (#ifdef) for these tokens before using the associated
- functionality. (Credit to Michael K. Johnson for pointing out my
- earlier omission: not documenting this change :*)
- * first stab at making modules more independent of full library
- source. Modules converted:
- pam_deny
- pam_permit
- pam_lastlog
- pam_pwdb
- * pam_env.c: #include <errno.h> added to ease GNU libc use. (Michael
- K. Johnson)
- * pam_unix_passwd fixes to shadow aging code (Eliot Frank)
- * added README for pam_tally
- 0.57: Fri Apr 4 23:00:45 PST 1997 Andrew Morgan <morgan@parc.power.net>
- * added "nodelay" argument to pam_pwdb. This can be used to turn off
- the call to pam_fail_delay that takes effect when the user fails to
- authenticate themself.
- * added "suppress" argument to pam_rhosts_auth module. This will stop
- printing the "rlogin failure message" when the user does not have a
- .rhosts file.
- * Extra fixes for FAKEROOT in Makefiles (Savochkin Andrey
- Vladimirovich)
- * pam_tally added to tree courtesy of Tim Baverstock
- * pam_rhosts_auth was failing to read NFS mounted .rhosts
- files. (Fixed by Peter Allgeyer). Refixed and further enhanced
- (netgroups) by Nicolai Langfeldt. [Credit also to G.Wilford for some
- changes that were not actually included..]
- * optional (#ifdef PAM_READ_BOTH_CONFS) support for parsing of pam.d/
- AND pam.conf files (Elliot Lee).
- * Added (and signed) Cristian's PGP key. (I've never met him, but I am
- convinced the key belongs to the guy that is making the PAM rpms and
- also producing libpwdb. Please note, I will not be signing anyone
- else's key without a personal introduction..)
- * fixed erroneous syslog warning in pam_listfile (Savochkin Andrey
- Vladimirovich, whole file reformatted by Cristian)
- * modified pam_securetty to return PAM_IGNORE in the case that the user's
- name is not known to the system (was previously, PAM_USER_UNKNOWN). The
- Rationale is that pam_securetty's sole purpose is to prevent superuser
- login anywhere other than at the console. It is not its concern that the
- user is unknown - only that they are _not_ root. Returning
- PAM_IGNORE, however, insures that the pam_securetty can never be used to
- "authenticate" a non-existent user. (Cristian Gafton with bug report from
- Roger Hu)
- * Modified pam_nologin to display the no-login message when the user
- is not known. The return value in this case is still PAM_USER_UNKNOWN.
- (Bug report from Cristian Gafton)
- * Added NEED_LCKPWD for pam_unix/ This is used to define the locking
- functions and should only be turned on if you don't have them in
- your libc.
- * tidied up pam_lastlog and pam_pwdb: removed function that was never used.
- * Note for package maintainers: I have added $(FAKEROOT) to the list of
- environment variables. This should help greatly when you build PAM
- in a subdirectory. I've gone through the tree and tried to make
- everything compatible with it.
- * added pam_env (courtesy of Dave Kinchlea)
- * removed pam_passwd+ from the tree. It has not been maintained in a
- long time and running a shell script was basically insecure. I've
- indicated where you can pick up the source if you want it.
- * #define HAVE_PAM_FAIL_DELAY . Applications can conditionally compile
- with this if they want to see if the facility is available. It is
- now always available. (corresponding compilation cleanups..)
- * _pam_sanitize() added to pam_misc. It purges the PAM_AUTHTOK and
- PAM_OLDAUTHTOK items. (calls replaced in pam_auth and pam_password)
- * pam_rhosts now knows about the '+' entry. Since I think this is a
- dangerous thing, I have required that the sysadmin supply the
- "promiscuous" flag for it in the corresponding configuration file
- before it will work.
- * FULL_LINUX_PAM_SOURCE_TREE exported from the top level make file.
- If you want to build a module, you can test for this to determine if
- it should take its directions from above or supply default locations
- for installation. Etc.
- 0.56: Sat Feb 15 12:21:01 PST 1997 <morgan@parc.power.net>
- * pam_handlers.c can now interpret the pam.d/ service config tree:
- - if /etc/pam.d/ exists /etc/pam.conf is IGNORED
- (otherwise /etc/pam.conf is treated as before)
- - given /etc/pam.d/
- . config files are named (in lower case) by service-name
- . config files have same syntax as /etc/pam.conf except
- that the "service-name" field is not present. (there
- are thus three manditory fields (and arguments are
- optional):
- module-type control-flag module-path optional-args...
- )
- * included conf/pam_conv1 for converting pam.conf to a pam.d/ version
- 1.0 directory tree. This program reads a pam.conf file on the
- standard input stream and creates ./pam.d/ (in the local directory)
- and fills it with ./pam.d/"service-name" files.
- *> Note: It will fail if ./pam.d/ already exists.
- PLEASE REPORT ANY BUGS WITH THIS CONVERSION PROGRAM... It currently
- cannot retain comments from the old conf file, so take care to do this
- by hand. Also, please email me with the fix that makes the
- shift/reduce conflict go away...
- * Added default module path to libpam for modules (see pam_handlers.c)
- it makes use of Makfile defined symbol: DEFAULT_MODULE_PATH which is
- inhereted from the defs/* variable $(SECUREDIR). Removed module
- paths from the sample pam.conf file as they are no longer needed.
- * pam_pwdb can now verify read protected passwords when it is not run
- by root. This is via a helper binary that is setuid root.
- * pam_permit now prompts for a username if it is not already determined
- * pam_rhosts now honors "debug" and no longer hardwire's "root" as the
- superuser's name.
- * pam_securetty now honors the "debug" flag
- * trouble parsing extra spaces fixed in pam_time and pam_group
- * added Michael K. Johnson's PGP key to the pgp.keys.asc list
- * pam_end->env not being free()'d: fixed
- * manuals relocated to section 3
- * fixed bug in pam_mail.c, and enhanced to recognize '~' as a prefix
- to indicate the $HOME of the user (courtesy David
- Kinchlea). *Changed* from a "session" module to an "auth"
- module. It cannot be used to authenticate a user, but it can be used
- in setting credentials.
- * fixed a stupid bug in pam_warn.. Only PAM_SERVICE was being read :*(
- * pam_radius rewritten to exclusively make use of libpwdb. (minor fix
- to Makefile for cleaning up - AGM)
- * pam_limits extended to limit the total number of logins on a system
- at any given time.
- * libpam and libpam_misc use $(MAJOR_REL) and $(MINOR_REL) to set their
- version numbers [defined in top level makefile]
- * bugfix in sed command in defs/redhat.defs (AGM's fault)
- * The following was related to a possibility of buffer overruns in
- the syslogging code: removed fixed length array from syslogging
- function in the following modules [capitalized the log identifier
- so the sysadmin can "know" these are fixed on the local system],
- pam_ftp, pam_stress, pam_rootok, pam_securetty,
- pam_listfile, pam_shells, pam_warn, pam_lastlog
- and
- pam_unix_passwd (where it was definitely _not_ exploitable)
- 0.55: Sat Jan 4 14:43:02 PST 1997, Andrew Morgan <morgan@parc.power.net>
- * added "requisite" control_flag to /etc/pam.conf syntax. [See
- Sys. Admin. Guide for explanation] changes to pam_handlers.c
- * completely new handling of garbled pam.conf lines. The modus
- operandi now is to assume that any errors in the line are minor.
- Errors of this sort should *most definitely* lead to the module
- failing, however, just ignoring the line (as was the case
- previously) can lead to gaping security holes(! Not foreseen by the
- RFC). The "motivation" for the RFC's comments about ignoring garbled
- lines is present in spirit in the new code: basically a garbled line
- is treated like an instance of the pam_deny.so module.
- changes to pam_handlers.c and pam_dispatch.c .
- * patched libpam, to (a) call _pam_init_handlers from pam_start() and
- (b) to log a text error if there are no modules defined for a given
- service when a call to a module is requested. [pam_start() and
- pam_dispatch() were changed].
- * patched pam_securetty to deal with "/dev/" prefix on PAM_TTY item.
- * reorganized the modules/Makefile to include *ALL* modules. It is now
- the responsibility of the modules themselves to test whether they can
- be compiled locally or not.
- * modified pam_group to add to the getgroups() list rather than overwrite
- it. [In the case of "HAVE_LIBPWDB" we use the pwdb_..() calls to
- translate the group names.]. Module now pays attention to
- PAM_CRED_.. flag(!)
- * identified and removed bugs in field reading code of pam_time and
- (thus) pam_group.
- * Cristian's patches to pam_listfile module, corresponding change to
- documentation.
- * I've discovered &ero; for sgml!
- Added pam_time documentation to the admin guide.
- * added manual pages: pam.8, pam_start.2(=pam_end.2),
- pam_authenticate.2, pam_setcred.2, pam_strerror.2,
- pam_open_session.2(=pam_close_session.2) and pam_chauthtok.2 .
- * added new modules:
- - pam_mail (tells the user if they have any new mail
- and sets their MAIL env variable)
- - pam_lastlog (reports on the last time this user called
- this module)
- * new module hooks provided.
- * added a timeout feature to the conversation function in
- libpam_misc. Documented it in the application developers' guide.
- * fixed bug in pam_misc_paste_env() function..
- * slight modifications to wheel and rhosts writeup.
- * more security issues added to module and application guides.
- --
- Things present but not mentioned in previous release (sorry)
- * pam_pwdb module now resets the "last_change" entry before updating a
- password.
- --
- Sat Nov 30 19:30:20 PST 1996, Andrew Morgan <morgan@parc.power.net>
- * added environment handling to libpam. involved change to _pam_types.h
- also added supplementary functions to libpam_misc
- * added pam_radius - Cristian
- * slight speed up for pam_rhosts
- * significantly enhanced sys-admin documentation (8 p -> 41 p in
- PostScript). Added to other documentation too. Mostly the changes
- in the other docs concern the new PAM-environment support, there is
- also some coverage of libpam_misc in the App. Developers' guide.
- * Cristian's patches to pam_limits and pam_pwdb. Fixing bugs. (MORE added)
- * adopted Cristian's _pam_macros.h file to help with common macros and
- debugging stuff, gone through tree tidying up debugging lines to use
- this [not complete].
- - for consistency replaced DROP() with _pam_drop()
- * commented memory debugging in top level makefile
- * added the following modules
- - pam_warn log information to syslog(3) about service application
- - pam_ftp if user is 'ftp' then set PAM_RUSER/PAM_RHOST with password
- (comment about nologin added to last release's notes)
- * modified the pam_listfile module. It now declares a meaningful static
- structure name.
- Sun Nov 10 13:26:39 PST 1996, Andrew Morgan <morgan@parc.power.net>
- **PLEASE *RE*AMEND YOUR PERSONAL LINKS**
- -------> http://parc.power.net/morgan/Linux-PAM/index.html <-------
- **PLEASE *RE*AMEND YOUR PERSONAL LINKS**
- A brief summary of what has changed:
- * many modules have been modified to accomodate fixing the pam_get_user()
- change. Please take note if you have a module in this distribution.
- * pam_unix is now the pam_unix that Red Hat has been using and which
- should be fairly well debugged.
- - I've added some #ifdef's to make it compile for me, and also
- updated it with respect to the libpam-0.53, so have a look at the
- .../modules/pam_unix/Makefile to enable cracklib and shadow features
- ** BECAUSE OF THIS, I cannot guarantee this code works as it **
- ** did for Red Hat. Please test and report any problems. **
- * the pam_unix of .52 (renamed to pam_pwdb) has been enhanced and made
- more flexible with by implementing it with respect to the new
- "Password Database Library" see
- http://parc.power.net/morgan/libpwdb/index.html
- modules included in this release that require this library to
- function are the following:
- - pam_pwdb (ne pam_unix-0.52 + some enhancements)
- - pam_wheel
- - pam_limits
- - pam_nologin
- * Added some optional code for memory debugging. In order to support
- this you have to enable MEMORY_DEBUG in the top level makefile and
- also #define MEMORY_DEBUG in your applications when they are compiled.
- The extra code resides in libpam (compiled if MEMORY_DEBUG is defined)
- and the macros for malloc etc. are to be found at the end of
- _pam_types.h
- * used above code to locate two memory leaks in pam_unix module and two
- in libpam (pam_handlers.h)
- * pam_get_user() now sets the PAM_USER item. After reading the Sun
- manual page again, it was clear that it should do this. Various
- modules have been assuming this and now I have modified most of them
- to account for this change. Additionally, pam_get_user() is now
- located in the module include file; modules are supposed to be the
- ones that use it(!) [Note, this is explicitly contrary to the Sun
- manual page, but in the spirit of the Linux distribution to date.]
- * replaced -D"LINUX" with -D"LINUX_PAM" as this is more explicit and less
- likely to be confused with -D"linux".
- Also, modified the libpam #include files to behave more like the Sun
- ones #ifndef LINUX_PAM.
- * removed <bf/ .. / from documentation titles. This was not giving
- politically correct html..
- ----- My vvvvvvvvvvvvvvvvvvv was a long time ago ;*] -----
- Wed Sep 4 23:57:19 PDT 1996 (Andrew Morgan <morgan@physics.ucla.edu>
- 0. Before I begin, Linux-PAM has a new primary distribution site (kindly
- donated by Power Net Inc., Los Angeles)
- **PLEASE AMMEND YOUR PERSONAL LINKS**
- -------> http://www.power.net/morgan/Linux-PAM <-------
- **PLEASE AMMEND YOUR PERSONAL LINKS**
- 1. I'm hoping to make the next release a bug-fix release... So please find
- all the bugs(! ;^)
- 2. here are the changes for .52:
- * minor changes to module documentation [Incidently, it is now
- available on-line from the WWW page above]. More changes to follow in
- the next two releases. PLEASE EMAIL me or the list if there is
- anything that isn't clear!
- * completely changed the unix module. Now a single module for all four
- management groups (this meant that I could define all functions as
- static that were not part of the pam_sm_... scheme. AGM)
- - Shadow support added
- PASSWD - Elliot's account management included, and enhanced by Cristian Gafton.
- - MD5 password support added by Cristian Gafton.
- - maxtries for authentication now enforced.
- - Password changing function in pam_unix now works!
- Although obviously, I'm not going to *guarantee* it ;^) .
- - stole Marek's locking code from the Red Hat unix module.
- [ If you like you can #ifdef it in or out ... ]
- You can configure the module more from its Makefile in
- 0.52/modules/pam_unix/
- If you are nervous that it will destroy your /etc/passwd or shadow
- files then EDIT the 0.52/modules/pam_unix/pam_unix_pass.-c file.
- Here is the warning comment from this file...
- -------------8<-----------------
- /* <WARNING>
- *
- * Uncomment the following #define if you are paranoid, and do not
- * want to risk losing your /etc/passwd or shadow files.
- * It works for me (AGM) but there are no guarantees.
- *
- * </WARNING>
- */
- /* #define TMP__FILE */
- ------------->8-----------------
- *** If anyone has any trouble, please *say*. Your problem will be
- fixed in the next release. Also please feel free to scour the
- code for race conditions etc...
- [* The above change requires that you purge your /usr/lib/security
- directory of the old pam_unix_XXX.so modules: they will NOT be deleted
- with a 'make remove'.]
- * the prototype for the cleanup function supplied to pam_set_data used
- to return "int". According to Sun it should be "void". CHANGED.
- * added some definitions for the 'error_status' mask values that are
- passed to the cleanup function associated with each
- module-data-item. These numbers were needed to keep up with changing
- a data item (see for example the code in pam_unix/support.-c that
- manages the maximum number of retries so far). Will see what Sun says
- (current indications are positive); this may be undone before 1.0 is
- released. Here are the definitions (from pam_modules.h).
- #define PAM_DATA_SILENT 0x40000000 /* used to suppress messages... */
- #define PAM_DATA_REPLACE 0x20000000 /* used when replacing a data item */
- * Changed the .../conf/pam.conf file. It now points to the new
- pam_unix module for 'su' and 'passwd' [can get these as SimpleApps --
- I use them for testing. A more extensive selection of applications is
- available from Red Hat...]
- * corrected a bug in pam_dispatch. Basically, the problem was that if
- all the modules were "sufficient" then the return value for this
- function was never set. The net effect was that _pam_dispatch_aux
- returned success when all the sufficient modules failed. :^( I think
- this is the correct fix to a problem that the Red Hat folks had
- found...
- sopwith* Removed advisory locking from libpam (thanks for the POSIX patch
- goes to Josh Wilmes's, my apologies for not using it in the
- end.). Advisory locking did not seem sufficiently secure for libpam.
- Thanks to Werner Almesberger for identifying the corresponding "denial
- of service attack". :*(
- * related to fix, have introduced a lock file /var/lock/subsys/PAM
- that can be used to indicate the system should pay attention to
- advisory locking on /etc/pam.conf file. To implement this you need to
- define PAM_LOCKING though. (see .52/libpam)
- * modified pam_fail_delay() function. Couldn't find the "not working"
- problem indicated by Michael, but modified it to do pseudo-random
- delays based on the values indicated by pam_fail_delay() -- the
- function "that may eventually go away"... Although Sun is warming to
- the idea.
- * new modules include:
- pam_shells - authentication for users with a shell listed in
- /etc/shells. Erik Troan <ewt@redhat.com>
- pam_listfile - authentication based on the contents of files.
- Set to be more general than the above in the
- future. UNTESTED. Elliot Lee <@redhat.com>
- [Note, this module compiles with a non-trivial
- warning: AGM]
- Thu Aug 8 22:32:15 PDT 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * modified makefiles to take more of their installation instructions
- from the top level makefile. Desired for integration into the Debian
- distribution, and generally a good idea.
- * fixed memory arithmetic in pam_handlers
- -- still need to track down why failure to load modules can lead to
- authentication succeding..
- * added tags for new modules (smartcards from Alex -- just a promise
- at this stage) and a new module from Elliot Lee; pam_securetty
- * I have not had time to smooth out the wrinkles with it, but Alex's
- pam_unix modifications are provided in pam_unix-alex (in the modules
- directory) they will not be compiled by 'make all' and I can't even
- say if they do compile... I will try to look at them for .52 but, in
- the mean time please feel free to study/fix/discuss what is there.
- * pam_rhosts module. Removed code for manually setting the ruser
- etc. This was not very secure.
- * [remade .ps docs to be in letter format -- my printer complains
- about a4]
- Sunday July, 7 12:45:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * No longer accompanying the Linux-PAM release with apps installed.
- [Will provide what was here in a separate package.. (soon)
- lib Also see http://www.redhat.com/pam for some more (in .rpm form...)]
- * renamed libmisc to libpam_misc. It is currently configured to only compile
- the static library. For some strange reason (perhaps someone can
- investigate) my Linux 2.0.0 kernel with RedHat 3.0.3 system
- segfaults when I compile it to be a dynamic library. The segfault
- seems to be inside the call to the ** dl_XXX ** function...!?
- There is a simple flag in the libpam_misc/Makefile to turn on dynamic
- compiles.
- * Added a little unofficial code for delay support in libpam (will probably
- disappear later..) There is some documentation for it in the pam_modules
- doc now. That will obviously go too.
- * rewritten pam_time to use *logic* to specify the stringing together of
- users/times/terminals etc.. (what was there before was superficially
- logical but basically un-predictable!)
- * added pam_group. Its syntax is almost identical to pam_time but it
- has another field added; a list of groups to make the user a member
- of if they pass the previous tests. It seems to not co-exist too well
- with the groups in the /etc/group but I hope to have that fixed by
- the next release...
- * minor re-formatting of pam_modules documentation
- * removed ...// since it wasn't being used and didn't look like it
- would be!
- GCCSunday 23 22:35:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * The major change is the addition of a new module: pam_time for
- restricting access on terminals at given times for indicated users
- it comes with its own configuration file /etc/security/time.conf
- and the sample file simply restricts 'you' from satisfying the blank
- application if they try to use blank from any tty*
- * Small changes include
- - altered pam.conf to demonstrate above new module (try typing username: you)
- - very minor changes to the docs (pam_appl and pam_modules)
- Saturday June 2 01:40:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- *** PLEASE READ THE README, it has changed ***
- * NOTE, 'su' exhibits a "system error", when static linking is
- used. This is because the pam_unix_... module currently only has
- partial static linking support. This is likely to change on Monday
- June 3, when Alex makes his latest version availible. I will include
- the updated module in next release.
- changes for .42:
- * modified the way in which libpam/pam_modules.h defines prototypes for
- the pam_sm_ functions. Now the module must declare which functions it
- is to provide *before* the #include <security/pam_modules.h> line.
- (for contrasting examples, see the pam_deny and pam_rootok modules)
- This removed the ugly hack of defining functions that are never called
- to overcome warnings... This seems much tidier.
- insterted* updated the TODO list. (changed mailing list address)
- * updated README in .../modules to reflect modifications to static
- compliation protocol
- * modified the pam_modules documentation to describe this.
- * corrected last argument of pam_get_item( ... ) in
- pam_appl/modules.sgml, to "const void **".
- * altered GNU GPL's in the documentation, and various other parts of
- the distribution. *Please check* that any code you are responsible for
- is corrected.
- * Added ./Copyright (please check that it is acceptable)
- * updated ./README to make current and indicate the new mailing list
- address
- * have completely rewritten pam_filter. It now runs modular filter
- executables (stored in /usr/sbin/pam_filter/) This should make it
- trivial for others to write their own filters.. If you want yours
- included in the distribution please email the list/me.
- * changes to libpam; there was a silly bug with multiple arguments on a
- pam.conf line that was broken with a '\<LF>'.
- * 'su' rearranged code (to make better use of PAM)
- *Also* now uses POSIX signals--this should help the Alpha port.
- * 'passwd' now uses getlogin() to determine who's passwords to change.
- Sunday May 26 9:00:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * fixed module makefiles to create needed dynamic/static subdirectories
- Saturday May 25 20:30:27.8 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * LOTS has changed regarding how the modules/libpam are built.
- * Michael's mostly complete changes for static support--see below
- (Andrew got a little carried away and automated the static linking
- of modules---bugs are likely mine ;( )
- * Thanks mostly to Michael, libpam now compiles without a single warning :^]
- * made static modules/library optional.
- CFLAGS* added 'make sterile' to top level makefile. This does extraclean and remove
- * added Michael and Joseph to documentation credits (and a subsection for
- future documentation of static module support in pam_modules.sgml)
- * libpam; many changes to makefiles and also automated the inclusion of
- static module objects in pam_static.c
- * modified modules for automated static/dynamic support. Added static &
- dynamic subdirectories, as instructed by Michael
- * removed an annoying syslog message from pam_filter: "parent exited.."
- * updated todo list (anyone know anything about svgalib/X? we probably should
- have some support for these...)
- Friday May 24 16:30:15 EDT 1996 (Michael K. Johnson <johnsonm@redhat.com>)
- * Added first (incomplete) cut at static support.
- This includes:
- . changes in libpam, including a new file, pam_static.c
- . changes to modules including exporting struct of function pointers
- . static and dynamic linking can be combined
- . right now, the only working combinations are just dynamic
- linking and dynamic libpam.so with static modules linked
- into libpam.so. That's on the list of things to fix...
- . modules are built differently depending on whether they
- are static or dynamic. Therefore, there are two directories
- under each module directory, one for static, and one for
- dynamic modules.
- * Fixed random brokenness in the Makefiles. [ foo -nt bar ] is
- rather redundant in a makefile, for instance. Also, passing
- on the command line is broken because it cannot be
- overridden in any way (even adding important parts) in lower-level
- makefiles.
- * Unfortunately, fixing some of the brokenness meant that I used
- GNU-specific stuff. However, I *think* that there was GNU-specific
- stuff already. And I think that we should just use the GNU
- extensions, because any platform that GNU make doesn't port to
- easily will be hard to port to anyway. It also won't be likely
- passwd to handle autoconf, which was Ted's suggestion for getting
- around limitations in standard make...
- For now, I suggest that we just use some simple GNU-specific
- extensions.
- Monday May 20 22:00:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * added some text to pam_modules.sgml
- * corrected Marek's name in all documentation
- * made pam_stress conform to chauthtok conventions -- ie can now request
- old password before proceeding.
- * included Alex's latest unix module
- * included Al's + password strength checking module
- * included pam_rootok module
- * fixed too many bugs in libpam.. all subtly related to the argument lists
- or use of syslog. Added more debugging lines here too.
- * fixed the pam.conf file
- * deleted pam_test module. It is pretty old and basically superceeded
- by pam_stress
- Friday May 9 1:00:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * updated documentaion, added Al Longyear to credits and corrected the
- spelling of Jeff's name(!). Most changes to pam.sgml (even added a figure!)
- * new module pam_rhosts_auth (from Al Longyear)
- * new apps rlogind and ftpd (a patch) from Al.
- * modified 'passwd' to not call pam_authenticate (note, none of the
- modules respect this convention yet!)
- * fixed bug in libpam that caused trouble if the last line of a
- pam.conf file ends with a module name and no newline character
- * also made more compatable with documentation, in that bad lines in
- pam.conf are now ignored rather than causing libpam to return an
- error to the app.
- * libpam now overwrites the AUTHTOKs when returning from
- pam_authenticate and pam_chauthtok calls (as per Sun/RFC too)
- * libpam is now installed as libpam.so.XXX in a way that ldconfig can
- handle!
- Wednesday May 1 22:00:00 PST 1996 (Andrew Morgan <morgan@physics.ucla.edu>)
- * removed .../test directory, use .../examples from now on.
- * added .../apps directory for fully functional applications
- - the apps directory contains directories that actually contain the apps.
- the idea is to make application compilation conditional on the presence
- of the directory. Note, there are entries in the Makefile for
- 'login' and 'ftpd' that are ready for installation... Email me if
- you want to reserve a directory name for an application you are
- working on...
- * similar changes to .../modules makefile [entries for pam_skey and
- pam_kerberos created---awaiting the directories.] Email me if you
- want to register another module...
- * minor changes to docs.. Not really worth reprinting them quite yet!
- [save the trees]
- * added misc_conv to libmisc. it is a generic conversation function
- for text based applications. [would be nice to see someone create
- an Xlib and/or svgalib version]
- * fixed ctrl-z/c bug with pam_filter module [try xsh with the default
- pam.conf file]
- * added 'required' argument to 'pam_stress' module.
- * added a TODO list... other suggestions to the list please.
- Saturday April 7 00:00:00 PST 1996 ( Andrew Morgan <morgan@physics.ucla.edu> )
- * Alex and Marek please note I have altered _pam_auth_unix a little, to
- make it get the passwords with the "proper method" (and also fixed it
- to not have as many compiler warnings)
- * updated the conf/pam.conf file
- * added new example application examples/xsh.c (like blank but invokes
- /bin/sh)
- * Marc's patches for examples/blank.c (and AGM's too)
- * fixed stacking of modules in libpam/pam_handlers.c
- * fixed RESETing in libpam/pam_item.c
- * added new module modules/pam_filter/ to demonstrate the possibility
- of inserting an arbitrary filter between the terminal and the
- application that could do customized logging etc... (see use of
- bin/xsh as defined in conf/pam.conf)
- Saturday March 16 19:00:00 PST 1996 ( Andrew Morgan <morgan@physics.ucla.edu> )
- These notes are for 0.3 I don't think I've left anything important
- out, but I will use emacs 'C-x v a' next time! (Thanks Jeff)
- * not much has changed with the functionality of the Linux-PAM lib
- .../libpam
- - pam_password calls module twice with different arguments
- - added const to some of the function arguments
- - added PAM_MAX_MES_ to <security/_pam_types.h>
- - was a lot over zealous about purging old passwords...
- I have removed much of this from source to make it
- more compatible with SUN.
- - moved some PAM_... tokens to pam_modules.h from _pam_types.h
- (no-one should notice)
- * added three modules: pam_permit pam_deny pam_stress
- no prizes for guessing what the first two do. The third is
- a reasonably complete (functional) module. Is intended for testing
- applications with.
- * fixed a few pieces of examples/blank.c so that it works (with
- pam_stress)
- * ammended the documentation. Looking better, but suggestions/comments
- very welcome!
- Sunday March 10 10:50:00 PST 1996 ( Andrew Morgan <morgan@physics.ucla.edu> )
- These notes are for Linux-PAM release 0.21. They cover what's changed
- since I relased 0.2.
- * am now using RCS
- * substantially changed ./README
- * fixed bug reading \\\n in pam.conf file
- * small changes to documentation
- * added `blank' application to ./examples (could be viewed as
- a `Linux-PAM aware' application template.)
- * oops. now including pam_passwd.o and pam_session.o in pamlib.so
- * compute md5 checksums for all the source when making a release
- - added `make check' and `make RCScheck' to compute md5 checksums
- * create a second tar file with all the RCS files in.
- * removed the .html and .txt docs, supplying sgml sources instead.
- - see README for info on where to get .ps files
- Thursday March 6 0:44:?? PST 1996 ( Andrew Morgan <morgan@physics.ucla.edu> )
- These notes are for Linux-PAM release 0.2. They cover what's changed
- since Marc Ewing relased 0.1.
- **** Please note. All of the directories in this release have been modified
- **** slightly to conform to the new pamlib. A couple of new directories have
- **** been added. As well as some documentation. If some of your code
- **** was in the previous release. Feel free to update it, but please
- **** try to conform to the new headers and Makefiles.
- * Andrew Morgan (morgan@physics.ucla.edu) is making this release
- availible, Marc has been busy...!
- * Marc's pam-0.1/lib has been (quietly) enhanced and integrated into
- Alex Yurie's collected tree of library and module code
- (linux-pam.prop.1.tar.gz). Most of the changes are to do with error
- checking. Some more robustness in the reading of the pam.conf file
- and the addition of the pam_get_user() function.
- * The pam_*.h files have been reorganized to logically enforce the
- separation of modules from applications. [Don't panic! Apart from
- changing references of the form
- #include "pam_appl.h"
- to
- #include <security/pam_appl.h>
- The reorganization should be backwardly compatable (ie. a module
- written for SUN will be as compatable as it was before with the
- previous version ;)~ ]
- (All of the source in this tree now conforms to this scheme...)
- The new reorganization means that modules can be compiled with a
- single header, <security/pam_modules.h>, and applications with
- <security/pam_appl.h>.
- * I have tried to remove all the compiler warnings from the updated
- "pamlib/*.c" files. On my system, (with a slightly modified <dlfcn.h>
- email me if it interests you..) there are only two warnings that
- remain: they are that ansi does not permit void --> fn ptr
- assignment. K&Rv2 doesn't mention this....? As a matter of principle,
- if anyone knows how to get rid of that warning... please
- tell. Thanks! "-pedantic"
- * you can "make all" as a plain user, but
- * to "make install" you must be root. The include files are placed in
- /usr/include/security. The libpam.so library is installed in /usr/lib
- and the modules in /usr/lib/security. The two test binaries
- are installed in the Linux-PAM-0.2/bin directory and a chance is given to
- replace your /etc/pam.conf file with the one in Linux-PAM-0.2/conf.
- * I have included some documentation (pretty preliminary at the
- moment) which I have been working on in .../doc .
- I have had a little trouble with the modules, but atleast there are no
- segfaults! Please try it out and discuss your results... I actually
- hope it all works for you. But, Email any bugs/suggestions to the
- Linux-PAM list: linux-pam@mit.edu .....
- Regards,
- Andrew Morgan
- (morgan@physics.ucla.edu)
- Sat Feb 17 17:30:24 EST 1996 (Alexander O. Yuriev alex@bach.cis.temple.edu)
- * conf directory created with example of pam_conf
- * stable code from pam_unix is added to modules/pam_unix
- * test/test.c now requests username and password and attempts
- to perform authentication
|