diff -Naur postfix-3.2.3/src/posttls-finger/posttls-finger.c postfix-3.2.3-lunar/src/posttls-finger/posttls-finger.c
--- postfix-3.2.3/src/posttls-finger/posttls-finger.c	2017-02-03 23:43:04.000000000 +0100
+++ postfix-3.2.3-lunar/src/posttls-finger/posttls-finger.c	2017-12-20 12:59:53.976055259 +0100
@@ -1513,7 +1513,7 @@
     return (0);
 }
 
-#if defined(USE_TLS) && OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(USE_TLS) && ( OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) )
 
 /* ssl_cleanup - free memory allocated in the OpenSSL library */
 
@@ -1966,7 +1966,7 @@
     cleanup(&state);
 
     /* OpenSSL 1.1.0 and later (de)initialization is implicit */
-#if defined(USE_TLS) && OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(USE_TLS) && ( OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) )
     ssl_cleanup();
 #endif
 
diff -Naur postfix-3.2.3/src/tls/tls_client.c postfix-3.2.3-lunar/src/tls/tls_client.c
--- postfix-3.2.3/src/tls/tls_client.c	2017-01-01 23:22:13.000000000 +0100
+++ postfix-3.2.3-lunar/src/tls/tls_client.c	2017-12-20 13:00:54.689390715 +0100
@@ -299,7 +299,7 @@
      */
     tls_check_version();
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 
     /*
      * Initialize the OpenSSL library by the book! To start with, we must
@@ -433,7 +433,7 @@
     /*
      * 2015-12-05: Ephemeral RSA removed from OpenSSL 1.1.0-dev
      */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 
     /*
      * According to the OpenSSL documentation, temporary RSA key is needed
diff -Naur postfix-3.2.3/src/tls/tls_dane.c postfix-3.2.3-lunar/src/tls/tls_dane.c
--- postfix-3.2.3/src/tls/tls_dane.c	2017-02-19 02:58:21.000000000 +0100
+++ postfix-3.2.3-lunar/src/tls/tls_dane.c	2017-12-20 13:01:26.182725149 +0100
@@ -2125,7 +2125,7 @@
     tls_param_init();
     tls_check_version();
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
     SSL_load_error_strings();
     SSL_library_init();
 #endif
diff -Naur postfix-3.2.3/src/tls/tls.h postfix-3.2.3-lunar/src/tls/tls.h
--- postfix-3.2.3/src/tls/tls.h	2017-01-01 23:22:13.000000000 +0100
+++ postfix-3.2.3-lunar/src/tls/tls.h	2017-12-20 13:03:55.729397042 +0100
@@ -89,7 +89,7 @@
 #endif
 
  /* Backwards compatibility with OpenSSL < 1.1.0 */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 #define OpenSSL_version_num SSLeay
 #define OpenSSL_version SSLeay_version
 #define OPENSSL_VERSION SSLEAY_VERSION
diff -Naur postfix-3.2.3/src/tls/tls_rsa.c postfix-3.2.3-lunar/src/tls/tls_rsa.c
--- postfix-3.2.3/src/tls/tls_rsa.c	2016-01-03 15:49:51.000000000 +0100
+++ postfix-3.2.3-lunar/src/tls/tls_rsa.c	2017-12-20 13:01:58.436059609 +0100
@@ -57,7 +57,7 @@
  /*
   * 2015-12-05: Ephemeral RSA removed from OpenSSL 1.1.0-dev
   */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 
 /* tls_tmp_rsa_cb - call-back to generate ephemeral RSA key */
 
@@ -109,7 +109,7 @@
     /*
      * 2015-12-05: Ephemeral RSA removed from OpenSSL 1.1.0-dev
      */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
     RSA    *rsa;
 
     msg_vstream_init(argv[0], VSTREAM_ERR);
diff -Naur postfix-3.2.3/src/tls/tls_server.c postfix-3.2.3-lunar/src/tls/tls_server.c
--- postfix-3.2.3/src/tls/tls_server.c	2017-01-01 23:22:13.000000000 +0100
+++ postfix-3.2.3-lunar/src/tls/tls_server.c	2017-12-20 13:03:23.319395909 +0100
@@ -174,7 +174,7 @@
 #endif					/* OPENSSL_VERSION_NUMBER */
 
  /* OpenSSL 1.1.0 bitrot */
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L || !defined(LIBRESSL_VERSION_NUMBER)
 typedef const unsigned char *session_id_t;
 
 #else
@@ -377,7 +377,7 @@
      */
     tls_check_version();
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 
     /*
      * Initialize the OpenSSL library by the book! To start with, we must
@@ -580,7 +580,7 @@
     /*
      * 2015-12-05: Ephemeral RSA removed from OpenSSL 1.1.0-dev
      */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 
     /*
      * According to OpenSSL documentation, a temporary RSA key is needed when
