From: Armin Burgmeier Date: Wed, 17 Sep 2014 16:30:44 +0000 (-0400) Subject: Add a function to obtain the trust list of a gnutls_certificate_credentials_t X-Git-Tag: gnutls_3_4_0~883 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bbf41a686e4242cca240e8bc2287dd47ba324219;p=thirdparty%2Fgnutls.git Add a function to obtain the trust list of a gnutls_certificate_credentials_t Signed-off-by: Armin Burgmeier --- diff --git a/lib/gnutls_x509.c b/lib/gnutls_x509.c index a4921f9311..70e999e736 100644 --- a/lib/gnutls_x509.c +++ b/lib/gnutls_x509.c @@ -1246,6 +1246,24 @@ gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t res, res->tlist = tlist; } +/** + * gnutls_certificate_get_trust_list: + * @res: is a #gnutls_certificate_credentials_t structure. + * @tlist: Location where to store the trust list. + * + * Obtains the list of trusted certificates stored in @res and writes a + * pointer to it to the location @tlist. The pointer will point to memory + * internal to @res, and must not be deinitialized. It will be automatically + * deallocated when the @res structure is deinitialized. + * + * Since: 3.4.0 + */ +void +gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t res, + gnutls_x509_trust_list_t *tlist) +{ + *tlist = res->tlist; +} /** * gnutls_certificate_set_x509_key_file: diff --git a/lib/includes/gnutls/x509.h b/lib/includes/gnutls/x509.h index a64d5dcb6e..c8313824dd 100644 --- a/lib/includes/gnutls/x509.h +++ b/lib/includes/gnutls/x509.h @@ -1362,6 +1362,9 @@ gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t void gnutls_certificate_set_trust_list (gnutls_certificate_credentials_t res, gnutls_x509_trust_list_t tlist, unsigned flags); +void gnutls_certificate_get_trust_list + (gnutls_certificate_credentials_t res, + gnutls_x509_trust_list_t *tlist); typedef struct gnutls_x509_ext_st { char *oid; diff --git a/lib/libgnutls.map b/lib/libgnutls.map index ba5ffe2af1..65280b1b7b 100644 --- a/lib/libgnutls.map +++ b/lib/libgnutls.map @@ -899,6 +899,7 @@ GNUTLS_3_1_0 { gnutls_alpn_set_protocols; gnutls_session_set_id; gnutls_certificate_set_trust_list; + gnutls_certificate_get_trust_list; gnutls_cipher_get_tag_size; gnutls_record_overhead_size; gnutls_handshake_set_hook_function;