summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
AgeCommit message (Collapse)Author
2007-08-29IMPORTANT: UID command now takes TEN parameters in 1.2. We never had a ↵brain
signon time seperate from the TS in the UID command (or 1.1's NICK command) because in 1.1 this timestamp never updated and was therefore useful for both values. This is no longer the case and we must pass both seperately git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7988 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-29Swap around ERROR and SNONOTICE in SendError() so that the server doesnt try ↵brain
and send SNONOTICE to a connection that just closed on it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7987 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Move everything module-related out of InspIRCd and into ModuleManager, there ↵om
is a ModuleManager instantiated as InspIRCd::Modules. Several of the function names have changed slightly as well. e.g. Instance->FindModule(m_foobar.so); is now Instance->Modules->Find(m_foobar.so); All modules in the core distribution should also be updated in line with these changes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Tidy up here, same tidyup cannot go back to stable as it involves uidsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7984 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Add SVSPART at request of the Anope team - You can tell if the server has ↵brain
SVSPART by the presence of SVSPART=1 in the CAPAB. No, we will NOT be enforcing this network-wide, its a server-origin command so it wont cause disconnects if it doesnt exist somewhere. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7982 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28If we see a NICK message without a timestamp on it, squit the serverbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7980 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28If the user's nick is just a case change, the TS is NOT updated (thanks jilles)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7978 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Note: NICK now takes two params, a nickname and a timestamp of the change.brain
When a nick change occurs this must update the users timestamp, so that the users nick is marked to a newer TS. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7977 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28When a server sends a SERVER command with <5 params, dont just close the ↵brain
connection without error. Give the error "Protocol violation -- Missing SID" git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7974 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Damn strict typing to hellw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7968 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Last raft of compile fixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7967 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Oops. We were missing a param on this SVSNICK for remote TS.. that probably ↵w00t
was blasting client TS on nick collision, which isn't good git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7966 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Fixes 2brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7965 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Fixes 1brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7964 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Convert yet more to ServerConfig::GetSID() - this is the last of the obvious ↵brain
stuff. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7963 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28First round of servername->sid stuffsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7961 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Use it here, toobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7960 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Tidy up duplicate code, provide GetSID() method on ServerConfig which ↵brain
returns the SID always 3 digits long git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7959 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Rice it up, biatchw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7958 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Change issid to IsSID to appease our anal retentiveness^H^H^H^H^H^H... i ↵brain
mean err, match the coding standards git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7957 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Add SpanningTreeUtils::issid(). See top of utils.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7956 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Drop nick from incoming client on change collision if incoming client ↵w00t
'loses' the change, and document why we do this git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7955 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Oops: This 'remote' needs to be local, otherwise our return value can be ↵w00t
incorrect in some cases. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7954 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28bool SamePerson = strcmp(localident, remoteident) && !strcmp(localip, remoteip);brain
change to: bool SamePerson = !strcmp(localident, remoteident) && !strcmp(localip, remoteip); git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7951 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Long-standing bug: userrec::age should be set on remote introduction. This ↵w00t
does not affect 1.1. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7950 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Hmm. We shouldn't use FindNick here, as that will find on UID, which while ↵w00t
it should not be a problem, might be. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7949 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Slight change to traffic logging, as I never remember which way the damn ↵w00t
arrows go: I now means in, O now means out. C and S remain unchanged git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7948 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Remove more unused headersw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7946 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Remove unneeded headers from spanningtree. This was done to the rest of the ↵w00t
source base the other day. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7945 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Remove the last uses of localised fake clients. This removes a lot of ↵w00t
allocations (and uses of UIDs), and cleans things up a bit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7943 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Handle nick change collision through the same rules nick introduction ↵w00t
collision is handled. No code duplication, and now, no kills either. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7937 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Move nickname collision logic into TreeSocket::DoCollision so that nickname ↵w00t
change collide can be dealt with without KILL use also. Note that currently this function is rather ugly, and DOES need attention, but should work... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7936 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Fix potential for duplicate SID if the SID is auto generated.brain
Auto generated SIDs are initialized too late after modules are loaded rather than before. Fixed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7924 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Fix to use DuplicateID. This stops things segfaulting on duplicate SID ↵w00t
introduction, which is, of course, bad. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7923 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Add bool TreeSocket::DuplicateID(), as its not safe to throw then try and ↵brain
squit that server :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7922 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Well, this probably works. But it might not. :D.w00t
- If a server is introduced with an already-existing SID, kill it off the network. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7921 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Move SID into TreeSocket constructor. w00t, search for "new TreeSocket" to ↵brain
see where to catch git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7920 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27This may need tidying up to make SetID internal and do this in the ↵brain
constructor, but for now it works. AWOOGA AWOOGA WARNING: SetID can throw a CoreException if the id already exists! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7919 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Store id in TreeServer, use TreeServer::GetID() to get the id (NOTE: it is ↵brain
std::string) Server id sent on all outbound and inbound SERVER now. last parameter before desc. Min params for SERVER is now 5, not 4. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7918 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove check for duplicate UUID, constructor of userrec throws for us insteadw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7916 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Update comment to say we need to SQUIT. This is a minor thing so im not ↵brain
going to fix it yet git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7913 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27This comment is no longer validw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7912 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Document the use of SVSNICK to fix a remote user on collidew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7911 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Okay. Make it compile too, and make equal TS collision work correctly.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7910 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Nickname collision: third revisitationw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7909 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Don't try do lookups by nickname any more, all s2s traffic should be using ↵w00t
UID now. If it's not, well, we need to know anyway. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7907 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove some old style compatibility checking for 1.0-alpha servers, this ↵w00t
really isn't needed anymore, as they will ERROR off anyway with an unknown command git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7906 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27If SVSNICK fails, attempt to change to UID, before quitting as a last resort ↵w00t
(if a module disallows change to a UID, they need shooting) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7901 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27TS may be a more elegant solution, but it is fucking horrible to write code ↵w00t
for, and hard to get right. Let's just change both. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7900 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Oops, forgot a branch (the logic here totally sucks, it will need cleaning ↵w00t
up. I want to get it working first.) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7899 e03df62e-2008-0410-955e-edbf42e46eb7