]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Change Windows libraries to be dynamically linked
authorAdam <Adam@anope.org>
Sun, 13 Apr 2014 01:46:19 +0000 (21:46 -0400)
committerAttila Molnar <attilamolnar@hush.com>
Sun, 13 Apr 2014 14:07:58 +0000 (16:07 +0200)
src/modules/extra/m_ldapauth.cpp
src/modules/extra/m_ldapoper.cpp
src/modules/extra/m_mysql.cpp
src/modules/extra/m_ssl_gnutls.cpp
src/modules/extra/m_ssl_openssl.cpp
win/inspircd_win32wrapper.h

index 5b3f1e7cc00ec0f538b87a67abf78eb060af121b..6c765fb2ece23f9b0b586d4b964349024f965906 100644 (file)
@@ -31,8 +31,8 @@
 #include <ldap.h>
 
 #ifdef _WIN32
-# pragma comment(lib, "ldap.lib")
-# pragma comment(lib, "lber.lib")
+# pragma comment(lib, "libldap.lib")
+# pragma comment(lib, "liblber.lib")
 #endif
 
 /* $ModDesc: Allow/Deny connections based upon answer from LDAP server */
index 53896878c5e1b255b7bf085b493091d92ba515d5..1f46361d4d34555b50c71b07f423d506893d6425 100644 (file)
@@ -28,8 +28,8 @@
 #include <ldap.h>
 
 #ifdef _WIN32
-# pragma comment(lib, "ldap.lib")
-# pragma comment(lib, "lber.lib")
+# pragma comment(lib, "libldap.lib")
+# pragma comment(lib, "liblber.lib")
 #endif
 
 /* $ModDesc: Adds the ability to authenticate opers via LDAP */
index 22cf5f3f4f1a5e006560abb1968c9db207e08474..01b1553b0b1d36b0e15433f5b8bb17793ca22cd7 100644 (file)
@@ -28,9 +28,7 @@
 #include "sql.h"
 
 #ifdef _WIN32
-# pragma comment(lib, "mysqlclient.lib")
-# pragma comment(lib, "advapi32.lib")
-# pragma comment(linker, "/NODEFAULTLIB:LIBCMT")
+# pragma comment(lib, "libmysql.lib")
 #endif
 
 /* VERSION 3 API: With nonblocking (threaded) requests */
index 1f1297ef90468bc8d38d841bb71593841b647a29..03673d7a06a4363aad55ca4ea5beb85644d20088 100644 (file)
 
 
 #include "inspircd.h"
+#ifndef _WIN32
 #include <gcrypt.h>
+#endif
 #include <gnutls/gnutls.h>
 #include <gnutls/x509.h>
 #include "ssl.h"
 #include "m_cap.h"
 
 #ifdef _WIN32
-# pragma comment(lib, "libgnutls.lib")
-# pragma comment(lib, "libgcrypt.lib")
-# pragma comment(lib, "libgpg-error.lib")
-# pragma comment(lib, "user32.lib")
-# pragma comment(lib, "advapi32.lib")
-# pragma comment(lib, "libgcc.lib")
-# pragma comment(lib, "libmingwex.lib")
-# pragma comment(lib, "gdi32.lib")
+# pragma comment(lib, "libgnutls-28.lib")
 #endif
 
 /* $ModDesc: Provides SSL support for clients */
@@ -60,6 +55,13 @@ typedef gnutls_certificate_credentials_t gnutls_certificate_credentials;
 typedef gnutls_dh_params_t gnutls_dh_params;
 #endif
 
+#if (defined(_WIN32) && (GNUTLS_VERSION_MAJOR > 2 || (GNUTLS_VERSION_MAJOR == 2 && GNUTLS_VERSION_MINOR >= 12)))
+# define GNUTLS_HAS_RND
+# include <gnutls/crypto.h>
+#else
+# include <gcrypt.h>
+#endif
+
 enum issl_status { ISSL_NONE, ISSL_HANDSHAKING_READ, ISSL_HANDSHAKING_WRITE, ISSL_HANDSHAKEN, ISSL_CLOSING, ISSL_CLOSED };
 
 static std::vector<gnutls_x509_crt_t> x509_certs;
@@ -89,7 +91,11 @@ class RandGen : public HandlerBase2<void, char*, size_t>
        RandGen() {}
        void Call(char* buffer, size_t len)
        {
+#ifdef GNUTLS_HAS_RND
+               gnutls_rnd(GNUTLS_RND_RANDOM, buffer, len);
+#else
                gcry_randomize(buffer, len, GCRY_STRONG_RANDOM);
+#endif
        }
 };
 
@@ -250,7 +256,9 @@ class ModuleSSLGnuTLS : public Module
        ModuleSSLGnuTLS()
                : starttls(this), capHandler(this, "tls"), iohook(this, "ssl/gnutls", SERVICE_IOHOOK)
        {
+#ifndef GNUTLS_HAS_RND
                gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
+#endif
 
                sessions = new issl_session[ServerInstance->SE->GetMaxFds()];
 
index 91a3d72694b5fe9a441cde92f5418746cb5c0644..60c90988a7aed04b4d87e67795f1d6e341b2f6dc 100644 (file)
 #include "ssl.h"
 
 #ifdef _WIN32
-# pragma comment(lib, "libcrypto.lib")
-# pragma comment(lib, "libssl.lib")
-# pragma comment(lib, "user32.lib")
-# pragma comment(lib, "advapi32.lib")
-# pragma comment(lib, "libgcc.lib")
-# pragma comment(lib, "libmingwex.lib")
-# pragma comment(lib, "gdi32.lib")
+# pragma comment(lib, "ssleay32.lib")
+# pragma comment(lib, "libeay32.lib")
 # undef MAX_DESCRIPTORS
 # define MAX_DESCRIPTORS 10000
 #endif
index 75404ef8b29e170fb10230c61ae9621bbd19a97e..be437d4a36c37bba3bd9063782320abe6447ae69 100644 (file)
@@ -78,6 +78,8 @@
 #define strcasecmp _stricmp
 #define strncasecmp _strnicmp
 
+typedef int ssize_t;
+
 /* Convert formatted (xxx.xxx.xxx.xxx) string to in_addr struct */
 CoreExport int insp_inet_pton(int af, const char * src, void * dst);