2008-07-29 nalin:
	* pam_krb5afs.c(pam_sm_authenticate): also catch #435168 in the
	use-first-pass case.
	
2008-03-11 nalin:
	* pam_krb5afs.c(pam_sm_authenticate): don't try to verify the creds
	that we get if we obtained them in order to start a password-change.
	If we successfully change the user's password, validate the TGT we
	obtain using the new password (Paul Batkowski, #435168).

2008-03-10 nalin:
	* README: note new SCM location
	* Makefile.in: update 'tag' and 'archive' targets to use new SCM

2007-03-29 nalin:
	* pam_krb5afs.c(pam_sm_authenticate): don't leak the writable copy of
	the user's name.
	* pam_krb5afs.c(pam_sm_authenticate): be certain we don't leak the
	stash if we don't save it for some reason.
	* pam_krb5afs.c(setcred_int): don't leak the config structure.
	* pam_krb5afs.c(pam_sm_chauthtok): don't leak the writable copy of the
	user's name.
	* pam_krb5afs.c(get_config): free some appdefault strings which we
	don't intend to save.
	* krb5conf.l: adjust whitspace.
	* krb5conf.y: free some tokens during parsing.
	* krb5conf.y: take a stab at freeing the parsed structure.
	* pam_krb5afs.c(get_config,pam_sm_authenticate): free the name of the
	default realm after we finish with it.
	* pam_krb5afs.c(pam_sm_chauthtok): don't bother constructing the name
	of a password-changing service: it's redundant.
	* pam_krb5afs.c(get_config): rework address list parsing.
	* pam_krb5afs.c(pam_sm_chauthtok): free result and result code
	strings, if we get some.  Log the debug message before we free the
	configuration.
	* pam_krb5afs.c(pam_sm_authenticate): fix a debug message.
	* tests/run-tests: exercise account management more often.
	* pam_krb5afs.c(pam_sm_acct_mgmt): log the debug message before we
	free the configuration.
	* pam_krb5afs.c(pam_sm_authenticate): store the names of the stashed
	structures with them, so that we can free them safely (should be at
	least part of #220278).  Store the code returned when we tried to get
	initial credentials.
	* autogen: use -fPIC everywhere.
	* krb5conf.l, krb5conf.y: rename yylineno to yylinenum to avoid
	conflicts.
	* pam_krb5afs.c(get_config): make uniform the order in which we
	might scan sources for configuration settings.
	* pam_krb5afs.c(pam_sm_acct_mgmt): if we authenticated the user,
	just translate the Kerberos error code which we saved earlier in
	order to determine what to return (#221552).
	* tests/config/kdc.conf.in: set v4_mode = full by default.

2006-01-23 nalin:
	* pam_krb5afs.c(pam_sm_setcred): rename to setcred_int() so that we
	can do proper debug logging and control whether or not we change the
	ownership of newly-created files.  Remove existing v5 or v4 files
	which were already created by the module before creating new ones.
	* pam_krb5afs.c(pam_sm_authenticate): use setcred_int() to avoid
	tripping over permissions problems.
	* pam_krb5afs.c(pam_prompt_for): rework to provide varargs
	functionality for the prompt text.
	* pam_krb5afs.c(pam_sm_authenticate,pam_prompter): use it.
	* pam_krb5afs.c(pam_sm_chauthtok): heed use_first_pass when reading
	the current password, use_authtok when reading the new password.  Don't
	leak the unparsed name.  Notify the user of why a change was rejected
	if that's what happened.

2006-01-16 nalin:
	* pam_krb5afs.c(parse_user_name): add, to override the local realm
	name with the configured realm before passing the user name to
	krb5_parse_name().  Replaces krb5_parse_name() wherever user names are
	passed in.

2005-11-04 nalin:
	* pam_krb5afs.c(safe_create): fix race condition reported by Thomas
	Biege (thomas@suse.de).  Don't bother prompting for a password in the
	try_first_pass case if we've determined that the user's key has expired.

2005-07-27 nalin:
	* pam_krb5afs.c: after checking for a previously-stored return code,
	return PAM_USER_UNKNOWN if none was stored.  Make xstrnlen() take an
	unsigned char string to reduce compile warnings.

2005-02-24 nalin:
	* pam_krb5afs.c: after changing the user's password, make sure that
	the TGT we obtain has the same flags as one we would have obtained had
	a password change not been needed.

2004-11-16 tmraz:
	* krb5conf.l: be more tolerant to contents of krb5.conf file
	
2004-09-13 nalin:
	* pam_krb5afs.c: call krb5_userok() during authentication as well
	(Douglas E. Engert).

2004-07-14 nalin:
	* pam_krb5afs.c: skip the krb5_kuserok() call in account management
	if we're skipping user checks -- krb5_kuserok fails if getpwnam() fails.

2004-05-07 nalin:
	* pam_krb5afs.c: return PAM_AUTHINFO_UNAVAIL if we can't resolve or
	reach the KDC.  Allocate twice as much space as we should need to for
	DES argument structures, in case weird run-time linking gives us the
	OpenSSL libcrypto DES functions instead of the libdes425 versions on
	an architecture where it matters.

2004-05-11 nalin
	* pam_krb5afs.c: specify a TGT instead of just NULL when obtaining
	credentials with the new password.

2004-03-12 nalin
	* configure.in: always link to libresolv if it exists

2004-03-12 nalin
	* configure.in: check for krb524_convert_creds_kdc correctly.
	* tests/config/kdc.conf.in: include des-cbc-crc:v4 so that v4 can be
	tested.
	* pam_krb5.spec: bump to version 1.72

2004-03-12 nalin
	* tests/run-tests: use expect when invoking kdb5_util to create
	databases.
	* tests/config/kdc.conf.in: set admin_keytab per-realm as well.

2004-03-11 nalin
	* pam_krb5.spec: bump to version 1.71

2004-03-11 nalin
	* pam_krb5afs.c: recognize bare boolean options as enabling them.
	* pam_krb5afs.c: recognize numeric options on the command line
	correctly.
	* pam_krb5afs.c: obtain v5 and v4 stash credentials with the new
	password after successful password change operations.
	* pam_krb5afs.c: don't warn about expired passwords if we were passed
	the "no_warn" option on the command line OR the PAM_SILENT flag was
	passed to the function (previously, only PAM_SILENT was honored).

2003-08-14 nalin
	* pam_krb5afs.c: fix a syntax error on systems which provide
	krb5_os_hostaddr, krb5_os_localaddr and so on.
	* pam_krb5.spec: bump to version 1.70

2003-08-14 nalin
	* configure.in: bail if krb5.h, pam_appl.h, or pam_modules.h aren't
	found.
	Check for et/com_err.h if com_err.h isn't found.
	Check for the existence of the internal timeout variables in libkrb5,
	which we shouldn't be touching (note: these bits are going to go away).
	Check for declarations of the krb5_os_hostaddr, krb5_os_localaddr, and
	krb5_copy_addr functions, because they may be internal to krb5
	depending on the version.
	* pam_krb5afs.c(get_config): wrap access to internal timeout variables
	in #ifdef blocks.
	* pam_krb5afs.c(pam_sm_chauthtok): just error out if
	krb5_change_password wasn't found at compile-time.
	* pam_krb5afs.c(validate_tgt): Don't compile in if we found
	krb5_verify_init_creds at compile-time.
	* krb5conf.y: fix declarations for various functions to quiet compiler
	warnings.
	* autogen: use autoreconf.
	* configure.in, Makefile.in: set up for running tests.
	* tests: pull up from HEAD.

Thu Jan 30 2003 Nalin Dahyabhai <nalin@redhat.com>
- Fix uninitialized pointer crash when we fail to retrieve cached return values.

Wed Jan 29 2003 Nalin Dahyabhai <nalin@redhat.com>
- Fix accidental double-free because libpam doesn't appear to make copies of
  the names for data items.

Fri Aug 23 2002 Nalin Dahyabhai <nalin@redhat.com>
- Update docs on the location of the anoncvs tree.
- Add warnings to the list of options we invoke $(CC) with.
- Use per-user stash and stored return value names.

Wed Aug  7 2002 Nalin Dahyabhai <nalin@redhat.com>
- Treat PAM_REFRESH_CRED like PAM_REINITIALIZE_CRED.  From Jason Heiss.

Fri May 24 2002 Nalin Dahyabhai <nalin@redhat.com>
- Fix a parser bug, pointed out by Balazs GAL.

Wed May 22 2002 Nalin Dahyabhai <nalin@redhat.com>
- Guess that the current cell name is the same as the realm name, lower-cased.

Fri Feb 15 2002 Nalin Dahyabhai <nalin@redhat.com>
- Update docs to give info about the account management function.

Mon Feb 11 2002 Nalin Dahyabhai <nalin@redhat.com>
- Add account management, which checks for key expiration and .k5login files.

Tue Sep 25 2001 Nalin Dahyabhai <nalin@redhat.com>
- Fix parsing of options which have multiple whitespace-separated values,
  like afs_cells.

Wed Sep  5 2001 Nalin Dahyabhai <nalin@redhat.com>
- Link with libresolv to get res_search, tip from Justin McNutt, who
  built it statically.
- Explicitly link with libdes425.
- Handle cases where getpwnam_r fails but still sets the result pointer.
- If use_authtok is given and there is no authtok, error out.

Mon Aug 27 2001 Nalin Dahyabhai <nalin@redhat.com>
- Set the default realm when a default realm is specified.

Thu Aug 23 2001 Nalin Dahyabhai <nalin@redhat.com>
- Only use Kerberos error codes when there is no PAM error yet.

Wed Aug 22 2001 Nalin Dahyabhai <nalin@redhat.com>
- Add minimum UID support. (#52358)
- Don't link pam_krb5 with libkrbafs; that dependency should only exist for
  pam_krb5afs.

Wed Aug 22 2001 Nalin Dahyabhai <nalin@redhat.com>
- Add minimum UID support (suggested by Matthew Miller).
- Don't link pam_krb5 with libkrbafs.
- Make all options in krb5.conf available as PAM config options.  This should
  make things more interesting.

Tue Jul 31 2001 Nalin Dahyabhai <nalin@redhat.com>
- Merge patch from Chris Chiappa for building with Heimdal.

Mon Jul 24 2001 Nalin Dahyabhai <nalin@redhat.com>
- Note that we had to prepend the current directory to a given path in
  dlopen.c when we had to (noted by Onime Clement).

Tue Jul 17 2001 Nalin Dahyabhai <nalin@redhat.com>
- Return PAM_NEW_AUTHTOK_REQD when attempts to get initial credentials
  fail with KRB5KDC_ERR_KEY_EXP (noted by Onime Clement).

Thu Jul 12 2001 Nalin Dahyabhai <nalin@redhat.com>
- Add info about accessing the CVS repository to the README.
- Parser cleanups (thanks to Dane Skow for a more complicated sample).

Fri Jul  6 2001 Nalin Dahyabhai <nalin@redhat.com>
- Don't set forwardable and assorted other flags when getting password-
  changing service ticket (noted, and fix supplied, by Onime Clement).
- Try __posix_getpwnam_r on Solaris before we try getpwnam_r, which may
  or may not be expecting the same number/type of arguments (noted by
  Onime Clement).
- Use krb5_aname_to_localname to convert the principal to a login name
  and set PAM_USER to the result when authenticating.
- Some autoconf fixes for failure cases.

Wed Jun 26 2001 Nalin Dahyabhai <nalin@redhat.com>
- Use krb5_change_password() to change passwords.

Tue Jun 12 2001 Nalin Dahyabhai <nalin@redhat.com>
- Use getpwnam_r instead of getpwnam when available.

Fri Jun  8 2001 Nalin Dahyabhai <nalin@redhat.com>
- Cleanup some autoconf checks.

Thu Jun  7 2001 Nalin Dahyabhai <nalin@redhat.com>
- Don't call initialize_krb5_error_table() or initialize_ovk_error_table()
  if they're not found at compile-time (reported for RHL 6.x by Chris Riley).

Thu May 31 2001 Nalin Dahyabhai <nalin@redhat.com>
- Note that [pam] is still checked in addition to [appdefaults].
- Note that AFS and Kerberos IV support requires working Kerberos IV
  configuration files (i.e., kinit -4 needs to work) (doc changes
  suggested by Martin Schulz).

Tue May 29 2001 Nalin Dahyabhai <nalin@redhat.com>
- Add max_timeout, timeout_shift, initial_timeout, and addressless options
  (patches from Simon Wilkinson).
- Fix the README to document the [appdefaults] section instead of [pam].
- Change example host and cell names in the README to use example domains.

Wed May  2 2001 Nalin Dahyabhai <nalin@redhat.com>
- Don't delete tokens unless we're also removing ticket files (report and
  patch from Sean Dilda).
- Report initialization errors better.

Thu Apr 26 2001 Nalin Dahyabhai <nalin@redhat.com>
- Treat semicolons as a comment character, like hash marks (bug reported by
  Greg Francis at Gonzaga University).
- Use the [:blank:] equivalence class to simplify the configuration file parser.
- Don't mess with the real environment.
- Implement mostly-complete aging support.

Sat Apr  7 2001 Nalin Dahyabhai <nalin@redhat.com>
- Tweak the man page (can't use italics and bold simultaneously).

Fri Apr  6 2001 Nalin Dahyabhai <nalin@redhat.com>
- Restore the default TGS value (#35015).

Wed Mar 28 2001 Nalin Dahyabhai <nalin@redhat.com>
- Fix a debug message.
- Fix uninitialized pointer error.

Mon Mar 26 2001 Nalin Dahyabhai <nalin@redhat.com>
- Don't fail to fixup the krb5 ccache if something goes wrong obtaining
  v4 credentials or creating a krb4 ticket file (#33262).

Thu Mar 22 2001 Nalin Dahyabhai <nalin@redhat.com>
- Fixup the man page.
- Log return code from k_setpag() when debugging.
- Create credentials and get tokens when setcred is called for REINITIALIZE.

Wed Mar 21 2001 Nalin Dahyabhai <nalin@redhat.com>
- Don't twiddle ownerships until after we get AFS tokens.
- Use the current time instead of the issue time when storing v4 creds, since
  we don't know the issuing host's byte order.
- Depend on a PAM development header again instead of pam-devel.

Tue Mar 20 2001 Nalin Dahyabhai <nalin@redhat.com>
- Add a separate config file parser for compatibility with settings that
  predate the appdefault API.
- Use a version script under Linux to avoid polluting the global namespace.
- Don't have a default for afs_cells.
- Need to close the file when we succeed in fixing permissions (noted by
  jlkatz@eos.ncsu.edu).

Mon Mar 19 2001 Nalin Dahyabhai <nalin@redhat.com>
- Use the appdefault API to read krb5.conf if available.
- Create v4 tickets in such a way as to allow 1.2.2 to not think there's
  something fishy going on.

Tue Feb 13 2001 Nalin Dahyabhai <nalin@redhat.com>
- Don't log unknown user names to syslog -- they might be sensitive information.

Fri Feb  9 2001 Nalin Dahyabhai <nalin@redhat.com>
- Handle cases where krb5_init_context() fails.

Wed Jan 17 2001 Nalin Dahyabhai <nalin@redhat.com>
- Be more careful around memory allocation (fixes from David J. MacKenzie).

Mon Jan 15 2001 Nalin Dahyabhai <nalin@redhat.com>
- No fair trying to make me authenticate '(null)'!

Wed Nov  7 2000 Nalin Dahyabhai <nalin@redhat.com>
- Only try to delete ccache files once.
- Ignore extra data in v4 TGTs, but do log it.
- Require "validate" to be true to try validating, and fail if validation fails.

Thu Aug 10 2000 Nalin Dahyabhai <nalin@redhat.com>
- Fix handing of null passwords.

Wed Jul  5 2000 Nalin Dahyabhai <nalin@redhat.com>
- Integrate some fixes for Solaris 7 from Trevor Schroeder (flock.c is
  entirely his).

Tue Jun 27 2000 Nalin Dahyabhai <nalin@redhat.com>
- Integrate Seth Vidal's "no_user_check" argument, so that non-privileged
  users (i.e., secure web servers) can also do checks.

Wed May 17 2000 Nalin Dahyabhai <nalin@redhat.com>
- Make errors chown()ing ccache files non-fatal if (getuid() != 0), suggested
  by Steve Langasek.

Mon May 15 2000 Nalin Dahyabhai <nalin@redhat.com>
- Attempt to get initial Kerberos IV credentials when we get Kerberos 5 creds

Thu Apr 20 2000 Nalin Dahyabhai <nalin@redhat.com>
- Chris Chiappa's modifications for customizing the ccache directory

Wed Apr 19 2000 Nalin Dahyabhai <nalin@redhat.com>
- Mark Dawson's fix for krb4_convert not being forced on when afs_cells defined

Thu March 23 2000 Nalin Dahyabhai <nalin@redhat.com>
- fix problem with leftover ticket files after multiple setcred() calls

Mon March 20 2000 Nalin Dahyabhai <nalin@redhat.com>
- add proper copyright statements
- save password for modules later in the stack

Fri March 03 2000 Nalin Dahyabhai <nalin@redhat.com>
- clean up prompter

Thu March 02 2000 Nalin Dahyabhai <nalin@redhat.com>
- add krbafs as a requirement

Fri February 04 2000 Nalin Dahyabhai <nalin@redhat.com>
- pick up non-afs PAM config files again

Wed February 02 2000 Nalin Dahyabhai <nalin@redhat.com>
- autoconf and putenv() fixes for broken apps
- fix for compressed man pages

Fri January 14 2000 Nalin Dahyabhai <nalin@redhat.com>
- fix stupid bug in password-changing
- add check that user exists in Kerberos before prompting to make password-
  changing sane for mixed environments

Thu January 6 2000 Nalin Dahyabhai <nalin@redhat.com>
- merge in spelling and other fixes from Michael K. Johnson
- modify to build both normal and AFS-aware version if krbafs.h is found

Fri December 31 1999 Nalin Dahyabhai <nalin@redhat.com>
- change to using ticket files created with mkstemp()

Tue December 28 1999 Nalin Dahyabhai <nalin@redhat.com>
- make setcred() return the same code as authenticate() to make sure that libpam
  walks the auth stack the same way for both functions

Wed December 22 1999 Nalin Dahyabhai <nalin@redhat.com>
- add man pages that don't mention AFS at all

Tue November 30 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- add linking with libcrypt, remove linking with libpam

Mon November 29 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- Make creating the Kerberos IV ticket a non-fatal error if there are problems.
- Add man pages.

Mon November 8 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- Clean up PAM_AUTHTOK_RECOVER{,Y}_ERR definition problems and Solaris LD flags.
  Problems spotted and solution proposed by Nitin Dahyabhai <nitind@pobox.com>.

Wed November 3 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- Massive restructuring and cleaning out of 1.0-specific code.

Mon October 4 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- Update for krb5 1.1 release

Mon July 26 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- Configure should die if krb5.h or krbafs.h isn't found (bfdimmic@eos.ncsu.edu)

Thu July 15 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- Added reason to authentication failure messages (wjlyerly@eos.ncsu.edu)
- Only prompt for second password if first password fails

Fri June 18 1999 Nalin Dahyabhai <nalin.dahyabhai@pobox.com>
- First public release.  Bwah-ha-ha-ha-ha-ha-ha!
