summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree.cpp
AgeCommit message (Collapse)Author
2006-08-02Add error messages to Resolver::OnError()brain
Add exception handling to several places that use Resolver (it can throw) Remove Resolver::ProcessResult(), its now handled within the bowels of dns.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4646 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02(1) remove CleanAndResolve.brain
(2) remove feature of being able to bind hostnames in <bind> tags (it used CleanAndResolve) :p (3) Fix the stuff in SpanningTree that used CleanAndResolve to validate connecting ip addresses - it now builds an 'allowed ip cache' on rehash/startup instead git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4637 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Check for duplicate servers in OnLookupCompletebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4636 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Comment ServernameResolver classbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4635 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02InspSocket no longer resolves hosts.brain
InspSocket::DoResolve() and the stuff that calls it is gone, if you pass InspSocket an invalid ip, it will bail during its connect. You must now use Resolver classes to resolve hostnames into IP addresses, if you wish to do this. Currently, only one non-extra module does this, see class ServernameResolver within m_spanningtree git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4634 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-30REMOTE STATS! WOOO AND YAY!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4596 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-29Started UserManager classbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4586 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-28Beat om to the commitbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4574 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-28Fix the obligotary typosbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4570 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-28Change all references to voodoo numbers (7, 3 etc) to the new bitwise ↵brain
constants for user->registered Change a lot of user->fd > -1 to use the IS_LOCAL() macro git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4569 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-28Add support for syntax of commands in place of the text 'Not enough ↵brain
parameters' in numeric 461, where supported. To support this each derived class of command_t must set the value of command_t::syntax to a non-empty string. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4561 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-27Change std::pair<bool,std::string> to neater typedef "ModePair"brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4557 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-27Mode merging during FJOIN with ourts==theirts. Only +k and +l have ↵brain
CheckTimestamp methods atm, needs to be finished by me and TIDIED. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4556 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-27* Fix Server::SendMode to actually work again.brain
* In the 1.1 protocol we now use FMODE for everything, rather than MODE. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4551 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-27commit remainder of new mode bouncing stuff for TS based modesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4550 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-26Add extra method to mode handler, ModeHandler::ModeSet().brain
Returns a std::pair<bool,string>. if the bool is true, the mode is set, and the second item in the pair is the parameter set on it, if any If the bool is false, the mode is not set, and the parameter given is returned as the second item of the pair To be used in mode bouncing, to build a safe set of bounced modes (dont ask yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4549 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-26Fix reiterpret_cast stuff that doesnt work rightbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4548 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-26Adapt m_spanningtree to use irc::tokenstream instead of its own ↵brain
irc-line-parser (that was teh sux) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4547 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-26Migrate towards FMODE with TS, remove the SYNCTS command ideabrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4546 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-25Exclude LUSERS lines with zero counts (NO WE WONT CHANGE THE SPELLING OF ↵brain
connection(s)!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4543 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-25Prevent notice loops on servermasksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4541 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-25Allow PRIVMSG and NOTICE targets of $<servermask> to the module events (this ↵brain
wasnt trivial and is almost a damn feature) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4539 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-25Fix NOTICE $* to go between serversbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4536 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16mass tidyup, change A LOT of stuff to const char** which was char** (such as ↵brain
parameters to commands in handlers) which makes the new lineparser work neater with no casts. This also removes tons of casts from other locations (all in all, ive added 2 casts and removed almost a hundred) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4403 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-15Removed GCC2 checks as we havent supported gcc2 for yearsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4394 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14Tidyupbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4389 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14Changed to different way of clearing users on netsplit (uses less ram and ↵brain
should be less bug prone) WE NEED TESTERS FOR THIS. MAKE TEST NETWORKS FULL OF 1_0_STABLE SVN SERVERS AND FILL THEM WITH BOTS/PSEUDOS THEN CAUSE NETSPLITS! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4388 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10Inherit just about everything from classbasebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4299 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10Making lots of stuff inherit from classbase so we can use it as a holdall ↵brain
class that we can throw around with dynamic_cast<> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4297 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09send_mode event for spanningtree (this will be backported to stable as its ↵brain
really a bugfix too (honest!)) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4243 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Refactored user modes to work like the channel modes - core and module data ↵brain
now the same storage format without ::modebits git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4175 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-03Cleanups, change ugly if(\!*line.c_str()) to if(line.empty()); remove some ↵om
craq.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4107 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-03Make spanningtree compile again >_<om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4103 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-03Typo fixom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4102 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01Change WriteChannelWithServ and it's _NoFormat to take a const char* ↵om
servername rather than char* - although it doesn't seem to be used :< Lose some more casts in m_spanningtree, unneeded because of above changes Make xline_set_creation_time() take const char* rather than char* for it's first parameter, lose more casts in spanningtree because of this Make do_whois take a const char* rather chan char* nick, lose yet more casts git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4095 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01Replace rather craq'y loop with a couple of std::string callsom
Change GetServerDescription to take const char* rather than char* Change userrec::server from char* to const char*, this is more 'correct' as it's not safe to modify it (pointer as returned by std::string::c_str()) Change WhoWasGroup::server, see above about userrec::server git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4094 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-30*** Interesting fix ***brain
When a remote kill occurs, the user record for the remotely killed user may still hang around in the servers user list which is used when removing users during a netsplit. I managed to duplicate the old 'crash on netsplit' bug by sending a remote kill to a server, and then squitting that server without receipt of the corresponding QUIT. The fix now removes the user record explicitly upon remote kill (this also includes collisions) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4088 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-28More stuff for allowing hostnames in <bind> and <link> again - note there is ↵brain
a FIXME here. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4076 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-27We can re-enable special's security fix now - note this is good for boxes ↵brain
with one or more static ip's and still doesnt resolve the issue for smelly dynamic-ip users (well boo hoo :p) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4066 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-27Temporarily disable special's security improvement until we have either/or ↵brain
bind= and mask= git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4063 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-25Extra safety for user lists to not keep bad pointers hanging aboutbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4059 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-22Forward port of server link DDoS/oper flood fixspecial
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4045 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-17On remote kill, send KILL notice. mIRC doesnt seem happy with just the ↵brain
STANDARD message, it wants specially crafted quit notices too, but i say fuck mIRC. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4027 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-17Bring forward fix for w00t.brain
Note - umode +r may not be removed from a user when you svsnick them. Svsnick is not designed for this type of "abuse" anyway and usually svsnick will only be used on someone who has no +r. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4025 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-05Fix for collisions when clock is outbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3991 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-31Prevent crash when displaying error for server already existing (this only ↵brain
happens for lauren anyway) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3980 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-24Corresponding forward-portbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3970 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-24More debuggingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3968 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-24Prevent SYNCTS bouncebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3967 e03df62e-2008-0410-955e-edbf42e46eb7