diff --git a/common-src/glib-util.c b/common-src/glib-util.c index cbd8642..1ab1261 100644 --- a/common-src/glib-util.c +++ b/common-src/glib-util.c @@ -40,7 +40,8 @@ #if (defined HAVE_LIBCURL && defined LIBCURL_USE_OPENSSL) || defined SSL_SECURITY #include #include -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if (defined OPENSSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER < 0x10100000L) \ + || defined LIBRESSL_VERSION_NUMBER static GMutex **openssl_mutex_array; static void openssl_lock_callback(int mode, int type, const char *file, int line) { @@ -58,7 +59,8 @@ static void openssl_lock_callback(int mode, int type, const char *file, int line static void init_openssl(void) { -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if (defined OPENSSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER < 0x10100000L) \ + || defined LIBRESSL_VERSION_NUMBER int i; openssl_mutex_array = g_new0(GMutex *, CRYPTO_num_locks()); diff --git a/config/amanda/amanda_configure.m4 b/config/amanda/amanda_configure.m4 index e45505a..3333576 100644 --- a/config/amanda/amanda_configure.m4 +++ b/config/amanda/amanda_configure.m4 @@ -94,9 +94,9 @@ AMANDA_BSD_SECURITY AMANDA_BSDTCP_SECURITY AMANDA_BSDUDP_SECURITY AMANDA_RSH_SECURITY +AMANDA_SSL_SECURITY AMANDA_SSH_SECURITY AMANDA_KRB5_SECURITY -AMANDA_SSL_SECURITY # # Dumpers diff --git a/device-src/Makefile.am b/device-src/Makefile.am index 93593fe..43765b3 100644 --- a/device-src/Makefile.am +++ b/device-src/Makefile.am @@ -29,7 +29,7 @@ CLEANFILES += $(SCRIPTS_PERL) config.log ## libamdevice.la amlib_LTLIBRARIES = libamdevice.la -libamdevice_la_LDFLAGS = -release $(VERSION) $(AS_NEEDED_FLAGS) +libamdevice_la_LDFLAGS = -release $(VERSION) $(AS_NEEDED_FLAGS) -ldl libamdevice_la_SOURCES = \ property.c \ device.c \ diff --git a/device-src/s3-util.c b/device-src/s3-util.c index ab909fa..e09c943 100644 --- a/device-src/s3-util.c +++ b/device-src/s3-util.c @@ -239,7 +239,9 @@ EncodeHMACSHA256( unsigned char tk[SHA256_DIGEST_LENGTH]; // Initialise HMACh -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if (defined OPENSSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER < 0x10100000L) \ + || defined LIBRESSL_VERSION_NUMBER + HMAC_CTX HMAC; #else HMAC_CTX *HMAC; @@ -254,7 +256,8 @@ EncodeHMACSHA256( } // Digest the key and message using SHA256 -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if (defined OPENSSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER < 0x10100000L) \ + || defined LIBRESSL_VERSION_NUMBER HMAC_CTX_init(&HMAC); HMAC_Init_ex(&HMAC, key, keylen, EVP_sha256(),NULL); HMAC_Update(&HMAC, datatohash, datalen); diff --git a/device-src/s3.c b/device-src/s3.c index c87d924..c472f3c 100644 --- a/device-src/s3.c +++ b/device-src/s3.c @@ -846,7 +846,8 @@ authenticate_request(S3Handle *hdl, char *szS3Date = NULL; char *zulu_date = NULL; char *buf = NULL; -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if (defined OPENSSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER < 0x10100000L) \ + || defined LIBRESSL_VERSION_NUMBER HMAC_CTX ctx; #else HMAC_CTX *ctx; @@ -1209,7 +1210,8 @@ authenticate_request(S3Handle *hdl, /* run HMAC-SHA1 on the canonicalized string */ md = g_byte_array_sized_new(EVP_MAX_MD_SIZE+1); -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if (defined OPENSSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER < 0x10100000L) \ + || defined LIBRESSL_VERSION_NUMBER HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, hdl->secret_key, (int) strlen(hdl->secret_key), EVP_sha1(), NULL);