2018-01-02  Sergey Poznyakoff  <gray@gnu.org>

	Version 2.2

2018-01-01  Sergey Poznyakoff  <gray@gnu.org>

	Happy GNU Year

2017-12-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	pam_fshadow: allow the user to use arbitrary group numbers for username and domain parts.

	New options username-index and domain-index are used to indicate
	indices of the parenthesized groups used to extract the user and
	the domain name. The default corresponds to 'user-index=1 domain-index=1'.

	Additionally, change the behavior in case if the user name doesn't
	match the regexp. Previous versions would fall back to plain authentication
	in this case. New behavior is to reject access.

	* pam_fshadow/pam_fshadow.c (pam_opt): New options
	username-index and domain-index.
	(pam_sm_authenticate): Move username splitting into a separate
	function.
	* doc/pam_fshadow.8in: Document the new options.

2015-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 2.1

2015-04-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	minor change

	Fix doc generation.

	Default Config file applied to all output formats, which is wrong.
	Use a dedicated configuration file for html output formats, and
	defaults for the rest.

	* doc/Makefile.am (GENDOCS): Add html-specific configuration file.
	* doc/Config: Rename to doc/html.init (with changes).

2015-03-01  Sergey Poznyakoff  <gray@gnu.org>

	Switch to Texinfo 5.0

	* doc/Config: Rewrite.
	* doc/Makefile.am: Use Makeinfo 5 instead of texi2htm
	* doc/gendocs_template: Ps is not built
	* imprimatur: Upgrade.

2015-02-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 2.0

	* NEWS: Update version number
	* configure.ac: Likewise.
	* doc/pam-modules.texi: Fix a typo.
	* doc/pam_ldaphome.8in: Likewise.
	* pamck/pamck.c: Update copyright years.

	* pam_fshadow/pam_fshadow.c: Suppress cc warnings.
	* pam_groupmember/pam_groupmember.c: Likewise.
	* pam_ldaphome/pam_ldaphome.c: Likewise.
	* pam_log/pam_log.c: Likewise.
	* pam_regex/pam_regex.c: Likewise.

2015-01-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Document user-keys-boundary

2015-01-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update copyright dates.

	pam_ldaphome: run initrc command as user.

	* examples/usergitconfig: Documentation formatting change.
	* lib/graypam.h (gray_2nrealloc): New function.
	* lib/mem.c (gray_2nrealloc): New function.
	* pam_fshadow/pam_fshadow.c (fgetpwent): Skip malformed entries.
	* pam_ldaphome/pam_ldaphome.c (runas): New finction.
	(run_prog): Switch to user privileges unless initrc-root is true.

	* NEWS: Update.
	* doc/pam-modules.texi: Update.
	* doc/pam_ldaphome.8in: Update.

2014-12-05  Sergey Poznyakoff  <gray@gnu.org>

	Build pam_fshadow even if fgetpwent is not defined.

	* configure.ac: Only check if fgetpwent is defined,
	don't disable the module if it is not.
	* pam_fshadow/pam_fshadow.c [!HAVE_FGETPWENT] (fgetpwent): Provide a
	replacement.

2014-12-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Implement audit option

	Audit is equivalent to debug=100, i.e. it enables logging
	maximum debugging output.

2014-09-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	pam_ldaphome: Make user-specific key boundary configurable.

	* pam_ldaphome/pam_ldaphome.c (store_pubkeys): Use the value of the
	user-keys-boundary option as the boundary of user-specific key section.

2014-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide a way to keep user-defined pubkeys in file.

	A user can add his public keys to the authorized_keys file without disturbing
	the key synchronization from the LDAP database.  The #:end comment in the file
	marks the end of area synchronized with LDAP.  Everything below this comment
	is preserved intact.

	* pam_ldaphome/pam_ldaphome.c (pubkeyfile): New struct.
	(pubkeyfile_open,pubkeyfile_read,pubkeyfile_init)
	(pubkeyfile_write,pubkeyfile_remove_lines)
	(pubkeyfile_alloc_lines,pubkeyfile_insert_lines)
	(pubkeyfile_close): New functions.
	(store_pubkeys): Use pubkeyfile functions to operate on
	the authorized_keys file.

