Browse Source

Compare to network name, not number of members in channel for getin op sanity checking

Bryan Drewery 14 years ago
parent
commit
adcd3ec38c
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/mod/irc.mod/irc.c

+ 3 - 3
src/mod/irc.mod/irc.c

@@ -737,12 +737,12 @@ getin_request(char *botnick, char *code, char *par)
     }
 
     // Does the remote bot have the same number of clients in its channel as me? And a shared member?
-    int members = atoi(tmp);
+    const char *network = tmp;
 
     char *shared_nick = par[0] ? newsplit(&par) : NULL;
     memberlist* shared_member = shared_nick ? ismember(chan, shared_nick) : NULL;
     char *shared_host = par[0] ? newsplit(&par) : NULL;
-    if (!shared_nick || !shared_member || !shared_host || !((chan->channel.members - chan->channel.splitmembers) == members) || strcmp(shared_host, shared_member->userhost)) {
+    if (!shared_nick || !shared_member || !shared_host || (strcmp(curnetwork, network)) || strcmp(shared_host, shared_member->userhost)) {
       putlog(LOG_GETIN, "*", "opreq from %s/%s on %s - Bot seems to be on a different network???", botnick, nick, chan->dname);
       return;
     }
@@ -1005,7 +1005,7 @@ request_op(struct chanset_t *chan)
   }
 
   /* first scan for bots on my server, ask first found for ops */
-  simple_snprintf(s, sizeof(s), "gi o %s %s %d %s %s", chan->dname, botname, (chan->channel.members - chan->channel.splitmembers), shared_member->nick, shared_member->userhost);
+  simple_snprintf(s, sizeof(s), "gi o %s %s %s %s %s", chan->dname, botname, curnetwork, shared_member->nick, shared_member->userhost);
 
   /* look for bots 0-1 hops away */
   for (i2 = 0; i2 < i; i2++) {