gpg-check-pattern checks a passphrase given on stdin against
a specified pattern file.
The pattern file is line based with comment lines beginning on the
first position with a
#. Empty lines and lines with
only white spaces are ignored. The actual pattern lines may either be
verbatim string pattern and match as they are (trailing spaces are
ignored) or extended regular expressions indicated by a
!/ in the first column and terminated by another
end of line. If a regular expression starts with
!/ the match
result is reversed. By default all comparisons are case insensitive.
Tag lines may be used to further control the operation of this tool. The currently defined tags are:
Switch to case insensitive comparison for all further patterns. This is the default.
Switch to case sensitive comparison for all further patterns.
Switch to reject mode. This is the default mode.
Switch to accept mode.
In the future more tags may be introduced and thus it is advisable not to start a plain pattern string with an open bracket. The tags must be given verbatim on the line with no spaces to the left or any non white space characters to the right.
In reject mode the program exits on the first match with an exit code of 1 (failure). If at the end of the pattern list the reject mode is still active the program exits with code 0 (success).
In accept mode blocks of patterns are used. A block starts at the next pattern after an "accept" tag and ends with the last pattern before the next "accept" or "reject" tag or at the end of the pattern list. If all patterns in a block match the program exits with an exit code of 0 (success). If any pattern in a block do not match the next pattern block is evaluated. If at the end of the pattern list the accept mode is still active the program exits with code 1 (failure).
Enable extra informational output.
Run only a syntax check on the patternfile.
Input is expected to be null delimited.