2009-07-24  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, configure.in: Prepare for the next release 4.1.4.2.
	* po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
	* po/*.po, man/po/*.po: Updated PO files.

2009-07-23  Nicolas François  <nicolas.francois@centraliens.net>

	* configure.in: Fixed definition of the SHELL configuration.

2009-07-23  Nicolas François  <nicolas.francois@centraliens.net>

	* etc/login.defs: SYS_GID_MIN /SYS_UID_MIN changed from 100 to
	101. GID 100 seems to be used statically.

2009-07-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/shell.c, src/su.c: Execute the scripts with "sh -"
	rather than "sh".

2009-07-22  Nicolas François  <nicolas.francois@centraliens.net>

	* configure.in, libmisc/shell.c, libmisc/setupenv.c, src/newgrp.c,
	src/su.c: Let the system shell be configurable.

2009-07-20  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/su.c, libmisc/shell.c: Added support for shells being a
	shell script without a shebang.

2009-07-19  Jean-Louis Dupond  <info@dupondje.be>

	* po/nl.po: Fix obvious mistake in Dutch translation.

2009-07-18  Peter Vrabec  <pvrabec@redhat.com>

	* NEWS, libmisc/find_new_gid.c, libmisc/find_new_uid.c: Do not use
	getpwent / getgrent for system accounts. Trying the low-IDs with
	getpwuid / getgrgid should be more efficient on LDAP configured
	systems with many accounts.
	* NEWS, libmisc/find_new_gid.c, libmisc/find_new_uid.c: Since
	system accounts are allocated from SYS_?ID_MIN to SYS_?ID_MAX in
	reverse order, accounts are packed close to SYS_?ID_MAX if
	SYS_?ID_MIN is already used but there are still dome gaps.

2009-07-05  Piarres Beobide  <pi+debian@beobide.net>

	* po/eu.po: Updated Basque translation.

2009-06-20  Nicolas François  <nicolas.francois@centraliens.net>

	* man/fi/Makefile.am: Stop distributing the Finnish translation of
	passwd.1 (outdated).

2009-06-20  Nicolas François  <nicolas.francois@centraliens.net>

	* man/pwck.8.xml: The shadow file is optional.
	* man/pwck.8.xml: Updated description of the checks. Added
	description of the shadow checks.
	* man/pwck.8.xml: Updated description of the checks.

2009-06-12  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/fr.po: Fixed typo (forunis)

2009-06-12  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/fputsx.c: Compare the result of fgets() with the provided
	buffer instead of NULL.

2009-06-12  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/gshadow.c: Removed limitation on the length of the gshadow
	lines.
	* lib/gshadow.c: Compare the result of fgetsx() with the provided
	buffer instead of NULL.

2009-06-11  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/xgetXXbyYY.c, libmisc/xgetpwnam.c, libmisc/xgetgrnam.c,
	libmisc/xgetpwuid.c, libmisc/xgetgrgid.c, libmisc/xgetspnam.c: Do
	not limit the size of the buffer to hold the group or user
	structure. It used to be limited to 16k, which caused issues with
	groups having many users.

2009-06-11  Nicolas François  <nicolas.francois@centraliens.net>

	* src/su.c, man/su.1.xml: The default behavior (without -p or
	--login) is to copy most of the environment variables. Revert a
	previous change and update the documentation.

2009-06-06  Nicolas François  <nicolas.francois@centraliens.net>

	* man/passwd.5.xml, man/shadow.5.xml: Document the passwd- and
	shadow- files.

2009-06-06  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/su.c: Preserve the DISPLAY and XAUTHORITY environment
	variables, even with --login. This was not the case before in the
	PAM version.

2009-06-06  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c, src/groupmod.c, src/groupadd.c, src/faillog.c:
	Fix typos. Take this opportunity to split the usage messages into
	smaller messages (one per option).
	* src/pwck.c: Fix typo.

2009-06-05  Petri Koistinen  <petri.koistinen@iki.fi>

	* man/passwd.1.xml: The short option for --mindays is -n, not -m.

2009-06-04  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore, man/.gitignore, src/.gitignore: Added .gitignore
	files.

2009-06-04  Nicolas François  <nicolas.francois@centraliens.net>

	* man/su.1.xml: Use <option> for the login.defs options.
	* man/su.1.xml: Improve the documentation of the su behavior
	regarding environment variables.
	* man/su.1.xml: Document that the login.defs file is used.

2009-06-04  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.1.xml: Document that the login.defs file is used.

2009-06-04  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.d/ENVIRON_FILE.xml: Document the format for
	comments.

2009-05-26  Nicolas François  <nicolas.francois@centraliens.net>

	* man/gpasswd.1.xml: Ease the translation of the refpurpose.
	* man/gpasswd.1.xml: Fix typo, shorten sentences.

2009-05-26  Nicolas François  <nicolas.francois@centraliens.net>

	* man/pwck.8.xml, man/grpck.8.xml: Move the SEE ALSO section at
	the end.

2009-05-25  Nicolas François  <nicolas.francois@centraliens.net>

	* src/vipw.c: Make sure opened files are closed.

2009-05-25  Nicolas François  <nicolas.francois@centraliens.net>

	* man/chpasswd.8.xml, man/grpck.8.xml, man/newgrp.1.xml,
	man/passwd.1.xml, man/sg.1.xml: Avoid a spurious comma.

2009-05-25  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS: New placeholder for the next release.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* po/fr.po: Updated French translation.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS: Prepare the next release.
	* po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
	* po/*.po, man/po/*.po: Updated PO files.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* man/passwd.1.xml: passwd -u does not reset the expiry field.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/fr.po: Updated some strings.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/newgrp.c: Return the exit status of the child. Thanks
	to Lionel Elie Mamane.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/usermod.c: Added warnings for absolute symlinks which could
	be broken by rename().

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/userdel.c: Report errors to remove the user's mailbox.
	* NEWS, src/userdel.c: When USERGROUPS_ENAB is enabled, remove the
	user's group when the user was the only member. This is still not
	complete, as the user could have been specified twice in the
	members.
	* NEWS, src/userdel.c: Do not fail when -r is used and the home
	directory does not exist.

2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/copydir.c: Added warning for relative symlinks.
	* libmisc/copydir.c (remove_tree): There is no need to check if
	the root argument exist. opendir() will report this.

2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>

	* man/faillog.8.xml: Minor updates.

2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>

	* man/faillog.5.xml: Split a long paragraph. Typo fixes.

2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>

	* man/gpasswd.1.xml: Minor updates.

2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>

	* man/gshadow.5.xml: Updated documentation.

2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml, man/userdel.8.xml, man/useradd.8.xml:
	Harmonize formatting of login.defs and default/useradd variables.
	Use an <option> tag.
	* man/usermod.8.xml: Added reference to gshadow(5).
	* man/login.defs.d/USERDEL_CMD.xml: Shorten the lines of the
	USERDEL_CMD example.

2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>

	* src/su.c: Use a boolean instead of 0.

2009-05-20  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: Fixed typos.

2009-05-20  Nicolas François  <nicolas.francois@centraliens.net>

	* configure.in: Next version will be 4.1.4.1.

2009-05-20  Nicolas François  <nicolas.francois@centraliens.net>

	* man/newusers.8.xml: Added notes regarding the ownership of
	files.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupmod.8.xml: Split the -g option description into smaller
	paragraphs.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: Ownership of the mailbox is also changed with
	the -u option.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/useradd.8.xml: When no passwords are provided, the password
	is disabled, not the account.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/newusers.8.xml, man/chpasswd.8.xml, man/useradd.8.xml,
	man/groupadd.8.xml, man/usermod.8.xml, man/chgpasswd.8.xml,
	man/groupmod.8.xml: Added warning: passwords set with these tools
	may not respect the password policy.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupadd.8.xml: Fixed formatting issue.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/userdel.8.xml: Added warning for files that could remain
	owner by the removed user.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/useradd.8.xml: Fix formatting typo.

2009-05-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupdel.8.xml: Move the warning on filesystems checks to
	the CAVEAT section.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.d/GID_MAX.xml: Fixed typo. useradd was specified
	twice.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupadd.8.xml, man/useradd.8.xml: names may also contain
	digits.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/shadow.5.xml: What is important in shadow is not the
	encryption, but that the file is not world readable.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/fr.po: Updated French translation. Thanks to ABBAS
	Belkacem for the login.defs update.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: Split the CAVEAT section in paragraphs.
	Updated information on the user_busy check.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/userdel.8.xml: Document tat -f may force teh deletion of a
	busy user.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/usermod.c: Check if the user is busy when the user's
	UID, name or home directory is changed.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* src/userdel.c, libmisc/user_busy.c, libmisc/Makefile.am,
	lib/prototypes.h: Move user_busy() to libmisc/user_busy.c.
	* NEWS, libmisc/user_busy.c: On Linux, do not check if an user is
	logged in with utmp, but check if the user is running some
	processes. If not on Linux, continue to search for an utmp record,
	but make sure the process recorded in the utmp entry is still
	running.

2009-05-18  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: Document the -m/--move-home option.

2009-05-17  Nicolas François  <nicolas.francois@centraliens.net>

	* src/userdel.c (user_busy): Check if the process registered in
	utmp is still running. This avoids rejecting the removal of an
	user when UTMP was not updated and indicate that the user is still
	logged in.

2009-05-16  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, libmisc/console.c (console): Remove the leading /dev/ from
	the tty before comparing with the lines specified by CONSOLE.
	* src/su.c: Do not remove the /dev/ prefix since it is done by
	console().

2009-05-16  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.d/CONSOLE.xml: Document the format of the CONSOLE
	file.

2009-05-16  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/login.c: Fix failure of non PAM enabled versions when
	an empty username is entered after a first prompt.

2009-05-16  Nicolas François  <nicolas.francois@centraliens.net>

	* src/passwd.c: Added missing end of line at the end of success
	messages.

2009-05-16  sacha  <sachall@infonie.fr>

	* po/fr.po: Fixed typo in the vipw usage string.

2009-05-12  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/shell.c: Removed invalid code that executed the user's
	shell as a shell script when the direct execution of the user's
	shell failed with ENOEXEC and the user's shell has a shebang. The
	interpreter might not be the right one.  Executing the user's
	shell with sh -c might be better, but I'm not sure we should try
	harder when there is a failure. Note: the removed code was only
	included #ifndef __linux__.

2009-05-12  Nicolas François  <nicolas.francois@centraliens.net>

	* man/userdel.8.xml: The USERGROUPS_ENAB group may not be removed
	when the group is used by other users, not the user.

2009-05-12  Nicolas François  <nicolas.francois@centraliens.net>

	* src/userdel.c, man/login.defs.d/USERDEL_CMD.xml: Move the
	USERDEL_CMD script example from the source code to the
	documentation.

2009-05-11  Nicolas François  <nicolas.francois@centraliens.net>

	* man/newusers.8.xml: PAM enabled version: describe how passwords
	are updated and how newusers behave in case of error.

2009-05-10  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, configure.in: New release will be 4.1.4.
	* po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
	* po/*.po, man/po/*.po: Updated PO files.

2009-05-10  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/copydir.c: Added prototype of readlink_malloc(), and
	readlink_malloc() changed to static.

2009-05-10  Nicolas François  <nicolas.francois@centraliens.net>

	* src/su.c: Avoid redeclaration of root_pw.

2009-05-10  NAKANO Takeo  <nakano@webmasters.gr.jp>

	* po/ja.po: Updated Japanese translation.

2009-05-10  Jean-Luc Coulon (f5ibh)  <jean-luc.coulon@wanadoo.fr>

	* po/fr.po: Updated French translation.

2009-05-10  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.c: Avoid PATH_MAX. On glibc, we can use realpath
	with a NULL argument.
	* src/useradd.c: Replace PATH_MAX by a fixed constant. The buffer
	was not meant as a storage for a path.
	* src/useradd.c, src/newusers.c, src/chpasswd.c: Better detection
	of fgets errors. Lines shall end with a \n, unless we reached the
	end of file.
	* libmisc/copydir.c: Avoid PATH_MAX. Support file paths with any
	length. Added readlink_malloc().

2009-05-09  Nicolas François  <nicolas.francois@centraliens.net>

	* src/pwck.c: Warn if an user has an entry in passwd and shadow,
	and the password field in passwd is not 'x'.
	* src/grpck.c: Warn if a group has an entry in group and gshadow,
	and the password field in group is not 'x'.

2009-05-09  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.d/ENCRYPT_METHOD.xml,
	man/login.defs.d/MD5_CRYPT_ENAB.xml,
	man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml: Updated note for PAM
	enabled versions. These variables are only used for group
	passwords in this case.

2009-05-09  Nicolas François  <nicolas.francois@centraliens.net>

	* man/chpasswd.8.xml: Sorted options alphabetically.

2009-05-09  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/newusers.c, src/Makefile.am: Added support for
	changing the passwords with PAM.
	* src/newusers.c: Split the usage string in smaller parts to
	allow enabling single parts.
	* man/newusers.8.xml: Indicate the options and configuration
	variables valid for PAM and non-PAM versions.
	* man/newusers.8.xml: Added pointer to /etc/pam.d/chpasswd.

2009-05-09  Nicolas François  <nicolas.francois@centraliens.net>

	* src/userdel.c: Remove duplicate definitions of exit codes.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/non_interactive_pam_conv.c,
	libmisc/pam_pass_non_interractive.c, libmisc/Makefile.am: Renamed.
	* libmisc/pam_pass_non_interractive.c, lib/prototypes.h:
	non_interactive_password and non_interactive_pam_conv do not need
	to be externally visible.
	* libmisc/pam_pass_non_interractive.c: Added declaration of
	ni_conv.
	* libmisc/pam_pass_non_interractive.c: Only compile ifdef USE_PAM.
	* libmisc/pam_pass_non_interractive.c, lib/prototypes.h:
	Added do_pam_passwd_non_interractive().
	* src/chpasswd.c: Use do_pam_passwd_non_interractive().

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/pam_pass.c: Removed comment regarding pam_misc. This is
	checked by configure.in.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.5.xml: PAM enabled chpasswd do not use any
	configuration variable from login.defs.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* man/passwd.1.xml: Differentiate the files used for PAM and
	non-PAM versions.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* man/chpasswd.8.xml: Describe how chpasswd behaves in case of error.
	* man/chpasswd.8.xml: Describe the PAM enabled chpasswd behavior.
	* man/chpasswd.8.xml: Differentiate the files and configurations
	used for PAM and non-PAM versions.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: failcount does not need to be signed.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* src/Makefile.am: PAM enabled chpasswd now needs to be linked to
	the PAM library, even if --enable-account-tools-setuid is not
	used.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* src/chpasswd.c: Added the line number when an error is reported
	instead of only the username.
	* src/chpasswd.c: PAM enabled chpasswd may change the password
	database (for the user where the password update succeeded) even
	if there were a failure for one user. Do not indicate that changes
	were ignored.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* src/passwd.c: Exit immediately when unlocking a password would
	result in a passwordless account. This avoid printing a success
	message after the warning.

2009-05-07  Nicolas François  <nicolas.francois@centraliens.net>

	* src/nologin.c: Include <stdlib.h> to get EXIT_FAILURE.

2009-05-04  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, configure.in: Fix build failure on non-PAM enabled system
	when --without-pam is not specified.

2009-04-30  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.c: Ignore teh return values of fclose() and
	unlink() in case of failure of fopen_set_perms() or
	create_backup().
	* lib/commonio.c: Should the backup file be unlink'ed in case of
	failure of create_backup()?

2009-04-30  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/getulong.c: Added splint annotations.

2009-04-30  Nicolas François  <nicolas.francois@centraliens.net>

	* src/newgrp.c, src/chfn.c, src/groupmems.c, src/usermod.c,
	src/userdel.c, src/chpasswd.c, src/grpck.c, src/gpasswd.c,
	src/groupdel.c, src/chgpasswd.c, src/vipw.c, src/useradd.c,
	src/su.c, src/groupmod.c, src/passwd.c, src/pwck.c,
	src/groupadd.c, src/chage.c, src/login.c, src/faillog.c,
	src/sulogin.c, src/chsh.c, src/pwconv.c: Added splint annotations.
	* src/userdel.c, src/pwconv.c, src/lastlog.c, src/grpck.c,
	src/vipw.c, src/groupmod.c, src/passwd.c, src/pwck.c, src/login.c,
	src/sulogin.c, src/usermod.c: Use return instead of exit at the
	end of main().
	* src/gpasswd.c, src/passwd.c, src/faillog.c: Use the exitcodes.h
	exit codes.
	* src/chpasswd.c: Added missing ||.
	* src/nologin.c: Do not include exitcodes.h.
	* src/nologin.c: Added brackets.
	* src/nologin.c: Avoid assignments in comparisons.

2009-04-30  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/getgr_nam_gid.c, lib/get_gid.c, lib/get_pid.c,
	lib/get_uid.c: Added splint annotations.

2009-04-30  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/exitcodes.h: Define E_SUCCESS as EXIT_SUCCESS. Added FIXMEs.
	* libmisc/chowntty.c, libmisc/rlogin.c, libmisc/sub.c,
	src/newusers.c, libmisc/sulog.c, libmisc/system.c, src/logoutd.c,
	src/groups.c, src/id.c, lib/encrypt.c, libmisc/audit_help.c,
	libmisc/limits.c: Return EXIT_FAILURE instead of 1, and
	EXIT_SUCCESS instead of 0.
	* libmisc/audit_help.c: Replace an fprintf() by fputs().
	* libmisc/audit_help.c: Remove documentation of the audit_logger
	returned values. The function returns void.
	* libmisc/system.c: Only return status if waitpid succeeded.
	Return -1 otherwise.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/chpasswd.c: Added support for changing the passwords
	with PAM.
	* src/chpasswd.c: Split the usage string in smaller parts to
	allow enabling single parts.
	* src/chpasswd.c: Do not set a global lock on the password files.
	This is done by PAM each time a password is updated.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/defines.h: Include <utmpx.h> and <utmp.h> to define
	USER_NAME_MAX_LENGTH.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Change a snprintf() to strncpy(). There are no
	format.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* src/passwd.c: Harmonize status report at the end of passwd.
	Prefix the messages with "passwd: ", only indicate a password
	change if the password was actually changed, and password
	properties changed otherwise.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* src/chgpasswd.c, src/newusers.c: There is no need to test for 0
	after getopt_long. No options have flag != NULL.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/prototypes.h: Replace #if by #ifdef
	* libmisc/Makefile.am, lib/prototypes.h,
	libmisc/non_interactive_pam_conv.c: Added
	non_interactive_pam_conv() and non_interactive_password.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c, src/userdel.c, src/logoutd.c: Replace #if by #ifdef

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* src/vipw.c: Harmonize messages.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* src/lastlog.c: Replace atoi() by getulong().

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/failure.h: Replace HAVE_UTMPX_H by USE_UTMPX.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/rlogin.c: Replace atoi() by getulong().

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/failure.c: Replace HAVE_UTMPX_H by USE_UTMPX.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/chkname.c: Do not include <utmp.h> and <utmpx.h>. There
	are no more needed.

2009-04-28  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/limits.c: Replace strtol() by getlong().
	* libmisc/limits.c: Replace HAVE_UTMPX_H by USE_UTMPX.

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupmod.8.xml, man/usermod.8.xml, man/groupadd.8.xml,
	man/useradd.8.xml: Added note to warn about insecurity in using
	--password.
	* man/groupmod.8.xml: Removed not regarding default if --password
	is not used. This was a cut&paste from groupadd.8.xml.
	* man/passwd.1.xml: Split some paragraphs.
	* man/passwd.1.xml: Recommend other encryption methods than DES.

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Move update_utmp() after the PID or session ID
	changed in order to get more accurate data in UTMP. This also
	fixes "exec login" when login in installed setuid.

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Reuse a string and avoid an untranslated message
	"Login incorrect".

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Replace HAVE_UTMPX_H by USE_UTMPX.
	* src/login.c: Avoid name clash between global variables and the
	update_utmp() arguments.

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* src/groupadd.c, lib/commonio.c, lib/groupio.c: Added missing
	include of <assert.h>

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/prototypes.h: Replace HAVE_UTMPX_H by USE_UTMPX.
	* lib/prototypes.h, libmisc/log.c: Added splint annotations.
	* libmisc/log.c: Added SYSLOG warning when lseek fails (should not
	happen).

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/mail.c, libmisc/copydir.c: Added missing include of
	<assert.h>

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/env.c: Added assertions on the snprintf results.

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, configure.in: Added configure option --enable-utmpx,
	disabled by default. This defines USE_UTMPX, which should be used
	instead of HAVE_UTMPX_H.
	* libmisc/utmp.c: Replace HAVE_UTMPX_H by USE_UTMPX.
	* libmisc/utmp.c: Removed old comment on HAVE_STRUCT_UTMP_UT_ID
	and UTMPX support.

2009-04-27  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/fr.po: Fix typo.

2009-04-26  Nicolas François  <nicolas.francois@centraliens.net>

	* src/newgrp.c: Close the databases before changing the UDI and
	GID.

2009-04-26  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/myname.c: Updated splint annotations.

2009-04-26  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.c: Added splint annotations.
	* lib/commonio.c: old_context should be local to commonio_close(),
	not global.

2009-04-26  Nicolas François  <nicolas.francois@centraliens.net>

	* src/passwd.c: Do not freecon strings duplicated with strdup.
	Also avoid allocation of memory.
	* src/passwd.c: Use SYSLOG instead of syslog.

2009-04-25  Miroslav Kure  <kurem@upcase.inf.upol.cz>

	* po/cs.po: Updated to 352T7f8u

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.h, lib/commonio.c: Added splint annotations.
	* lib/commonio.c: Do not assumes eptr is always notnull.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, po/pt.po: Updated Portuguese translation.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/copydir.c: Added splint annotations.
	* libmisc/copydir.c: Added assert to help splint.
	* libmisc/copydir.c: Free allocated structures in cas of failure.
	* libmisc/copydir.c: Avoid implicit conversion of pointers to
	booleans.
	* libmisc/copydir.c: Use buffers of size PATH_MAX instead of 1024
	for filenames.
	* libmisc/copydir.c: Use fchmod and fchown to change the mode of
	the opened file.
	* libmisc/copydir.c: Indicate the mode to open(), even if we chmod
	later.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/prototypes.h: Added prototypes of getulong() and get_pid().
	* lib/prototypes.h: Added splint annotations.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.c: Use get_pid() instead of strtol.
	* lib/commonio.c: Replace an int by a size_t.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.h: Added splint annotations.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/sgroupio.c: Free allocated structures on failure.
	* lib/sgroupio.c: Added splint annotations.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/Makefile.am, lib/get_pid.c, lib/getulong.c: Added get_pid()
	and getulong().

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/getlong.c: Do not check for NULL string but empty string.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/groupio.c: Updated splint annotations.
	* lib/groupio.c: Added assert to help splint.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c: Check assumptions on snprintf().
	* src/useradd.c: Replace peror by an strerror and avoid an
	intermediate buffer.
	* src/useradd.c: Save errno between the failure and the report by
	perror/strerror.
	* src/useradd.c: Prefer xmalloc to malloc.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* src/lastlog.c: Remove function calls from within assert().

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/obscure.c: Change some int to size_t.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/console.c: Use a less disturbing construct for splint.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/limits.c: Parse the limits, umask, nice, maxlogin, file
	limit with getlog() / getulong(). This also means, in case of
	non-PAM enabled systems, that the umask specified on the GECOS
	fields should start with a 0 if specified in octal. (it used to be
	force to octal). Do the appropriate cast and range checking.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/salt.c: In case gettimeofday() fails, get some entropy
	from the PID.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/setupenv.c: Prefer snprintf to sprintf, even if a small
	context indicates no issues.
	* libmisc/setupenv.c: Avoid implicit conversion of pointers to
	booleans.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/loginprompt.c: Prefer snprintf to sprintf, even if a
	small context indicates no issues.

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* src/faillog.c: Remove function calls from within assert().

2009-04-25  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/mail.c: Ignore the return value of puts().
	* libmisc/mail.c: Prefer snprintf to sprintf, even if a small
	context indicates no issues.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.c, lib/commonio.h, lib/groupio.c, lib/groupio.h,
	lib/pwio.c, lib/pwio.h, lib/shadowio.c, lib/shadowio.h: Added
	splint annotations. The *_locate() and *_next() functions
	currently return an observer. As the structure are often modified
	by the caller, it could maybe be changed to exposed later. (and
	non-const)

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/pwauth.c: Use a boolean for wipe_clear_pass and use_skey.
	* lib/pwauth.c: Added splint annotations.
	* lib/pwauth.c: Added brackets and parenthesis.
	* lib/pwauth.c: Avoid assignments in comparisons.
	* lib/pwauth.c: Avoid implicit conversion of pointers or
	characters to booleans.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/groupmod.c: Cast ID to ulongs and use ulong formats for IDs.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/newgrp.c: Added splint annotations.
	* src/newgrp.c: audit_buf is only used in newgrp. Make it static.
	* src/newgrp.c: Ignore the return value of fputs().
	* src/newgrp.c: Use exit(EXIT_FAILURE) instead of exit(1).

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/pwdcheck.c (passwd_check): The progname is not used.
	* libmisc/pwdcheck.c: Ignore the return value of sleep().
	* libmisc/pwdcheck.c: Use exit(EXIT_FAILURE) instead of exit(1).

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/setupenv.c: Avoid assignments in comparisons.
	* libmisc/setupenv.c: Added brackets and parenthesis.
	* libmisc/setupenv.c: Ignore the return value of fclose (file
	opened read-only)
	* libmisc/setupenv.c: Ignore the return value of puts().
	* libmisc/setupenv.c: Avoid implicit conversion of pointers to
	booleans.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/find_new_gid.c, libmisc/find_new_uid.c,
	libmisc/isexpired.c, src/groupadd.c, lib/pwauth.h, lib/groupmem.c,
	lib/shadowmem.c, lib/pwmem.c, lib/prototypes.h: Added splint
	annotations.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/loginprompt.c: Use exit(EXIT_FAILURE) instead of
	exit(1).
	* libmisc/loginprompt.c: Avoid implicit conversion of pointers to
	booleans.
	* libmisc/loginprompt.c: Ignore return value of putc().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/env.c, libmisc/age.c: Added splint annotations.
	* libmisc/age.c: Added brackets and parenthesis.
	* libmisc/age.c: Ignore the return value of fclose (file opened
	read-only)
	* libmisc/age.c: Ignore puts() return value.
	* libmisc/age.c: Use exit(EXIT_FAILURE) instead of exit(1).
	* libmisc/age.c: Avoid assignments in comparisons.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/fputsx.c, lib/gshadow.c, lib/commonio.h: Added splint
	annotations.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/get_gid.c: gidstr should not be NULL, but the check was
	meant to make sure it is not empty.
	* lib/get_uid.c: Likewise.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/getdef.c: Added splint annotations.
	* lib/getdef.c: Ignore fputs() return value.
	* lib/getdef.c: Use EXIT_FAILURE / EXIT_SUCCESS for exit()

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/faillog.c: Added splint annotations.
	* src/faillog.c: Cast ID to ulongs and use ulong formats for IDs.
	* src/faillog.c: Ignore fflush() return value.
	* src/faillog.c: Added parenthesis.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/grpck.c: Ignore puts return value.
	* src/grpck.c: Avoid variable format string.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/lastlog.c: Use EXIT_FAILURE / EXIT_SUCCESS for exit()
	* src/lastlog.c: Added splint annotations.
	* src/lastlog.c: Avoid global pwent.
	* src/lastlog.c: Cast ID to ulongs and use ulong formats for IDs.
	* src/lastlog.c: Avoid assignment in comparisons.
	* src/lastlog.c: Ignore fclose() return value since the file is
	only opened for reading.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/newgrp.c: Added assertion to guide splint (and me).

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/find_new_gid.c: Use booleans instead of char fo
	used_gids.
	* libmisc/find_new_gid.c: Use getdef_ulong and cast to git_t to
	get GID values.
	* libmisc/find_new_gid.c: Use UL as a prefix for ulong values.
	* libmisc/find_new_uid.c: Likewise.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/yesno.c: Ignore the return value of puts.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/age.c: Use exit(EXIT_FAILURE) instead of exit(1).
	* libmisc/age.c: The return value of execl() is not used.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/xgetXXbyYY.c, libmisc/myname.c, libmisc/getgr_nam_gid.c,
	libmisc/salt.c, libmisc/list.c, libmisc/cleanup.c, src/login.c,
	lib/getdef.h, lib/groupio.c, lib/getlong.c, lib/gshadow_.h,
	lib/sgroupio.c, lib/shadowio.c, lib/pwio.c, lib/commonio.h,
	lib/fputsx.c, lib/prototypes.h: Added splint annotations.
	* lib/groupio.c: Avoid implicit conversion of pointers to
	booleans.
	* lib/groupio.c: Free allocated buffers in case of failure.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/defines.h: Added splint definitions to replace <locale.h>

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c, libmisc/age.c, libmisc/shell.c, lib/groupio.c,
	lib/groupio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c,
	lib/pwio.c, lib/commonio.c, lib/shadowio.h, lib/pwio.h,
	lib/commonio.h, lib/prototypes.h: Added splint annotations.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: Only set ut_time and ut_tv if gettimeofday()
	succeeds.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: Fix the check for empty host in prepare_utmp()
	and prepare_utmpx().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: The ut argument of prepare_utmp() and
	prepare_utmpx () might be NULL. ut_id needs to be forged in that
	case.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: Removed old documentation of setutmp().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: Use xmalloc() rather than malloc().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: The name returned by ttyame() needs to be copied
	locally.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Added assert()s for NULL (or ! NULL) username, and
	pwd. This helps splint.
	* src/login.c: Added splint annotations.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: After login_prompt(), do not check for unset
	username, but for empty username.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/defines.h: Define USER_NAME_MAX_LENGTH, based on utmp and
	default to 32.
	* libmisc/chkname.c: Use USER_NAME_MAX_LENGTH.
	* src/login.c: Use USER_NAME_MAX_LENGTH instead of the default 32.
	username also needs to be bigger than USER_NAME_MAX_LENGTH because
	it has to be nul-terminated.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Use xmalloc() instead of malloc().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Ignore the return value of puts(), fputs(),
	strftime().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: timeout, delay, and retries should be unsigned.
	* src/login.c: Ignore the return value of alarm() and sleep().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: If we cannot get the terminal configuration, do not
	change the terminal configuration. setup_tty() is just a best
	effort configuration of the terminal.
	* src/login.c: Ignore failures when setting the terminal
	configuration.
	* src/login.c: Fail if the ERASECHAR or KILLCHAR configurations
	are not compatible with a cc_t type.

2009-04-22  Paul Szabo  <psz@maths.usyd.edu.au>

	* src/login.c: utent might be NULL after get_current_utmp().

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Removed temp_shell. No more used.
	* src/login.c: lastlog is only used #ifndef USE_PAM
	* src/login.c: Rename lastlog to ll to avoid name clash with the
	lastlog type.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Added update_utmp() to group the prepare_utmp and
	setutmp (and the utmpx versions).

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Do not include netdb.h. gethostbyname() is no more
	called from within login.c. Also UT_ADDR does not exist anymore.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Check if login is run with effective root
	privileges. This should be more helpful to users than a failure to
	find an utmp entry or failure to access a file.

2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/utmp.c: Reworked. Get rid of Linux specific stuff. Get rid
	of global utent/utxent variables. Only reuse the ut_id and maybe
	the ut_host fields from utmp.
	* lib/prototypes.h, libmisc/utmp.c: Removed checkutmp(),
	setutmp(), setutmpx().
	* lib/prototypes.h, libmisc/utmp.c: Added get_current_utmp(),
	prepare_utmp(), prepare_utmpx(), setutmp(), setutmpx().
	* libmisc/utmp.c (is_my_tty): Only compare the name of the utmp
	line with ttyname(). (No stat of the two terminals to compare the
	devices).
	* libmisc/utmp.c: Use getaddrinfo() to get the address of the
	host.
	* configure.in: Check for getaddrinfo().
	* configure.in: Use AC_CHECK_MEMBERS to check for the existence of
	fields in the utmp/utmpx structures.
	* configure.in: Reject systems with utmpx support but no ut_id
	field in utmp. This could be fixed later if needed.
	* src/login.c: Use the new utmp functions. This also simplifies
	the failtmp() handling.
	* src/login.c: passwd_free() renamed to pw_free() and
	shadow_free() renamed to spw_free()

2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, configure.in: Enable --enable-account-tools-setuid by
	default for PAM builds, as it used to be before the introduction
	of this option.

2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>

	* etc/pam.d/Makefile.am: Distribute all pam.d files, even if
	ACCT_TOOLS_SETUID is not enabled.

2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/shadowmem.c: Added spw_free().
	* lib/shadowio.c: Use spw_free() for shadow_free().
	* lib/groupmem.c: Added gr_free().
	* lib/groupio.c: Use gr_free() for group_free().
	* lib/pwmem.c: Include define.h before prototypes.h
	* lib/pwmem.c: Added pw_free().
	* lib/pwio.c: Use pw_free() for passwd_free().
	* lib/sgroupio.c: Added sgr_free().
	* lib/sgroupio.c: Use sgr_free() for gshadow_free().
	* lib/prototypes.h: Added gr_free(), pw_free(), sgr_free(),
	spw_free().

2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/shell.c: Add brackets and parenthesis.
	* libmisc/shell.c: Avoid assignments in comparisons.
	* libmisc/shell.c: Re-indent.

2009-04-21  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/defines.h: Added MIN and MAX macros.
	* libmisc/salt.c: Removed MIN and MAX macros.

2009-04-20  Sven Joachim  <svenjoac@gmx.de>

	* NEWS, src/lastlog.c: Fix regression causing empty reports.
	Get the size of the file before printing the entries.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Get rid of pwent. pwd is sufficient as long as it
	is always coming from xgetpwnam. There is no need to copy pwd to
	pwent, this was not a good idea anyway as the strings from pwd
	were not duplicated.
	* src/login.c: Always free the pwd and spwd structure when we
	retrieve a new one. This will clear the password of the previous
	user from the memory.
	* src/login.c: user_passwd is used to keep point to the password
	of the user being authenticated.
	* src/login.c: (non PAM) Fail if the user's entry cannot be found
	after the user updated her password (if expire() requested an
	update).
	* src/login.c: If the user does not exist on the system, there is
	no need to build a pwd structure (with shell).

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: ttytype already checks for TTYTYPE_FILE and TERM.
	Just call ttytype.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Open the PAM session before pam_setcred and before
	initgroups. This is more consistent with rfc86.0.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Added helper functions get_pam_user() and
	get_failent_user().

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Added parameter to check_nologin. This will help
	getting rid of the global pwent variable.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Added comments.
	* src/login.c: Close the user and group files before dropping root
	privileges.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: We do not need to keep the old umask. Discard the
	umask() return value.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/hushed.c, lib/prototypes.h, src/login.c: Change the
	hushed() prototype to take a username instead of a passwd
	structure in argument. The passwd entry is retrieved withing
	hushed().

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/setugid.c: Updated comments.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/failure.h, libmisc/failure.c, src/login.c: Added
	username as first parameter of failtmp to avoid issues with
	non-null terminated ut_user, unavailability of ut_user, incomplete
	username (that should not happen currently).

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/ttytype.c: Add brackets and parenthesis.
	* libmisc/ttytype.c: Avoid assignments in comparisons.

2009-04-20  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/pwio.c, lib/shadowio.c, lib/groupio.c, lib/sgroupio.c: Fill
	the password fields with zeros before they are freed.

2009-04-19  Changwoo Ryu  <cwryu@debian.org>

	* po/ko.po: Updated Korean translation.

2009-04-19  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/login.c: Also check if the authentication token of the
	user has to be updated in case the user was already authenticated.

2009-04-19  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: fflg is already restricted to root. Move
	pam_acct_mgmt(), in case of fflg, earlier. This is equivalent and
	simplifies the code.

2009-04-19  Paul Szabo  <psz@maths.usyd.edu.au>

	* libmisc/utmp.c: Always call endutent or endutxent when setutent
	or setutxent were used.

2009-04-19  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Added comment to make sure PAM_RHOST or PAM_TTY do
	not get set to unsanitized values.

2009-04-17  Paul Szabo  <psz@maths.usyd.edu.au>

	* NEWS, src/login.c: Do not trust the current utmp entry's ut_line
	to set PAM_TTY.
	* libmisc/utmp.c: Do not trust the current utmp entry's ut_line.
	Always set ut_line based on ttyname(0).

2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>

	* po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
	* po/*.po, man/po/*.po: Updated PO files.
	* configure.in: Updated version number.

2009-04-15  Peter Vrabec  <pvrabec@redhat.com>

	* NEWS, src/userdel.c: Fixed SE Linux support. semanage should be
	called at the end.
	* src/useradd.c: Always call selinux_update_mapping() (i.e.
	semanage), not only when -Z is used.

2009-04-15  Peter Vrabec  <pvrabec@redhat.com>

	* NEWS, srclib/getlong.c: Fix parsing of octal numbers.

2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/login.c: Fix segfault when no user is provided on the
	command line.

2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>

	* README, libmisc/system.c: Was contributed by Dan Walsh.

2009-04-15  Nicolas François  <nicolas.francois@centraliens.net>

	* NEW, src/vipw.c: SE Linux: Set the default context to the
	context of the file being edited. This ensures that the backup
	file inherit from the file's context.

2009-04-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: There are no default values for --inactive
	and --gid. If the options are no provided, the original values are
	not changed.

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* po/shadow.pot, man/po/shadow-man-pages.pot: Regenerated.
	* po/*.po, man/po/*.po: Updated PO files.

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* src/su.c: If there are no root account, or if the root account
	has an UID != 0, default to the first UID 0 account.

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Restore the echoctl, echoke, onclr flags to the
	terminal termio flags. Reset echoprt, noflsh, tostop. This
	behavior seems to have change by mistake in earlier releases
	(4.0.8, for no obvious reason).

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Fix the count of failures before login exits in
	case of PAM enabled configurations.

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* man/passwd.1.xml: Document that passwd uses PAM to authenticate
	and change passwords on PAM-enabled builds.

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* src/newusers.c: Add more information to the mkdir and chown
	failure messages.

2009-04-12  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/fr.po: Updated some login.defs entries. Thanks to
	Belkacem Abbas.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.d/MAX_MEMBERS_PER_GROUP.xml,
	man/login.defs.d/CONSOLE_GROUPS.xml: Fix typos.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* man/es/Makefile.am: Disable the distribution of Spanish
	manpages. They are outdated. Please contact
	pkg-shadow-devel@lists.alioth.debian.org if you wish to provide
	updates.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* src/usermod.c, src/useraddd.c: Fix the usage string so that it
	does not change depending on the configure option. Use a format.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* src/gpasswd.c: Fix the usage of the unused macro.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/prototypes.h, libmisc/age.c, src/expiry.c, src/login.c: A
	shadow entry is now sufficient for agecheck. Remove the first
	passwd entry parameter.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c, src/usermod.c: Only call selinux_update_mapping()
	if Zflg is set.
	* src/userdel.c: Rename argv to args to avoid nameclash with the
	main() parameters.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/getgr_nam_gid.c: Added support for NULL argument.
	* libmisc/chowntty.c: Reuse getgr_nam_gid(), and get rid of atol().

2009-04-11  Peter Vrabec  <pvrabec@redhat.com>

	* libmisc/find_new_gid.c, libmisc/find_new_uid.c: For system
	accounts, return the first unused ID, starting from the max value.
	This could be useful later to increase the static IDs range.

2009-04-11  Peter Vrabec  <pvrabec@redhat.com>

	* NEWS, src/useradd.c, man/useradd.8.xml: add -Z option to map
	SELinux user for user's login.
	* NEWS, src/usermod.c, man/usermod.8.xml: Likewise.
	* libmisc/system.c, libmisc/Makefile.am, lib/prototypes.h: Added
	safe_system(). Used to run semanage.
	* lib/prototypes.h, libmisc/copydir.c: Make a
	selinux_file_context() an extern function.
	* libmisc/copydir.c: Reset SELinux to create files with default
	contexts at the end of copy_tree().
	* NEWS, src/userdel.c: Delete the SELinux user mapping for user's
	login.

2009-04-11  Peter Vrabec  <pvrabec@redhat.com>

	* src/useradd.c (get_defaults): Close the default file after the
	default values were read.

2009-04-11  Christian Perrier  <bubulle@debian.org>

	* po/sk.po: Slovak translation updated. Thanks to Ivan Masár

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/Makefile.am, lib/prototypes.h: Added sgetspent.c.

2009-04-11  Nicolas François  <nicolas.francois@centraliens.net>

	* po/POTFILES.in: Added missing files. Sorted.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/getdef.c: Use getlong instead of strtol/strtoul.
	* libmisc/getlong, lib/getlong.c, libmisc/Makefile.am,
	lib/Makefile.am: getlong.c moved from libmisc/ to lib/.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/shadow.c: Replace strtol() by getlong(). Also detect more
	issues in a numerical shadow entry field.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/sgetspent.c: Only compile ifndef HAVE_SGETSPENT

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/sgetspent.c: Replace strtol() by getlong(). Also detect more
	issues in a numerical shadow entry field.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* src/chage.c: More strtol() replaced by getlong().
	* src/chage.c: expdays renamed to expdate. It is a date, even if
	expressed in a number of days since Jan 1, 1970.
	* src/chage.c: Likewise: lastday renamed to lstchgdate. Also fix
	the --lastday documentation.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/prototypes.h: pwd_to_spwd() should be declared if USE_PAM is
	NOT defined.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* src/passwd.c: Replace getnumber() by getlong(). This permits to
	get rid of another strtol().

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/getlong.c: Include both <stdlib.h> and <errno.h> needed
	for strtol and errno, and do not include "defines.h" (not needed).

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c, src/usermod.c, libmisc/getgr_nam_gid.c,
	libmisc/Makefile.am, lib/prototypes.h: Moved getgr_nam_gid() from
	src/useradd.c and src/usermod.c to libmisc/getgr_nam_gid.c.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c: Re-indent.
	* src/useradd.c: Use getlong instead of get_number.
	* src/useradd.c: Get rid of strtol.
	* src/useradd.c: Provide better warning in case a default GROUP or
	INACTIVE value is not valid in /etc/default/useradd.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* src/usermod.c: Re-indent.
	* src/usermod.c: Specifying a inactivity value < -1 is not valid.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* configure.in: Prepare the next 4.1.3 release.
	* po/*.po, man/po/*.po: Updated PO files.

2009-04-06  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/prototypes.h, libmisc/addgrps.c: restrict add_groups() to
	ifndef USE_PAM.
	* lib/prototypes.h: Remove the declaration of add_cons_grps(). The
	function does not exist.
	* libmisc/setugid.c libmisc/age.c (setup_uid_gid): is_console is
	never set ifndef USE_PAM. Change the prototype of setup_uid_gid()
	when USE_PAM is not defined. This permits to remove add_groups
	from PAM builds.  setup_uid_gid is already subject to
	HAVE_INITGROUPS.
	* libmisc/pwd2spwd.c (pwd_to_spwd): pwd_to_spwd() is not used in
	PAM builds.

2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>

	* src/passwd.c: do_update_age is only used ifndef USE_PAM. Make it
	more explicit.

2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c: Set errno to 0 before calling strtol.

2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/isexpired.c: If there are no shadow entry, there is no
	need to convert the password entry to a shadow entry. The password
	is valid.

2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: Split some paragraphs into smaller units.

2009-04-05  Nicolas François  <nicolas.francois@centraliens.net>

	* man/shadow.5.xml: Rewrote to mention the meaning of special
	values.

2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/pwd2spwd.c, src/chpasswd.c, src/newusers.c,
	src/passwd.c, src/pwck.c, src/pwconv.c, src/useradd.c,
	src/usermod.c: On Jan 01, 1970, do not set the sp_lstchg field to
	0 (which means that the password shall be changed during the next
	login), but use -1 (password aging disabled).
	* src/passwd.c: Do not check sp_min if sp_lstchg is null or -1.

2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>

	* src/chage.c: When no shadow entry exist, the default sp_lstchg
	value should be -1 (no aging) rather than 0 (password must be
	changed).
	* src/chage.c: For password expiration and inactivity, indicate
	that the password must be changed when sp_lstchg is null rather
	than indicating that expiration and inactivity are not enabled.

2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/isexpired.c: Document the isexpired return value.

2009-04-04  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/age.c: Return a specific message when sp_lstchg is null.

2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/sgetpwent.c, lib/sgetgrent.c: Use get_uid and get_gid to
	validate the UIDs or GIDs instead of atoi/strtol.

2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/get_gid.c, libmisc/get_uid.c, libmisc/Makefile.am,
	lib/get_gid.c, lib/get_uid.c, lib/Makefile.am: get_uid.c and
	get_gid.c moved from libmisc/ to lib/.

2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>

	* src/grpck.c (check_members): When a member is removed, do not
	increase the index.
	* src/grpck.c: Fix typo in messages and comments.

2009-03-21  Nicolas François  <nicolas.francois@centraliens.net>

	* lib/commonio.c: Call fsync before closing the backup file. This
	ensures that the backup file is flushed to the storage medium.
	* src/useradd.c: Likewise for the default file, faillog, lastlog,
	and mail spool.
	* src/usermod.c: Likewise for the faillog and lastlog file.
	* src/vipw.c: Likewise for the backup file.
	* libmisc/sulog.c: Likewise for the su log.

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* src/groupmod.c: Embed gshadow related cleanup in #ifdef
	SHADOWGRP.

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* src/usermod.c: get_number() replaced by getlong().
	* src/usermod.c: When the user is renamed, make sure we do not
	override an user with the same name (in passwd or shadow).

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* src/gpasswd.c: log_gpasswd_success_gshadow is in the cleanup
	stack only when the shadow group file is present.

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/userdel.c: Make sure the user exists in the shadow
	database before calling spw_remove().
	* NEWS, src/userdel.c: When the user's group is removed, make sure
	the group is in the gshadow database before calling sgr_remove().
	* src/userdel.c: Improve warning's wording.

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/cleanup.c: Fix del_cleanup. The arguments were not
	desynchronized with the cleanup functions.
	* libmisc/cleanup.c: cleanup_function_args is an array of void
	pointer, not strings.

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/find_new_gid.c: Fix find_new_gid() the current group
	database was not taken into account.

2009-03-15  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/addgrps.c: Fix compilation warnings.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/Makefile.in.in: xml2po cannot exclude one entity for
	expansion. Make sure config.xml does not exist when the POT file
	is created in order to keep the configurations in the POT file
	* man/generate_translations.mak: make sure config.xml does not
	exist neither when the translated XML is generated. Add the
	missing %config; (strip out by xml2po). and make sure config.xml
	is present when the translated manpage is generated.
	* man/generate_mans.mak: config.xml is needed for the generation
	of manpages (already in the .deps for the English manpages, but
	needed for the translations).
	* man/Makefile.am: Added missing CREATE_HOME.xml.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* etc/login.defs: Added note for PAM enabled configurations.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/Makefile.am: Compute the dependencies for building the
	manpages.
	* man/generate_mans.deps: Added Makefile dependency rules.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/addgrps.c: Fix warnings.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/po/fr.po: Added missing space.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/lastlog.8.xml: Document that there might be entries, for
	deleted users, that are not displayed.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/chgpasswd.8.xml, man/chpasswd.8.xml: Fix the man page in
	case SHA crypt is not supported.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/vipw.8.xml: MAX_MEMBERS_PER_GROUP is not used by vipw and
	vigr.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.5.xml: Indicate that sg uses the same variables
	as newgrp.
	* man/login.defs.5.xml: vipw does not use any variable.
	* man/login.defs.5.xml: In PAM enabled configurations, login still
	uses some login.defs variables.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/usermod.8.xml: use a <replaceable> instead of a
	<emphasis remap='I'>.

2009-03-14  Nicolas François  <nicolas.francois@centraliens.net>

	* man/newusers.8.xml: Document the behavior of newusers for each
	field.
	* man/newusers.8.xml: Do not add the note on PAM on non-PAM
	enabled configurations.

2009-03-13  Nicolas François  <nicolas.francois@centraliens.net>

	* src/newusers.c: Make sure the SHA related variables are not
	compiled when disabled at configuration time.
	* src/newusers.c: Added FIXME
	* src/chpasswd.c: Make sure the SHA related variables is not
	compiled when disabled at configuration time.
	* src/chgpasswd.c: Make sure the SHA related variables is not
	compiled when disabled at configuration time.
	* src/chgpasswd.c: Fix the test for getlong() failure.
	* src/useradd.c, man/useradd.8.xml: Added long name for the -l
	option: --no-log-init.
	* src/faillog.c: Added support for the specification of a range of
	users with -u.
	* src/faillog.c: Do not call print_one() for users which do not
	exist.
	* src/faillog.c: Make sure the user's entry is not outside the
	faillog file and initialize the faillog structure in that case.
	* src/faillog.c: Move print_one() closer to print().
	* src/faillog.c: reset(), setmax(), set_locktime() can also change
	entries of user which do not exist.
	* src/faillog.c: reset(), setmax() and set_locktime() shall not
	create entries for users which have no entries if the value has to
	be set to 0.
	* src/faillog.c: reset(), setmax() and set_locktime(): better
	handling of users whose entry is outside the faillog file.
	* src/faillog.c: Improved option handling. Options can now be
	specified in any order.
	* src/faillog.c: Improved warnings when options are not
	compatible or when the faillog cannot be open with the right mode.
	* src/faillog.c: Only fstat the faillog file once.
	* man/faillog.8.xml: Improved documentation.

2009-03-13  Nicolas François  <nicolas.francois@centraliens.net>

	* src/gpasswd.c: Remove the documentation of options from the
	main() documentation. It will always be outdated here.

2009-03-13  Nicolas François  <nicolas.francois@centraliens.net>

	* src/lastlog.c: lastlog variable renamed to ll to avoid name
	clash with the structure.
	* src/lastlog.c: check the offset in print_one() so that it is
	used for the display of one entry or a set of entries.
	* src/lastlog.c: Do not loop over the whole user database when -u
	is used with a single user.
	* src/lastlog.c: Check the size of the lastlog file so that we
	can identify failures to read.

2009-03-13  Mike Frysinger  <vapier@gentoo.org>

	* libmisc/salt.c: Removed l64a prototype. The libc declaration is
	non static, but the internal definition is static.

2009-03-09  Nicolas François  <nicolas.francois@centraliens.net>

	* src/gpasswd.c: log_gpasswd_success_gshadow only exists ifdef
	SHADOWGRP.

2009-03-08  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/getlong.c: Make sure the getlong argument is not empty.
	* libmisc/get_gid.c, libmisc/get_uid.c, libmisc/Makefile.am,
	lib/prototypes.h: Added get_uid() and get_gid() to parse user and
	group IDs.
	* NEWS, src/grpck.c, src/pwck.c: Issue a warning if an ID is set
	to -1.
	* NEWS, src/newusers.c, src/usermod.c, src/useradd.c,
	src/groupmod.c, src/groupadd.c: Make sure no user or group are
	created with an ID set to -1.

2009-03-07  Nicolas François  <nicolas.francois@centraliens.net>

	* contrib/adduser-old.c, contrib/adduser.c: Do not use the target
	of snprintf in one of the format's parameters.

2009-03-07  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupmems.8.xml: groupmems does not create new user.

2009-03-03  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, po/LINGUAS, po/kk.po: Added Kazakh translation. Thanks to
	Timur Birsh <taem@linukz.org>.

2009-02-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/find_new_gid.c, libmisc/find_new_uid.c: Avoid calling
	getgrent()/getpwent() after they return NULL. This caused LDAP to
	return at the beginning of the group/user entries.

2009-01-27  Nicolas François  <nicolas.francois@centraliens.net>

	* man/nologin.8.xml: Fix typo (HYSTORY -> HISTORY).

2009-01-26  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/gpasswd.c: Only report success to audit and syslog
	when the changes are committed to the system. Do not log failure
	for on-memory changes to audit or syslog. Make sure failures and
	inconsistencies will be reported in case of unexpected failures
	(e.g. malloc failures). Only specify an audit message if it is not
	implicitly implied by the type argument. Removed fail_exit
	(replaced by atexit(do_cleanups)). Log failures in case of
	permission denied.

2009-01-19  Nicolas François  <nicolas.francois@centraliens.net>

	* man/login.defs.d/UMASK.xml: Indicate how UMASK is used and
	limitations.
	* man/limits.5.xml: Remove space before an end of tag.
	* man/useradd.8.xml, man/login.defs.d/CREATE_HOME.xml,
	man/login.defs.5.xml: Document the CREATE_HOME variable.
	* etc/login.defs: Improve the documentation of UMASK.

2009-01-06  Sebastian Rick Rijkers  <srrijkers@gmail.com>

	* NEWS, src/su.c: Preserve COLORTERM in addition to TERM when su
	is called with the -l option.

2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/chkname.c: Use a bool when possible instead of integers.
	* libmisc/chkname.c: Add brackets and parenthesis.

2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>

	* man/groupadd.8.xml, configure.in, man/config.xml.in: Use the
	real group name length limit in the documentation.

2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>

	* src/Makefile.am: Only link with the needed library. When
	compiled with PAM support, chfn, chsh, login, newgrp, passwd, and
	su do not need the libcrypt library.

2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/cleanup_group.c: Fix compilation when compiled without
	shadow group support.

2008-12-23  Nicolas François  <nicolas.francois@centraliens.net>

	* src/groupdel.c: Remove the fail_exit () declaration.

2008-12-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/gpasswd.c: Fix the support for usernames with arbitrary
	length.

2008-12-22  Nicolas François  <nicolas.francois@centraliens.net>

	* src/groupadd.c, src/groupdel.c, src/groupmod.c: Re-indent.
	* src/groupmod.c: Do not add the command synopsis to the main ()
	documentation. This avoids outdated information.
	* libmisc/chkname.c: Remove outdated comments.

2008-12-22  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/audit_help.c: Added audit_logger_message() to log
	messages not related to an account.
	* lib/prototypes.h, libmisc/cleanup.c, libmisc/cleanup_group.c,
	libmisc/cleanup_user.c, libmisc/Makefile.am: Added stack of
	cleanup functions to be executed on exit.
	* NEWS, src/groupadd.c, src/groupdel.c, src/groupmod.c: Only
	report success to audit and syslog when the changes are committed
	to the system. Do not log failure for on-memory changes to audit
	or syslog. Make sure failures and inconsistencies will be reported
	in case of unexpected failures (e.g. malloc failures). Only
	specify an audit message if it is not implicitly implied by the
	type argument. Removed fail_exit (replaced by atexit(do_cleanups)).

2008-12-15  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, src/gpasswd.c: Added support usernames with arbitrary
	length.

2008-11-27  Mike Frysinger  <vapier@gentoo.org>

	* configure.in: Fix the "$enable_acct_tools_setuid" = "yes" test.

2008-11-27  Mike Frysinger  <vapier@gentoo.org>

	* NEWS, configure.in, libmisc/chkname.c: make group max length a
	configure option.  The configure behavior encoded is:
	<no option> -> default of 16 (like today);
	--with-group-name-max-length -> default of 16;
	--without-group-name-max-length -> no max length;
	--with-group-name-max-length=n > max is set to n.

2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>

	* src/su.c: (!USE_PAM) Provide visible information indicating that
	su was denied.

2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>

	* man/su.1.xml: Fix the su synopsis. username is referenced in the
	manpage, not LOGIN.
	* man/ja/login.1: Fix the path of the utmp and wtmp files.

2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/chowntty.c: Improve the logs for fchown and fchmod
	failures.
	* libmisc/chowntty.c: Only closelog() when failure cause an exit.

2008-11-23  Nicolas François  <nicolas.francois@centraliens.net>

	* NEWS, libmisc/chowntty.c: Fix a race condition that could lead to
	gaining ownership or changing mode of arbitrary files.
	* NEWS, libmisc/chowntty.c, libmisc/utmp.c: is_my_tty() moved from
	utmp.c to chowntty.c. checkutmp() now only uses an existing utmp
	entry if the pid matches and ut_line matches with the current tty.
	This fixes a possible DOS when entries can be forged in the utmp
	file.
	* libmisc/chowntty.c, src/login.c, lib/prototypes.h: Remove the
	tty argument from chown_tty. chown_tty always changes stdin and
	does not need this argument anymore.

2008-10-11  Nicolas François  <nicolas.francois@centraliens.net>

	* man/gshadow.5.xml, man/shadow.5.xml, man/passwd.5.xml,
	man/grpck.8.xml: Sorted SEE ALSO references.
	* man/gshadow.5.xml: Added reference to grpck(8) and grpconv(8).
	* man/pwck.8.xml: Added reference to grpck(8).
	* man/shadow.5.xml: Added reference to pwck(8).
	* man/passwd.5.xml: Added reference to pwck(8).
	* man/grpck.8.xml: Added reference to pwck(8).

2008-10-11  Nicolas François  <nicolas.francois@centraliens.net>

	* man/*.xml, man/login.defs.d/*.xml: Added copyright and licence
	header.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Always check the return value of the pam_* APIs.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Use a dynamic buffer for usernames.
	* src/login.c: Copy the name of the user authenticated by PAM to
	username. This simplify later logging (avoid USE_PAM
	conditional).
	* src/login.c: Check that no username is specified with -r.
	* src/login.c: Make sure a username is specified with -f.
	* src/login.c: Explicitly tag the end of the #ifdef RLOGIN
	sections.
	* src/login.c: Erase the username later since it it used for the
	fake password check (in case of empty password).
	* src/login.c, man/login.1.xml: the username is not an optional
	parameter of -f. Fix the getopt optstring, remove the parsing of
	username in the -f processing block, and remove unnecessary checks
	(username cannot be parsed twice anymore), better documentation of
	the synopsis.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Existence of pam_user was already checked. pwd was
	already copied to pwent. Remove duplicated code.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: check_flags() renamed process_flags(). All flag
	processing blocs moved to process_flags().

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/logoutd.c, src/userdel.c: Re-indent. This helps pmccabe.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Add missing closing }. This was probably never
	noticed because UT_ADDR is never defined.
	* src/login.c: Re-indent.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Do not mix USE_PAM and !USE_PAM code.

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* src/login.c: Use failent_user to log to audit. username is the
	caller, not the user login tries to authenticate.
	* src/login.c: Use pwd->pw_name instead of pwd->pw_uid. This might
	be more precise (name must be unique, uid might not be).

2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>

	* man/passwd.1.xml: passwd cannot change the full name of the
	user, the user's login shell; but it can change the account or
	password validity period. Thanks to Reuben Thomas.

2008-09-14  Nicolas François  <nicolas.francois@centraliens.net>

	* src/useradd.c: Added missing declaration of Mflg.
	* src/pwck.c: Only unlock files if they were locked before (e.g.
	not in read-only mode).
	* src/pwck.c: Quote the username in error messages (harmonization
	with other messages).
	* libmisc/find_new_gid.c: Fixed typo (s/grp->gr_gid/group_id/).
	* libmisc/find_new_gid.c: Likewise.

2008-09-13  Nicolas François  <nicolas.francois@centraliens.net>

	* libmisc/setugid.c, src/login_nopam.c, src/suauth.c,
	lib/getdef.c: Replace the %m format string by strerror(). This
	avoids errno to be reset between the system call error and the
