2018-09-01  Bruce Korb  <bruce.korb@gmail.com>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/gnu-pw-mgr
	Please enter a commit message to explain why this merge is necessary,
	especially if it merges an updated upstream into a topic branch.

	I have no idea.

2018-09-01  Bruce Korb  <bruce.korb@gmail.com>

	minor cleanups
	* .cloneignore : files to not clone into a build tree
	* Makefile.am : specify files that must be distributed
	* bootstrap.conf : test for xtracing correctly and
	  include "bootstrap" and "snippet/_Noreturn" modules
	* src/Makefile.base : add stuff for linking with gnulib lib.

2018-08-23  Bruce Korb  <bruce.korb@gmail.com>

	minor cleanups
	* .cloneignore : files to not clone into a build tree
	* Makefile.am : specify files that must be distributed
	* bootstrap.conf : test for xtracing correctly and
	  include "bootstrap" and "snippet/_Noreturn" modules
	* src/Makefile.base : add stuff for linking with gnulib lib.

2018-08-05  Bruce Korb  <bruce.korb@gmail.com>

	Merge branch 'master' of git.savannah.gnu.org:/srv/git/gnu-pw-mgr

	Configury cleanup
	* Makefile.am: remove surpurfluous m4 directory references,
	  add lib/_Noreturn.h that gnulib-tool forgets
	* bootstrap: update to most recent
	* bootstrap.local: add in needed modules that were removed from
	  being automatically depended upon
	* configure.ac: move AC_CONFIG_AUX_DIR, per current guidelines
	* src/scribble.c: header no longer needed

2018-07-31  Bruce Korb  <bruce.korb@gmail.com>

	Configury cleanup
	* Makefile.am: remove surpurfluous m4 directory references
	* bootstrap: update to most recent
	* bootstrap.local: add in needed modules that were removed from
	  being automatically depended upon
	* configure.ac: move AC_CONFIG_AUX_DIR, per current guidelines
	* src/scribble.c: header no longer needed

2018-07-30  Bruce Korb  <bruce.korb@gmail.com>

	conclude merge

	move scribble.c in from autogen
	Clean up some bootstrapping
	simplify the method of detecting that pbkdf2 was set
	via the --rehash option. Disable --use-pbkdf2 on the
	command line.

2018-07-28  Bruce Korb  <bruce.korb@gmail.com>

	move scribble.[ch] in from autogen

2018-07-10  Bruce Korb  <bkorb@gnu.org>

	Fix date-of-change display
	The date of a password change stopped being recorded.

	* src/gpw-str.def (pw_today): new string
	* src/opts.def (rehash): properly set pbkdf2 option
	* src/pw-opts.c (next_pwid_opt): pw updated if either DEFINED or SET
	    (removed_old_opts): likewise
	    (update_pwid_opts): likewise
	* tests/base.test: outputs wiggled

2018-06-25  Bruce Korb  <bkorb@gnu.org>

	make permissions error consistent replace 2016 with 2018 in a few places scrutinize the documentation a bit more add rules for OS/X add ignore pattern for vi
	Clear settings for --rehash
	Leaving any state around causes conflict errors.

	* src/opts.def (rehash): augment the code
	* src/pw-opts.c (create_cfg_file): no error for pre-existence

2018-06-20  Bruce Korb  <bkorb@gnu.org>

	add a 3 characters in sequence password fix
	Chase Bank has added the password restriction that no three characters
	may be in sequence. So look for that and fix it, if need be.

	Let people know when they last modified a password.
	Mark the day when the pbkdf2 count is modified.

	The confirmation value printed out is a hash based on the confirmation
	string and the current password. So, if the password changes, then
	so does the confirmation string. Not ideal. This change restricts
	the hashing source to just the password id and the confirmation
	string.

	update copyright year to 2018

	* bootstrap.conf (init_srcdir): no handler for --rehash, so don't count it
	* doc/intro.texi: clarification
	* src/gnu-pw-mgr.c (set_confirm_value): off by 1
	  (print_pwid): call new function when header not suppressed
	  (print_pw_header): function to cleanup logic
	  (set_confirm_value): new function for doing this work.
	  (adjust_pw): no longer called to do confirmation fixups
	  (get_dft_pw): call set_confirm_value if --confirm is set
	  (get_pbkdf2_pw): likewise
	* src/opts.def (rehash): new option that triggers --use-pbkdf2
	  (pbkdf2): mark as not for use
	  (detail): doc cleanup
	  (SECONDS_IN_DAY): new define
	  (pbkdf2_date): new global
	  (confirm): update the description
	* src/sort-opts.def: doc clarification
	* src/gpw-str.def: several new strings
	* src/pw-opts.c (day_to_string): convert days since 1970 to YYYY-MM-DD
	  (remove_opt): adjust for the fact that the pwtag for pbkdf2 options
	  now contain a ``date="..."'' field
	  (update_pwid_opts): insert that field
	* tests/base.test: add to and adjust tests
	* doc/warnings.texi: update

2018-06-16  Bruce Korb  <bkorb@gnu.org>

	documentation tweak

	comment tweak for --config-file

2018-06-16  Bruce Korb  <bkorb@gnu.org>

	add check for sequential characters
	Chase Bank will not allow you to have 'abc' or any other three
	character sequence in the password.

	* src/fix-pw.c (clean_no_three): now wraps clean_triplets() and
	  calls it and the new function clean_sequence() over and over until
	  no cleaning is done.
	  (fix_std_pw): adjusted to call clean_no_three()
	* src/gnu-pw-mgr.c (print_pwid_status): print the pbkdf2 value when
	  it is still the default value.
	* src/opts.def (LIKELY): add some optimizer hints for GCC
	  (cclass): add 'no-sequence' class for disallowing 3 sequential characters
	  (all over): clean up discussion of password changing

2018-06-15  Bruce Korb  <bkorb@gnu.org>

	allow users to specify the config file
	* src/opts.def (config-file): new option
	* src/cfg-file.c (find_home): Home is found differently
	    (set_cfg_dir): as is the config directory
	    (set_cfg_name): and the config file name
	* src/pw-opts.c (fix_options): This runs before option processing,
	    so scan the operands looking for "--config" and behave
	    differently if it is found.
	    If found, then bypass all the default mechanisms.
	* tests/base.test: adjust
	* tests/dom.test: adjust
	* tests/test.funs: adjust
	* .cvsignore: ignore cscope under CVS (required by some
	    weirdo tool)

2017-02-11  Bruce Korb  <bkorb@gnu.org>

	add intro info about --domain

	add intro info about --domain

	test domain info

2017-02-11  Bruce Korb  <bkorb@gnu.org>

	keep track of domains
	When the number of passwords approaches many tens of logins,
	it becomes unwieldy to track which domains have passwords.
	With the new --domain option, this program will keep track
	of a domain name and a last accessed date.  The saved
	domain name should not reveal the domain transform.  If
	you do, then you have effectively stored the password id
	in plain text.  Not a good idea.

	* bootstrap.conf: do not pull static variables into forward
	  declarations.

	* src/cfg-file (find_cfg_name): new function
	  (find_dom_file): new function

	* src/gnu-pw-mgr.c (load_file): new funtion to load all text
	  (list_domains): print the contents of the domain file
	  (write_dom_file): (re)write the contents of the domain text
	  (insert_domain): either update the day-of-access or add a
	  new entry to the domain text
	  (proc_dom_opts): new function to handle the options

	* src/gpw-str.def: add entries for domain text
	* src/opts.def (domain): new option

2017-02-07  Bruce Korb  <bkorb@gnu.org>

	prep domain option

	Copyright 2017 and do not choke on empty pw id

2016-05-08  Bruce Korb  <bkorb@gnu.org>

	update news

	tweak docs

	change from "secondary" to "shared"

2016-05-07  Bruce Korb  <bkorb@gnu.org>

	clean up --secondary doc

	adjust for broken mdoc2man script

2016-05-05  Bruce Korb  <bkorb@gnu.org>

	another doc tweak

	doc tweak and cleanup

2016-05-04  Bruce Korb  <bkorb@gnu.org>

	update NEWS

	clarify secondary doc

	print secondary tags for secondary pw ids

	secondary login ids will only see secondary passwords created.

	happy new year

	mark secondary seeds

2016-05-02  Bruce Korb  <bkorb@gnu.org>

	shorten some doc lines

	fix doc and warning

	add secondary tag option

2015-10-07  Bruce Korb  <bruce.korb@hgst.com>

	NEWS update

2015-10-07  Bruce Korb  <bruce.korb@hgst.com>

	Answer security questions
	Extract from the new option definition:

	Some web sites use "confirmation questions" that, supposedly, only
	you know the answer to.  Unfortunately, these are often times
	questions that can be researched by others or they can be questions
	that you have forgotten the answers to or may have multiple answers
	for.  The net result is that you are locked out.  This option makes
	it easy to get consistent answers to these questions and have these
	answers be different for every web site, just like your password.

	Providing this option will cause the argument to be merged into the
	hash source (changing the resulting password).  Exactly 12 letters
	will be extracted from the hash and converted to lower case.  The
	string argument to this option should be the last word or two from
	the question, yielding an easy-to-remember way of obtaining a
	consistent answer to these inscrutable questions.

	You will need to update your confirmation question answers when
	you update your password seed.

2015-08-18  Bruce Korb  <bruce.korb@hgst.com>

	ignore build products

	make bootstrap idempotent

	fix up announcement and fix reversed arithmetic
	PIN number passwords have been broken for a while...

2015-04-12  Bruce Korb  <bkorb@gnu.org>

	bootstrap cleanup
	* bootstrap.conf: create a .gitmodules file to avoid cloning gnulib
	* doc/Makefile.am: s/GEN_SOURCES/GEN_FILES/ 'cuz automake is unhappy
	* src/cfg-file.c: the find_home and find_cfg_name functions are now
	  used by sort-pw-cfg, so ifdef out the rest for that program.
	* src/sort-opts.def (default): new option
	* src/sort-pw-cfg.c: source part of cfg-file.c using #defines to adapt it

2015-04-11  Bruce Korb  <bkorb@gnu.org>

	update NEWS

	only update file if something was removed

	finish debugging remove_pwid

	re-fix copyright

	fix doc/Makefile.am

	happy 2015 and add --delete option
	* src/opts.def (delete): add the option
	* src/pw-opts.c (remove_pwid): new to do the deed
	* src/gnu-pw-mgr.c (print_pwid): call remove_pwid when needed

	clean up doc makefile

	clean up doc makefile

2015-04-10  Bruce Korb  <bkorb@gnu.org>

	add doc for sort-pw-cfg
	* doc/Makefile.am: add rules for generating man page and .texi
	* doc/titlepage.texi: menu entry
	* src/Makefile.base: distribute sort-opts.def, too
	* src/sort-opts.def: detail clarification

2015-04-10  Bruce Korb  <bkorb@gnu.org>

	add sort-pw-cfg program
	It will sort and merge multiple config files.
	The "salt" is extracted from the first file named.

	* src/sort-opts.def: new options file
	* src/sort-pw-cfg.c: the new program
	* src/Makefile.base: adjustments for new program
	* bootstrap.conf: make sure to not include new source in gnu-pw-mgr
	* src/gpw-str.def: new strings to manage
	* src/cfg-file.c (access_config_file): make sure chmod(2) is successful

2015-04-09  Bruce Korb  <bkorb@gnu.org>

	dead code removal
	* src/fix-pw.c (ck_pw_classes): it is no loger used.

2015-02-16  Bruce Korb  <bkorb@gnu.org>

	remove dead code
	"fix_old_pw()" was a function to handle seeds created before the
	first official release of gnu-pw-mgr.  Since two years have
	elapsed, any such seeds should have long since been superceded.
	The code is now being removed.

	* src/fix-pw.c (fix_old_pw): removed -- obsolete
	  (fix_std_pw): removed reference to it
	* src/gnu-pw-mgr.c (print_pwid): verify seed version, requiring
	  its existence.  (i.e. disallow the old seeds, but emit a warning
	  if a versionless seed is found.)
	* seed.c (ver_str_to_number): allow hyphenated version strings
	  (i.e. non-final-versions) and die on a coding error if we
	  cannot parse the version string.  Also, change to return the
	  result as a return value instead of setting a (now unused)
	  global.

2015-02-07  Bruce Korb  <bkorb@gnu.org>

	tweak docs

	update bootstrap

2014-05-03  Bruce Korb  <bkorb@gnu.org>

	distribute useful addon
	and also adjust for tweak in scribble.c

	useful addon from Brandon

2014-03-23  Bruce Korb  <bkorb@gnu.org>

	Release 1.2
	* New option:  selection of password characters (--select-chars)
	  There is a bank on this planet that requires you to enter
	  specific characters from your password -- not the entire thing.

	* When reading in password id-s from stdin, allow the stdin/out
	  to be non-terminals so this program can be used as a web page
	  service.

2014-02-02  Bruce Korb  <bkorb@gnu.org>

	copyright year stuff

2014-01-26  Bruce Korb  <bkorb@gnu.org>

	fix perms

	update copyright dates

	update bootstrap

	update bootstrap

2014-01-08  Bruce Korb  <bkorb@gnu.org>

	add password character selection option
	It seems there is at least one web site that requires you to
	provide just a few characters from your password, not the
	entire password.  Which characters varies each time.

	* src/gnu-pw-mgr.c (select_chars): replace the password with the
	  selected characters
	  (print_pwid): call that function when --select-chars is active
	  (stdin_pwid): do not constrain to only tty input
	* src/opts.def (select-chars): new option
	* tests/base.test: test it
	* src/seed.c: warning patrol
	* src/fix-pw.c: likewise

2014-01-05  Bruce Korb  <bkorb@gnu.org>

	update bootstrap

	do not multi-stamp NEWS version

	tweak NEWS

	tweak description

2013-12-31  Bruce Korb  <bkorb@gnu.org>

	doc two-of-a-class requirements
	Since this change affects the password tweaking algorithm,
	document how the "seeds" are now versioned and why.

2013-12-28  Bruce Korb  <bkorb@gnu.org>

	use single number versions for comparison
	Convert the version to an int32 and store it that way.
	Do version checking with that value.

	* src/opts.def (VER_TO_INT): new macro
	* src/gpw-str.def: store the version as an int32
	* src/fix-pw.c (fix_std_pw): use the integer values from above.

2013-12-27  Bruce Korb  <bkorb@gnu.org>

	version the seed
	Only use cruft fixup code for older seeds
	and mark newer seeds with a version stamp

	* src/fix-pw.c (fix_std_pw): check for a version
	* src/gnu-pw-mgr.c (print_pwid): set the seed version,
	  defaulting to zero if not present, then call the fixup
	* src/seed.c (add_seed): include the current prog version

2013-12-21  Bruce Korb  <bkorb@gnu.org>

	specify unchanged vars as "static"

2013-12-21  Bruce Korb  <bkorb@gnu.org>

	require two chars of one class
	I bumped into a site that required two lower case letters
	in the password.  So, now allow specifying at least two
	uppers, lowers, digits or special (punctuation) chars.

	* src/cclass.c (adjust_pin_n_alnum): if any of the two-whatevers got set,
	  ensure that the CCLASS_WHATEVER bit is set.
	* src/fix-pw.c (ck_pw_classes): basically rewrite the thing.  Instead of
	  a pointer to the second occurrance of things, instead manage a count
	  of characters of a particular class.
	  (pick_something): a function to handle special (punctuation) characters
	  when they are disallowed.  Called from ck_pw_classes().
	  (fix_std_pw): also rewritten.  Do a check of each of the required
	  classification bits and call an "add_something" function to fix issues.
	  (add_upper): new
	  (add_lower): likewise
	  (add_digit): likewise
	  (add_special): likewise
	  (find_upper): new to support the add_xxx functions
	  (find_lower): likewise
	  (find_digit): likewise
	  (find_special): likewise
	* src/opts.def: define two-upper, two-lower, two-digit and two-special
	* tests/base.test: test that this works.

2013-12-21  Bruce Korb  <bkorb@gnu.org>

	show password id status
	* announce.txt: new file for making announcement
	* src/gnu-pw-mgr.c (print_pwid_status): do the display
	  (print_pwid): call that function when --status is specified
	* src/opts.def: add the option

2013-11-14  Bruce Korb  <bkorb@gnu.org>

	clean up docs
	* configure.ac: silence GCC complaints about NUL in formats
	* doc/Makefile.am: add code to build GNU manuals
	* doc/mk-gnudoc.sh: script to do the work
	* doc/warnings.texi: remove out-dated caveats
	* src/fix-pw.c: warning cleanups
	* src/gnu-pw-mgr.c: likewise
	* src/pw-opts.c: likewise
	* src/seed.c: likewise
	* src/opts.def: improve descriptions

2013-11-12  Bruce Korb  <bkorb@gnu.org>

	adjust bootstrap
	Fix the "where is the source" search for the GNU GIT
	environment.

2013-10-20  Bruce Korb  <bkorb@gnu.org>

	Initial release
