diff --git a/en/cgi/dosendpr.cgi b/en/cgi/dosendpr.cgi index d2983671ad..f7703e167d 100755 --- a/en/cgi/dosendpr.cgi +++ b/en/cgi/dosendpr.cgi @@ -1,170 +1,170 @@ #!/usr/bin/perl # # Send-pr perl script to send a pr. # # Copyright (c) 1996 Free Range Media # # Copying and distribution permitted under the conditions of the # GNU General Public License Version 2. # (http://www.gnu.ai.mit.edu/copyleft/gpl.html) # -# $FreeBSD: www/en/cgi/dosendpr.cgi,v 1.9 2002/10/05 12:17:19 ceri Exp $ +# $FreeBSD: www/en/cgi/dosendpr.cgi,v 1.10 2002/11/02 01:21:41 ceri Exp $ require "html.pl"; use Socket; my $blackhole = "relays.osirusoft.com"; my $openproxyip = "127.0.0.9"; my $blackhole_err = 0; my $openproxy; # Environment variables to stuff in the PR header. my @ENV_captures = qw/ REMOTE_HOST REMOTE_ADDR REMOTE_PORT HTTP_REFERER HTTP_CLIENT_IP HTTP_FORWARDED HTTP_VIA HTTP_X_FORWARDED_FOR /; # env2hdr (@ENV_captures) # Returns X-header style headers for inclusion in the header of a PR sub env2hdr (@) { my $headers = ""; for my $var (shift @_) { next unless $ENV{$var}; $headers .= "X-$var: $ENV{$var}\n"; } return $headers; } # isopenproxy ($ip, $blackhole_zone, $positive_ip) # Returns undef on error, 0 if DNS lookup fails, $positive_ip if verified # proxy. A DNS lookup failing can either means that there was a network # problem, or that the IP is not listed in the blackhole zone. sub isopenproxy ($$$) { # If $? is already set, then a successful gethostbyname() leaves it set local $?; my ($ip, $zone, $proxyip) = @_; my ($reversed_ip, $packed); if (!defined $proxyip) { return undef }; $reversed_ip = join('.', reverse split(/\./, $ip)); $packed = gethostbyname("${reversed_ip}.${blackhole}"); return undef if $?; if ($packed && (inet_ntoa($packed) eq $proxyip)) { return $proxyip; } else { return 0; } } sub prerror { &html_title ("Problem Report Error"); &html_body(); print "There is an error in the configuration of the problem\n", "report form genator. Please back up one page and report\n", - "the problem to the owner of that page. Report @_[0]."; + "the problem to the owner of that page. Report $_[0]."; &html_end(); exit (1); } &www_content ("text","html"); &cgi_form_in(); $gndb = $cgi_data{'gndb'}; if ($gndb =~ /^[a-z]+$/ && -e "$gndb.def") { require "$gndb.def"; } else { &prerror("gndb problem"); } &prerror("request method problem") if $ENV{'REQUEST_METHOD'} eq 'GET'; # Configuration if ($gnhow eq "mail") { if (-e "/usr/lib/sendmail") { $submitprog = "/usr/lib/sendmail -t" }; if (-e "/usr/sbin/sendmail") { $submitprog = "/usr/sbin/sendmail -t" }; } else { if (-e "$gnroot/queue-pr") { $submitprog = "$gnroot/queue-pr -q" }; } if (!$submitprog) { &prerror("submit program problem"); } &html_title ($gnspreptitle); &html_body ($gnsprepbody); # Verify the data ... if (!$cgi_data{'email'} || !$cgi_data{'originator'} || !$cgi_data{'synopsis'}) { if ($gnsprepbad && -e $gnsprepbad ) { print `cat $gnsprepbad`; } else { print "
$submitprog\n\n$pr\n"; if (open (SUBMIT, "|$submitprog")){ print SUBMIT $pr; close (SUBMIT); if ($gnspreppage && -e $gnspreppage ) { print `cat $gnspreppage`; } else { print "