--- /dev/null
+#!/usr/bin/perl
+
+#
+# Read in the references, and put into an associative array
+#
+open FILE, "<refs" || die "Error opening refs: $!\n";
+while (<FILE>) {
+ chop;
+ split;
+
+ $refs{$_[1]} = $_[0];
+}
+close FILE;
+
+#
+# now loop over the input RFC's.
+#
+foreach $file (@ARGV) {
+ open FILE, "<$file" || die "Error opening $file: $!\n";
+
+ $attribute = "zzzzz";
+
+ # get the current reference
+ $ref = $file;
+ $ref =~ s/\..*//g;
+
+ open OUTPUT, ">$ref.html" || die "Error creating $ref.html: $!\n";
+
+ #
+ # Print out the HTML header
+ #
+ print OUTPUT <<EOF;
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<HTML>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Perl">
+ <title>$ref.html</title>
+</head>
+<body>
+<PRE>
+
+EOF
+
+ # loop over the input file
+ while (<FILE>) {
+ # html-ize it
+ s/&/&/g;
+ s/</</g;
+ s/>/>/g;
+
+ if (/\[Page/) {
+ print OUTPUT;
+ next;
+ }
+
+ if (/^RFC \d+/) {
+ print OUTPUT;
+ next;
+ }
+
+ chop;
+
+ #
+ # Attribute name header.
+ #
+ if (/^\d+\./) {
+ split;
+
+ if ($refs{$_[1]} ne "") {
+ $attribute = $_[1];
+
+ print OUTPUT "<A NAME=\"$attribute\"><H2>$_[0] $attribute</H2></a>\n";
+
+ } else {
+ print OUTPUT "<H2>$_</H2>\n";
+ $attribute = "zzzz";
+ }
+ next;
+ }
+
+ #
+ # Mark these up special.
+ #
+ if ((/^ Description/) ||
+ (/^ Type/) ||
+ (/^ Length/) ||
+ (/^ Value/)) {
+ print OUTPUT "<B>$_</B>\n";
+ next;
+ }
+
+ # Make the current attribute name bold
+ s/$attribute/<B>$attribute<\/B>/g;
+
+ split;
+
+ #
+ # Re-write the output with links to where-ever
+ #
+ foreach $word (@_) {
+ $word =~ s/[^-a-zA-Z]//g;
+
+ if ($refs{$word} ne "") {
+ if ($refs{$word} eq $ref) {
+ s/$word/<A HREF="#$word">$word<\/A>/g;
+ } else {
+ s/$word/<A HREF="$refs{$word}.html#$word">$word<\/A>/g;
+ }
+ }
+ }
+
+ print OUTPUT $_, "\n";
+ }
+
+ print OUTPUT "</PRE>\n";
+ print OUTPUT "</BODY>\n";
+ close OUTPUT;
+ close FILE;
+}
+
+#
+# And finally, create the index.
+#
+open OUTPUT, ">index.html" || die "Error creating index.html: $!\n";
+
+#
+# Print out the HTML header
+#
+print OUTPUT <<EOF;
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<HTML>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Perl">
+ <title>$ref.html</title>
+</head>
+<body>
+
+<H2>RADIUS Attribute List</H2>
+EOF
+
+$letter = "@";
+
+foreach $key (sort keys %refs) {
+ if (substr($key,0,1) ne $letter) {
+ $letter = substr($key,0,1);
+ print OUTPUT "\n<H3>$letter</H3>\n\n";
+ }
+
+ print OUTPUT "<A HREF=\"$refs{$key}.html#$key\">$key</A><BR>\n";
+}
+
+print OUTPUT "</BODY>\n";
+close OUTPUT;