2014-09-11  Sergey Poznyakoff  <gray@gnu.org>

	Bugfixes

	* pam_ldaphome/pam_ldaphome.c (check_groups): Take into account primary
	group.
	* doc/pam_regex.8: Fix escaping.

2014-07-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Improve docstrings in examples.

2014-07-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Implement TLS in perl utilities.

	Raise version number to 1.9.90

	pam_ldaphome: read /etc/ldap.conf file.

	* lib/env.c (gray_env_read_tr): New function.
	(gray_env_read): Rewrite using gray_env_read_tr.
	(gray_env_merge): New function.
	* lib/escape.c (gray_escape_string): Remove useless typecasts.
	* lib/graypam.h (gray_env_read_tr)
	(gray_env_merge): New protos.
	* pam_ldaphome/pam_ldaphome.c (ldap_config_name): New variable.
	(ldap_connect): Use 'ssl' keyword, if 'tls' is not defined.
	(ldaphome_main): New keyword ldap-config

	* doc/pam-modules.texi: Document reading system-wide ldap.conf
	* doc/pam_ldaphome.8in: Likewise.

2014-07-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	pam_ldaphome: provide an option to specify CA certificate file for TLS

	* pam_ldaphome/pam_ldaphome.c (ldap_connect): New option tls-cacert
	* doc/pam-modules.texi: Document tls-cacert
	* doc/pam_ldaphome.8in: Likewise.

2014-05-21  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.9

	* NEWS: Update version number.
	* configure.ac: Likewise.
	* doc/pam_ldaphome.8in: Reorder configuration statements.
	* pamck/pamck.c: Update copyright years.

2014-05-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix docs.

	* doc/Makefile.am (check-ldaphome-config): Take into account
	gray_env_get_bool (see 7636fa3e).
	* doc/pam-modules.texi: Update; final check.
	* NEWS: Update.

	Remove deprecated use of INCLUDES from Makefiles.

	* Make.rules: Use AM_CPPFLAGS instead of INCLUDES.
	* Makefile.am (SUBDIRS): Add examples.
	(dist-hook): Remove.
	* configure.ac: Build examples/Makefile.
	* examples/Makefile.am: New file.
	* pam_fshadow/Makefile.am: Include Make.rules on top.
	Use += to set AM_CPPFLAGS
	* pam_groupmember/Makefile.am: Likewise.
	* pam_ldaphome/Makefile.am: Likewise.
	* pam_log/Makefile.am: Likewise.
	* pam_regex/Makefile.am: Likewise.
	* pam_sql/Makefile.am: Likewise.
	* pam_umotd/Makefile.am: Likewise.

	Document the use of ldappubkey

2014-05-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	pam_ldaphome: don't run initrc program if the home dir already exists.

	* pam_ldaphome/pam_ldaphome.c (create_exists): New return code.
	(create_home_dir): Return create_exists if the directory already
	exists.
	(ldaphome_main): Run initrc only after creating the home dir.

	Version 1.8.93

2014-05-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	New utility "ldappubkey".

	* NEWS: Document new features.
	* doc/pam-modules.texi: Document usergitconfig.
	* doc/pam_ldaphome.8in: Update.
	* examples/ldappubkey: New file.
	* examples/usergitconfig: Refer to perldoc on error.
	* lib/env.c (gray_env_get_bool): New function.
	* lib/graypam.h (gray_env_get_bool): New proto.
	* pam_ldaphome/pam_ldaphome.c (import_public_key): Do nothing if
	"import-public-keys" is set to "no".
	(pam_sm_authenticate): New function.

2014-05-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Allow to modify environment of initrc-command

	* pam_ldaphome/pam_ldaphome.c (find_env,locate_unset)
	(env_concat,parsenv,env_setup): New statics.
	(run_prog): Use execve and env_setup to set up the
	environment.

	* doc/pam-modules.texi: Document new statements.
	* doc/pam_ldaphome.8in: Likewise.

	Minor fix

	* examples/usergitconfig: Use bindpw attribute.

2014-05-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	pam_ldaphome: optionally run external program after populating home directory.

	This allows for dynamic modifications of the initial directory contents,
	depending on the login name of the user.  The name of the external program
	is given with the initrc-command configuration statement.  It is invoked
	with the single argument, specifying the login name.  The standard input
	is closed, standard output is diverted to standard error.  Standard error
	can be diverted to a file using the initrc-log statement.

	* Makefile.am (EXTRA_DIST): Add examples.
	* examples/usergitconfig: New file.
	* pam_ldaphome/pam_ldaphome.c (run_prog, run_initrc): New statics.
	(pam_sm_authenticate): Call run_initrc prior to calling
	import_public_key.

2014-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	New module: pam_groupmember

	* Makefile.am: Add pam_groupmember.
	* configure.ac: Likewise.
	* NEWS: Update.

	* pam_groupmember/Makefile.am: New file.
	* pam_groupmember/pam_groupmember.c: New file,

	* doc/Makefile.am: Add pam_groupmember.8
	* doc/pam-modules.texi: Document pam_groupmember
	* doc/pam_groupmember.8: New file.

	* lib/graypam.h (gray_calloc, gray_strdup): New protos.
	* lib/mem.c (gray_calloc, gray_strdup): New functions.

2014-04-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Escape dashes in pam_ldaphome.8in

	Add pam_ldaphome(8) manpage.

2014-04-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix pam-modules.texi

	Add manpages; remove invariant sections from pam-modules.texi

2014-03-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix docs, raise version number to get in synch with the ftp.

	Bugfix.

	* lib/transform.c (gray_free_transform_expr): Fix the loop.

2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update copyright years, set version 1.7.92

	pam_ldaphome: control where home directories can be created

	* pam_ldaphome/pam_ldaphome.c (create_interdir): Fail if unable to chown,
	(store_pubkeys): Log error if fchown or ftruncate fails.
	(dir_in_path): New static function.
	(create_home_dir): Return enum create_status.
	If allow-home-dir statement is present, create directory only if
	it is located in one of the directories listed in it, otherwise
	return create_skip.
	(pam_sm_authenticate): Import keys only if home dir exists.
	* doc/pam-modules.texi: Document allow-home-dir.

2013-04-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfixes.

	* configure.ac: Do not call PM_ENABLE within a conditional.
	* pam_ldaphome/pam_ldaphome.c (import_public_key): Exit
	gracefully if keys == NULL.

2012-12-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Make pam_fshadow reentrant.

	* pam_fshadow/pam_fshadow.c (_pam_parse): Initialize global
	variables, in case pam_fshadow is called twice in the same
	stack. Do not register rexp in pam data, this hurts
	reentrability.
	(pam_sm_authenticate): Free rexp.

2012-08-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Improve pam_ldaphome

	New keywords: bindpwfile and keyfile-mode.

	* doc/pam-modules.texi: Document bindpwfile and keyfile-mode.
	* pam_ldaphome/pam_ldaphome.c (ldap_bind): Read password from
	file, if bindpwfile is given.
	(store_pubkeys): Optionally enforce file mode, given by the
	keyfile-mode configuration statement.
	* pamck/pamck.c (main): Fix a typo.

2012-07-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	Merge branch 'master' of ssh://git.gnu.org.ua/gitroot/pam-modules

2012-07-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Upgrade imprimatur.

2012-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 1.7.91

	Document pam_umotd.

	pam_umotd: control the LA value.

	* pam_umotd/pam_umotd.c: New option max-la.
	(pam_sm_open_session): Return PAM_IGNORE if the 5 minute LA
	is greater than the max-la value.

