WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit bfcf7ce

Browse files
committed
Merge branch 'security/4.0.3-releng' into 4.0.3-releng
2 parents 3e9ecc4 + 2ec9e7a commit bfcf7ce

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

lib/RT/IR.pm

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,14 @@ sub FirstWhoisServer {
635635
return $res;
636636
}
637637

638+
sub IsValidWhoisServer {
639+
my $self = shift;
640+
my $server = lc (shift or return 0);
641+
my $servers = RT->Config->Get('whois');
642+
643+
return ((grep { lc $_ eq $server } map { ref $_ ? $_->{'Host'} : $_ } values %$servers) ? 1 : 0);
644+
}
645+
638646
sub WhoisLookup {
639647
my $self = shift;
640648
my %args = (
@@ -647,6 +655,9 @@ sub WhoisLookup {
647655
return (undef, $args{'CurrentUser'}->loc("No whois servers configured"))
648656
unless $server;
649657

658+
return (undef, $args{'CurrentUser'}->loc("Invalid whois server specified"))
659+
unless $self->IsValidWhoisServer( $server );
660+
650661
my ($host, $port) = split /\s*:\s*/, $server, 2;
651662
$port = 43 unless ($port || '') =~ /^\d+$/;
652663

0 commit comments

Comments
 (0)