mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: New option --chunk-size.
* g10/gpg.c (opts): New option --chunk-size. (oChunkSize): New const. (build_list_aead_test_algo, build_list_aead_algo_name): New. (my_strusage): List AEAD algos. (main): Implement --chunk-size.. * g10/options.h (struct opt): Add field 'chunk_size'. (DBG_IPC): Remove duplicated macro. * g10/main.h (DEFAULT_AEAD_ALGO): Depend on Libgcrypt version. * g10/misc.c (openpgp_aead_test_algo): Ditto. * g10/cipher-aead.c: Silence if not in debug mode. * g10/decrypt-data.c: Ditto. -- And that new option immediatley revealed bugs in our chunking code :-(.
This commit is contained in:
parent
112e02ee89
commit
f3ef8b0dca
7 changed files with 185 additions and 59 deletions
12
g10/misc.c
12
g10/misc.c
|
@ -591,11 +591,23 @@ openpgp_cipher_algo_name (cipher_algo_t algo)
|
|||
gpg_error_t
|
||||
openpgp_aead_test_algo (aead_algo_t algo)
|
||||
{
|
||||
/* FIXME: We currently have no easy way to test whether libgcrypt
|
||||
* implements a mode. The only way we can do this is to open a
|
||||
* cipher context with that mode and close it immediately. That is
|
||||
* a bit costly. So we look at the libgcrypt version and assume
|
||||
* nothing has been patched out. */
|
||||
switch (algo)
|
||||
{
|
||||
case AEAD_ALGO_NONE:
|
||||
break;
|
||||
|
||||
case AEAD_ALGO_EAX:
|
||||
#if GCRYPT_VERSION_NUMBER < 0x010900
|
||||
break;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
case AEAD_ALGO_OCB:
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue