mirror of
https://github.com/matrix-construct/construct
synced 2024-12-26 15:33:54 +01:00
ircd: Various fixes.
This commit is contained in:
parent
bac30f93d1
commit
bfd61f84f1
1 changed files with 74 additions and 2 deletions
|
@ -19,8 +19,8 @@
|
|||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <boost/spirit/include/qi.hpp>
|
||||
#include <boost/fusion/include/std_pair.hpp>
|
||||
//#include <boost/spirit/include/qi.hpp>
|
||||
//#include <boost/spirit/include/karma.hpp>
|
||||
|
||||
namespace ircd {
|
||||
|
||||
|
@ -51,3 +51,75 @@ noexcept
|
|||
{
|
||||
grammars.erase(grammars_it);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Museum of historical comments
|
||||
//
|
||||
// parse.c (1990 - 2016)
|
||||
//
|
||||
|
||||
/* ok, fake prefix happens naturally during a burst on a nick
|
||||
* collision with TS5, we cant kill them because one client has to
|
||||
* survive, so we just send an error.
|
||||
*/
|
||||
|
||||
/* meepfoo is a nickname (ignore)
|
||||
* #XXXXXXXX is a UID (KILL)
|
||||
* #XX is a SID (SQUIT)
|
||||
* meep.foo is a server (SQUIT)
|
||||
*/
|
||||
/*
|
||||
* *WARNING*
|
||||
* Numerics are mostly error reports. If there is something
|
||||
* wrong with the message, just *DROP* it! Don't even think of
|
||||
* sending back a neat error message -- big danger of creating
|
||||
* a ping pong error message...
|
||||
*/
|
||||
|
||||
/*
|
||||
* Prepare the parameter portion of the message into 'buffer'.
|
||||
* (Because the buffer is twice as large as the message buffer
|
||||
* for the socket, no overflow can occur here... ...on current
|
||||
* assumptions--bets are off, if these are changed --msa)
|
||||
* Note: if buffer is non-empty, it will begin with SPACE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* We shouldn't get numerics sent to us,
|
||||
* any numerics we do get indicate a bug somewhere..
|
||||
*/
|
||||
|
||||
/* ugh. this is here because of nick collisions. when two servers
|
||||
* relink, they burst each other their nicks, then perform collides.
|
||||
* if there is a nick collision, BOTH servers will kill their own
|
||||
* nicks, and BOTH will kill the other servers nick, which wont exist,
|
||||
* because it will have been already killed by the local server.
|
||||
*
|
||||
* unfortunately, as we cant guarantee other servers will do the
|
||||
* "right thing" on a nick collision, we have to keep both kills.
|
||||
* ergo we need to ignore ERR_NOSUCHNICK. --fl_
|
||||
*/
|
||||
|
||||
/* quick comment. This _was_ tried. i.e. assume the other servers
|
||||
* will do the "right thing" and kill a nick that is colliding.
|
||||
* unfortunately, it did not work. --Dianora
|
||||
*/
|
||||
|
||||
/* note, now we send PING on server connect, we can
|
||||
* also get ERR_NOSUCHSERVER..
|
||||
*/
|
||||
|
||||
/* This message changed direction (nick collision?)
|
||||
* ignore it.
|
||||
*/
|
||||
|
||||
/* csircd will send out unknown umode flag for +a (admin), drop it here. */
|
||||
|
||||
/* Fake it for server hiding, if its our client */
|
||||
|
||||
/* bit of a hack.
|
||||
* I don't =really= want to waste a bit in a flag
|
||||
* number_of_nick_changes is only really valid after the client
|
||||
* is fully registered..
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue