aboutsummaryrefslogtreecommitdiff
path: root/src/server.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Stop recreating hashmaps every hour, move garbage collection code related to ↵Gravatar attilamolnar2013-04-041-1/+0
|/ | | | local users to UserManager
* Windows: In-depth cleanup (see details)Gravatar ChrisTX2012-10-121-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -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
* Fix more undefined behavior caused by referencing the returned buffer by ↵Gravatar attilamolnar2012-09-301-1/+4
| | | | | | std::string::c_str() when the object is temporary See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
* Don't hard code the branch version.Gravatar Peter Powell2012-07-271-1/+1
|
* Add CHANNELLEN to isupportGravatar Alyx2012-07-021-1/+1
|
* While at it, use a constant parameter for calling IncrementUID in GetUIDGravatar attilamolnar2012-05-271-6/+5
| | | | Get rid of curindex, use a bool to determine if we need to initialize
* Fix generating invalid UIDs after current_uid is 000Z99999 (next UID became ↵Gravatar attilamolnar2012-05-271-11/+3
| | | | 000[AAAAA)
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+17
|
* Fix unused variables reported by the clang static analyzer.Gravatar Peter Powell2012-04-141-1/+0
|
* Values were -1, couldnt find an explanation for that. So appliedGravatar DjSlash2011-03-181-3/+3
| | | | | submitted patch from bug 114 (thanks to DarkStorm) and removed additional -1's.
* Add log header including ircd versionGravatar Daniel De Graaf2010-04-281-0/+4
|
* Remove SYSTEM and related sensitive information from the non-oper VERSION lineGravatar danieldg2010-02-161-9/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12471 e03df62e-2008-0410-955e-edbf42e46eb7
* Show opers the raw VERSION string, not the custom oneGravatar danieldg2010-02-151-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12470 e03df62e-2008-0410-955e-edbf42e46eb7
* ...because every now and again, i have to do a massive commit.Gravatar brain2010-01-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove AllowHalfop item from server configGravatar danieldg2009-11-031-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11996 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up unused functions, add nonicks operoverride [dKingston]Gravatar danieldg2009-10-221-18/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11951 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix GetUID generating 10-character UUIDsGravatar danieldg2009-10-201-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11932 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up crash on destruction of statics at exitGravatar danieldg2009-10-161-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11877 e03df62e-2008-0410-955e-edbf42e46eb7
* Get rid of a bunch of memory-wasting C-style stringsGravatar danieldg2009-10-031-35/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-7/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Move configuration filename specification to start script, to reduce ↵Gravatar danieldg2009-09-241-1/+1
| | | | | | hardcoded paths in executable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11759 e03df62e-2008-0410-955e-edbf42e46eb7
* Bump a number of version numbers.Gravatar w00t2009-09-051-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11676 e03df62e-2008-0410-955e-edbf42e46eb7
* More deallocation-at-exit cleanupGravatar danieldg2009-09-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11621 e03df62e-2008-0410-955e-edbf42e46eb7
* Move VERSION/REVISION to their own header to avoid needless rebuilds on updateGravatar danieldg2009-09-011-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11561 e03df62e-2008-0410-955e-edbf42e46eb7
* Don't subtract one from MAXCHANNELS, it's a number, not a string length.Gravatar w00t2009-08-281-1/+1
| | | | | | Reported by Sm0ke0ut. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11541 e03df62e-2008-0410-955e-edbf42e46eb7
* Report the correct sizes as set in the configGravatar brain2009-08-061-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11499 e03df62e-2008-0410-955e-edbf42e46eb7
* Make rehash generate a new ServerInstance->Config objectGravatar danieldg2009-07-011-3/+1
| | | | | | | This makes it possible to cancel a pending rehash, and fixes possible threading issues with rehash and other events. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11424 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRehash changes: split to multiple hooks to clarify use and prevent ↵Gravatar danieldg2009-05-241-1/+0
| | | | | | explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert snomask 'A' into snomask 'a' for local announcements, add snomask ↵Gravatar w00t2009-04-161-1/+1
| | | | | | | | | 'A' for remote announcements. Make SAMODE send a snotice to 'a' and remote to 'A' - fixes bug #822, reported by Taros We really need a wrapper to use these, but, for now it's usable. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11304 e03df62e-2008-0410-955e-edbf42e46eb7
* ConfigReaderThread updates: add done flag, remove main-thread-only mutexGravatar danieldg2009-03-231-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11256 e03df62e-2008-0410-955e-edbf42e46eb7
* ThreadEngine: remove MutexFactory, mutexes should be constructed using their ↵Gravatar danieldg2009-03-231-2/+2
| | | | | | constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11250 e03df62e-2008-0410-955e-edbf42e46eb7
* ThreadEngine: remove excessive mutex use on thread creationGravatar danieldg2009-03-231-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11249 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
* Nuke trailing spacesGravatar peavey2009-02-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Thread safety fixes to avoid crashes on rehash, dont reopen logs within the ↵Gravatar brain2008-11-221-0/+2
| | | | | | | | | rehash thread. Put this in the safe part of the rehash operation, after the thread exits. Put a mutex around the part where the thread exits, just in case somehow there are two rehash threads exiting at the same time due to user muppetry. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10811 e03df62e-2008-0410-955e-edbf42e46eb7
* Add user/channel mode synchronisation detection to CAPAB - link will now ↵Gravatar w00t2008-10-271-1/+1
| | | | | | | | | | drop if modes differ in some way (one side requires param, other doesn't, etc). Same for user modes. This will not affect services. Side effect: Modes::ChanModes() -> Modes::GiveModeList(ModeMasks), mode list is formatted identically for both MASK_CHANNEL and MASK_USER. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10733 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a rather nasty race condition revealed by my reading through the ↵Gravatar brain2008-09-201-2/+2
| | | | | | | | | | comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of: 'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10569 e03df62e-2008-0410-955e-edbf42e46eb7
* Properly give the service specific exit code on failure to start. Now we ↵Gravatar brain2008-08-241-0/+1
| | | | | | just need to find out how to retrieve this git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10240 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove last vestige of libircdfoo, by changing tag into a single ↵Gravatar w00t2008-07-291-1/+1
| | | | | | identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
* First phase of conversion to dynamic limits on all the lengths, configured ↵Gravatar brain2008-05-251-3/+3
| | | | | | | | | via the <limits> tag (the tag isnt there yet, these all just run on defaults in the class constructor) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge in large patchset from GreenReaper, useful fixes for freeing a ton of ↵Gravatar brain2008-04-211-1/+2
| | | | | | different things on shutdown for tidyness, and a few stack corruption fixes in the mode handler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9565 e03df62e-2008-0410-955e-edbf42e46eb7
* Port a bunch of methods of InspIRCd to functors. IsChannel, IsSID, Rehash.Gravatar brain2008-04-131-20/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9474 e03df62e-2008-0410-955e-edbf42e46eb7
* More standardized version output in 002 and 004 to make indexing for version ↵Gravatar brain2008-04-051-2/+2
| | | | | | numbers better git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9351 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix all this crap - it actually works now (we pray..)Gravatar w00t2008-04-021-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9261 e03df62e-2008-0410-955e-edbf42e46eb7
* Better generation. This is still fucked up, but less spectacularly and in a ↵Gravatar w00t2008-04-021-105/+69
| | | | | | much less obvious way. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9260 e03df62e-2008-0410-955e-edbf42e46eb7
* UnneededGravatar w00t2008-04-021-2/+63
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9255 e03df62e-2008-0410-955e-edbf42e46eb7
* This should fix remote rehashGravatar brain2008-02-241-9/+17
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9030 e03df62e-2008-0410-955e-edbf42e46eb7
* Make -nofork work properly with logging now.Gravatar aquanight2008-02-151-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8944 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement LogManager::CloseLogs() to give logstreams a chance to clean up on ↵Gravatar w00t2008-02-091-1/+1
| | | | | | rehash or exit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8863 e03df62e-2008-0410-955e-edbf42e46eb7