mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 16:27:27 +00:00
stunnel: fix compile error when openssl disable des support
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> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
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>
|
||||||
|
---
|
||||||
|
diff --git a/src/common.h b/src/common.h
|
||||||
|
index f7d38b0..bf485af 100644
|
||||||
|
--- a/src/common.h
|
||||||
|
+++ b/src/common.h
|
||||||
|
@@ -471,7 +471,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 587df09..8198eb6 100644
|
||||||
|
--- a/src/protocol.c
|
||||||
|
+++ b/src/protocol.c
|
||||||
|
@@ -66,7 +66,7 @@ NOEXPORT char *imap_server(CLI *, SERVICE_OPTIONS *, const PHASE);
|
||||||
|
NOEXPORT char *nntp_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();
|
||||||
|
NOEXPORT char *ntlm3(char *, char *, char *, char *);
|
||||||
|
@@ -1175,7 +1175,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");
|
||||||
|
@@ -1216,7 +1216,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:
|
||||||
@@ -8,7 +8,9 @@ DEPENDS = "openssl zlib tcp-wrappers"
|
|||||||
|
|
||||||
RDEPENDS_${PN} += "perl"
|
RDEPENDS_${PN} += "perl"
|
||||||
|
|
||||||
SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz"
|
SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
|
||||||
|
file://fix-openssl-no-des.patch \
|
||||||
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "9079f5fafbccaf88b7d92b227d78249a"
|
SRC_URI[md5sum] = "9079f5fafbccaf88b7d92b227d78249a"
|
||||||
SRC_URI[sha256sum] = "ffa386ae4c825f35f35157c285e7402a6d58779ad8c3822f74a9d355b54aba1d"
|
SRC_URI[sha256sum] = "ffa386ae4c825f35f35157c285e7402a6d58779ad8c3822f74a9d355b54aba1d"
|
||||||
|
|||||||
Reference in New Issue
Block a user