#!/usr/bin/perl

sub readRFCindex {

    my $rfcIndex = "../RFC/Orig/rfc-index.txt";

    open(RFCINDEX, "<$rfcIndex") or die "Couldn't open $rfcIndex";

    while (<RFCINDEX>) {
	if (m:^[0-9]:) {
	    my $rfcentry;

	    while (! m:^$: && ! eof(RFCINDEX)) {
		$rfcentry .= $_;
		chop $rfcentry;
		$_ = <RFCINDEX>;
	    }

	    $rfcentry =~ s:[ \t][ \t]+: :g;
	    if ($rfcentry =~ m:^0*([0-9]+).*\(Obsoleted\s+by\s:) {
		$RFCtitle{$1}="OBSOLETE";
	    } elsif ($rfcentry =~ m:^0*([0-9]+)[^"]*"(.+)":) {
		$RFCtitle{$1}=$2;
	    } elsif ($rfcentry =~ m:^0*([0-9]+) *(([^.]|\.[^ ])+)\. :) {
		$RFCtitle{$1}=$2;
	    }
	}
    }
    close(RFCINDEX);

    $RFCtitle{"2146"} = "U.S. Government Internet Domain Names";
    $RFCtitle{"1816"} = "U.S. Government Internet Domain Names";
    $RFCtitle{"1811"} = "U.S. Government Internet Domain Names";
    $RFCtitle{"1108"} = "U.S. Department of Defense Security Options for the Internet Protocol";
}

#BEGIN
#{
#    eval { &readRFCindex; };
#    if ($@) {
#	Apache->log_error($@) if defined %Apache:: ;
#    }
#}

my $RFCnum = $ENV{QUERY_STRING};

if (-r "$RFCnum/index.htm") {
    print "Location: $RFCnum/index.htm\n\n";
    exit;
}

my $title = "RFC $RFCnum";

print "Content-type: text/html\n\n";

print "\<HTML\>\
\<HEAD\>\
\<TITLE\>$title<\/TITLE\>\
\<\/HEAD\>\
\<BODY\>\
\<SCRIPT\ type\=\"text\/javascript\"\ src\=\"\.\.\/pagetop\.js\"\>\<\/SCRIPT\>\
\<B\>Connected\:\ An\ Internet\ Encyclopedia\<\/B\>\
\<BR\>\
\<EM\>$title\<\/EM\>\<BR\>\
\<HR\>\<CENTER\>\
\<B\>Up\:\<\/B\>\
\<A\ HREF\=\"\.\.\/index\.htm\"\>Connected\:\ An\ Internet\ Encyclopedia\<\/A\>\<BR\>\
\<B\>Up\:\<\/B\>\
\<A\ HREF\=\"index\.htm\"\>Requests\ For\ Comments\<\/A\>\<BR\>\
\<\/CENTER\>\
\<HR\>\<P\>\
\<PRE\>\n";

open(RFC, "Orig/rfc$RFCnum.txt") or print "Can't open Orig/rfc$RFCnum.txt\n";
while (<RFC>) {
    s!&!&amp;!g;
    s!<!&lt;!g;
    s!>!&gt;!g;
    # We don't want this to match the very first character of the line,
    # since it's probably then part of a page header.  That's why the (.)
    s!(.)\b(rfc[- ]*([0-9]+))\b!$1<a href="bynum.cgi?$3">$2</a>!gi;
    print;
}
close(RFC);

print "\<\/PRE\>";
print "\
";
print "\<P\>\<HR\>\
\<B\>Connected\:\ An\ Internet\ Encyclopedia\<\/B\>\
\<BR\>\
\<EM\>$title\<\/EM\>\
\<\/BODY\>\
\<\/HTML\>\
";
