]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add cross links to the output
authorAlan T. DeKok <aland@freeradius.org>
Fri, 31 Aug 2018 14:59:27 +0000 (10:59 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 31 Aug 2018 14:59:27 +0000 (10:59 -0400)
scripts/asciidoc/conf2adoc
scripts/asciidoc/links.txt [new file with mode: 0644]

index 9497ea3ee507a57148e9babffa5f22cc910153ed..ae7e5f0d6452aad442bbe8e34bc3a98713b6a58a 100755 (executable)
@@ -5,11 +5,32 @@
 #  Convert conf files to Asciidoc
 #
 #
+use File::Basename;
 
 $was_raw = 0;
 $raw = 0;
 $blank = 0;
 
+$script_dir = dirname(__FILE__);
+$filename = "$script_dir/links.txt";
+
+%links = {};
+
+#
+#  Read the links file.
+#
+#  @todo - have this script take multiple inputs, so that we don't
+#  have to read the links file on every file we convert.
+#
+open FILE, "<$filename" or die "Failed to open $filename: $!\n";
+while (<FILE>) {
+    chop;
+    ($name, $link) = split;
+    
+    $links{$name} = $link;
+}
+close FILE;
+
 while (<>) {
     #
     #  Skip editor commands
@@ -76,9 +97,42 @@ while (<>) {
 
     print $prefix if defined $prefix;
 
+    $line = $_;
+
+    my @words = split;
+
+    #
+    #  See if we can automagically make cross-links
+    #
+    foreach $word (@words) {
+       next if ($word eq '\`\`\`');
+
+       next if ($word !~ /^`(.*)`$/);
+
+       #
+       #  @todo - automatically add cross-links for:
+       #
+       #       mods-available/
+       #       sites-available/
+       #
+       #  etc.
+       #
+       
+       next if (!$links{$1});
+
+       $link = "`link:" . $links{$1} . "[" . $1 . "]`";
+
+       #
+       #  Yes, this is terrible.  We should really just print each
+       #  word individually, but that would also mess up (mildly)
+       #  whitespace.
+       #
+       $line =~ s/$1/$link/g;
+    }
+
     #
     #  And print out the raw text.
     #
-    print;
+    print $line;
 }
 
diff --git a/scripts/asciidoc/links.txt b/scripts/asciidoc/links.txt
new file mode 100644 (file)
index 0000000..801e43a
--- /dev/null
@@ -0,0 +1,198 @@
+MS-CHAP-Challenge https://freeradius.org/rfc/rfc2548.html#MS-CHAP-Challenge
+MS-CHAP-Response https://freeradius.org/rfc/rfc2548.html#MS-CHAP-Response
+MS-CHAP-Domain https://freeradius.org/rfc/rfc2548.html#MS-CHAP-Domain
+MS-CHAP-Error https://freeradius.org/rfc/rfc2548.html#MS-CHAP-Error
+MS-CHAP-CPW-1 https://freeradius.org/rfc/rfc2548.html#MS-CHAP-CPW-1
+MS-CHAP-CPW-2 https://freeradius.org/rfc/rfc2548.html#MS-CHAP-CPW-2
+MS-CHAP-LM-Enc-PW https://freeradius.org/rfc/rfc2548.html#MS-CHAP-LM-Enc-PW
+MS-CHAP-NT-Enc-PW https://freeradius.org/rfc/rfc2548.html#MS-CHAP-NT-Enc-PW
+MS-CHAP2-Response https://freeradius.org/rfc/rfc2548.html#MS-CHAP2-Response
+MS-CHAP2-Success https://freeradius.org/rfc/rfc2548.html#MS-CHAP2-Success
+MS-CHAP2-CPW https://freeradius.org/rfc/rfc2548.html#MS-CHAP2-CPW
+MS-CHAP-MPPE-Keys https://freeradius.org/rfc/rfc2548.html#MS-CHAP-MPPE-Keys
+MS-MPPE-Send-Key https://freeradius.org/rfc/rfc2548.html#MS-MPPE-Send-Key
+MS-MPPE-Recv-Key https://freeradius.org/rfc/rfc2548.html#MS-MPPE-Recv-Key
+MS-MPPE-Encryption-Policy https://freeradius.org/rfc/rfc2548.html#MS-MPPE-Encryption-Policy
+MS-MPPE-Encryption-Types https://freeradius.org/rfc/rfc2548.html#MS-MPPE-Encryption-Types
+MS-BAP-Usage https://freeradius.org/rfc/rfc2548.html#MS-BAP-Usage
+MS-Link-Utilization-Threshold https://freeradius.org/rfc/rfc2548.html#MS-Link-Utilization-Threshold
+MS-Link-Drop-Time-Limit https://freeradius.org/rfc/rfc2548.html#MS-Link-Drop-Time-Limit
+MS-Old-ARAP-Password https://freeradius.org/rfc/rfc2548.html#MS-Old-ARAP-Password
+MS-New-ARAP-Password https://freeradius.org/rfc/rfc2548.html#MS-New-ARAP-Password
+MS-ARAP-Password-Change-Reason https://freeradius.org/rfc/rfc2548.html#MS-ARAP-Password-Change-Reason
+MS-ARAP-Challenge https://freeradius.org/rfc/rfc2548.html#MS-ARAP-Challenge
+MS-RAS-Vendor https://freeradius.org/rfc/rfc2548.html#MS-RAS-Vendor
+MS-RAS-Version https://freeradius.org/rfc/rfc2548.html#MS-RAS-Version
+MS-Filter https://freeradius.org/rfc/rfc2548.html#MS-Filter
+MS-Acct-Auth-Type https://freeradius.org/rfc/rfc2548.html#MS-Acct-Auth-Type
+MS-Acct-EAP-Type https://freeradius.org/rfc/rfc2548.html#MS-Acct-EAP-Type
+MS-Primary-DNS-Server https://freeradius.org/rfc/rfc2548.html#MS-Primary-DNS-Server
+MS-Secondary-DNS-Server https://freeradius.org/rfc/rfc2548.html#MS-Secondary-DNS-Server
+MS-Primary-NBNS-Server https://freeradius.org/rfc/rfc2548.html#MS-Primary-NBNS-Server
+MS-Secondary-NBNS-Server https://freeradius.org/rfc/rfc2548.html#MS-Secondary-NBNS-Server
+Keep-Alives https://freeradius.org/rfc/rfc2865.html#Keep-Alives
+Access-Request https://freeradius.org/rfc/rfc2865.html#Access-Request
+Access-Accept https://freeradius.org/rfc/rfc2865.html#Access-Accept
+Access-Reject https://freeradius.org/rfc/rfc2865.html#Access-Reject
+Access-Challenge https://freeradius.org/rfc/rfc2865.html#Access-Challenge
+User-Name https://freeradius.org/rfc/rfc2865.html#User-Name
+User-Password https://freeradius.org/rfc/rfc2865.html#User-Password
+CHAP-Password https://freeradius.org/rfc/rfc2865.html#CHAP-Password
+NAS-IP-Address https://freeradius.org/rfc/rfc2865.html#NAS-IP-Address
+NAS-Port https://freeradius.org/rfc/rfc2865.html#NAS-Port
+Service-Type https://freeradius.org/rfc/rfc2865.html#Service-Type
+Framed-Protocol https://freeradius.org/rfc/rfc2865.html#Framed-Protocol
+Framed-IP-Address https://freeradius.org/rfc/rfc2865.html#Framed-IP-Address
+Framed-IP-Netmask https://freeradius.org/rfc/rfc2865.html#Framed-IP-Netmask
+Framed-Routing https://freeradius.org/rfc/rfc2865.html#Framed-Routing
+Filter-Id https://freeradius.org/rfc/rfc2865.html#Filter-Id
+Framed-MTU https://freeradius.org/rfc/rfc2865.html#Framed-MTU
+Framed-Compression https://freeradius.org/rfc/rfc2865.html#Framed-Compression
+Login-IP-Host https://freeradius.org/rfc/rfc2865.html#Login-IP-Host
+Login-Service https://freeradius.org/rfc/rfc2865.html#Login-Service
+Login-TCP-Port https://freeradius.org/rfc/rfc2865.html#Login-TCP-Port
+Reply-Message https://freeradius.org/rfc/rfc2865.html#Reply-Message
+Callback-Number https://freeradius.org/rfc/rfc2865.html#Callback-Number
+Callback-Id https://freeradius.org/rfc/rfc2865.html#Callback-Id
+Framed-Route https://freeradius.org/rfc/rfc2865.html#Framed-Route
+Framed-IPX-Network https://freeradius.org/rfc/rfc2865.html#Framed-IPX-Network
+Vendor-Specific https://freeradius.org/rfc/rfc2865.html#Vendor-Specific
+Session-Timeout https://freeradius.org/rfc/rfc2865.html#Session-Timeout
+Idle-Timeout https://freeradius.org/rfc/rfc2865.html#Idle-Timeout
+Termination-Action https://freeradius.org/rfc/rfc2865.html#Termination-Action
+Called-Station-Id https://freeradius.org/rfc/rfc2865.html#Called-Station-Id
+Calling-Station-Id https://freeradius.org/rfc/rfc2865.html#Calling-Station-Id
+NAS-Identifier https://freeradius.org/rfc/rfc2865.html#NAS-Identifier
+Proxy-State https://freeradius.org/rfc/rfc2865.html#Proxy-State
+Login-LAT-Service https://freeradius.org/rfc/rfc2865.html#Login-LAT-Service
+Login-LAT-Node https://freeradius.org/rfc/rfc2865.html#Login-LAT-Node
+Login-LAT-Group https://freeradius.org/rfc/rfc2865.html#Login-LAT-Group
+Framed-AppleTalk-Link https://freeradius.org/rfc/rfc2865.html#Framed-AppleTalk-Link
+Framed-AppleTalk-Network https://freeradius.org/rfc/rfc2865.html#Framed-AppleTalk-Network
+Framed-AppleTalk-Zone https://freeradius.org/rfc/rfc2865.html#Framed-AppleTalk-Zone
+CHAP-Challenge https://freeradius.org/rfc/rfc2865.html#CHAP-Challenge
+NAS-Port-Type https://freeradius.org/rfc/rfc2865.html#NAS-Port-Type
+Port-Limit https://freeradius.org/rfc/rfc2865.html#Port-Limit
+Login-LAT-Port https://freeradius.org/rfc/rfc2865.html#Login-LAT-Port
+Accounting-Request https://freeradius.org/rfc/rfc2866.html#Accounting-Request
+Accounting-Response https://freeradius.org/rfc/rfc2866.html#Accounting-Response
+Acct-Status-Type https://freeradius.org/rfc/rfc2866.html#Acct-Status-Type
+Acct-Delay-Time https://freeradius.org/rfc/rfc2866.html#Acct-Delay-Time
+Acct-Input-Octets https://freeradius.org/rfc/rfc2866.html#Acct-Input-Octets
+Acct-Output-Octets https://freeradius.org/rfc/rfc2866.html#Acct-Output-Octets
+Acct-Session-Id https://freeradius.org/rfc/rfc2866.html#Acct-Session-Id
+Acct-Authentic https://freeradius.org/rfc/rfc2866.html#Acct-Authentic
+Acct-Session-Time https://freeradius.org/rfc/rfc2866.html#Acct-Session-Time
+Acct-Input-Packets https://freeradius.org/rfc/rfc2866.html#Acct-Input-Packets
+Acct-Output-Packets https://freeradius.org/rfc/rfc2866.html#Acct-Output-Packets
+Acct-Terminate-Cause https://freeradius.org/rfc/rfc2866.html#Acct-Terminate-Cause
+Acct-Multi-Session-Id https://freeradius.org/rfc/rfc2866.html#Acct-Multi-Session-Id
+Acct-Link-Count https://freeradius.org/rfc/rfc2866.html#Acct-Link-Count
+Tunnel-Start https://freeradius.org/rfc/rfc2867.html#Tunnel-Start
+Tunnel-Stop https://freeradius.org/rfc/rfc2867.html#Tunnel-Stop
+Tunnel-Reject https://freeradius.org/rfc/rfc2867.html#Tunnel-Reject
+Tunnel-Link-Start https://freeradius.org/rfc/rfc2867.html#Tunnel-Link-Start
+Tunnel-Link-Stop https://freeradius.org/rfc/rfc2867.html#Tunnel-Link-Stop
+Tunnel-Link-Reject https://freeradius.org/rfc/rfc2867.html#Tunnel-Link-Reject
+Acct-Tunnel-Connection https://freeradius.org/rfc/rfc2867.html#Acct-Tunnel-Connection
+Acct-Tunnel-Packets-Lost https://freeradius.org/rfc/rfc2867.html#Acct-Tunnel-Packets-Lost
+Tunnel-Type https://freeradius.org/rfc/rfc2868.html#Tunnel-Type
+Tunnel-Medium-Type https://freeradius.org/rfc/rfc2868.html#Tunnel-Medium-Type
+Tunnel-Client-Endpoint https://freeradius.org/rfc/rfc2868.html#Tunnel-Client-Endpoint
+Tunnel-Server-Endpoint https://freeradius.org/rfc/rfc2868.html#Tunnel-Server-Endpoint
+Tunnel-Password https://freeradius.org/rfc/rfc2868.html#Tunnel-Password
+Tunnel-Private-Group-ID https://freeradius.org/rfc/rfc2868.html#Tunnel-Private-Group-ID
+Tunnel-Assignment-ID https://freeradius.org/rfc/rfc2868.html#Tunnel-Assignment-ID
+Tunnel-Preference https://freeradius.org/rfc/rfc2868.html#Tunnel-Preference
+Tunnel-Client-Auth-ID https://freeradius.org/rfc/rfc2868.html#Tunnel-Client-Auth-ID
+Tunnel-Server-Auth-ID https://freeradius.org/rfc/rfc2868.html#Tunnel-Server-Auth-ID
+Tunnel-Type https://freeradius.org/rfc/rfc2868.html#Tunnel-Type
+Tunnel-Medium-Type https://freeradius.org/rfc/rfc2868.html#Tunnel-Medium-Type
+Acct-Input-Gigawords https://freeradius.org/rfc/rfc2869.html#Acct-Input-Gigawords
+Acct-Output-Gigawords https://freeradius.org/rfc/rfc2869.html#Acct-Output-Gigawords
+Event-Timestamp https://freeradius.org/rfc/rfc2869.html#Event-Timestamp
+ARAP-Password https://freeradius.org/rfc/rfc2869.html#ARAP-Password
+ARAP-Features https://freeradius.org/rfc/rfc2869.html#ARAP-Features
+ARAP-Zone-Access https://freeradius.org/rfc/rfc2869.html#ARAP-Zone-Access
+ARAP-Security https://freeradius.org/rfc/rfc2869.html#ARAP-Security
+ARAP-Security-Data https://freeradius.org/rfc/rfc2869.html#ARAP-Security-Data
+Password-Retry https://freeradius.org/rfc/rfc2869.html#Password-Retry
+Connect-Info https://freeradius.org/rfc/rfc2869.html#Connect-Info
+Configuration-Token https://freeradius.org/rfc/rfc2869.html#Configuration-Token
+EAP-Message https://freeradius.org/rfc/rfc2869.html#EAP-Message
+Message-Authenticator https://freeradius.org/rfc/rfc2869.html#Message-Authenticator
+ARAP-Challenge-Response https://freeradius.org/rfc/rfc2869.html#ARAP-Challenge-Response
+Acct-Interim-Interval https://freeradius.org/rfc/rfc2869.html#Acct-Interim-Interval
+NAS-Port-Id https://freeradius.org/rfc/rfc2869.html#NAS-Port-Id
+Framed-Pool https://freeradius.org/rfc/rfc2869.html#Framed-Pool
+Message-Authenticator https://freeradius.org/rfc/rfc2869.html#Message-Authenticator
+NAS-IPv6-Address https://freeradius.org/rfc/rfc3162.html#NAS-IPv6-Address
+Framed-Interface-Id https://freeradius.org/rfc/rfc3162.html#Framed-Interface-Id
+Framed-IPv6-Prefix https://freeradius.org/rfc/rfc3162.html#Framed-IPv6-Prefix
+Login-IPv6-Host https://freeradius.org/rfc/rfc3162.html#Login-IPv6-Host
+Framed-IPv6-Route https://freeradius.org/rfc/rfc3162.html#Framed-IPv6-Route
+Framed-IPv6-Pool https://freeradius.org/rfc/rfc3162.html#Framed-IPv6-Pool
+Filter-ID https://freeradius.org/rfc/rfc3580.html#Filter-ID
+Digest-Response https://freeradius.org/rfc/rfc4590.html#Digest-Response
+Digest-Realm https://freeradius.org/rfc/rfc4590.html#Digest-Realm
+Digest-Nonce https://freeradius.org/rfc/rfc4590.html#Digest-Nonce
+Digest-Response-Auth https://freeradius.org/rfc/rfc4590.html#Digest-Response-Auth
+Digest-Nextnonce https://freeradius.org/rfc/rfc4590.html#Digest-Nextnonce
+Digest-Method https://freeradius.org/rfc/rfc4590.html#Digest-Method
+Digest-URI https://freeradius.org/rfc/rfc4590.html#Digest-URI
+Digest-Qop https://freeradius.org/rfc/rfc4590.html#Digest-Qop
+Digest-Algorithm https://freeradius.org/rfc/rfc4590.html#Digest-Algorithm
+Digest-Entity-Body-Hash https://freeradius.org/rfc/rfc4590.html#Digest-Entity-Body-Hash
+Digest-CNonce https://freeradius.org/rfc/rfc4590.html#Digest-CNonce
+Digest-Nonce-Count https://freeradius.org/rfc/rfc4590.html#Digest-Nonce-Count
+Digest-Username https://freeradius.org/rfc/rfc4590.html#Digest-Username
+Digest-Opaque https://freeradius.org/rfc/rfc4590.html#Digest-Opaque
+Digest-Auth-Param https://freeradius.org/rfc/rfc4590.html#Digest-Auth-Param
+Digest-AKA-Auts https://freeradius.org/rfc/rfc4590.html#Digest-AKA-Auts
+Digest-Domain https://freeradius.org/rfc/rfc4590.html#Digest-Domain
+Digest-Stale https://freeradius.org/rfc/rfc4590.html#Digest-Stale
+Digest-HA1 https://freeradius.org/rfc/rfc4590.html#Digest-HA1
+SIP-AOR https://freeradius.org/rfc/rfc4590.html#SIP-AOR
+NAS-Filter-Rule https://freeradius.org/rfc/rfc4849.html#NAS-Filter-Rule
+Digest-Response https://freeradius.org/rfc/rfc5090.html#Digest-Response
+Change-of-Authorization https://freeradius.org/rfc/rfc5176.html#Change-of-Authorization
+Error-Cause https://freeradius.org/rfc/rfc5176.html#Error-Cause
+Framed-Management-Protocol https://freeradius.org/rfc/rfc5607.html#Framed-Management-Protocol
+Management-Transport-Protection https://freeradius.org/rfc/rfc5607.html#Management-Transport-Protection
+Management-Policy-Id https://freeradius.org/rfc/rfc5607.html#Management-Policy-Id
+Management-Privilege-Level https://freeradius.org/rfc/rfc5607.html#Management-Privilege-Level
+PKM-SS-Cert https://freeradius.org/rfc/rfc5904.html#PKM-SS-Cert
+PKM-CA-Cert https://freeradius.org/rfc/rfc5904.html#PKM-CA-Cert
+PKM-Config-Settings https://freeradius.org/rfc/rfc5904.html#PKM-Config-Settings
+PKM-Cryptosuite-List https://freeradius.org/rfc/rfc5904.html#PKM-Cryptosuite-List
+PKM-SAID https://freeradius.org/rfc/rfc5904.html#PKM-SAID
+PKM-SA-Descriptor https://freeradius.org/rfc/rfc5904.html#PKM-SA-Descriptor
+PKM-AUTH-Key https://freeradius.org/rfc/rfc5904.html#PKM-AUTH-Key
+AUTH-Key https://freeradius.org/rfc/rfc5904.html#AUTH-Key
+DS-Lite https://freeradius.org/rfc/rfc6519.html#DS-Lite
+DS-Lite-Tunnel-Name https://freeradius.org/rfc/rfc6519.html#DS-Lite-Tunnel-Name
+Mobile-Node-Identifier https://freeradius.org/rfc/rfc6572.html#Mobile-Node-Identifier
+Service-Selection https://freeradius.org/rfc/rfc6572.html#Service-Selection
+Chargeable-User-Identity https://freeradius.org/rfc/rfc6572.html#Chargeable-User-Identity
+Framed-IPv6-Address https://freeradius.org/rfc/rfc6911.html#Framed-IPv6-Address
+DNS-Server-IPv6-Address https://freeradius.org/rfc/rfc6911.html#DNS-Server-IPv6-Address
+Route-IPv6-Information https://freeradius.org/rfc/rfc6911.html#Route-IPv6-Information
+Delegated-IPv6-Prefix-Pool https://freeradius.org/rfc/rfc6911.html#Delegated-IPv6-Prefix-Pool
+Stateful-IPv6-Address-Pool https://freeradius.org/rfc/rfc6911.html#Stateful-IPv6-Address-Pool
+Vendor-Id https://freeradius.org/rfc/rfc6929.html#Vendor-Id
+Extended-Type-1 https://freeradius.org/rfc/rfc6929.html#Extended-Type-1
+Extended-Type-2 https://freeradius.org/rfc/rfc6929.html#Extended-Type-2
+Extended-Type-3 https://freeradius.org/rfc/rfc6929.html#Extended-Type-3
+Extended-Type-4 https://freeradius.org/rfc/rfc6929.html#Extended-Type-4
+Long-Extended-Type-1 https://freeradius.org/rfc/rfc6929.html#Long-Extended-Type-1
+Long-Extended-Type-2 https://freeradius.org/rfc/rfc6929.html#Long-Extended-Type-2
+Vendor-Specific https://freeradius.org/rfc/rfc6929.html#Vendor-Specific
+Extended-Vendor-Specific-1 https://freeradius.org/rfc/rfc6929.html#Extended-Vendor-Specific-1
+Extended-Vendor-Specific-2 https://freeradius.org/rfc/rfc6929.html#Extended-Vendor-Specific-2
+Extended-Vendor-Specific-3 https://freeradius.org/rfc/rfc6929.html#Extended-Vendor-Specific-3
+Extended-Vendor-Specific-4 https://freeradius.org/rfc/rfc6929.html#Extended-Vendor-Specific-4
+Extended-Vendor-Specific-5 https://freeradius.org/rfc/rfc6929.html#Extended-Vendor-Specific-5
+Extended-Vendor-Specific-6 https://freeradius.org/rfc/rfc6929.html#Extended-Vendor-Specific-6
+Class https://freeradius.org/rfc/rfc2865.html#Class
+State https://freeradius.org/rfc/rfc2865.html#State
+Delegated-IPv6-Prefix https://freeradius.org/rfc/rfc4818.html#Delegated-IPv6-Prefix