Build against old OpenSSL without DTLS support (OSX, OpenBSD)
authorDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 2 Jun 2009 10:51:34 +0000 (11:51 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 2 Jun 2009 10:51:39 +0000 (11:51 +0100)
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
dtls.c
mainloop.c

diff --git a/dtls.c b/dtls.c
index 929fe8a..4d6c961 100644 (file)
--- a/dtls.c
+++ b/dtls.c
 #include <unistd.h>
 #include <netinet/in.h>
 #include <openssl/err.h>
+#include <openssl/ssl.h>
 #include <fcntl.h>
 #include <string.h>
 
 #include "openconnect.h"
 
+#ifdef SSL_F_DTLS1_CONNECT
 #if 0
 /*
  * Useful for catching test cases, where we want everything to be
@@ -512,5 +514,11 @@ int dtls_mainloop(struct openconnect_info *vpninfo, int *timeout)
 
        return work_done;
 }
-
+#else /* No DTLS support in OpenSSL */
+int setup_dtls(struct openconnect_info *vpninfo)
+{
+       vpninfo->progress(vpninfo, PRG_ERR, "Built against OpenSSL with no DTLS support\n");
+       return -EINVAL;
+}
+#endif
 
index 6a06ec6..0389445 100644 (file)
@@ -31,6 +31,8 @@
 #include <unistd.h>
 #include <string.h>
 
+#include <openssl/ssl.h>
+
 #include "openconnect.h"
 
 void queue_packet(struct pkt **q, struct pkt *new)
@@ -78,6 +80,7 @@ int vpn_mainloop(struct openconnect_info *vpninfo)
                struct timeval tv;
                fd_set rfds, wfds, efds;
 
+#ifdef SSL_F_DTLS1_CONNECT
                if (vpninfo->new_dtls_ssl)
                        dtls_try_handshake(vpninfo);
 
@@ -88,7 +91,7 @@ int vpn_mainloop(struct openconnect_info *vpninfo)
                }
                if (vpninfo->dtls_ssl)
                        did_work += dtls_mainloop(vpninfo, &timeout);
-
+#endif
                if (vpninfo->quit_reason)
                        break;