]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
gnutls_ext_get_name2: new function
authorDaiki Ueno <dueno@redhat.com>
Tue, 21 Apr 2020 14:29:41 +0000 (16:29 +0200)
committerDaiki Ueno <dueno@redhat.com>
Tue, 21 Apr 2020 14:48:13 +0000 (16:48 +0200)
This adds a generalized version of gnutls_ext_get_name, which can
retrieve the name of the extension, even if it is registered per
session.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
devel/libgnutls-latest-x86_64.abi
devel/symbols.last
doc/Makefile.am
doc/manpages/Makefile.am
lib/hello_ext.c
lib/includes/gnutls/gnutls.h.in
lib/libgnutls.map

index 12d5f5b7afb6e5d2f7b76840318e7490ec344ee0..8aa81a55ddc50ed00d1cd7dba2ca488343cff63c 100644 (file)
     <elf-symbol name='gnutls_ext_get_current_msg' version='GNUTLS_3_6_3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_ext_get_data' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_ext_get_name' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gnutls_ext_get_name2' version='GNUTLS_3_6_14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_ext_raw_parse' version='GNUTLS_3_6_3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_ext_register' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_ext_set_data' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
index 5a8343a0f01bd499dd0e8ad7e8d087d2b4c1cb1d..080f7f29541782b56f0379fcedf334934c814101 100644 (file)
@@ -3,6 +3,7 @@ GNUTLS_3_6_0@GNUTLS_3_6_0
 GNUTLS_3_6_10@GNUTLS_3_6_10
 GNUTLS_3_6_12@GNUTLS_3_6_12
 GNUTLS_3_6_13@GNUTLS_3_6_13
+GNUTLS_3_6_14@GNUTLS_3_6_14
 GNUTLS_3_6_2@GNUTLS_3_6_2
 GNUTLS_3_6_3@GNUTLS_3_6_3
 GNUTLS_3_6_4@GNUTLS_3_6_4
@@ -215,6 +216,7 @@ gnutls_error_to_alert@GNUTLS_3_4
 gnutls_est_record_overhead_size@GNUTLS_3_4
 gnutls_ext_get_current_msg@GNUTLS_3_6_3
 gnutls_ext_get_data@GNUTLS_3_4
+gnutls_ext_get_name2@GNUTLS_3_6_14
 gnutls_ext_get_name@GNUTLS_3_4
 gnutls_ext_raw_parse@GNUTLS_3_6_3
 gnutls_ext_register@GNUTLS_3_4
index 0f16eeccc8cddccdfecaac82495aa8c2ea4fdb5a..83d851220c08ec87bb57e6a73db459e53a42677f 100644 (file)
@@ -1023,6 +1023,8 @@ FUNCS += functions/gnutls_ext_get_data
 FUNCS += functions/gnutls_ext_get_data.short
 FUNCS += functions/gnutls_ext_get_name
 FUNCS += functions/gnutls_ext_get_name.short
+FUNCS += functions/gnutls_ext_get_name2
+FUNCS += functions/gnutls_ext_get_name2.short
 FUNCS += functions/gnutls_ext_raw_parse
 FUNCS += functions/gnutls_ext_raw_parse.short
 FUNCS += functions/gnutls_ext_register
index 97cc80ed6efb5d687bbc4d560d573dd7069ed188..18f382ee45da034832b2caa49564fbf88abe3779 100644 (file)
@@ -313,6 +313,7 @@ APIMANS += gnutls_est_record_overhead_size.3
 APIMANS += gnutls_ext_get_current_msg.3
 APIMANS += gnutls_ext_get_data.3
 APIMANS += gnutls_ext_get_name.3
+APIMANS += gnutls_ext_get_name2.3
 APIMANS += gnutls_ext_raw_parse.3
 APIMANS += gnutls_ext_register.3
 APIMANS += gnutls_ext_set_data.3
index 1df1506e0b1e680c96ebe2c8ee7d32070580a9a8..80524883668ba0440b200f87daf199ee49714191 100644 (file)
@@ -1000,3 +1000,27 @@ unsigned gnutls_ext_get_current_msg(gnutls_session_t session)
 {
        return _gnutls_ext_get_msg(session);
 }
+
+/**
+ * gnutls_ext_get_name2:
+ * @session: a #gnutls_session_t opaque pointer
+ * @tls_id: is a TLS extension numeric ID
+ * @parse_point: the parse type of the extension
+ *
+ * Convert a TLS extension numeric ID to a printable string.
+ *
+ * Returns: a pointer to a string that contains the name of the
+ *   specified cipher, or %NULL.
+ **/
+const char *gnutls_ext_get_name2(gnutls_session_t session, unsigned int tls_id,
+                                gnutls_ext_parse_type_t parse_point)
+{
+       const struct hello_ext_entry_st *ext;
+
+       ext = tls_id_to_ext_entry(session, tls_id, parse_point);
+       if (ext)
+               return ext->name;
+
+       return NULL;
+}
+
index 517153634ac9439adb8fb306758e1e57780f26c3..fdcf914f428bd6119b26c74658da3ffb6252b5ff 100644 (file)
@@ -3130,6 +3130,8 @@ int gnutls_session_ext_register(gnutls_session_t, const char *name, int type, gn
                                gnutls_ext_unpack_func unpack_func, unsigned flags);
 
 const char *gnutls_ext_get_name(unsigned int ext);
+const char *gnutls_ext_get_name2(gnutls_session_t session, unsigned int tls_id,
+                                gnutls_ext_parse_type_t parse_point);
 
 /* Public supplemental data related functions */
 
index 5541e9caba7bdbde5c4e4e6224786abe07f299bd..512e403bb647bab3e70f5afda67f46b1dd1325eb 100644 (file)
@@ -1324,6 +1324,12 @@ GNUTLS_3_6_13
        gnutls_psk_set_client_credentials_function2;
 } GNUTLS_3_6_12;
 
+GNUTLS_3_6_14
+{
+ global:
+       gnutls_ext_get_name2;
+} GNUTLS_3_6_13;
+
 GNUTLS_FIPS140_3_4 {
   global:
        gnutls_cipher_self_test;