summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
AgeCommit message (Collapse)Author
2009-07-04Fix possible segfault on giving an unknown cmdline argument. index holds the ↵peavey
ref to the longopts array if found else it is NULL. optind however holds the next argv to be processed thus optind-1 is the correct index value to use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11439 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01Make rehash generate a new ServerInstance->Config objectdanieldg
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
2009-07-01Move list of open ports out of Config objectdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-01Makefile updates: clean up command linesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11395 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-24OnRehash changes: split to multiple hooks to clarify use and prevent ↵danieldg
explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Use Utils->ServerUser instead of ServerInstance->FakeClient in m_spanningtreedanieldg
This makes it possible to determine which server initiated a mode change, instead of having only a flag saying that some server did. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11379 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Make the previous patches actually workdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11378 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Create subclass of User for FakeClient, to allow for use as command sourcedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11375 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-06Remove FindDescriptor wrapper for GetRef, it doesn't do anything useful and ↵w00t
in fact is a bit harmful in some ways as we've seen.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11364 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-09Re-add the default case to commandline parsing (if it happens, it's better ↵special
to know than to do nothing) and fix a small typo git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11299 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-09The correct way to detect unknown parameter for getopt_long_only() is ↵brain
looking for '?' param, not \0. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11298 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-09Fix the problem described in bug #827; an improper cast when parsing ↵special
commandline parameters caused the ircd to not run at all on platforms with unsigned char (i.e. PPC). There may be other issues with unsigned char, testing and reports welcome. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11294 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23ConfigReaderThread updates: add done flag, remove main-thread-only mutexdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11256 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23ThreadEngine: remove MutexFactory, mutexes should be constructed using their ↵danieldg
constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11250 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
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
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-09Trap SIGXFSZbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11067 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-27Credits updates.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11009 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-03Remove extra 'i'.. oopsie :Pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10939 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-03Remove silly comment from r10,000.. mostly just testing vim..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10938 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Branch mergew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10933 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-27Mark a member static so it isn't exported needlessly.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10918 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-27Place CRT debug defines in win32wrapper.h, so they are defined everywhere. ↵w00t
This was also incorrectly inside an ifndef WINDOWS, and hadbeen for a while. (oops.) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10917 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-27Remove extra 'i'.. oopsie :Pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10916 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-27Remove silly comment from r10,000.. mostly just testing vim..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10915 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-18Wakey wakey w00t :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10900 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-18Fix a windows compile screwup, courtesy of me.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10899 e03df62e-2008-0410-955e-edbf42e46eb7
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