aboutsummaryrefslogtreecommitdiff
path: root/src/gns
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-11-30 00:03:40 +0000
committerChristian Grothoff <christian@grothoff.org>2013-11-30 00:03:40 +0000
commit14b2548615dce5edaba3d46d3638c798e1cfd1f9 (patch)
tree744897668da84428a113f918e7bc082d957cfac0 /src/gns
parentb2f1bcafa32963ef1bbb9c00ea7b75c933c2016e (diff)
downloadgnunet-14b2548615dce5edaba3d46d3638c798e1cfd1f9.tar.gz
gnunet-14b2548615dce5edaba3d46d3638c798e1cfd1f9.zip
-undo, this was a bit too early
Diffstat (limited to 'src/gns')
-rw-r--r--src/gns/gnunet-gns-proxy.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c
index 38324eb41..e464ffa3e 100644
--- a/src/gns/gnunet-gns-proxy.c
+++ b/src/gns/gnunet-gns-proxy.c
@@ -813,28 +813,34 @@ mhd_content_cb (void *cls,
813static int 813static int
814check_ssl_certificate (struct Socks5Request *s5r) 814check_ssl_certificate (struct Socks5Request *s5r)
815{ 815{
816 struct curl_tlsinfo tlsinfo;
816 unsigned int cert_list_size; 817 unsigned int cert_list_size;
817 const gnutls_datum_t *chainp; 818 const gnutls_datum_t *chainp;
818 const struct curl_tlsinfo *tlsinfo; 819 union {
820 struct curl_tlsinfo *tlsinfo;
821 struct curl_slist *to_slist;
822 } gptr;
819 char certdn[GNUNET_DNSPARSER_MAX_NAME_LENGTH + 3]; 823 char certdn[GNUNET_DNSPARSER_MAX_NAME_LENGTH + 3];
820 size_t size; 824 size_t size;
821 gnutls_x509_crt_t x509_cert; 825 gnutls_x509_crt_t x509_cert;
822 int rc; 826 int rc;
823 const char *name; 827 const char *name;
824 828
829 memset (&tlsinfo, 0, sizeof (tlsinfo));
830 gptr.tlsinfo = &tlsinfo;
825 if (CURLE_OK != 831 if (CURLE_OK !=
826 curl_easy_getinfo (s5r->curl, 832 curl_easy_getinfo (s5r->curl,
827 CURLINFO_TLS_SESSION, 833 CURLINFO_TLS_SESSION,
828 &tlsinfo)) 834 &gptr))
829 return GNUNET_SYSERR; 835 return GNUNET_SYSERR;
830 if (CURLSSLBACKEND_GNUTLS != tlsinfo->ssl_backend) 836 if (CURLSSLBACKEND_GNUTLS != tlsinfo.ssl_backend)
831 { 837 {
832 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 838 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
833 _("Unsupported CURL SSL backend %d\n"), 839 _("Unsupported CURL SSL backend %d\n"),
834 tlsinfo->ssl_backend); 840 tlsinfo.ssl_backend);
835 return GNUNET_SYSERR; 841 return GNUNET_SYSERR;
836 } 842 }
837 chainp = gnutls_certificate_get_peers (tlsinfo->internals, &cert_list_size); 843 chainp = gnutls_certificate_get_peers (tlsinfo.internals, &cert_list_size);
838 if ( (! chainp) || (0 == cert_list_size) ) 844 if ( (! chainp) || (0 == cert_list_size) )
839 return GNUNET_SYSERR; 845 return GNUNET_SYSERR;
840 846