summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree.cpp
Commit message (Collapse)AuthorAgeFilesLines
* REMOTE STATS! WOOO AND YAY!Gravatar brain2006-07-301-14/+72
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4596 e03df62e-2008-0410-955e-edbf42e46eb7
* Started UserManager classGravatar brain2006-07-291-0/+50
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4586 e03df62e-2008-0410-955e-edbf42e46eb7
* Beat om to the commitGravatar brain2006-07-281-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4574 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the obligotary typosGravatar brain2006-07-281-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4570 e03df62e-2008-0410-955e-edbf42e46eb7
* Change all references to voodoo numbers (7, 3 etc) to the new bitwise ↵Gravatar brain2006-07-281-26/+26
| | | | | | | | | 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
* Add support for syntax of commands in place of the text 'Not enough ↵Gravatar brain2006-07-281-0/+1
| | | | | | | | | 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
* Change std::pair<bool,std::string> to neater typedef "ModePair"Gravatar brain2006-07-271-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4557 e03df62e-2008-0410-955e-edbf42e46eb7
* Mode merging during FJOIN with ourts==theirts. Only +k and +l have ↵Gravatar brain2006-07-271-8/+178
| | | | | | 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
* * Fix Server::SendMode to actually work again.Gravatar brain2006-07-271-12/+46
| | | | | | | * 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
* commit remainder of new mode bouncing stuff for TS based modesGravatar brain2006-07-271-37/+115
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4550 e03df62e-2008-0410-955e-edbf42e46eb7
* Add extra method to mode handler, ModeHandler::ModeSet().Gravatar brain2006-07-261-0/+5
| | | | | | | | | | | 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
* Fix reiterpret_cast stuff that doesnt work rightGravatar brain2006-07-261-4/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4548 e03df62e-2008-0410-955e-edbf42e46eb7
* Adapt m_spanningtree to use irc::tokenstream instead of its own ↵Gravatar brain2006-07-261-64/+5
| | | | | | irc-line-parser (that was teh sux) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4547 e03df62e-2008-0410-955e-edbf42e46eb7
* Migrate towards FMODE with TS, remove the SYNCTS command ideaGravatar brain2006-07-261-26/+120
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4546 e03df62e-2008-0410-955e-edbf42e46eb7
* Exclude LUSERS lines with zero counts (NO WE WONT CHANGE THE SPELLING OF ↵Gravatar brain2006-07-251-3/+6
| | | | | | connection(s)!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4543 e03df62e-2008-0410-955e-edbf42e46eb7
* Prevent notice loops on servermasksGravatar brain2006-07-251-10/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4541 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow PRIVMSG and NOTICE targets of $<servermask> to the module events (this ↵Gravatar brain2006-07-251-2/+18
| | | | | | wasnt trivial and is almost a damn feature) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4539 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix NOTICE $* to go between serversGravatar brain2006-07-251-2/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4536 e03df62e-2008-0410-955e-edbf42e46eb7
* mass tidyup, change A LOT of stuff to const char** which was char** (such as ↵Gravatar brain2006-07-161-19/+19
| | | | | | | | | | 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
* Removed GCC2 checks as we havent supported gcc2 for yearsGravatar brain2006-07-151-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4394 e03df62e-2008-0410-955e-edbf42e46eb7
* TidyupGravatar brain2006-07-141-23/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4389 e03df62e-2008-0410-955e-edbf42e46eb7
* Changed to different way of clearing users on netsplit (uses less ram and ↵Gravatar brain2006-07-141-75/+19
| | | | | | | | | 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
* Inherit just about everything from classbaseGravatar brain2006-07-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4299 e03df62e-2008-0410-955e-edbf42e46eb7
* Making lots of stuff inherit from classbase so we can use it as a holdall ↵Gravatar brain2006-07-101-1/+1
| | | | | | 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
* send_mode event for spanningtree (this will be backported to stable as its ↵Gravatar brain2006-07-091-0/+7
| | | | | | really a bugfix too (honest!)) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4243 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactored user modes to work like the channel modes - core and module data ↵Gravatar brain2006-07-081-22/+5
| | | | | | now the same storage format without ::modebits git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4175 e03df62e-2008-0410-955e-edbf42e46eb7
* Cleanups, change ugly if(\!*line.c_str()) to if(line.empty()); remove some ↵Gravatar om2006-07-031-18/+10
| | | | | | craq.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4107 e03df62e-2008-0410-955e-edbf42e46eb7
* Make spanningtree compile again >_<Gravatar om2006-07-031-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4103 e03df62e-2008-0410-955e-edbf42e46eb7
* Typo fixGravatar om2006-07-031-2/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4102 e03df62e-2008-0410-955e-edbf42e46eb7
* Change WriteChannelWithServ and it's _NoFormat to take a const char* ↵Gravatar om2006-07-011-19/+16
| | | | | | | | | | 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
* Replace rather craq'y loop with a couple of std::string callsGravatar om2006-07-011-12/+12
| | | | | | | | 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
* *** Interesting fix ***Gravatar brain2006-06-301-0/+16
| | | | | | | | | 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
* More stuff for allowing hostnames in <bind> and <link> again - note there is ↵Gravatar brain2006-06-281-0/+12
| | | | | | a FIXME here. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4076 e03df62e-2008-0410-955e-edbf42e46eb7
* We can re-enable special's security fix now - note this is good for boxes ↵Gravatar brain2006-06-271-4/+1
| | | | | | 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
* Temporarily disable special's security improvement until we have either/or ↵Gravatar brain2006-06-271-1/+4
| | | | | | bind= and mask= git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4063 e03df62e-2008-0410-955e-edbf42e46eb7
* Extra safety for user lists to not keep bad pointers hanging aboutGravatar brain2006-06-251-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4059 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward port of server link DDoS/oper flood fixGravatar special2006-06-221-0/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4045 e03df62e-2008-0410-955e-edbf42e46eb7
* On remote kill, send KILL notice. mIRC doesnt seem happy with just the ↵Gravatar brain2006-06-171-0/+1
| | | | | | 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
* Bring forward fix for w00t.Gravatar brain2006-06-171-1/+3
| | | | | | | | 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
* Fix for collisions when clock is outGravatar brain2006-06-051-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3991 e03df62e-2008-0410-955e-edbf42e46eb7
* Prevent crash when displaying error for server already existing (this only ↵Gravatar brain2006-05-311-2/+2
| | | | | | happens for lauren anyway) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3980 e03df62e-2008-0410-955e-edbf42e46eb7
* Corresponding forward-portGravatar brain2006-05-241-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3970 e03df62e-2008-0410-955e-edbf42e46eb7
* More debuggingGravatar brain2006-05-241-1/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3968 e03df62e-2008-0410-955e-edbf42e46eb7
* Prevent SYNCTS bounceGravatar brain2006-05-241-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3967 e03df62e-2008-0410-955e-edbf42e46eb7
* ALL THROW A WHILD PARTY! CRASH-ON-NETSPLIT should be fixed!!!Gravatar brain2006-05-241-2/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3964 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for crash on: /OS RAW PUSH non-existent-nick :::nick!ident@host KICK ↵Gravatar brain2006-05-101-0/+3
| | | | | | | | | #chan nick :any reason (yes, REALLY.) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3942 e03df62e-2008-0410-955e-edbf42e46eb7
* Synching of channel TS after a whole channel has been sent.Gravatar brain2006-04-281-0/+25
| | | | | | | | | Please note that because a channels joins may consist of multiple FJOINs we cannot just sync the TS at the end of every FJOIN command otherwise we WILL get a desync. Instead, we send a command after the last FJOIN for a channel which tells the other servers it is now ok to sync that channels timestamp. (still to document: SYNCTS command in protocol docs) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3916 e03df62e-2008-0410-955e-edbf42e46eb7
* delete operator tracking in debug mode (using a macro -- live with it.)Gravatar brain2006-04-241-9/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
* Include paths changeGravatar brain2006-04-201-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3899 e03df62e-2008-0410-955e-edbf42e46eb7
* Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits ↵Gravatar om2006-04-081-5/+2
| | | | | | 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