summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
AgeCommit message (Collapse)Author
2006-08-10Add a default exception handler around main()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4829 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Move the socket functions like insp_ntoa into their own namespace. They ↵brain
arent really sensible to put into a class, but namespacing them out discourages developers from directly using them without explicitly saing 'using irc::sockets::BindPorts' or whatever first. Some functions such as insp_ntoa are already 'exposed' by headers that use them so 'using irc::sockets::inet_ntoa' isnt required. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4828 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Relocate timer stuff into TimerManager classbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4827 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Fix passing wrong instance to resolverbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4824 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Change some resolver stuff.brain
OM, THIS STILL WONT COMPILE! Error on the same line git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4821 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09userrec and chanrec now have their own independent pointer back to their ↵brain
'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
2006-08-09Move tons more stuff into class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Move clientlist and chanlist into InspIRCd*brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Move fd_ref_table into class InspIRCd*brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4817 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are ↵brain
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
2006-08-09ServerConfig extern moved into class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08Move whowas stuff into its own namespace, move more stuff into userrecbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4795 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08Extra checking that the fd's we pass to SocketEngine::AddFd were added (a ↵brain
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
2006-08-07Bail if we couldn't bind any ports (when did this get broken?)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4774 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07The segfaults on missing init_module symbol are now gone, and hopefully not ↵brain
coming back! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4772 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Added some hax :( to prevent invalid symbols. It seems that instead of ↵brain
returning NULL, its setting a pointer to -1 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4770 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Remove dependent commands BEFORE deleting the Module*, otherwise things go ↵brain
tits over arse git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4761 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Syntax notice on bad commandlinebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4752 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Add -notraceback startup option, disables automatic backtrace facility so ↵brain
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
2006-08-06Support CIDR, CIDR zline, /oper and CIDR <connect> tags. NOTE: With CIDR ↵brain
oper, ident field is not supported (yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4732 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Fix CIDR functions so they workbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4731 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04Extra debugbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4699 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Move more stuff into class DNSbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4651 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Comments, add more detail, remove dnsqueue.h include from tons of placesbrain
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
2006-08-01Stuff to make user host resolving use class Resolver - not tested yetbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4626 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Removed threaded dns (it might make a comeback some day, but as it stands ↵brain
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
2006-08-01The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵brain
this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19Change stats recv/send to double, so they can hold truly massive numbers of ↵brain
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
2006-07-19* Seperate out socket engines into derived classes of SocketEngine.brain
* 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
2006-07-16Fix case sensitive commands issue due to new std::string based parser, ↵brain
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
2006-07-16Disable test suitebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4399 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16Improved this a lotbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4398 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16This should be faster, we read it like a stream now with GetToken until ↵brain
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
2006-07-16irc::tokenstream is a token parser which using std::string and std::vector ↵brain
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
2006-07-12Final test.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4375 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Testbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4374 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Mirroring testbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4373 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Test commit (this should be auto synched to staffbox)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4372 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Test commitbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4371 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Added class Resolver (needs testing)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4353 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-11Fix my last broken commitbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4323 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-11Move openSockfd[] into ServerConfigbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4322 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01relocate the Move* methods to private: where they belong, rename ↵brain
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
2006-07-01Make WritePID a public function of class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4097 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01Move SetSignals(), Start() and DaemonSeed() into private methods of class ↵brain
InspIRCd, move MakeLowerMap() into private: section git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4096 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29Forward port of CullList and my bragging rightsspecial
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4087 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29You don't need to cast a char* to a char* to put it through a const char*...om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4083 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29Remove hardcoded filename prefix to log message, with the new macro these ↵om
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
2006-05-03Return false was missingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3928 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-02New header at the top of this file clarifying gplv2 only (we hadnt made it ↵brain
clear in this package before) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3926 e03df62e-2008-0410-955e-edbf42e46eb7