2012-07-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix the congfigure script.

	* acinclude.m4 (PM_ENABLE): Revamp. Change meaning of the second argument.
	* configure.ac: Reflect the above change.
	* pam_umotd/pam_umotd.c: Remove unused includes.

	Bugfixes.

	* acinclude.m4 (PM_ENABLE): Don't test $build_$1 variable
	before its initialization.
	* pam_umotd/pam_umotd.c: Remove unnecessary includes.
	(exec_file): Argv is not const.
	(pam_sm_open_session): PAM does not guarantee that
	argv[] is null-terminated. Create a null-terminated copy
	for use by exec_file.

	Bugfixes.

	* pam_umotd/pam_umotd.c (logfile_name): Static.
	(max_output_size): New variable.
	(pam_opt): New option max-size.
	(read_fd): Limit output size.
	(exec_file): Likewise.

	Update copyright years.

	Add pam_umotd module.

	* Makefile.am [PAM_COND_UMOTD] (UMOTD_DIR): New variable.
	(SUBDIRS): Add $(UMOTD_DIR).
	* configure.ac: Check for security/pam_ext.h.
	Add pam_umotd module.
	* lib/graypam.h (pam_opt_type)<pam_opt_rest>: New type.
	* lib/parseopt.c (gray_parseopt): Upon encoutnering pam_opt_rest parameter,
	stop further processing and return the index of the next argument.
	* pam_umotd/Makefile.am: New file.
	* pam_umotd/pam_umotd.c: New file.

2012-05-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfixes.

	* configure.ac: Version 1.7.90.
	* NEWS: Update.
	* doc/Makefile.am (EXTRA_DIST): Remove leftover files.
	* pam_ldaphome/pam_ldaphome.c (ldap_connect): Set LDAP version
	before enforcing TLS.

2012-05-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Enable fine-grained control over TLS.

	* doc/pam-modules.texi: Document new tls values.
	* pam_ldaphome/pam_ldaphome.c (ldap_connect): The tls
	keyword is tri-state.  Allowed values are: "yes", "no"
	and "only".

	Improve the docs.

	* doc/Makefile.am (check-all-options): Check ldaphome options.
	(check-ldaphome-config): New rule.
	(check-options): Add check-ldaphome-config.
	* doc/pam-modules.texi: Add missing documentation.

	Improve configuration for pam_ldaphome.

	* doc/pam-modules.texi: Document new configuration keywords.
	* pam_ldaphome/pam_ldaphome.c (get_intval): Take additional
	"base" argument. Return 1 if the requested keyword is not
	present in the database, -1 on error and 0 on success.
	(ldap_connect): Consult the "ldap-version" configuration
	variable for the LDAP version to use.
	(create_home_dir): Read mode for the home directory from
	the configuration variable "home-dir-mode".

2012-05-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Document pam-modules.texi

2012-05-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor improvements.

	* pam_ldaphome/pam_ldaphome.c (get_ldap_attrs): restore pubkey
	debug output.
	(pam_sm_authenticate): New keyword "authorized_keys"

2012-05-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Improve handling of multiple keys.

	* pam_ldaphome/pam_ldaphome.c (get_ldap_attrs): return array of values.
	(store_pubkeys): Fix key comparison.

	Allow for multiple authorized keys.

	* pam_ldaphome/pam_ldaphome.c (argcvz_free,trimnl): New functions.
	(get_ldap_attr): Trim trailing newlines from the return value.
	(ldap_search): Rename to get_pubkeys. Return null-terminated array
	of sorted lexicographically keys.
	(store_pubkey): Rename to store_pubkeys, take char ** as its
	first argument. Store all keys unless the file already contains
	exactly that set of keys.
	(import_public_key): Call store_pubkeys. Use argcvz_free to
	free the keys.

	Bugfixes.

	* pam_ldaphome/pam_ldaphome.c (argcv_free): Fix multiple free
	(argcv_concat): Fix overly conservative size calculation and
	concatenation loop.
	(parse_ldap_uri): Fix URI reconstruction.
	(dir_copy_loop): Remove unused variable.
	(store_pubkey): Return meaningful error code.
	(import_public_key): Propagate return code from store_pubkey.
	(create_home_dir): Return meaningful error code.
	(pam_sm_authenticate): Propagate return code from create_home_dir
	and import_public_key to the caller.
	* pam_log/Makefile.am: Remove BUILD_PAM_LOG substitution
	(complements 1a80b647).

	pam_ldaphome: implement populate_homedir.

2012-05-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Initialize submodules in autogen.sh

