added cmd_ban and all functions depending on
[NeonServV5.git] / UserNode.c
index 5b6c9c11259c79019d5e7d7a562f656be786ab33..a20fb1e49b9ee1dd4627f24f4079e0f091663d72 100644 (file)
@@ -1,5 +1,6 @@
 #include "UserNode.h"
 #include "ChanUser.h"
+#include "tools.h"
 
 static struct UserNode **userList;
 
@@ -101,6 +102,32 @@ struct UserNode* searchUserByNick(const char *nick) { //case insensitive
     return NULL;
 }
 
+int countUsersWithHost(char *host) {
+    int i, count = 0;
+    struct UserNode *user;
+    for(i = 0; i < VALID_NICK_CHARS_FIRST_LEN+1; i++) {
+        for(user = userList[i]; user; user = user->next) {
+            if(!strcmp(user->host, host)) {
+                count++;
+            }
+        }
+    }
+    return count;
+}
+
+char *getAuthFakehost(char *auth) {
+    int i;
+    struct UserNode *user;
+    for(i = 0; i < VALID_NICK_CHARS_FIRST_LEN+1; i++) {
+        for(user = userList[i]; user; user = user->next) {
+            if((user->flags & USERFLAG_ISAUTHED) && !strcmp(user->auth, auth) && isFakeHost(user->host)) {
+                return user->host;
+            }
+        }
+    }
+    return NULL;
+}
+
 struct UserNode* addUser(const char *nick) {
     int userListIndex = get_nicklist_entry(*nick);
     if(userListIndex == -1 || !is_valid_nick(nick))