* See: http://www.inspircd.org/wiki/index.php/Credits
*
* This program is free but copyrighted software; see
* See: http://www.inspircd.org/wiki/index.php/Credits
*
* This program is free but copyrighted software; see
* the core socket engine, and we cn therefore receive activity events
* for them, just like activex objects on speed. (yes really, that
* is a technical term!) Each of these which relates to a locally
* the core socket engine, and we cn therefore receive activity events
* for them, just like activex objects on speed. (yes really, that
* is a technical term!) Each of these which relates to a locally
int num_lost_servers; /* Servers lost in split */
time_t NextPing; /* Time when we are due to ping this server */
bool LastPingWasGood; /* Responded to last ping we sent? */
int num_lost_servers; /* Servers lost in split */
time_t NextPing; /* Time when we are due to ping this server */
bool LastPingWasGood; /* Responded to last ping we sent? */
unsigned int keylength; /* Is this still used? */
std::string ModuleList; /* Module list of other server from CAPAB */
std::map<std::string,std::string> CapKeys; /* CAPAB keys from other server */
unsigned int keylength; /* Is this still used? */
std::string ModuleList; /* Module list of other server from CAPAB */
std::map<std::string,std::string> CapKeys; /* CAPAB keys from other server */
* most of the action, and append a few of our own values
* to it.
*/
TreeSocket(SpanningTreeUtilities* Util, InspIRCd* SI, std::string host, int port, bool listening, unsigned long maxtime, Module* HookMod = NULL);
/** Because most of the I/O gubbins are encapsulated within
* most of the action, and append a few of our own values
* to it.
*/
TreeSocket(SpanningTreeUtilities* Util, InspIRCd* SI, std::string host, int port, bool listening, unsigned long maxtime, Module* HookMod = NULL);
/** Because most of the I/O gubbins are encapsulated within
bool ForceJoin(const std::string &source, std::deque<std::string> ¶ms);
/* Used on nick collision ... XXX ugly function HACK */
bool ForceJoin(const std::string &source, std::deque<std::string> ¶ms);
/* Used on nick collision ... XXX ugly function HACK */
- int DoCollision(userrec *u, time_t remotets, const char *remoteident, const char *remoteip, const char *remoteuid);
+ int DoCollision(User *u, time_t remotets, const char *remoteident, const char *remoteip, const char *remoteuid);
* If the length of a single line is more than 480-NICKMAX
* in length, it is split over multiple lines.
*/
* If the length of a single line is more than 480-NICKMAX
* in length, it is split over multiple lines.
*/
/** Send G, Q, Z and E lines */
void SendXLines(TreeServer* Current);
/** Send G, Q, Z and E lines */
void SendXLines(TreeServer* Current);
/** This function is called when we receive data from a remote
* server. We buffer the data in a std::string (it doesnt stay
/** This function is called when we receive data from a remote
* server. We buffer the data in a std::string (it doesnt stay
* read up to 16 kilobytes in one operation.
*
* IF THIS FUNCTION RETURNS FALSE, THE CORE CLOSES AND DELETES
* read up to 16 kilobytes in one operation.
*
* IF THIS FUNCTION RETURNS FALSE, THE CORE CLOSES AND DELETES
+ /** PRIVMSG or NOTICE with server origin ONLY
+ */
+ bool ServerMessage(const std::string &messagetype, const std::string &prefix, std::deque<std::string> ¶ms, const std::string &sourceserv);
+
+ /** ENCAP command
+ */
+ bool Encap(const std::string &prefix, std::deque<std::string> ¶ms);
+
+ /** OPERQUIT command
+ */
bool OperQuit(const std::string &prefix, std::deque<std::string> ¶ms);
/** SVSJOIN
*/
bool ServiceJoin(const std::string &prefix, std::deque<std::string> ¶ms);
bool OperQuit(const std::string &prefix, std::deque<std::string> ¶ms);
/** SVSJOIN
*/
bool ServiceJoin(const std::string &prefix, std::deque<std::string> ¶ms);