2012-05-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add a placeholder for pam_ldaphome documentation.

	Use imprimatur to maintain docs.

	Generate ChangeLog automatically from git log.

	Migrate to git.

	Fix a typo

	Revamp build system. Add pam_ldaphome module.

	* configure.ac: Test for ldap.
	(AC_OUTPUT): Create pam_ldaphome/Makefile.
	* acinclude.m4 (PM_ENABLE): Declare PAM_COND_<item>
	conditional in addition to BUILD_PAM_<item> substitution
	variable.
	* Makefile.am (SUBDIRS): Include most modules via
	conditionally defined Makefile variables.

	* lib/graypam.h (gray_env): New struct.
	(gray_env_get,gray_env_free,gray_env_read)
	(gray_boolean_true_p): New protos.
	* lib/env.c: New file.
	* lib/Makefile.am (libgraypam_la_SOURCES): Add env.c

	* pam_fshadow/Makefile.am: Remove BUILD_PAM_FSHADOW
	substitution.
	* pam_regex/Makefile.am: Remove BUILD_PAM_REGEX
	substitution.
	* pam_sql/pam_sql.c (free_config, boolean_true_p)
	(read_config): Remove. Use gray_env_* functions
	instead. All uses updated.
	* pam_regex/pam_regex.c: Fix typo.

	* pam_ldaphome/Makefile.am: New file.

2012-05-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Revamp build system. Add pam_ldaphome module.
	
	* configure.ac: Test for ldap.
	(AC_OUTPUT): Create pam_ldaphome/Makefile.
	* acinclude.m4 (PM_ENABLE): Declare PAM_COND_<item>
	conditional in addition to BUILD_PAM_<item> substitution
	variable.
	* Makefile.am (SUBDIRS): Include most modules via
	conditionally defined Makefile variables.
	
	* lib/graypam.h (gray_env): New struct.
	(gray_env_get,gray_env_free,gray_env_read)
	(gray_boolean_true_p): New protos.
	* lib/env.c: New file.
	* lib/Makefile.am (libgraypam_la_SOURCES): Add env.c
	
	* pam_fshadow/Makefile.am: Remove BUILD_PAM_FSHADOW
	substitution.
	* pam_regex/Makefile.am: Remove BUILD_PAM_REGEX
	substitution.
	* pam_sql/pam_sql.c (free_config, boolean_true_p)
	(read_config): Remove. Use gray_env_* functions
	instead. All uses updated.
	* pam_regex/pam_regex.c: Fix typo.

	* pam_ldaphome/Makefile.am: New file.

2011-09-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Allow installers to link modules with alternative crypt(3)
	implementations.
	
	* configure.ac: New option --with-crypt-lib.
	* README: Update.

2011-08-31  Sergey Poznyakoff  <gray@gnu.org.ua>

	Various bugfixes.
	
	* pam_fshadow/pam_fshadow.c (pam_sm_authenticate): Fix
	erroneous conditional, which allowed for logins with
	arbitrary passwords if `nopasswd' option was given.
	* lib/graypam.h (gray_free_transform_expr): New proto.
	* lib/transform.c (transform) <has_regex>: New member.
	(free_transform,free_segment): New statics.
	(gray_free_transform_expr): New function.
	* pam_regex/pam_regex.c (pam_sm_authenticate): Free slist and
	transform expression.

2011-04-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 1.7
	
	* configure.ac: Enable silent rules.
	Require autoconf 2.63, automake 1.11.
	* pam_log/pam_log.c: Suppress a gcc warning.
	* NEWS: Update.
	
2011-04-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Allow for the use of `CALL proc' in MySQL queries.

	* pam_sql/pam_mysql.c (flush_result): New static.
	(mysql_do_query): Call mysql_real_connect with the 
	CLIENT_MULTI_RESULTS flag.
	(check_query_result, mysql_setenv, gpam_sql_acct): Call flush_result
	after freeing the result.

2009-02-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor changes
	
	* pam_fshadow/pam_fshadow.c: Protect shadow-related code with
	ifdefs.
	* configure.ac: Check for shadow.h, struct spwd and fgetspent. Do
	not disable pam_fshadow.c if they are not present.

	Rewrite Makefile.am's in a clearer and simpler way
	
	* configure.ac: Require libtool 2.2.5a
	* Make.rules (.c.lo, .lo.la): Remove
	(AM_LDFLAGS, INCLUDES, LIBS): New assignments.
	* pam_sql/Makefile.am, pam_fshadow/Makefile.am,
	pam_sql/Makefile.am, pam_regex/Makefile.am,
	pam_log/Makefile.am: Rewrite.
	* pam_sql/pam_sql.h, pam_sql/pam_mysql.c, pam_sql/pam_pgsql.c.
	pam_sql/pam_sql.c: Rewrite.
	* pam_sql/sha1.h, pam_sql/md5.c, pam_sql/md5.h, pam_sql/sha1.c
	* pam_fshadow/pam_fshadow.c: New option [no]shadow
	* doc/pam-modules.texi: Update.

	* lib/graypam.h (gray_trim_ws): New proto
	* lib/strutil.c: New file.
	* lib/Makefile.am: Add strutil.c

2009-02-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	* pam_fshadow/Makefile.am: Build the module conditionally.
	* pam_regex/Makefile.am: Likewise.
	* pam_log/Makefile.am: Likewise.
	* NEWS, README: Update.
	* configure.ac: Raise version number to 1.5. Update bug-report
	address.
	Add options for disabling fshadow, log and regex.
	* acinclude.m4: Prefix all macros with PM_
	(PM_CHECK_LIB): Rewrite.

2008-03-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	* configure.ac, NEWS: Version 1.4
	* doc/pam-modules.texi: Update.
	* doc/macros.texi (opsummary,kwsummary): Remove anchor
	definitions, they cause grief in texi2html.

2008-03-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	* doc/pam-modules.texi: Improve docs.

	Documentation checking framework:
	
	* doc/macros.texi, doc/check-docs.sh, doc/mastermenu.el,
	doc/untabify.el, doc/rendition.texi: New files.
	* pam_regex/pam_regex.c: Remove useless use_authtok option.
	* pam_sql/pam_mysql.c, pam_sql/pam_pgsql.c,
	pam_sql/pam_sql.c: Pacify `make check-sql-config' in doc.
	* doc/Makefile.am: Add check-* rules.
	* doc/pam-modules.texi: Update.

	* configure.ac: Check for pam libraries and header files.
	* pam_sql/pam_mysql.c (mysql_setenv): Protect by #ifdef
	HAVE_PAM_MISC_SETENV.  Prevent coredumps on NULL values.
	* pam_sql/pam_pgsql.c (pgsql_setenv): Likewise.
	* pam_sql/Makefile.am (pam_mysql_la_LDADD,pam_pgsql_la_LDADD): Add
	@PAM_MISC@.
	* pam_sql/pam_sql.c (read_config): Read lines of arbitrary length.

	* pam_sql/pam_mysql.c, pam_sql/pam_pgsql.c: Implement `setenv'
	method.
	* pam_sql/pam_sql.c, pam_fshadow/pam_fshadow (_pam_get_password):
	Set PAM_AUTHTOK.

2008-03-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	* doc/pam-modules.texi: Update.

	* pam_fshadow/pam_fshadow.c, pam_sql/pam_mysql.c,
	pam_sql/pam_sql.c, pam_regex/pam_regex.c: Ensure passwords might
	get divulged only at debugging level 100.

2008-03-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add session management to pam_sql.

	* NEWS, configure.ac: Updated. Set version to 1.3.90.
	
	* lib/escape.c, lib/vartab.c: New files.
	* lib/graypam.h (gray_expand_argv)
	(gray_expand_string, gray_escape_string): New functions.
	(struct keyword): New declaration.
	(gray_find_keyword): New function.
	* lib/Makefile.am (libgraypam_la_SOURCES): Add vartab.c and
	escape.c.

	* pam_log/pam_log.c: Use gray_find_keyword and gray_expand_argv.
	
	* pam_sql/pam_mysql.c, pam_sql/pam_pgsql.c (verify_user_pass):
	Change signature.
	(sql_acct): New function.
	* pam_sql/pam_sql.c (verify_user_pass): Change signature.
	(_pam_parse): Initialize globals.
	(free_config): Reset config_env to NULL.
	(read_config): Set config_env to NULL.
	(get_query,get_query2): New functions.
	(pam_sm_authenticate): Call gray_pam_init, update call to
	verify_user_pass.
	(sql_session_mgmt,pam_sm_open_session,pam_sm_close_session): New
	functions. 

