]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/xline.h
Now supports multiple commands seperated with \n. NOTE: These \n's are translated...
[user/henk/code/inspircd.git] / include / xline.h
index d9da09c0c6260c7da02cfc8bd2f909a5bb6040fb..bfa810c971544d8c14bfa55d76307142938ce51a 100644 (file)
@@ -67,6 +67,7 @@ class KLine : public XLine
        /** Hostmask (ident@host) to match against
         * May contain wildcards.
         */
+       char identmask[20];
        char hostmask[200];
 };
 
@@ -78,6 +79,7 @@ class GLine : public XLine
        /** Hostmask (ident@host) to match against
         * May contain wildcards.
         */
+       char identmask[20];
        char hostmask[200];
 };
 
@@ -89,6 +91,7 @@ class ELine : public XLine
         /** Hostmask (ident@host) to match against
          * May contain wildcards.
          */
+       char identmask[20];
         char hostmask[200];
 };
 
@@ -133,6 +136,8 @@ bool DoQLine(ServerConfig* conf, const char* tag, char** entries, void** values,
 bool DoKLine(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
 bool DoELine(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
 
+typedef std::pair<std::string, std::string> IdentHostPair;
+
 /** XLineManager is a class used to manage glines, klines, elines, zlines and qlines.
  */
 class XLineManager
@@ -201,6 +206,8 @@ class XLineManager
         */
        XLineManager(InspIRCd* Instance);
 
+       IdentHostPair IdentSplit(const std::string &ident_and_host);
+
        /** Add a new GLine
         * @param duration The duration of the line
         * @param source The source of the line
@@ -283,28 +290,28 @@ class XLineManager
        char* matches_qline(const char* nick);
 
        /** Check if a hostname matches a GLine
-        * @return host The host to check against
+        * @param user The user to check against
         * @return The reason for the line if there is a match, or NULL if there is no match
         */
-       char* matches_gline(const char* host);
+       char* matches_gline(userrec* user);
 
        /** Check if a IP matches a ZLine
-        * @return ipaddr The IP to check against
+        * @param ipaddr The IP to check against
         * @return The reason for the line if there is a match, or NULL if there is no match
         */
        char* matches_zline(const char* ipaddr);
 
        /** Check if a hostname matches a KLine
-        * @return host The host to check against
+        * @param user The user to check against
         * @return The reason for the line if there is a match, or NULL if there is no match
         */
-       char* matches_kline(const char* host);
+       char* matches_kline(userrec* user);
 
        /** Check if a hostname matches a ELine
-        * @return host The host to check against
+        * @param user The user to check against
         * @return The reason for the line if there is a match, or NULL if there is no match
         */
-       char* matches_exception(const char* host);
+       char* matches_exception(userrec* user);
 
        /** Expire any pending non-permenant lines
         */