than 8192 bytes long, as the callback data simply assigns any data it
receives to a buffer, and then calls the hash function on that buffer
when EOF is reached.
Use an inefficient temporary workaround for this by holding the memory
in a temporary buffer in the callback argument structure.
argument, they take an *int, and those are not necessarily compatible.
Papering that over with a cast just gets us a warning that
de-referencing a type-punned pointer will break strict-aliasing
rules, which is turned into an error by our WARNS setting.
Instead, change the "num" field in _opt_crypt_t from size_t to int, and
get rid of the now-redundant casts.
when matching userid, cheecck if the given userid has a '@' in it.
If so, treat it as an email address, and search for a case-insensitivee
match for the text in between '<' and '>' delimiters.
Otherwise, look for a case insensitive match on the full name.
library.
A good signature verification now shows the filename, time of signing,
and the public keys of the signatories.
Made the interface much more standard by using any argv components after
the options have been parsed to indicate files, rather than a single
--file=filename long option.
Get rid of all assert() calls in the program - dumping core when an
argument is missing is a trifle uncompromising.
When matching userids, if the given userid contains a '@' character,
consider all characters from the rightmost '<' to the terminating
'>' of the file-based userid to be an email address. If there's no
'@' character, consider the given name as a real name, and match
from the start of the file-based userid. All comparisons are done
using case-insensitive searching. I'll consider implementing regexp
matching when enough chocolate bribes are received.
Rework the internals to call a major internal function, rather than doing
everything in main().
Run the results of all this through indent, since the current sources
bear little resemblance to what went before.
(not such a great idea), use getpass() to get the passphrase.
Various debugging additions.
When verifying files, print out the file name which was verified, and exit
with either EXIT_FAILURE or EXIT_SUCCESS, depending upon the verification
result. This still needs to be reworked to print out the signatory to the
file, and the date of signing.
that key ring. If no key ring has been specified, list the keys in
the default public key ring, rather than dying with a usage message.
Matches gpg behaviour, and stops openpgp violating the POLA.
static variable and recompiling. Make this a bit more dynamic, adding a
--debug "filename" argument to the application, and by using a filename-
based debug framework to replicate previous behavior. Multiple filenames
can be provided.
In addition, add more debugging information by printing out the human
values of signature type and key algorithm when parsing packets.
header file that is meant to be local, so that it can access the content
type of a packet. This change uses an accessor function to find the packet
content type.