]> git.donarmstrong.com Git - infobot.git/commitdiff
verifyUser finally fixed
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sun, 10 Dec 2000 12:53:35 +0000 (12:53 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sun, 10 Dec 2000 12:53:35 +0000 (12:53 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@191 c11ca15a-4712-0410-83d8-924469b57eb5

src/User.pl

index 89082352cce94f49e4398c0e04cb2cc5cfb91080..3290d528e71361deb98f55cdd8362796ed3012a2 100644 (file)
@@ -6,48 +6,26 @@
 if (&IsParam("useStrict")) { use strict; }
 
 sub IsFlag {
-    my $flags = $_[0];
+    my $flags = shift;
     my ($ret, $f, $o) = "";
-    my @ind = split //, $flags;
-
-    $userHandle ||= "default";
-
-    if ($userHandle ne "default") {
-       &DEBUG("isFlag: userHandle == '$userHandle'.");
-    }
 
     foreach $f (split //, $userList{$userHandle}{'flags'}) {
-       foreach $o (@ind) {
+       foreach $o ( split //, $flags ) {
            next unless ($f eq $o);
 
            $ret = $f;
            last;
        }
     }
+
     $ret;
 }
 
 sub verifyUser {
     my ($nick, $lnuh) = @_;
-#    my ($n,$u,$h) = ($lnuh =~ /^(\S+)!(\S+)\@(\S+)$/);
     my ($user,$m);
-    $userHandle = "default";
 
-    ### FIXME: THIS NEEDS TO BE FIXED TO RECOGNISE HOSTMASKS!!!
-    my $userinlist = "";
     foreach $user (keys %userList) {
-       ### Hack for time being.
-       if (0) {
-           if ($user =~ /^\Q$nick\E$/i) {
-               &DEBUG("vU: setting uH => '$user'.");
-               $userHandle = $user;
-               last;
-           }
-           next;
-       } else {
-           $userinlist = $user if ($user =~ /^\Q$nick\E$/);
-       }
-
        foreach $m (keys %{$userList{$user}{'mask'}}) {
            $m =~ s/\?/./g;
            $m =~ s/\*/.*?/g;
@@ -55,21 +33,22 @@ sub verifyUser {
 
            next unless ($lnuh =~ /^$m$/i);
 
+           if ($user !~ /^\Q$nick\E$/i) {
+               &status("vU: host matched but diff nick ($nick != $user).");
+           }
+
            $userHandle = $user;
-           $userinlist = "";
            last;
        }
+
        last if ($userHandle ne "");
-    }
 
-    if ($userinlist and $userHandle eq "") {
-       &DEBUG("vUser: user is in list but wrong host.");
-       $userHandle = $userinlist;
+       if ($user =~ /^\Q$nick\E$/i) {
+           &status("vU: nick matched but host is not in list ($lnuh).");
+       }
     }
 
-#    $talkWho{$talkchannel} = $orig{who};
-#    $talkWho = $orig{who};
-### FIXME HERE.
+    $userHandle ||= "default";
     $talkWho{$talkchannel} = $who if (defined $talkchannel);
     $talkWho = $who;