| From 7ff4eba20b5c4fc7365e5ee0dfb775ed29bdd5ce Mon Sep 17 00:00:00 2001 |
| From: Kai Kang <kai.kang@windriver.com> |
| Date: Wed, 1 Nov 2017 09:23:41 -0400 |
| Subject: [PATCH] stunnel: fix compile error when openssl disable des support |
| |
| Upstream-Status: Pending |
| |
| When openssl disable des support with configure option 'no-des', it doesn't |
| provide des related header file and functions. That causes stunnel compile |
| failed. Fix it by checking macro OPENSSL_NO_DES to use openssl des related |
| library conditionaly. |
| |
| Signed-off-by: Kai Kang <kai.kang@windriver.com> |
| |
| --- |
| src/common.h | 2 ++ |
| src/protocol.c | 6 +++--- |
| 2 files changed, 5 insertions(+), 3 deletions(-) |
| |
| diff --git a/src/common.h b/src/common.h |
| index bc37eb5..03ee3e5 100644 |
| --- a/src/common.h |
| +++ b/src/common.h |
| @@ -486,7 +486,9 @@ extern char *sys_errlist[]; |
| #ifndef OPENSSL_NO_MD4 |
| #include <openssl/md4.h> |
| #endif /* !defined(OPENSSL_NO_MD4) */ |
| +#ifndef OPENSSL_NO_DES |
| #include <openssl/des.h> |
| +#endif |
| #ifndef OPENSSL_NO_DH |
| #include <openssl/dh.h> |
| #if OPENSSL_VERSION_NUMBER<0x10100000L |
| diff --git a/src/protocol.c b/src/protocol.c |
| index 804f115..d9b2b50 100644 |
| --- a/src/protocol.c |
| +++ b/src/protocol.c |
| @@ -66,7 +66,7 @@ NOEXPORT char *nntp_client(CLI *, SERVICE_OPTIONS *, const PHASE); |
| NOEXPORT char *ldap_client(CLI *, SERVICE_OPTIONS *, const PHASE); |
| NOEXPORT char *connect_server(CLI *, SERVICE_OPTIONS *, const PHASE); |
| NOEXPORT char *connect_client(CLI *, SERVICE_OPTIONS *, const PHASE); |
| -#ifndef OPENSSL_NO_MD4 |
| +#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES) |
| NOEXPORT void ntlm(CLI *, SERVICE_OPTIONS *); |
| NOEXPORT char *ntlm1(void); |
| NOEXPORT char *ntlm3(char *, char *, char *, char *); |
| @@ -1351,7 +1351,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) { |
| fd_printf(c, c->remote_fd.fd, "Host: %s", opt->protocol_host); |
| if(opt->protocol_username && opt->protocol_password) { |
| if(!strcasecmp(opt->protocol_authentication, "ntlm")) { |
| -#ifndef OPENSSL_NO_MD4 |
| +#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES) |
| ntlm(c, opt); |
| #else |
| s_log(LOG_ERR, "NTLM authentication is not available"); |
| @@ -1395,7 +1395,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) { |
| return NULL; |
| } |
| |
| -#ifndef OPENSSL_NO_MD4 |
| +#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES) |
| |
| /* |
| * NTLM code is based on the following documentation: |