855a4223aa
- Offer to subscribe people to -announce and -security-notifications instead Approved by: murray PR: docs/35563
113 lines
3.7 KiB
Perl
Executable file
113 lines
3.7 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
#
|
|
# Perl program to send mail.
|
|
#
|
|
# $FreeBSD: www/en/cgi/reg.cgi,v 1.7 2000/04/03 08:45:51 phantom Exp $
|
|
|
|
sub do_header;
|
|
sub close_body;
|
|
|
|
$mailprog = '/usr/sbin/sendmail';
|
|
|
|
print "Content-type: text/html\n\n";
|
|
|
|
if ($ENV{'REQUEST_METHOD'} eq "get") { $buffer = $ENV{'QUERY_STRING'}; }
|
|
else { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
|
|
|
|
@nvpairs = split(/&/, $buffer);
|
|
foreach $pair (@nvpairs)
|
|
{
|
|
($name, $value) = split(/=/, $pair);
|
|
|
|
$value =~ tr/+/ /;
|
|
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
|
|
|
|
$FORM{$name} = $value;
|
|
}
|
|
|
|
if ($FORM{"emaila"} eq "") {
|
|
print "<HTML>\n";
|
|
print "<HEAD>\n";
|
|
print "<TITLE>Entry Error: Email Field Blank</TITLE>\n";
|
|
print "</HEAD>\n";
|
|
print "<BODY BGCOLOR=\"\#FFFFFF\" TEXT=\"\#000000\">\n";
|
|
print "<BASEFONT SIZE=4>\n";
|
|
print "<P>Your email address was left blank. Please enter it.\n";
|
|
print "</BODY>\n";
|
|
print "</HTML>\n";
|
|
exit(0);
|
|
}
|
|
|
|
$recipient = $FORM{'recipient'};
|
|
exit(0) if $recipient !~ /^[a-z_\.\-]+\@freebsd\.org$/io;
|
|
$sub_recipient = "majordomo\@FreeBSD.org";
|
|
#
|
|
# format the mail file
|
|
format MAIL =
|
|
~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
|
$value
|
|
.
|
|
|
|
my ($sub_announce, $sub_security, $unsub_announce, $unsub_security) = ();
|
|
$sub_announce = 1 if $FORM{"announce"} eq "yes";
|
|
$unsub_announce = 1 if $FORM{"announce"} eq "no";
|
|
$sub_security = 1 if $FORM{"security-notifications"} eq "yes";
|
|
$unsub_security = 1 if $FORM{"security-notifications"} eq "no";
|
|
|
|
# Open the mail file and write to it
|
|
# if user is subscribing to maillist
|
|
# which they should be, otherwise why did they hit submit ?
|
|
if ( $sub_announce || $sub_security || $unsub_announce || $unsub_security ) {
|
|
open (MAIL, "|$mailprog $sub_recipient") || die "$mailprog not available.\n";
|
|
print MAIL "From: $FORM{'emaila'}\n";
|
|
print MAIL "Subject: \n\n";
|
|
|
|
$sub_announce and print MAIL "subscribe freebsd-announce $FORM{'emaila'}\n";
|
|
$unsub_announce and print MAIL "unsubscribe freebsd-announce $FORM{'emaila'}\n";
|
|
$sub_security and print MAIL "subscribe freebsd-security-notifications $FORM{'emaila'}\n";
|
|
$unsub_security and print MAIL "unsubscribe freebsd-security-notifications $FORM{'emaila'}\n";
|
|
|
|
close (MAIL);
|
|
} else {
|
|
&do_header("No action");
|
|
print "<P>No action chosen, hence no action taken.</p>";
|
|
&close_body;
|
|
exit;
|
|
}
|
|
|
|
&do_header("Subscription processed");
|
|
print "<P>Thank you, $FORM{'emaila'}, for your submission.\n";
|
|
print "<BR>The request will need to be authenticated; check your mailbox ";
|
|
print "for instructions on how to do this.\n";
|
|
&close_body;
|
|
|
|
sub do_header {
|
|
my $title = @_;
|
|
print "<HTML>\n";
|
|
print "<HEAD>\n";
|
|
print "<TITLE>$title</TITLE>\n";
|
|
print "</HEAD>\n";
|
|
print "<BODY BGCOLOR=\"\#FFFFFF\" TEXT=\"\#660000\">\n";
|
|
print "<FONT SIZE=4> \n";
|
|
print "<CENTER>\n";
|
|
print "<IMG SRC=\"..\/gifs\/bar.gif\" BORDER=0 USEMAP=\"\#bar\">\n";
|
|
print "<MAP NAME=\"bar\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"1,1,111,31\" HREF=\"../index.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"112,11,196,31\" HREF=\"../ports/index.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"196,12,257,33\" HREF=\"../support.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"256,12,365,33\" HREF=\"../docs.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"366,13,424,32\" HREF=\"../commercial.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"425,16,475,32\" HREF=\"../search/search.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"477,16,516,33\" HREF=\"../search/index-site.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"516,15,562,33\" HREF=\"../index.html\">\n";
|
|
print "<AREA SHAPE=\"RECT\" COORDS=\"0,0,564,32\" HREF=\"../index.html\">\n";
|
|
print "</MAP>\n";
|
|
}
|
|
|
|
sub close_body {
|
|
print "</CENTER>\n";
|
|
print "</BODY>\n";
|
|
print "</HTML>\n";
|
|
}
|
|
1;
|
|
|