vconn: New function vconn_ssl_is_configured().
authorBen Pfaff <blp@nicira.com>
Mon, 14 Jul 2008 20:56:39 +0000 (13:56 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 18 Jul 2008 21:16:40 +0000 (14:16 -0700)
The secure channel, in discovery mode, wants to enable TCP connections
by default only if SSL has not been configured.  This function allows
it to do that.

include/vconn-ssl.h
lib/vconn-ssl.c

index 1d4a923..fb80068 100644 (file)
 #ifndef VCONN_SSL_H
 #define VCONN_SSL_H 1
 
+#include <stdbool.h>
+
 #ifdef HAVE_OPENSSL
+bool vconn_ssl_is_configured(void);
 void vconn_ssl_set_private_key_file(const char *file_name);
 void vconn_ssl_set_certificate_file(const char *file_name);
 void vconn_ssl_set_ca_cert_file(const char *file_name);
@@ -56,6 +59,10 @@ void vconn_ssl_set_ca_cert_file(const char *file_name);
             vconn_ssl_set_ca_cert_file(optarg);     \
             break;
 #else /* !HAVE_OPENSSL */
+static inline bool vconn_ssl_is_configured(void) 
+{
+    return false;
+}
 #define VCONN_SSL_LONG_OPTIONS
 #define VCONN_SSL_OPTION_HANDLERS
 #endif /* !HAVE_OPENSSL */
index 607d9b9..0da4c57 100644 (file)
@@ -867,6 +867,13 @@ tmp_dh_callback(SSL *ssl, int is_export UNUSED, int keylength)
     return NULL;
 }
 
+/* Returns true if SSL is at least partially configured. */
+bool
+vconn_ssl_is_configured(void) 
+{
+    return has_private_key || has_certificate || has_ca_cert;
+}
+
 void
 vconn_ssl_set_private_key_file(const char *file_name)
 {