aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* userrec and chanrec now have their own independent pointer back to their ↵Gravatar brain2006-08-091-2/+2
| | | | | | 'creator' InspIRCd* object, extern now longer required in channels.cpp or users.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4820 e03df62e-2008-0410-955e-edbf42e46eb7
* Move tons more stuff into class InspIRCdGravatar brain2006-08-091-5/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
* Move clientlist and chanlist into InspIRCd*Gravatar brain2006-08-091-8/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
* Move fd_ref_table into class InspIRCd*Gravatar brain2006-08-091-20/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4817 e03df62e-2008-0410-955e-edbf42e46eb7
* Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are ↵Gravatar brain2006-08-091-6/+4
| | | | | | | | | | public members, which InspSocket can modify. (eventually, this will be marshalled safely through some accessors). When constructing an InspSocket you must now provide an InspIRCd* instance to 'attach' the socket to. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4812 e03df62e-2008-0410-955e-edbf42e46eb7
* ServerConfig extern moved into class InspIRCdGravatar brain2006-08-091-10/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
* Move whowas stuff into its own namespace, move more stuff into userrecGravatar brain2006-08-081-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4795 e03df62e-2008-0410-955e-edbf42e46eb7
* Extra checking that the fd's we pass to SocketEngine::AddFd were added (a ↵Gravatar brain2006-08-081-11/+15
| | | | | | lot of assuming was going off, leading to total chaos if we run out of fd's etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4780 e03df62e-2008-0410-955e-edbf42e46eb7
* Bail if we couldn't bind any ports (when did this get broken?)Gravatar brain2006-08-071-1/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4774 e03df62e-2008-0410-955e-edbf42e46eb7
* The segfaults on missing init_module symbol are now gone, and hopefully not ↵Gravatar brain2006-08-071-3/+0
| | | | | | coming back! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4772 e03df62e-2008-0410-955e-edbf42e46eb7
* Added some hax :( to prevent invalid symbols. It seems that instead of ↵Gravatar brain2006-08-071-10/+13
| | | | | | returning NULL, its setting a pointer to -1 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4770 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove dependent commands BEFORE deleting the Module*, otherwise things go ↵Gravatar brain2006-08-071-2/+2
| | | | | | tits over arse git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4761 e03df62e-2008-0410-955e-edbf42e46eb7
* Syntax notice on bad commandlineGravatar brain2006-08-061-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4752 e03df62e-2008-0410-955e-edbf42e46eb7
* Add -notraceback startup option, disables automatic backtrace facility so ↵Gravatar brain2006-08-061-4/+11
| | | | | | that you can do it yourself with a coredump and gdb (auto backtrace doesnt dump cores) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4751 e03df62e-2008-0410-955e-edbf42e46eb7
* Support CIDR, CIDR zline, /oper and CIDR <connect> tags. NOTE: With CIDR ↵Gravatar brain2006-08-061-7/+7
| | | | | | oper, ident field is not supported (yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4732 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix CIDR functions so they workGravatar brain2006-08-061-51/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4731 e03df62e-2008-0410-955e-edbf42e46eb7
* Extra debugGravatar brain2006-08-041-2/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4699 e03df62e-2008-0410-955e-edbf42e46eb7
* Move more stuff into class DNSGravatar brain2006-08-021-4/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4651 e03df62e-2008-0410-955e-edbf42e46eb7
* Comments, add more detail, remove dnsqueue.h include from tons of placesGravatar brain2006-08-011-1/+0
| | | | | | | Remove THREADED_DNS defines from all over the place git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4629 e03df62e-2008-0410-955e-edbf42e46eb7
* Stuff to make user host resolving use class Resolver - not tested yetGravatar brain2006-08-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4626 e03df62e-2008-0410-955e-edbf42e46eb7
* Removed threaded dns (it might make a comeback some day, but as it stands ↵Gravatar brain2006-08-011-23/+3
| | | | | | | | | | its incompatible with the new OO resolver) Migrated to new OO resolver, removed as much firedns craq as is safe to do so, operates over one file descriptor now and keyed against request id. The only way to use the system is via class Resolver (so i'll need to migrate the rest of the ircd to use it) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4622 e03df62e-2008-0410-955e-edbf42e46eb7
* The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵Gravatar brain2006-08-011-1/+13
| | | | | | this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
* Change stats recv/send to double, so they can hold truly massive numbers of ↵Gravatar brain2006-07-191-1/+1
| | | | | | | | | transferred bytes (they would overflow after about 6 weeks on a busy net otherwise) Fix some warnings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4450 e03df62e-2008-0410-955e-edbf42e46eb7
* * Seperate out socket engines into derived classes of SocketEngine.Gravatar brain2006-07-191-1/+4
| | | | | | | | | * Add a classfactory SocketEngineFactory to create a new socketengine of the configured type * Implement configure hax to compile only the required socketengine and the base class * Eliminates ugly defines, and is more in line with C++ ways git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4439 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix case sensitive commands issue due to new std::string based parser, ↵Gravatar brain2006-07-161-1/+2
| | | | | | improve the craq disabled commands check that was potentially O(n) where n is the number of disabled commands (erk) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4404 e03df62e-2008-0410-955e-edbf42e46eb7
* Disable test suiteGravatar brain2006-07-161-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4399 e03df62e-2008-0410-955e-edbf42e46eb7
* Improved this a lotGravatar brain2006-07-161-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4398 e03df62e-2008-0410-955e-edbf42e46eb7
* This should be faster, we read it like a stream now with GetToken until ↵Gravatar brain2006-07-161-20/+12
| | | | | | | | | GetToken returns "". The optimizations done by gcc means theres only one std::string constructor call per token, which is mmm yum. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4397 e03df62e-2008-0410-955e-edbf42e46eb7
* irc::tokenstream is a token parser which using std::string and std::vector ↵Gravatar brain2006-07-161-0/+60
| | | | | | | | | | | | | | | | builds a list of tokens using irc parsing rules. e.g.: :arse PRIVMSG #chan :foo bar baz becomes a[0] = ":arse", a[1] = "PRIVMSG", a[2] = "#chan", a[3] = "foo bar baz". *** SOMEONE *** needs to optimize this or at least verify its neatness (without making it total craq and unreadable). Feel free to mess with my code. Any optimizations you make, run them against the COMMENTED OUT TEST SUITE at the top of main() in src/inspircd.cpp and ensure ALL output is the same with no crashes. (note: if you comment out and build with the test suite, all inspircd will do is output test data and exit!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4396 e03df62e-2008-0410-955e-edbf42e46eb7
* Final test.Gravatar brain2006-07-121-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4375 e03df62e-2008-0410-955e-edbf42e46eb7
* TestGravatar brain2006-07-121-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4374 e03df62e-2008-0410-955e-edbf42e46eb7
* Mirroring testGravatar brain2006-07-121-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4373 e03df62e-2008-0410-955e-edbf42e46eb7
* Test commit (this should be auto synched to staffbox)Gravatar brain2006-07-121-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4372 e03df62e-2008-0410-955e-edbf42e46eb7
* Test commitGravatar brain2006-07-121-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4371 e03df62e-2008-0410-955e-edbf42e46eb7
* Added class Resolver (needs testing)Gravatar brain2006-07-121-0/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4353 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix my last broken commitGravatar brain2006-07-111-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4323 e03df62e-2008-0410-955e-edbf42e46eb7
* Move openSockfd[] into ServerConfigGravatar brain2006-07-111-16/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4322 e03df62e-2008-0410-955e-edbf42e46eb7
* relocate the Move* methods to private: where they belong, rename ↵Gravatar brain2006-07-011-4/+4
| | | | | | erase_factory and erase_module to be more appropriate EraseFactory and EraseModule methods git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4098 e03df62e-2008-0410-955e-edbf42e46eb7
* Make WritePID a public function of class InspIRCdGravatar brain2006-07-011-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4097 e03df62e-2008-0410-955e-edbf42e46eb7
* Move SetSignals(), Start() and DaemonSeed() into private methods of class ↵Gravatar brain2006-07-011-6/+6
| | | | | | InspIRCd, move MakeLowerMap() into private: section git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4096 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward port of CullList and my bragging rightsGravatar special2006-06-291-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4087 e03df62e-2008-0410-955e-edbf42e46eb7
* You don't need to cast a char* to a char* to put it through a const char*...Gravatar om2006-06-291-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4083 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove hardcoded filename prefix to log message, with the new macro these ↵Gravatar om2006-06-291-2/+2
| | | | | | | | are un-needed. Remove un-needed cast, ffs guys, templates stop you needing to cast the stuff inside them... So why do you do it anyway? :< git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4082 e03df62e-2008-0410-955e-edbf42e46eb7
* Return false was missingGravatar brain2006-05-031-14/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3928 e03df62e-2008-0410-955e-edbf42e46eb7
* New header at the top of this file clarifying gplv2 only (we hadnt made it ↵Gravatar brain2006-05-021-3/+14
| | | | | | clear in this package before) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3926 e03df62e-2008-0410-955e-edbf42e46eb7
* delete operator tracking in debug mode (using a macro -- live with it.)Gravatar brain2006-04-241-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for lib dirsGravatar brain2006-04-201-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3889 e03df62e-2008-0410-955e-edbf42e46eb7
* Execinfo stuffGravatar brain2006-04-201-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3886 e03df62e-2008-0410-955e-edbf42e46eb7
* Shuffle some more includes around, const reference a few functions in inspircd.*Gravatar om2006-04-091-23/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3854 e03df62e-2008-0410-955e-edbf42e46eb7
* Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits ↵Gravatar om2006-04-081-8/+92
| | | | | | going into inspircd.*, doesn't look like I've broken anything... :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3847 e03df62e-2008-0410-955e-edbf42e46eb7