443 Commits

Author SHA1 Message Date
attilamolnar
abe675bfac Build with multiple processes on Windows (/MP) 2013-06-11 00:33:31 +02:00
attilamolnar
86c454a676 Fix Windows 2013-06-06 03:09:41 +02:00
Peter Powell
5d0b2b7cfc Remove hardcoded MAXBUF constant. 2013-06-06 01:45:05 +01:00
Peter Powell
bbeb5ea386 Use iostream instead of C-style file operations. 2013-06-06 01:44:57 +01:00
attilamolnar
d9d99cd02d Merge insp20 2013-06-06 01:07:22 +02:00
attilamolnar
fc198fffe1 Fix inet_pton on Windows with IPv6 addresses
Code from Anope win32/socket.cpp by @Adam-
2013-06-04 21:43:29 +02:00
Adam
f2dcf19923 Add a va_copy define for Windows 2013-05-23 13:26:11 -04:00
Peter Powell
b89aa87280 Clean up cross-platform compatibility.
- Move compatibility macros to a new header file.
- Sort system include files in alphabetical order.
- Clean up signal handling (thanks to Adam).
2013-05-07 05:00:33 +02:00
Adam
d5991ed652 Fix logfile path on Windows
Fixes issue #510 reported by @JDowny
2013-05-02 23:38:46 +02:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
Adam
0f8f3af9ac Update Window's .gitignore 2013-04-10 02:39:43 -05:00
Peter Powell
362f3009ac Merge inspircd_{config,version}.h into a single header file. 2013-04-05 16:39:40 +01:00
ChrisTX
25aa230671 Win32: Rewrite the service wrapper
Edited original commit to pass MAX_PATH as nSize to GetModuleFileNameA() instead of 101 after approval from author @ChrisTX (Attila Molnar)

