diff options
author | Werner Koch <wk@gnupg.org> | 2013-10-01 22:00:50 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-10-01 22:00:50 +0200 |
commit | 3ca180b25e8df252fc16f802cfdc27496e307830 (patch) | |
tree | 1399c7891aa6f4bf4bf994adaa078dadd3510091 /cipher/des.c | |
parent | 4153fa859816e799e506055321a22e6450aacdcc (diff) | |
download | libgcrypt-3ca180b25e8df252fc16f802cfdc27496e307830.tar.gz |
cipher: Simplify the cipher dispatcher cipher.c.
* src/gcrypt-module.h (gcry_cipher_spec_t): Move to ...
* src/cipher-proto.h (gcry_cipher_spec_t): here. Merge with
cipher_extra_spec_t. Add fields ALGO and FLAGS. Set these fields in
all cipher modules.
* cipher/cipher.c: Change most code to replace the former module
system by a simpler system to gain information about the algorithms.
(disable_pubkey_algo): Simplified. Not anymore thread-safe, though.
* cipher/md.c (_gcry_md_selftest): Use correct structure. Not a real
problem because both define the same function as their first field.
* cipher/pubkey.c (_gcry_pk_selftest): Take care of the disabled flag.
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'cipher/des.c')
-rw-r--r-- | cipher/des.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cipher/des.c b/cipher/des.c index f1550d1d..3464d53d 100644 --- a/cipher/des.c +++ b/cipher/des.c @@ -1168,6 +1168,7 @@ run_selftests (int algo, int extended, selftest_report_func_t report) gcry_cipher_spec_t _gcry_cipher_spec_des = { + GCRY_CIPHER_DES, {0, 0}, "DES", NULL, NULL, 8, 64, sizeof (struct _des_ctx), do_des_setkey, do_des_encrypt, do_des_decrypt }; @@ -1184,12 +1185,10 @@ static gcry_cipher_oid_spec_t oids_tripledes[] = gcry_cipher_spec_t _gcry_cipher_spec_tripledes = { + GCRY_CIPHER_3DES, {0, 1}, "3DES", NULL, oids_tripledes, 8, 192, sizeof (struct _tripledes_ctx), - do_tripledes_setkey, do_tripledes_encrypt, do_tripledes_decrypt - }; - -cipher_extra_spec_t _gcry_cipher_extraspec_tripledes = - { + do_tripledes_setkey, do_tripledes_encrypt, do_tripledes_decrypt, + NULL, NULL, run_selftests, do_tripledes_set_extra_info }; |