openssl: fix building with openssl 1.1 and later
authorClinton Ebadi <clinton@unknownlamer.org>
Mon, 9 Apr 2018 23:06:38 +0000 (19:06 -0400)
committerClinton Ebadi <clinton@unknownlamer.org>
Mon, 9 Apr 2018 23:06:38 +0000 (19:06 -0400)
Patch provided by Robin Templeton <robin@hcoop.net>

openssl/openssl_sml.c
openssl/openssl_sml.h

index 0ce16d2..d934217 100644 (file)
@@ -1,7 +1,8 @@
-#include "openssl/bio.h"
-#include "openssl/ssl.h"
-#include "openssl/err.h"
+#include <openssl/ssl.h>
+#include <openssl/err.h>
+#include <openssl/asn1.h>
 
+#include <string.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <unistd.h>
@@ -82,7 +83,7 @@ void OpenSSL_SML_CTX_free(SSL_CTX *ctx) {
   return SSL_CTX_free(ctx);
 }
 
-SSL_METHOD *OpenSSL_SML_SSLv23_method() {
+const SSL_METHOD *OpenSSL_SML_SSLv23_method() {
   return SSLv23_method();
 }
 
@@ -217,11 +218,11 @@ const char *OpenSSL_SML_get_peer_name(SSL *ssl) {
        ASN1_STRING *s = X509_NAME_ENTRY_get_data(ne);
        static char ret[1024];
 
-       if (M_ASN1_STRING_length(s) >= sizeof ret)
+       if (ASN1_STRING_length(s) >= sizeof ret)
          return NULL;
        else {
-         memcpy(ret, M_ASN1_STRING_data(s), M_ASN1_STRING_length(s));
-         ret[M_ASN1_STRING_length(s)] = 0;
+         memcpy(ret, ASN1_STRING_get0_data(s), ASN1_STRING_length(s));
+         ret[ASN1_STRING_length(s)] = 0;
          return ret;
        }
       } else {
index 3d5cd46..3f33922 100644 (file)
@@ -1,6 +1,9 @@
-#include "openssl/bio.h"
-#include "openssl/ssl.h"
-#include "openssl/err.h"
+#include <openssl/ossl_typ.h>
+
+/* SSL_METHOD is defined in <openssl/ssl.h>, which #includes system
+   headers that ml-nlffigen can't parse. */
+
+typedef struct ssl_method_st SSL_METHOD;
 
 void OpenSSL_SML_init(void);
 void OpenSSL_SML_load_error_strings(void);