aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/htdocs/cgi/mirror.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/htdocs/cgi/mirror.cgi')
-rwxr-xr-xen_US.ISO8859-1/htdocs/cgi/mirror.cgi31
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);
+