From: dms Date: Sun, 10 Dec 2000 12:53:35 +0000 (+0000) Subject: verifyUser finally fixed X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=8169f7e162c0533f07d94de7a07b84c4748faee5;p=infobot.git verifyUser finally fixed git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@191 c11ca15a-4712-0410-83d8-924469b57eb5 --- diff --git a/src/User.pl b/src/User.pl index 8908235..3290d52 100644 --- a/src/User.pl +++ b/src/User.pl @@ -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;