Fixes #404 reported by @crchauffe
2013-03-25 14:57:05 +01:00
Adam
6b2d45c154 win: Made config, modules, data, and log paths configurable.
Update win/README with instructions on how to use cmake-gui.
Always build m_regex_stdlib, since all VS versions we support
support it.
2013-03-23 22:47:25 -05:00
Adam
f5377329ef Link win32_memory too inspircd too 2013-03-15 15:10:53 -05:00
Adam
b17ba83e9c Replace Windows build system and installer with cmake 2013-03-14 15:19:41 -04:00
Peter Powell
5f6372b2f0 Reorganise configuration files:
- Example config files now end with .conf.example.
- Example text files now end with .txt.example.
- Removed 'inspircd' from the name of multiple example files.
- Added missing oper motd example file.
2013-03-02 15:50:09 +00:00
attilamolnar
a87c56faea Fix thread handle leak in StartServiceThread() 2012-12-03 21:29:24 +01:00
attilamolnar
4451fd13a1 Fix broken RetrieveLastError()
- FORMAT_MESSAGE_IGNORE_INSERTS flag wasn't used and we never pass insertion parameters, this could cause FormatMessage() to fail
- The return value of FormatMessage() wasn't checked, if it returned zero (failure) then RetrieveLastError() returned garbage if err[] wasn't initialized previously
2012-12-03 21:28:38 +01:00
ChrisTX
ebdaf368e1 Replace printf(_c) with iostream 2012-10-14 02:13:49 +02:00
ChrisTX
5b9682275e Windows: In-depth cleanup (see details)
-Fix x64 builds for Windows. Now all configurations compile.
-Remove the non-working rebase stuff.
-Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now.
-Remove the old IPC mechanism for the removed GUI. This is not needed anymore as the GUI wasn't ever supported on anything newer than 1.2
-Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need.
-Enable optimizations for release builds.
-De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure
-Add the VC++ specific bad files in .gitignore
-Disable PID writing on Windows. This is only making sense for *nix builds.
-Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working)
-Removed certain unused functions and variables
-Remove stdint defines from the windows wrapper
-Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds.
-Re-evaluated the warnings list, commented it.
-Moved inspircd_config/_version to include/ to match *nix
-Removed the creation of inspircd_se_config, as it isn't used at all.
-Made non-git builds show as "r0" instead of "r" (thanks to @SaberUK for pointing this out)
-Fixed up m_spanningtree's project paths. Now all configurations (debug/release x86/x64) have been tested and build properly.
-Moved FindDNS out of the wrapper and matched its log behavior with *nix. (It's pointless having it in the wrapper after the recent slimming down)
-Replaced random/srandom wrappers with a mechanism that tries to use Windows' Random API first is no SSL module is loaded.
-Removed more old junk from support for compilers older than VC++ 2010 (we don't have project files for these, so compiling them would be hard anyways)
-Removed the unused ClearConsole()
-Removed unused includes from the wrapper. Also, do not include psapi.h here if we don't link psapi.lib. This should be done where appropriate.
-Made inet_aton an inline function for increased performance
-C4800, performance warning about bool forcing, resolved at all occurrences.
-C4701, uninitialized variable 'cached', resolved at all occurrences.
-dlerror() was migrated out of the wrapper for more thread safety (no global buffer being shared) and increased performance.
-Removed the wrong CRT debug flags. This drains a lot of performance.
-Removed the clock_gettime/gettimeofday wrappers
-Replaced all TCHAR/ANSI mix-ups of functions with the correct respective function.
-Added a block of C4355 for < VS2012
-Update project files for c870714
2012-10-12 22:31:38 +02:00
ChrisTX
9b4a2a939b Windows: Fix broken build
Resolves a mistake made in c2f7fc047c2e5bbb899c820590ce07fee593b28f
2012-10-05 13:14:53 +02:00
Adam
73977e660f Merge pull request #314 from ChrisTX/insp20+DnsQueryConfig
Windows: Replace the old DNS server find mechanism with the proper one, the appropriate API
2012-10-04 14:12:30 -07:00
attilamolnar
1331962081 Windows: Remove modules.conf.charybdis and modules.conf.unreal with the uninstaller 2012-10-04 16:15:47 +02:00
ChrisTX
c2f7fc047c Replace hardcoded paths with configurable ones
This patchset aims to ease the packaging of InspIRCd for a system-wide installation scenario.

Changes in detail:
configure: Add the options --log-path and --data-path
m_ssl_gnutls, openssl: Change the hardcoded "conf/" to the existent CONFIG_PATH macro
m_xline_db: Make the location of xline.db configurable. It will use --data-path as default value, but this can be
changed using the configuration files.
2012-10-04 15:14:04 +02:00
ChrisTX
84b187eace Windows: Use the WinAPI for DNS server retrieval 2012-10-04 13:49:34 +02:00
ChrisTX
b6fccd1052 Windows: Replace the unused function hack with explicit instantiation 2012-10-04 08:31:38 +02:00
Adam
83e90c4baa Fixed issue #303 - fixed Windows build 2012-09-28 21:27:38 -04:00
Peter Powell
8b81ddc87a Fix Windows build that was broken by 9b66dd6. 2012-08-14 07:02:25 +01:00
Peter Powell
746932587a Don't hard code the branch version. 2012-07-27 00:14:43 +02:00
Adam
3f5c635c38 Fixed Windows build 2012-07-17 22:10:49 -04:00
Adam
6735f2da27 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.
2012-07-09 01:53:07 -04:00
Adam
bbca70439d Updated example config path in Windows NSI script 2012-07-01 19:21:41 -04:00
attilamolnar
f36892a2d4 Remove unused channelmanager 2012-06-30 00:05:00 +02:00
Sir Poggles
5db5dd923c fgets(): refer to the buffer size (no literals) 2012-06-12 22:49:29 -07:00
Robby-
efbf887a06 resource.rc: update copyright to 2012 2012-04-20 18:34:40 +02:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
Justin Crawford
df5f76832e Fixes for bug #12 2012-04-14 18:03:25 -07:00
Adam
2a76f49d99 Remove some unused files 2012-04-09 21:31:04 -04:00
Adam
b279f30cff Removed old VC90 project files, renamed the VC 2010 project files to not have VC90 in them 2012-04-09 21:07:22 -04:00
Peter Powell
451e8befa7 Remove outdated references to SVN. 2012-04-09 14:10:05 +01:00
Adam
699a8b2fc8 Fix extras compilation under Windows 2011-06-18 17:25:35 -04:00
Adam
e46e50071f Final fixups for a working Windows build 2011-06-08 20:40:29 -04:00
Adam
f5409f04cd Fix timers never being ticked on windows 2011-05-21 16:49:26 -04:00
Adam
b56565eac2 Fixed Windows build on VS 2010 2011-04-10 17:54:20 -04:00
danieldg
03a1bf15b1 Replace #define IPV6 with <config defaultbind="ipv6">, and autodetect if not specified
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12550 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-23 18:45:26 +00:00
danieldg
7e46119759 Remove excessive gettimeofday system calls
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18 19:36:41 +00:00
danieldg
a4b3dc9200 Remove IOCP socket engine
IOCP has been experimental since its introduction, and has not worked
correctly for some time. Since we have no windows developer, remove the
dead code.

Most of the advantages of IOCP are not used by an ircd process regardless:
we do not use threads for our client processing, and we add an extra copy
operation that eliminates any gain from OS-level buffer reuse.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11970 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24 20:04:24 +00:00
brain
6ff7e3bae0 Fix for memory leak when gui is attached, submitted and fixed by GreenReaper, thanks!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11936 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 22:35:56 +00:00
peavey
da4e125ea9 comment fix..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11935 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 21:49:07 +00:00