2011-04-15  Richard Hansen  <rhansen@bbn.com>

	* install-account.in:
	- Add simple logging functions to install-account.in
	- Use the logging functions
	  - Now warnings and errors go to standard error instead of
	    standard output.
	- Abort install-account on error
	  - Check the return code from each command and if non-zero,
	    print an error message and exit with non-zero exit status.
	- Don't abort if /usr/home already exists
	- use $t instead of $1
	- cd inside a subshell
	- Make sure included passwd file has one and only one line
	  - A bug in extract-account made it possible for the passwd
	    file in the account tarball to have zero lines.  This
	    checks for that condition and aborts if the passwd does
	    not have exactly one line.
	- Don't assume the user's home directory is /home/<username>
	  - Before, extracting and installing the root account caused
	    root's files to be placed in /home/root instead of /root
	- Add some comments
	- Make sure /etc/master.passwd can be read
	- Don't change account order if the user is already in
	  master.passwd
	  - Before, if a user was already in /etc/master.passwd, the
	    user's account was moved to the bottom of the file.  Now
	    the order is preserved, which is important if the account
	    being added has the same UID as another account (e.g.,
	    root and toor) because getpwuid() returns the first match.
	  - If the account isn't already in master.passwd, the account
	    is added to the end (as before).
	- Bug fix: Define do_install() before using it
	- Bug fix: Save master.passwd after editing it via vipw
	- Silence some useless ed output
	- Silence tar
	- Log the creation of the user's home directory

	* sudo-add.in:
	- Fix a bug preventing the removal of a user from sudoers
	  - sudo-add obtains the location of the sudoers file by
	    processing the output of 'visudo -c'.  The previous
	    version of sudo-add expected 'visudo -c' to output a
	    single line containing the filename optionally followed by
	    a space and other stuff.  The version of visudo currently
	    in pkgsrc doesn't behave this way.  Instead, it prints the
	    filename, a colon, a space, and then some other text.
	  - This mismatch in expected vs. actual behavior prevented
	    sudo-add from removing a user from sudoers when the '-r'
	    option was given.  In addition, if the '-r' option was NOT
	    given and the user was already in sudoers, the user was
	    added again.
	  - Now sudo-add expects the output of 'visudo -c' to be the
	    path to sudoers optionally followed by either a space or
	    colon and other stuff.  This should enable sudo-add to
	    discover the path to the sudoers file using the current
	    version of visudo or a version of visudo that follows the
	    path with a space instead of a colon.  Note that the path
	    itself must not contain a space or colon.
	- Add simple logging functions
	- Use the new log functions
	- Abort if the sudoers file can't be read
	  - Before, if sudo-add failed to find or read the sudoers
	    file and the '-r' option was given, the user would not be
	    removed from sudoers.  If the '-r' option was NOT given
	    and the user already existed in sudoers, the user would be
	    added again.
	  - Now the sudoers file must be found and must be readable
	    for sudo-add to continue.
	- Fix a bug causing sudo-add to sometimes remove the wrong
	  user
	  - When sudo-add is run, the user is always removed from
	    sudoers if present.  If the '-r' option is NOT given, the
	    user is then added.
	  - The regular expression used to select the line to remove
	    previously removed the wrong user if the wrong user
	    appeared earlier in the file and began with the same
	    string of characters as the intended user.  For example,
	    if user 'foobar' was in sudoers, adding user 'foo' caused
	    'foobar' to be removed.
	- When removing a user, remove all instances of that user
	  - Before, only the first instance of a user was removed when
	    deleting the user from sudoers.  Now all instances of the
	    user are removed.
	  - This is particularly important given the bug that caused
	    the same user to be added again even if it already
	    existed.
	- Silence grep
	- Silence ed
	- Wrap a long line
	- Don't bother checking sudoers; it's unnecessary
	- Abort if visudo fails
	- Don't change the order if the user is already in sudoers
	  - Order matters, so don't move the user to the bottom of the
	    file if the user already exists.
	- Expand usage message
	- getopt-like argument parsing
	- Silence some useless ed output

	* AUTHORS: add myself to AUTHORS

2011-04-14  Richard Hansen  <rhansen@bbn.com>

	* extract-account.in:
	- Abort on error
	  - Check the return code from each command and if non-zero,
	    print an error message and exit with non-zero exit status.
	  - Now extract-account will properly exit if a given account
	    doesn't exist.
	- Use tar to copy ~/.ssh/authorized_keys to avoid problems
	  with uchg flag
	  - If the uchg flag is set on ~/.ssh/authorized_keys, 'cp -p'
	    will fail because it can't update the atime or mtime of
	    the destination.  Copying via tar preserves permissions
	    without setting the uchg flag in the destination, avoiding
	    the problem.

	* sudo-add.in:
	- Don't assume visudo is in PATH when finding sudoers
	  - Before, sudo-add assumed visudo was in the path when
	    determining the path to sudoers.  Now the visudo variable
	    is used, making its invocation consistent with all other
	    invocations of visudo.

2006-02-03  Greg Troxel  <gdt@ir.bbn.com>

	* configure.in: change package name to ir-account

2004-03-18  Greg Troxel  <gdt@ir.bbn.com>

	* converted to autoconf/automake and added code to find visudo at
	configure time, replacing the ad hoc search stuff

