[PATCH] some servers needs force SSL3.0 when lftp is built with gnutls

Jiri Skala <[email protected]> Thu, 01 Jul 2010 17:17:30 +0200
Newsgroups gmane.network.lftp.devel
Message-ID <[email protected]>
Hi,
some servers needs force SSL3.0 when lftp is built with gnutls. There is
mandatory setting to enable this forcing:

set ftp:ssl-auth SSL

I was warned that used gnutls_transport_set_ptr() is renamed in next
gnutls versions but I didn't verified it.

Build with gnutls-2.8.6


--- lftp-4.0.9/src/lftp_ssl.cc.ssl3     2009-09-29 07:33:01.000000000
+0200
+++ lftp-4.0.9/src/lftp_ssl.cc  2010-06-30 08:11:52.384019996 +0200
@@ -261,6 +261,13 @@ lftp_ssl_gnutls::lftp_ssl_gnutls(int fd1
    gnutls_set_default_priority(session);

    gnutls_transport_set_ptr(session,(gnutls_transport_ptr_t)fd);
+   
+   const char *auth=ResMgr::Query("ssl-auth", hostname);
+   if(!strncmp(auth, "SSL", 3))
+   {
+      int proto[] = { GNUTLS_SSL3, 0 };
+      gnutls_protocol_set_priority(session, proto);
+   }
 }
 void lftp_ssl_gnutls::load_keys()
 {