summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-07-09 01:53:07 -0400
committerAdam <Adam@anope.org>2012-07-09 01:53:07 -0400
commit6735f2da27df23ee34936a4b17727f4ba44c04e8 (patch)
treef98dfad166bc687843a38f40d43826ad4f3033a4
parent33b908aedc61d2bce3dcf8f062d6522e3bd14dfa (diff)
Fixed Windows build, int32_t is already defined in stdint.h.
Add GnuTLS support for Windows. Made NSIS script include extra DLL files if supplied and include the conf/aliases and conf/modules example configuration files. Added make_gnutls_cert.bat to generate GnuTLS certificates on Windows. Fixed typo in gnutlscert.pm.
-rw-r--r--make/gnutlscert.pm2
-rw-r--r--src/modules/extra/m_ssl_gnutls.cpp11
-rw-r--r--win/inspircd.nsi12
-rw-r--r--win/inspircd_win32wrapper.h1
-rw-r--r--win/make_gnutls_cert.bat14
5 files changed, 38 insertions, 2 deletions
diff --git a/make/gnutlscert.pm b/make/gnutlscert.pm
index 1621c2c27..ab8aae427 100644
--- a/make/gnutlscert.pm
+++ b/make/gnutlscert.pm
@@ -36,7 +36,7 @@ sub make_gnutls_cert()
my $timestr = time();
my $org = promptstring_s("Please enter the organization name", "My IRC Network");
my $unit = promptstring_s("Please enter the unit Name", "Server Admins");
- my $state = promptstring_s("Pleae enter your state (two letter code)", "CA");
+ my $state = promptstring_s("Please enter your state (two letter code)", "CA");
my $country = promptstring_s("Please enter your country", "Oompa Loompa Land");
my $commonname = promptstring_s("Please enter the certificate common name (hostname)", "irc.mynetwork.com");
my $email = promptstring_s("Please enter a contact email address", "oompa\@loompa.com");
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp
index 6ca876d4c..c631642ce 100644
--- a/src/modules/extra/m_ssl_gnutls.cpp
+++ b/src/modules/extra/m_ssl_gnutls.cpp
@@ -28,6 +28,17 @@
#include "ssl.h"
#include "m_cap.h"
+#ifdef WINDOWS
+# 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")
+#endif
+
/* $ModDesc: Provides SSL support for clients */
/* $CompileFlags: pkgconfincludes("gnutls","/gnutls/gnutls.h","") */
/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") -lgcrypt */
diff --git a/win/inspircd.nsi b/win/inspircd.nsi
index e263f4561..1fa21c6f9 100644
--- a/win/inspircd.nsi
+++ b/win/inspircd.nsi
@@ -153,6 +153,10 @@ SectionEnd
Section "Config Files" SEC02
SetOutPath "$INSTDIR\conf"
File "..\docs\conf\*.example"
+ SetOutPath "$INSTDIR\conf\aliases"
+ File "..\docs\conf\aliases\*.example"
+ SetOutPath "$INSTDIR\conf\modules"
+ File "..\docs\conf\modules\modules.*"
SectionEnd
Section "Command Handlers" SEC03
@@ -163,6 +167,10 @@ SectionEnd
Section "Modules" SEC04
SetOutPath "$INSTDIR\modules"
File "..\bin\${BUILD}\modules\m_*.so"
+ ; Copy DLLs required for modules
+ SetOutPath "$INSTDIR"
+ File /nonfatal "*.dll"
+ File "make_gnutls_cert.bat"
SectionEnd
Section -AdditionalIcons
@@ -216,9 +224,13 @@ Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\modules\*.so"
Delete "$INSTDIR\conf\*.example"
+ Delete "$INSTDIR\conf\aliases\*.example"
+ Delete "$INSTDIR\conf\modules\*.example"
Delete "$INSTDIR\*.log"
Delete "$INSTDIR\logs\*"
Delete "$INSTDIR\data\*"
+ Delete "$INSTDIR\*.dll"
+ Delete "$INSTDIR\make_gnutls_cert.bat"
Delete "$INSTDIR\inspircd.exe"
Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"
Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk"
diff --git a/win/inspircd_win32wrapper.h b/win/inspircd_win32wrapper.h
index 85572fd64..bc7165262 100644
--- a/win/inspircd_win32wrapper.h
+++ b/win/inspircd_win32wrapper.h
@@ -231,7 +231,6 @@ CoreExport int clock_gettime(int clock, struct timespec * tv);
typedef unsigned char uint8_t;
typedef unsigned long long uint64_t;
typedef signed char int8_t;
-typedef signed long int32_t;
typedef signed long long int64_t;
typedef signed long ssize_t;
diff --git a/win/make_gnutls_cert.bat b/win/make_gnutls_cert.bat
new file mode 100644
index 000000000..97792cc29
--- /dev/null
+++ b/win/make_gnutls_cert.bat
@@ -0,0 +1,14 @@
+@echo off
+
+echo This program will generate SSL certificates for m_ssl_gnutls.so
+echo Ensure certtool.exe is in your system path. It can be downloaded
+echo at ftp://ftp.gnu.org/gnu/gnutls/w32/. If you do not know the answer
+echo to one of the questions just press enter.
+echo.
+
+pause
+
+certtool --generate-privkey --outfile conf/key.pem
+certtool --generate-self-signed --load-privkey conf/key.pem --outfile conf/cert.pem
+
+pause \ No newline at end of file