Subject: Re: bug#19231: 25.0.50; [PATCH] Fix recent GnuTLS change for MinGW-w64

From: Chris Zheng <[email-masked]>
Date: Wed, 03 Dec 2014 12:37:47 +0800

From: Lars Magne Ingebrigtsen <[email-masked]>
Subject: Re: bug#19231: 25.0.50; [PATCH] Fix recent GnuTLS change for MinGW-w64
Date: Tue, 02 Dec 2014 17:37:12 +0100

Hi,
> Great.  Could you redo the patch without the #ifdefs, and just call
> fn_gnutls_sign_get_name on all architectures?

I don't have older version, maybe we should ask for compatibility
check.  The revised patch is as follows.  

>From 7c9c759c33e34c3cc5d031ae15ac9bb3d05a37e3 Mon Sep 17 00:00:00 2001
From: Chris Zheng <[email-masked]>
Date: Wed, 3 Dec 2014 12:05:13 +0800
Subject: [PATCH] Use gnutls_sign_get_name and load missing function.

* src/gnutls.c (init_gnutls_functions, gnutls_certificate_details):
  use `gnutls_sign_get_name' directly.
  (init_gnutls_functions): Load missing `gnutls_server_name_set'.
---
 src/gnutls.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gnutls.c b/src/gnutls.c
index 752df3c..7c61445 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -185,7 +185,7 @@ DEF_GNUTLS_FN (int, gnutls_x509_crt_get_key_id,
 	       (gnutls_x509_crt_t, unsigned int,
 		unsigned char *, size_t *_size));
 DEF_GNUTLS_FN (const char*, gnutls_sec_param_get_name, (gnutls_sec_param_t));
-DEF_GNUTLS_FN (const char*, gnutls_sign_algorithm_get_name,
+DEF_GNUTLS_FN (const char*, gnutls_sign_get_name,
 	       (gnutls_sign_algorithm_t));
 DEF_GNUTLS_FN (int, gnutls_server_name_set, (gnutls_session_t,
 					     gnutls_server_name_type_t,
@@ -265,7 +265,8 @@ init_gnutls_functions (void)
   LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_signature);
   LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_key_id);
   LOAD_GNUTLS_FN (library, gnutls_sec_param_get_name);
-  LOAD_GNUTLS_FN (library, gnutls_sign_algorithm_get_name);
+  LOAD_GNUTLS_FN (library, gnutls_sign_get_name);
+  LOAD_GNUTLS_FN (library, gnutls_server_name_set);
 
   max_log_level = global_gnutls_log_level;
 
@@ -337,7 +338,7 @@ init_gnutls_functions (void)
 #define fn_gnutls_x509_crt_get_signature        gnutls_x509_crt_get_signature
 #define fn_gnutls_x509_crt_get_key_id           gnutls_x509_crt_get_key_id
 #define fn_gnutls_sec_param_get_name            gnutls_sec_param_get_name
-#define fn_gnutls_sign_algorithm_get_name       gnutls_sign_algorithm_get_name
+#define fn_gnutls_sign_get_name                 gnutls_sign_get_name
 #define fn_gnutls_server_name_set		gnutls_server_name_set
 
 #endif /* !WINDOWSNT */
@@ -928,7 +929,7 @@ gnutls_certificate_details (gnutls_x509_crt_t cert)
     err = fn_gnutls_x509_crt_get_signature_algorithm (cert);
     if (err >= GNUTLS_E_SUCCESS)
       {
-	const char *name = fn_gnutls_sign_algorithm_get_name (err);
+	const char *name = fn_gnutls_sign_get_name (err);
 	if (name)
 	  res = nconc2 (res, list2 (intern (":signature-algorithm"),
 				    build_string (name)));
-- 
2.2.0