2008-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	* pam_regex/pam_regex.c (pam_opt): Fix a typo: rename "user_name"
	option to "user".
	(pam_sm_authenticate): Bugfix

2008-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
	
	-= Release 1.3 =- 

2008-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
	
	Initial framework for LDAP-style password hashes.
	
	* pam_sql/pam_mysql.c, pam_sql/pam_pgsql.c: Call
	gray_check_ldap_pass if configuration variable allow-ldap-pass is
	set.
	* lib/graypam.h (gray_base64_decode, gray_check_ldap_pass): New
	prototypes.
	* lib/Makefile.am (libgraypam_la_SOURCES): Add new files.
	* lib/sha1.h, lib/base64.c, lib/md5.c, lib/ldappass.c, lib/md5.h,
	lib/sha1.c: New files.

2008-03-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	* doc/Makefile.am: Use texi2html to produce html files.
	* doc/gendocs_template: Use latest version from Texinfo.

	-= Release 1.2 =-
	
	* lib/graypam.h: Minor change.
	* pam_sql/pam_pgsql.c (verify_user_pass): port is optional.
	Fix erroneous argument to PQsetdbLogin.
	* pam_sql/pam_sql.c (pam_opt): Bugfix.
	
	* doc/pam-modules.texi: Minor change.

	* NEWS, doc/pam-modules.texi: Document new regexp default for
	pam_fshadow.c 

	* lib/parseopt.c: New file.
	* lib/Makefile.am (libgraypam_la_SOURCES): Add parseopt.c
	* lib/graypam.h (gray_parseopt, gray_wait_debug_fun): New
	functions
	(CNTL_DEBUG_LEV, CNTL_SET_DEBUG_LEV): Removed.
	* lib/log.c (gray_wait_debug): New functions.
	* pam_fshadow/pam_fshadow.c, pam_sql/pam_sql.c,
	pam_regex/pam_regex.c, pam_log/pam_log.c: Use gray_parseopt for
	command line parsing.

2008-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	* configure.ac (PAM_COMMON_INCLUDES): Add -I${top_srcdir}/lib.
	(AC_OUTPUT): Add lib/Makefile.
	* doc/pam-modules.texi: Document `transform' option.
	* Make.rules: New file.

	* lib/mem.c, lib/slist.c, lib/log.c, lib/converse.c,
	lib/graypam.h, lib/Makefile.am, lib/transform.c.

	* pam_regex/pam_regex.c: Implement user name transformations.
	
	* pam_fshadow/Makefile.am, pam_sql/Makefile.am:
	Add ../lib/libgraypam.la to LDADD
	* pam_fshadow/pam_fshadow.c, pam_sql/pam_mysql.c,
	pam_sql/pam_pgsql.c, pam_sql/pam_sql.c: Use functions from ../lib.
	
2007-08-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	* pam_fshadow/Makefile.am, pam_regex/Makefile.am,
	pam_log/Makefile.am: Place INCLUDES in front of CPPFLAGS
	
	* pam_sql/Makefile.am: Place INCLUDES in front of CPPFLAGS
	(pam_mysql.la): Redo rule
	
	* pam_sql/sha1.h, pam_sql/sha1.c, pam_sql/md5.h, pam_sql/md5.c:
	Replace with another version 
	
	* pam_fshadow/pam_fshadow.c: Minor change
	* pam_sql/pam_mysql.c (sql_expand_query): Bugfix
	Implement pure md5 passwords
	(verify_user_pass): Lots of bugfixes
	* pam_sql/pam_sql.c (read_config): Lots of bugfixes
	(pam_sm_setcred,pam_sm_acct_mgmt): Add required functions
	
2007-08-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	* NEWS, configure.ac: Version 1.2
	
	* pam_fshadow/pam_fshadow.c: Include config.h and time.h
	* pam_sql/pam_mysql.c, pam_sql/pam_pgsql.c, pam_sql/pam_sql.c: Use
	_pam_log for diagnostics.
	* pam_regex/pam_regex.c (pam_sm_authenticate): Remove unused variable.
	* configure.ac: New option --enable-debug
	* common.c (wait_debug): Bugfix
	* pam_log/pam_log.c: Include ctype.h
	(parse_priority): Change return type.
	* pam_fshadow/Makefile.am, pam_log/Makefile.am,
	pam_regex/Makefile.am, pam_sql/Makefile.am: Use CPPFLAGS in cc rules.
	
2007-08-06  Sergey Poznyakoff  <gray@gnu.org.ua>

        Relicense under GPLv3.

2007-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	* NEWS: Update
	* configure.ac: Version 1.0.90
	* common.c: Include regex.h;
	(_cleanup_regex, make_str): New functions
	* doc/pam-modules.texi: Update
	* pam_fshadow/Makefile.am (pam_fshadow_la_LDADD): Add @LIBS@
	* pam_fshadow/pam_fshadow.c: Implement virtual domain
	authentication.
	* pam_regex/pam_regex.c (make_str): Moved to ../common.c
	* pam_sql/pam_sql.c (verify_user_pass): static

2006-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	* configure.ac: New option --without-sql

	* doc/pam-modules.texi: Updated
	* common.c: Moved here syslog-reporting and debugging functions
	* pam_fshadow/Makefile.am (AM_CPPFLAGS): Define MODULE_NAME
	* pam_log/Makefile.am: Likewise
	* pam_regex/Makefile.am: Likewise

	* pam_fshadow/pam_fshadow.c: Update
	* pam_regex/pam_regex.c: Update
	* pam_sql/pam_sql.c: Update

	* pam_sql/pam_mysql.c (sql_expand_query): Bugfix
	* pam_sql/pam_pgsql.c (sql_expand_query): Bugfix
	
	* pam_log/pam_log.c: Implemented
	
2006-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	* acinclude.m4: New file
	* common.c: New file
	* pam_log: New directory
	* pam_log/pam_log.c: New file
	* pam_log/Makefile.am: New file
	* pam_log/.cvsignore: New file
	
	* pam_sql: New directory
	* pam_sql/Makefile.am: New file
	* pam_sql/pam_mysql.c: New file
	* pam_sql/pam_pgsql.c: New file
	* pam_sql/pam_sql.c: New file
	* pam_sql/pam_sql.h: New file
	* pam_sql/sha1.c: New file
	* pam_sql/sha1.h: New file
	* pam_sql/.cvsignore: New file

	* Makefile.am (SUBDIRS): Add pam_log pam_sql
	* configure.ac: Add library versioning. Check for libmysqlclient
	and libpq. Create pam_log/Makefile and pam_sql/Makefile
	* pam_fshadow/Makefile.am, pam_regex/Makefile.am: Update
	* pam_fshadow/pam_fshadow.c, pam_regex/pam_regex.c: Include <common.c>

2006-09-04  Sergey Poznyakoff  <gray@gnu.org.ua>

	* pam_regex/pam_regex.c: New option 'user=[arg]'
	* doc/pam-modules.texi: Update
	
2005-08-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	* autogen.sh: Updated
	* pam_regex/pam_regex.c: Use stdarg.h
	(regex): Made const

	* NEWS: Updated
	* README: Updated
	* configure.ac: Change auxiliary directory to build-aux, change
	version number to 1.0, change bug report address.

	* doc: New directory
	* doc/Makefile.am: New file
	* doc/pam-modules.texi: New file
	* doc/gendocs_template: New file
	* doc/fdl.texi: New file
	* doc/.cvsignore: New file

	* configure.ac: Add doc/
	* Makefile.am: Likewise
	* pam_fshadow/pam_fshadow.c: Updated copyright statement
	* pam_regex/pam_regex.c: Likewise

2004-05-27  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* INSTALL: Removed
	* Makefile.in: Removed
	* pam_fshadow/Makefile.in: Removed
	* pam_regex/Makefile.in: Removed
	* .cvsignore: New file
	* pam_fshadow/.cvsignore: New file
	* pam_regex/.cvsignore: New file
	* pam_fshadow/pam_fshadow.c: Minor fixes.
	* README: Updated
	* autogen.sh: Updated
	
2004-02-09  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* Put the two modules in a single packet and imported them
	to CVS.

2001-09-22  Sergey Poznyakoff <gray@mirddin.farlep.net>
	
	First release. 
        


Local Variables:
mode: change-log
version-control: never
buffer-read-only: t
End:
