add: DelegatingPasswordChecker implementation
authorLucas Werkmeister <mail@lucaswerkmeister.de>
Sun, 14 Jan 2018 14:12:56 +0000 (15:12 +0100)
committerLucas Werkmeister <mail@lucaswerkmeister.de>
Sun, 10 Jun 2018 11:24:31 +0000 (13:24 +0200)
commitfeadaca27fca9d518b7436299e23da523eb15d4b
treed054ae8125c072fc51ebec874b4a87f47953e9eb
parenta068c177bb6cdbc3b117038047818ae58f9aa1de
add: DelegatingPasswordChecker implementation

This PasswordChecker implementation delegates to several other checkers,
which lets us use a series of checkers (e. g. one which rates the
password’s strength and one that checks against a list of known weak
passwords) in place of one.

In theory, this would also let us split up the existing
PasswordStrengthChecker into two checkers, one grading the password
strength in general and one checking whether the password contains parts
of the name or the email address. However, this would remove the current
behavior where a password that contains part of the name or email can be
“redeemed” by being otherwise strong enough: DelegatingPasswordChecker
does not support any such kind of interoperation of checkers.

Change-Id: I1066ab11cac8c756a2972128257a65d29cd2d365
src/club/wpia/gigi/passwords/DelegatingPasswordChecker.java [new file with mode: 0644]
tests/club/wpia/gigi/passwords/TestDelegatingPasswordChecker.java [new file with mode: 0644]