]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
prf: define gnutls_prf_get as an ephemeral API tmp-ephemeral-api
authorDaiki Ueno <dueno@redhat.com>
Sun, 15 Mar 2020 10:18:30 +0000 (11:18 +0100)
committerDaiki Ueno <dueno@redhat.com>
Sun, 15 Mar 2020 10:18:52 +0000 (11:18 +0100)
Signed-off-by: Daiki Ueno <dueno@redhat.com>
lib/ephemeral_functions.gperf
lib/gnutls_int.h
lib/includes/gnutls/ephemeral.h
lib/prf.c

index caf1f20e3fa6826079e2de757e8613cb3c014f69..1d96f18c2e0809e3e67fb954de4e160e443a153b 100644 (file)
@@ -3,3 +3,4 @@
 %readonly-tables
 struct ephemeral_function_st { const char *name; void *func; };
 %%
+gnutls_prf_get, _gnutls_prf_get
index d9d851be627cda3789061a1d55e685816a1cef86..e23e1b17f2514afbcfe9801ba293878a1a3d7ad7 100644 (file)
@@ -1639,4 +1639,6 @@ get_certificate_type(gnutls_session_t session,
 
 extern unsigned int _gnutls_global_version;
 
+int _gnutls_prf_get(gnutls_session_t session);
+
 #endif /* GNUTLS_LIB_GNUTLS_INT_H */
index 9a9a6c8ccde09f39041963cef9f2a8ffb2ae22a8..f7dfdb049d7eafa9baed81a9276c05f8fd5190f0 100644 (file)
@@ -53,6 +53,8 @@ static inline ret name arglist \
        return ((ret (*)arglist)func)args; \
 }
 
+GNUTLS_EPHEMERAL_INT(gnutls_prf_get, int, (gnutls_session_t session), (session))
+
 /* *INDENT-OFF* */
 #ifdef __cplusplus
 }
index 40c52d156f1da282dd64149da246c09e2c7aa027..ee09ed496623be9e7a7d68906e28c2ce2d7e77b8 100644 (file)
--- a/lib/prf.c
+++ b/lib/prf.c
@@ -348,3 +348,23 @@ gnutls_prf(gnutls_session_t session,
 
        return ret;
 }
+
+/**
+ * _gnutls_prf_get:
+ * @session: is a #gnutls_session_t type.
+ *
+ * Returns the current PRF algorithm enabled on the session.
+ *
+ * Returns: a #gnutls_mac_algorithm_t on success, or a negative error code.
+ *
+ * Since: 3.6.13
+ * Stability: Unstable
+ **/
+int
+_gnutls_prf_get(gnutls_session_t session)
+{
+       if (session->security_parameters.prf == NULL)
+               return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
+
+       return session->security_parameters.prf->id;
+}