diff options
Diffstat (limited to 'en_US.ISO8859-1/htdocs/cgi/mirror.cgi')
-rwxr-xr-x | en_US.ISO8859-1/htdocs/cgi/mirror.cgi | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/en_US.ISO8859-1/htdocs/cgi/mirror.cgi b/en_US.ISO8859-1/htdocs/cgi/mirror.cgi new file mode 100755 index 0000000000..113da22f72 --- /dev/null +++ b/en_US.ISO8859-1/htdocs/cgi/mirror.cgi @@ -0,0 +1,31 @@ +#!/usr/bin/perl -T +# (c) 1996-2011 Wolfram Schneider. Public domain. +# +# FreeBSD WWW mirror redirect +# + +use CGI; +use strict; +use warnings; + +my $debug = 1; +my $master_url = 'http://www.freebsd.org/'; + +my $q = new CGI; +my $url = $q->param('goto') || ""; + +if ( $url =~ m,^http://[a-z0-9\.]+\.freebsd\.org/?$,i + || $url =~ m,^http://[a-z0-9\.]+\.freebsd\.org/www\.FreeBSD\.org/(data)?$,i + || $url =~ m,^http://(freebsd\.unixtech\.be|www\.gufi\.org/mirrors/www.freebsd.org/data)/$,i + ) +{ + # ok +} + +else { + warn "Ignore illegal redirect URL: $url\n" if $debug; + $url = $master_url; +} + +print $q->redirect($url); + |