summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
Commit message (Collapse)AuthorAgeFilesLines
* Remove users from uuidlist/clientlist on QuitUser, not during cull (allows ↵Gravatar danieldg2010-01-301-1/+3
| | | | | | UID reuse on fast netsplits) git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@12327 e03df62e-2008-0410-955e-edbf42e46eb7
* If SVSNICK is sent to force a change to a UID-lookalike, just change nick to ↵Gravatar danieldg2010-01-241-3/+4
| | | | | | UID. Fixes bug #932 git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@12319 e03df62e-2008-0410-955e-edbf42e46eb7
* Add DYING state, and use it instead of asking the core to delete the socket ↵Gravatar danieldg2010-01-234-4/+18
| | | | | | without SQUIT. Should fix the crash in bug #943 git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@12316 e03df62e-2008-0410-955e-edbf42e46eb7
* Check channel name in SVSJOIN to avoid propegating an invalid channel, fixes ↵Gravatar w00t2009-12-311-7/+12
| | | | | | | | bug #928. This will result in a mild desync if someone has (ab)used SVSJOIN when linking a server running this to their network, but since those channels are screwed anyway.. git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@12234 e03df62e-2008-0410-955e-edbf42e46eb7
* Where there are hidden servers, report the /map server count as the hidden ↵Gravatar brain2009-09-151-3/+3
| | | | | | | | | count if the user cant see these servers. and calculate the user average over this number of servers too. -- Reported by Syloq, thanks! git-svn-id: http://svn.inspircd.org/repository/branches/1_2_stable@11728 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a regression from fcb51634669e6ed588e42f2072c6f910e267126f ("fix uid ↵Gravatar w00t2009-08-191-1/+3
| | | | | | | | collision on spanningtree reload") caused by access-after-free. Thanks to transnet for the report. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11533 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow forward linking compatability by accepting higher protocol version ↵Gravatar danieldg2009-08-172-10/+13
| | | | | | numbers (other server should fail the link if it becomes link-incompatable) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11531 e03df62e-2008-0410-955e-edbf42e46eb7
* win: Last part of support required for VS2010:Gravatar w00t2009-08-151-1/+1
| | | | | | | | | | | | | | | | NEEDS COMPILE TESTING ON: gcc3 (if possible), gcc4, vs2008. - Check for vs2010 in hash_map.h - use unordered_map if it exists - change all map creations to: #if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED) // old windows crap #else #if HASHMAP_DEPRECATED // tr1/gcc crap #endif #endif git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11524 e03df62e-2008-0410-955e-edbf42e46eb7
* Print line on empty prefix errors to track down a bugGravatar w00t2009-08-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11517 e03df62e-2008-0410-955e-edbf42e46eb7
* Use server name for source of remote TIME rather than SIDGravatar danieldg2009-07-031-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11438 e03df62e-2008-0410-955e-edbf42e46eb7
* Roll back mysterious DNS change from 2007 which broke multiple-answerGravatar w00t2009-06-302-6/+3
| | | | | | | DNS requests (CNAME, A). It looks like this was to be related to bitmask dnsbl support, but it would never have worked anyway (resultnum was always 0..). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11419 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix ENCAP forwarding with multiword final parameter, noticed by NamegdufGravatar danieldg2009-06-151-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11413 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow SSL fingerprint-based server authenticationGravatar danieldg2009-06-077-11/+48
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11404 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRehash changes: split to multiple hooks to clarify use and prevent ↵Gravatar danieldg2009-05-242-5/+8
| | | | | | explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix UID collision on reload of m_spanningtree.soGravatar danieldg2009-05-141-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11386 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix some incorrect STL iterations (using < end() instead of != end())Gravatar special2009-05-142-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11385 e03df62e-2008-0410-955e-edbf42e46eb7
* Show correct server source to users on FTOPIC and FMODEGravatar danieldg2009-05-131-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11380 e03df62e-2008-0410-955e-edbf42e46eb7
* Use Utils->ServerUser instead of ServerInstance->FakeClient in m_spanningtreeGravatar danieldg2009-05-133-17/+7
| | | | | | | This makes it possible to determine which server initiated a mode change, instead of having only a flag saying that some server did. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11379 e03df62e-2008-0410-955e-edbf42e46eb7
* Make the previous patches actually workGravatar danieldg2009-05-132-3/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11378 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace loopCall detection in OnUserKick with a check for the m_spanningtree ↵Gravatar danieldg2009-05-131-12/+6
| | | | | | fake user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11377 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a FakeUser source for server-sourced commands in spanningtreeGravatar danieldg2009-05-133-51/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11376 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove handshake timer on server sockets that die before completing handshakeGravatar danieldg2009-05-074-21/+27
| | | | | | | | This fixes some very subtle and hard-to-trace bugs that are triggered when a file descriptor and memory address of an EventHandler* are reused after being deallocated. Impossible to trigger in valgrind; has been seen in live networks. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11369 e03df62e-2008-0410-955e-edbf42e46eb7
* Enable lag-check pings on active servers - if bandwidth waste is an issue, ↵Gravatar danieldg2009-04-261-6/+0
| | | | | | there should be an option to disable lag pings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11331 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove lag reporting in /map from servers that do not yet have a valid ↵Gravatar danieldg2009-04-261-1/+1
| | | | | | value; <1ms is misleading. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11330 e03df62e-2008-0410-955e-edbf42e46eb7
* rollback r11326, we're going to make vc9 the officially supported windows ↵Gravatar peavey2009-04-232-2/+2
| | | | | | build methods since the few of us doing win dev can't keep up maintaining the others. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11327 e03df62e-2008-0410-955e-edbf42e46eb7
* Heres the beef so farGravatar brain2009-04-232-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7
* Addendum to previous ping patch: NextPingTime was not being set at endburst, ↵Gravatar danieldg2009-04-221-2/+4
| | | | | | and servers without ENDBURST were no longer being detected. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11325 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix PingFlag not being set correctly for servers whose burst takes longer ↵Gravatar danieldg2009-04-223-25/+5
| | | | | | than PingFreq git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11324 e03df62e-2008-0410-955e-edbf42e46eb7
* Abort link early when mismatched modules are detected so that the error ↵Gravatar danieldg2009-04-211-1/+2
| | | | | | message is more useful git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11323 e03df62e-2008-0410-955e-edbf42e46eb7
* Actually use irc::modestacker correctlyGravatar danieldg2009-04-201-7/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11322 e03df62e-2008-0410-955e-edbf42e46eb7
* Use loopCall to protect OnUserKick rather than the triggerevents hackGravatar danieldg2009-04-202-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11321 e03df62e-2008-0410-955e-edbf42e46eb7
* Initialize loopCall on constructionGravatar danieldg2009-04-191-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11320 e03df62e-2008-0410-955e-edbf42e46eb7
* Add loopCall to prevent double-broadcasting new X:linesGravatar danieldg2009-04-193-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11319 e03df62e-2008-0410-955e-edbf42e46eb7
* Don't send out UID for users that are quitting, because the QUIT won't be ↵Gravatar danieldg2009-04-181-0/+2
| | | | | | sent and they become a ghost git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11313 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix ping server-skip logic from bug 792 fixGravatar danieldg2009-04-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11277 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #784 reported by HiroP, add check to the FHOST code to not send ↵Gravatar brain2009-03-181-1/+7
| | | | | | out FHOST for unregistered users, there was already a check on OnMode hence why the +x didnt go out, just the host change. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11232 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #792 reported by recyclebin, do not attempt to ping local ↵Gravatar brain2009-03-181-0/+6
| | | | | | servers which are not fully connected yet, thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11230 e03df62e-2008-0410-955e-edbf42e46eb7
* Instead of re adding the HandshakeTimer in m_spanningtree, make it a ↵Gravatar psychon2009-03-161-2/+4
| | | | | | reoccurring timer and kill at the right time. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11227 e03df62e-2008-0410-955e-edbf42e46eb7
* Use IS_OPER(u) instead of checking for umode +o to correctly add opers ↵Gravatar dz2009-03-151-1/+1
| | | | | | during bursts, fixes bugs #786 and #778 reported by Taros. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11224 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-1562-63/+63
| | | | | | | | | 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
* Revert r11194 "Quiet bursts for uplinks, suggested by HiroP, thanks!"Gravatar danieldg2009-03-144-16/+9
| | | | | | | This check on uplink was not sufficient. It has been replaced by marking children of a bursting server as bursting, so the uplink is no longer needed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11218 e03df62e-2008-0410-955e-edbf42e46eb7
* Mark children of remote servers as bursting while their parent is burstingGravatar danieldg2009-03-143-1/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11217 e03df62e-2008-0410-955e-edbf42e46eb7
* Send remote BURST on new incoming server introductionGravatar danieldg2009-03-141-7/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11216 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix ComparePass for servers not supporting HMAC-SHA256 when ↵Gravatar danieldg2009-03-111-2/+2
| | | | | | ChallengeResponse is on in configuration git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11205 e03df62e-2008-0410-955e-edbf42e46eb7
* Push password comparison logic into ComparePass, fixes authentication bug ↵Gravatar danieldg2009-03-102-13/+7
| | | | | | noticed by HiroP git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11195 e03df62e-2008-0410-955e-edbf42e46eb7
* Quiet bursts for uplinks, suggested by HiroP, thanks!Gravatar brain2009-03-104-9/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11194 e03df62e-2008-0410-955e-edbf42e46eb7
* An FJOIN is not bursting unless the source server is burstingGravatar danieldg2009-03-091-1/+1
| | | | | | Fixes bug #755 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11188 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some unneeded debug messages on the common case of FJOINGravatar danieldg2009-03-071-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11183 e03df62e-2008-0410-955e-edbf42e46eb7
* Include explicit parameter list in ProtocolInterface::SendModeGravatar danieldg2009-03-074-17/+14
| | | | | | | 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
* Construct explicit parameter type list for MODE parametersGravatar danieldg2009-03-062-7/+7
| | | | | | | | | | | | Previously, we used TR_SPACENICKLIST on the parameters. This worked only because usually, if anything in the list parsed as a nick, then it was a nick. However, some modes like +k and +g allow free-form text, which could also resolve as a nick. Add extra parameters to allow modes to specify their TranslateType, defaulting to TR_TEXT. This fixes bug #757, found by Taros git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11180 e03df62e-2008-0410-955e-edbf42e46eb7