=== modified file 'src/gnutls.c' --- src/gnutls.c 2011-09-04 11:30:01 +0000 +++ src/gnutls.c 2011-10-31 22:58:38 +0000 @@ -59,10 +59,17 @@ confused with actual gnutls functions -- such as the gnutls_read preprocessor macro. */ +/* Becomes true if GnuTLS is initialized. */ +static bool ssl_initialized = false; + static gnutls_certificate_credentials credentials; bool ssl_init () { + /* GnuTLS should be initialized only once. */ + if (ssl_initialized) + return true; + const char *ca_directory; DIR *dir; @@ -104,6 +111,9 @@ if (opt.ca_cert) gnutls_certificate_set_x509_trust_file (credentials, opt.ca_cert, GNUTLS_X509_FMT_PEM); + + ssl_initialized = true; + return true; }