diff options
author | Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2013-12-27 12:37:11 +0400 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2014-01-13 10:40:30 +0100 |
commit | 8439a379c86ef1088465ea70ac10840759a1638e (patch) | |
tree | dda6a6addc52283111b88105e693203d405ff059 /src | |
parent | 36c9e0e4eb4f935da90df1c8df484d1940bda5eb (diff) | |
download | libgcrypt-8439a379c86ef1088465ea70ac10840759a1638e.tar.gz |
Add a function to retrieve algorithm used by MAC handler
* cipher/mac.c (_gcry_mac_get_algo): New function, returns used algo.
* src/visibility.c (gcry_mac_get_algo): New wrapper.
* src/visibility.h: Hanlde gcry_mac_get_algo.
* src/gcrypt-int.h (_gcry_mac_get_algo): New.
* src/gcrypt.h.in (gcry_mac_get_algo): New.
* src/libgcrypt.def (gcry_mac_get_algo): New.
* src/libgcrypt.vers (gcry_mac_get_algo): New.
* doc/gcrypt.texi: Document gcry_mac_get_algo.
* tests/basic.c (check_one_mac): Verify gcry_mac_get_algo.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gcrypt-int.h | 1 | ||||
-rw-r--r-- | src/gcrypt.h.in | 3 | ||||
-rw-r--r-- | src/libgcrypt.def | 1 | ||||
-rw-r--r-- | src/libgcrypt.vers | 2 | ||||
-rw-r--r-- | src/visibility.c | 6 | ||||
-rw-r--r-- | src/visibility.h | 2 |
6 files changed, 14 insertions, 1 deletions
diff --git a/src/gcrypt-int.h b/src/gcrypt-int.h index 65dcb4d0..8a6df840 100644 --- a/src/gcrypt-int.h +++ b/src/gcrypt-int.h @@ -180,6 +180,7 @@ gpg_err_code_t _gcry_mac_write (gcry_mac_hd_t hd, const void *buffer, gpg_err_code_t _gcry_mac_read (gcry_mac_hd_t hd, void *buffer, size_t *buflen); gpg_err_code_t _gcry_mac_verify (gcry_mac_hd_t hd, const void *buffer, size_t buflen); +int _gcry_mac_get_algo (gcry_mac_hd_t hd); unsigned int _gcry_mac_get_algo_maclen (int algo); unsigned int _gcry_mac_get_algo_keylen (int algo); const char *_gcry_mac_algo_name (int algorithm) _GCRY_GCC_ATTR_PURE; diff --git a/src/gcrypt.h.in b/src/gcrypt.h.in index 5c771e57..402e4fde 100644 --- a/src/gcrypt.h.in +++ b/src/gcrypt.h.in @@ -1382,6 +1382,9 @@ gcry_error_t gcry_mac_read (gcry_mac_hd_t hd, void *buffer, size_t *buflen); gcry_error_t gcry_mac_verify (gcry_mac_hd_t hd, const void *buffer, size_t buflen); +/* Retrieve the algorithm used with MAC. */ +int gcry_mac_get_algo (gcry_mac_hd_t hd); + /* Retrieve the length in bytes of the MAC yielded by algorithm ALGO. */ unsigned int gcry_mac_get_algo_maclen (int algo); diff --git a/src/libgcrypt.def b/src/libgcrypt.def index a90efcec..57ed490e 100644 --- a/src/libgcrypt.def +++ b/src/libgcrypt.def @@ -274,6 +274,7 @@ EXPORTS gcry_mac_read @240 gcry_mac_verify @241 gcry_mac_ctl @242 + gcry_mac_get_algo @243 ;; end of file with public symbols for Windows. diff --git a/src/libgcrypt.vers b/src/libgcrypt.vers index 5118c814..7ee0541a 100644 --- a/src/libgcrypt.vers +++ b/src/libgcrypt.vers @@ -54,7 +54,7 @@ GCRYPT_1.6 { gcry_cipher_authenticate; gcry_cipher_gettag; gcry_cipher_checktag; gcry_mac_algo_info; gcry_mac_algo_name; gcry_mac_map_name; - gcry_mac_get_algo_maclen; gcry_mac_get_algo_keylen; + gcry_mac_get_algo_maclen; gcry_mac_get_algo_keylen; gcry_mac_get_algo; gcry_mac_open; gcry_mac_close; gcry_mac_setkey; gcry_mac_setiv; gcry_mac_write; gcry_mac_read; gcry_mac_verify; gcry_mac_ctl; diff --git a/src/visibility.c b/src/visibility.c index 2989498e..6ed57ca6 100644 --- a/src/visibility.c +++ b/src/visibility.c @@ -855,6 +855,12 @@ gcry_mac_map_name (const char *string) return _gcry_mac_map_name (string); } +int +gcry_mac_get_algo (gcry_mac_hd_t hd) +{ + return _gcry_mac_get_algo (hd); +} + unsigned int gcry_mac_get_algo_maclen (int algo) { diff --git a/src/visibility.h b/src/visibility.h index 4127a432..96b52355 100644 --- a/src/visibility.h +++ b/src/visibility.h @@ -137,6 +137,7 @@ MARK_VISIBLEX (gcry_cipher_open) MARK_VISIBLEX (gcry_mac_algo_info) MARK_VISIBLEX (gcry_mac_algo_name) MARK_VISIBLEX (gcry_mac_map_name) +MARK_VISIBLEX (gcry_mac_get_algo) MARK_VISIBLEX (gcry_mac_get_algo_maclen) MARK_VISIBLEX (gcry_mac_get_algo_keylen) MARK_VISIBLEX (gcry_mac_open) @@ -380,6 +381,7 @@ MARK_VISIBLEX (_gcry_mpi_get_const) #define gcry_mac_algo_info _gcry_USE_THE_UNDERSCORED_FUNCTION #define gcry_mac_algo_name _gcry_USE_THE_UNDERSCORED_FUNCTION #define gcry_mac_map_name _gcry_USE_THE_UNDERSCORED_FUNCTION +#define gcry_mac_get_algo _gcry_USE_THE_UNDERSCORED_FUNCTION #define gcry_mac_get_algo_maclen _gcry_USE_THE_UNDERSCORED_FUNCTION #define gcry_mac_get_algo_keylen _gcry_USE_THE_UNDERSCORED_FUNCTION #define gcry_mac_open _gcry_USE_THE_UNDERSCORED_FUNCTION |