summaryrefslogtreecommitdiff
path: root/include/inspircd.h
AgeCommit message (Collapse)Author
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-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-03-25Fix headers for GCC 4.4: sprintf requires #include <cstdio>danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11259 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-03-07Include explicit parameter list in ProtocolInterface::SendModedanieldg
Also leave the strings split into deque, there's no need to pack it into a string just to unpack it during the translate. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11181 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-06Patch for bug #704 by Darom, allows for 64 bit file offsets, so that signal ↵brain
25 isnt raised if there is a 2gb logfile (really, WATCH YOUR LOGS) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11035 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-28Change a few bits to use std::list instead of std::vector.w00t
Vector is better than list, unless: - you require random access (these don't) - you require that the memory they are stored in are contiguous (these don't) This will save a couple of bytes here and there perhaps (along with much less problems with memory fragmentation and allocation). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10923 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-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-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-20More commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10568 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-04MutexEngine -> MutexFactory, more sensible namebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10385 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-04ability to create mutexes (rather than just having one system wide mutex) in ↵brain
the threadengines, allows for migration of m_mysql etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10381 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22Match conversion stuff.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10216 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-21match() is no longer a function+no header, now a static method of InspIRCd ↵w00t
class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 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-07-20Fix potential off-by-one on large reads (thanks psychon)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10048 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Fixes to some stuff that writes on memory it shouldn't (thanks psychon).w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10047 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19Fix broken buildw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10044 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19Change modes in channels and users to use std::bitset instead of an array. ↵w00t
This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 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-16Applied patch by psychon to make AddExtBanChar correctly take a single charspecial
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10024 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-14Add InspIRCd::AddExtBanChar() to avoid copypasta.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10017 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13Add include/numerics.h, contains/will contain an enum for numerics. Work in ↵w00t
progress. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10006 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Remove a slightly odd commentw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9997 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12peavey already fixed this with climits include, remove limits.h. Keep the ↵w00t
warning, though. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9996 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11Pull in limits.h to fix PATH_MAX problems, thanks to Uli Slachter ↵w00t
(psychon).. Not sure why this wouldn't work anyway, as we define it manually, but.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9954 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-01include limits to get correct PATH_MAX where availablepeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9942 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-15Defined too earlybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9909 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-15Define PATH_MAX if its not already definedbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9907 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12revert for now..pippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9899 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12we are C++, not Cpippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9897 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12optimise string-to-literal comparison while we are at itpippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9896 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12Now builds ok on gcc 4.3, not tested fully. Also UGLY, oh we hate you GCC, ↵brain
why couldnt you just use TR1 from the start??? git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9894 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25First phase of conversion to dynamic limits on all the lengths, configured ↵brain
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
2008-05-20char -> std::string conversionw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9777 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04Conversion of command handler params from "const char* const* parameters, ↵brain
int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted. IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess of .c_str() calls to using std::string params directly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 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-04Remove deprecated InspIRCd::Log() method so people don't use it etcw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9320 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-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