فهرست منبع

Neon build corrections identified by Clang

- ne_session.h is not included by ne_socket.c, so ne_init_ssl_session wasn't declared
- OPENSSL_NO_SOCK cannot be used as neon calls at least SSL_set_fd
- USE_GETADDRINFO is already defined in config.h
- config.h is included repeatedly

Source commit: 406788b333986f3cee1667617f453dd28fb62dfb
Martin Prikryl 3 ماه پیش
والد
کامیت
3fe2be7429
5فایلهای تغییر یافته به همراه11 افزوده شده و 4 حذف شده
  1. 2 2
      libs/neon/Makefile.bcb
  2. 5 0
      libs/neon/src/config.h
  3. 0 1
      libs/neon/src/ne_session.h
  4. 2 0
      libs/neon/src/ne_socket.h
  5. 2 1
      source/core/NeonIntf.cpp

+ 2 - 2
libs/neon/Makefile.bcb

@@ -1,8 +1,8 @@
 # Set your compiler options
-OPENSSL_CFLAG=-DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_CMS -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_NO_ENGINE -DOPENSSL_NO_DYNAMIC_ENGINE -DOPENSSL_DISABLE_OLD_DES_SUPPORT -DNO_CHMOD -DOPENSSL_NO_SOCK -DOPENSSL_NO_DGRAM -DOPENSSL_NO_EC -DOPENSSL_NO_ECDH -DOPENSSL_NO_ECDSA -DDOPENSSL_NO_EC_NISTP_64_GCC_128
+OPENSSL_CFLAG=-DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_CMS -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_NO_ENGINE -DOPENSSL_NO_DYNAMIC_ENGINE -DOPENSSL_DISABLE_OLD_DES_SUPPORT -DNO_CHMOD -DOPENSSL_NO_DGRAM -DOPENSSL_NO_EC -DOPENSSL_NO_ECDH -DOPENSSL_NO_ECDSA -DDOPENSSL_NO_EC_NISTP_64_GCC_128
 EXPAT_CFLAG=-DCOMPILED_FROM_DSP;XML_STATIC
 
-CFLAG=-DWIN32;WIN32_LEAN_AND_MEAN;_WINDOWS;WIN32;NDEBUG;_LIB;_NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL -DNE_HAVE_SSL;HAVE_OPENSSL;HAVE_EXPAT;HAVE_EXPAT_H;NE_HAVE_DAV;NE_LFS;USE_GETADDRINFO;NOUSER;NOGDI;HAVE_STRTOLL;WINSCP;
+CFLAG=-DWIN32;WIN32_LEAN_AND_MEAN;_WINDOWS;WIN32;NDEBUG;_LIB;_NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL -DNE_HAVE_SSL;HAVE_OPENSSL;HAVE_EXPAT;HAVE_EXPAT_H;NE_HAVE_DAV;NE_LFS;NOUSER;NOGDI;HAVE_STRTOLL;WINSCP;
 CFLAG=$(CFLAG) -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -w-eff -w-sus -w-dup -w-spa -w-csu -w-rvl -w-8065 -w-8069  -c -tWC -tWM -O2 -ff -fp
 LIB_CFLAG=$(OPENSSL_CFLAG) $(EXPAT_CFLAG)
 

+ 5 - 0
libs/neon/src/config.h

@@ -19,6 +19,9 @@
    MA 02111-1307, USA
 
 */
+#ifndef NEON_CONFIG_H
+#define NEON_CONFIG_H
+
 #if defined(_WIN32) && !defined(WIN32)
 #define WIN32
 #endif
@@ -135,3 +138,5 @@ typedef int socklen_t;
 #define read _read
 
 #endif
+
+#endif

+ 0 - 1
libs/neon/src/ne_session.h

@@ -331,7 +331,6 @@ void ne_ssl_provide_clicert(ne_session *sess,
 const char * ne_ssl_get_version(ne_session *sess);
 char * ne_ssl_get_cipher(ne_session *sess);
 struct ssl_st;
-void ne_init_ssl_session(struct ssl_st *ssl, ne_session *sess);
 #endif                            
 
 /* Set the timeout (in seconds) used when reading from a socket.  The

+ 2 - 0
libs/neon/src/ne_socket.h

@@ -343,6 +343,8 @@ int ne_sock_proxy(ne_socket *sock, enum ne_sock_sversion vers,
 
 // WINSCP
 void ne_sock_set_buffers(ne_socket *sock, unsigned int sndbuf);
+#include <openssl/ssl.h>
+void ne_init_ssl_session(SSL *ssl, void *userdata);
 
 NE_END_DECLS
 

+ 2 - 1
source/core/NeonIntf.cpp

@@ -240,8 +240,9 @@ void CheckRedirectLoop(const UnicodeString & RedirectUrl, TStrings * AttemptedUr
 extern "C"
 {
 
-void ne_init_ssl_session(struct ssl_st * Ssl, ne_session * Session)
+void ne_init_ssl_session(SSL * Ssl, void * UserData)
 {
+  ne_session * Session = static_cast<ne_session *>(UserData);
   void * Code = ne_get_session_private(Session, SESSION_TLS_INIT_KEY);
   void * Data = ne_get_session_private(Session, SESSION_TLS_INIT_DATA_KEY);
   TNeonTlsInit OnNeonTlsInit = MakeMethod<TNeonTlsInit>(Data, Code);