From 533793ee462552dd0b782a69e2cfe48c8f93dedc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 8 Jul 2013 11:49:38 -0400 Subject: The ip() pagespec can now contain glob characters to match eg, a subnet full of spammers. --- IkiWiki.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'IkiWiki.pm') diff --git a/IkiWiki.pm b/IkiWiki.pm index 0570c8bc5..c497dd38f 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -2776,12 +2776,12 @@ sub match_user ($$;@) { my $user=shift; my %params=@_; - my $regexp=IkiWiki::glob2re($user); - if (! exists $params{user}) { return IkiWiki::ErrorReason->new("no user specified"); } + my $regexp=IkiWiki::glob2re($user); + if (defined $params{user} && $params{user}=~$regexp) { return IkiWiki::SuccessReason->new("user is $user"); } @@ -2821,8 +2821,10 @@ sub match_ip ($$;@) { if (! exists $params{ip}) { return IkiWiki::ErrorReason->new("no IP specified"); } + + my $regexp=IkiWiki::glob2re(lc $ip); - if (defined $params{ip} && lc $params{ip} eq lc $ip) { + if (defined $params{ip} && lc $params{ip}=~$regexp) { return IkiWiki::SuccessReason->new("IP is $ip"); } else { -- cgit v1.2.3