summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
AgeCommit message (Collapse)Author
2008-12-08If we can't find file.conf, search for file.conf.txt when on windows.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10872 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Ugly ugly craq in here in the cleanup stuff. Can be done nicer with a ↵brain
template, like this git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10862 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07national_case_sensitive_map -> national_case_insensitive_map.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10861 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Move stuff to use ASCII map where required.w00t
Also move this out of being a member totally, as it breaks (gah) and is already untidy.. to be revisited. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10858 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07national_case_sensitive_map must be static, thanks to the match stuff being ↵w00t
static (this is a bit ugly, but necessary for now). Default to national charset map instead of rfc map, as modules may change the pointer. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10857 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Add InspIRCd::national_case_sensitive_map pointer, defaults to ↵w00t
rfc_case_insensitive_map. Modules may override this pointer to customise casemapping of nick/channel names. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10856 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-22Thread safety fixes to avoid crashes on rehash, dont reopen logs within the ↵brain
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
2008-11-02This was never supposed to be invoked on /rehash, only startup.. so move it ↵w00t
to startup only. Also remove (redundant) user arg. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10792 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01Second attempt at time() -> SI->Time(), now problems with the original were ↵w00t
fixed. (SI::TIME was not initialised). Thanks Namegduf! (Please test, all, valdebug etc, report odd behaviour/warnings!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10783 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-28dz added to /info, psychon (omitted?!) added to startup :)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10734 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-22First set our group id, then the user id, because we need to be root to set thepsychon
group (else it always fails with EPERM). Plus also call setgroups(0, NULL); to get rid of the supplementary groups. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10684 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-20Implement <security:runasuser> and <security:runasgroup> - allows for ↵w00t
set(g|u)id to drop privs after starting, which can be useful for people who want to bind privileged ports without exposing their anus to a giant cucumber. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10682 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Working privs implementation, and example usage in NOTICE for mass messaging.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Migrate oper commands to an std::set, add a set for privs also. Change the ↵w00t
API a bit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10661 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Add skeleton of HasPrivPermission.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10660 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Fix crashbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10572 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20Fix a rather nasty race condition revealed by my reading through the ↵brain
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
2008-09-13Merge commit 'danieldg/out-12'w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10540 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-04mutexengine -> mutexfactorybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10386 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-04initialise mutexenginebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10384 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-24Properly name the windows service error constants and put proper ↵brain
descriptions in the error strings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10251 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-24No names for the service specific errors, probably wont ever name them as ↵brain
theyre never shown in linux git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10245 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-24work in progressbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10238 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-21comments to explain wtf 'ENTRYPOINT' is where main() should be. In the ↵brain
future maybe we should have two main.cpp's one for windows and one for posix, in a similar way we do socket engines etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10200 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-21add support for windows service. This now is part of inspircd itself being ↵brain
as we have native build. It doesnt quite work yet in all the ways it should. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10193 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-12Drift now has to be >= 3 secs in either direction to trigger a warning, this ↵brain
is designed for warning of big drifts, we dont want it whining about ntpdate etc git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10144 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19Fix compile. Also remove write error stuff, as that was used prior to the ↵w00t
goodness of global culllist. This makes getting user's quit messages to them (on excess recvq etc) much easier. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10042 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-17Combine IP+port in a failed port list, show (the more helpful) error string ↵w00t
so the user can have some idea of what actually went wrong.. why we forced people to strace is beyond me.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10030 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12And, just because I can. The one pointless one-liner of the evening. :pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10000 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Add a snotice about time jumping by more than a second at a time, and move ↵w00t
both this and time skew notice into debug snomask git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9999 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Remove some long commented out code: we never used to start unless a client ↵w00t
port was bound git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9998 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-21Rename "lan or wan ip" -> public ipbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9788 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-21update to tell them to try a LAN or a WAN IP, depending on how the box is ↵bricker
setup, it matters. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9786 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-13Check for windows drive letters on the start of paths and treat them the ↵brain
same as paths that start with /, this makes insp more friendly for windows filesystems git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9724 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-09Convert CIDR matching and wildcard matching to operate on std::stringsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9681 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-09Fix restart code, by getting run path and argv before calling Cleanup()peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9674 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21Merge in large patchset from GreenReaper, useful fixes for freeing a ton of ↵brain
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
2008-04-18Apply patches to remove 200-odd dll limit on windows, made by GreenReaper, ↵brain
lots of thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9533 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-13Add newlines to the end :) (\n)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9488 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-13add a hint to users for using an IP instead of *bricker
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9487 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-13Port a bunch of methods of InspIRCd to functors. IsChannel, IsSID, Rehash.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9474 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04Add basic stuff for protocol interface and implement a couple of the ↵brain
methods. It's all in ServerInstance->PI for calls from other modules/the core git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9297 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Move this message so it actually displays when we're running non-debug: ↵brain
"InspIRCd is now running as 'test.chatspike.net'[037] with 5576 max open sockets" git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9274 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Fix yet another warning.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9271 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Automatic detection and allocation of max fds. No longer needs recompile to ↵brain
change, just adjust it in your kernel or whatever and restart insp. Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Better generation. This is still fucked up, but less spectacularly and in a ↵w00t
much less obvious way. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9260 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Fuck. STOP committing first thing after waking up.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9259 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02As part of this... don't give fake client a valid UID, as it's not needed ↵w00t
anyway. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9258 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Unneededw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9255 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01Only setup fakeclient once.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9253 e03df62e-2008-0410-955e-edbf42e46eb7