]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treesocket.h
m_spanningtree Do pointer comparison before deleting one of the pointers in TreeSocke...
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treesocket.h
index aebc7e03ba6d263fd33a3b4ab2efffad404cb429..d8445572bf0c405b51f4aed800a7cc4ad6307ba1 100644 (file)
@@ -78,6 +78,12 @@ struct CapabData
        int capab_phase;                        /* Have sent CAPAB already */
        bool auth_fingerprint;                  /* Did we auth using SSL fingerprint */
        bool auth_challenge;                    /* Did we auth using challenge/response */
+
+       // Data saved from incoming SERVER command, for later use when our credentials have been accepted by the other party
+       std::string description;
+       std::string sid;
+       std::string name;
+       bool hidden;
 };
 
 /** Every SERVER connection inbound or outbound is represented by an object of
@@ -95,6 +101,11 @@ class TreeSocket : public BufferedSocket
        bool LastPingWasGood;                   /* Responded to last ping we sent? */
        int proto_version;                      /* Remote protocol version */
        bool ConnectionFailureShown; /* Set to true if a connection failure message was shown */
+
+       /** Checks if the given servername and sid are both free
+        */
+       bool CheckDuplicate(const std::string& servername, const std::string& sid);
+
  public:
        time_t age;
 
@@ -216,16 +227,16 @@ class TreeSocket : public BufferedSocket
         * If the length of a single line is more than 480-NICKMAX
         * in length, it is split over multiple lines.
         */
-       void SendFJoins(TreeServer* Current, Channel* c);
+       void SendFJoins(Channel* c);
 
        /** Send G, Q, Z and E lines */
-       void SendXLines(TreeServer* Current);
+       void SendXLines();
 
        /** Send channel modes and topics */
-       void SendChannelModes(TreeServer* Current);
+       void SendChannelModes();
 
        /** send all users and their oper state/modes */
-       void SendUsers(TreeServer* Current);
+       void SendUsers();
 
        /** This function is called when we want to send a netburst to a local
         * server. There is a set order we must do this, because for example