mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
r14764@catbus: nickm | 2007-08-21 03:23:12 -0400
Add a perl script to regenerate proposal 000-index.txt so that it always matches the statuses and titles in the other proposals, and so that it has a sorted-by-status section. svn:r11243
This commit is contained in:
parent
15c9212ee8
commit
a80dd635b3
@ -12,6 +12,10 @@ Overview:
|
||||
|
||||
This is an informational document.
|
||||
|
||||
Everything in this document below the line of '=' signs is automatically
|
||||
generated by reindex.pl; do not edit by hand.
|
||||
|
||||
============================================================
|
||||
Proposals by number:
|
||||
|
||||
000 Index of Tor Proposals [META]
|
||||
@ -30,12 +34,48 @@ Proposals by number:
|
||||
109 No more than one server per IP address [CLOSED]
|
||||
110 Avoiding infinite length circuits [OPEN]
|
||||
111 Prioritizing local traffic over relayed traffic [OPEN]
|
||||
112 Bring Back Pathlen Coin Weight [OPEN]
|
||||
112 Bring Back Pathlen Coin Weight [SUPERSEDED]
|
||||
113 Simplifying directory authority administration [OPEN]
|
||||
114 Distributed Storage for Tor Hidden Service Descriptors [OPEN]
|
||||
115 Two Hop Paths [OPEN]
|
||||
116 Two hop paths from entry guards [OPEN]
|
||||
117 IPv6 exits [OPEN]
|
||||
118 Advertising multiple ORPorts at once [RESEARCH]
|
||||
118 Advertising multiple ORPorts at once [NEEDS-RESEARCH]
|
||||
119 New PROTOCOLINFO command for controllers [CLOSED]
|
||||
120 Suicide descriptors when Tor servers stop [OPEN]
|
||||
|
||||
|
||||
Proposals by status:
|
||||
|
||||
OPEN:
|
||||
105 Version negotiation for the Tor protocol
|
||||
110 Avoiding infinite length circuits
|
||||
111 Prioritizing local traffic over relayed traffic
|
||||
113 Simplifying directory authority administration
|
||||
114 Distributed Storage for Tor Hidden Service Descriptors
|
||||
115 Two Hop Paths
|
||||
116 Two hop paths from entry guards
|
||||
117 IPv6 exits
|
||||
120 Suicide descriptors when Tor servers stop
|
||||
ACCEPTED:
|
||||
101 Voting on the Tor Directory System
|
||||
103 Splitting identity key from regularly used signing key
|
||||
104 Long and Short Router Descriptors
|
||||
NEEDS-RESEARCH:
|
||||
118 Advertising multiple ORPorts at once
|
||||
META:
|
||||
000 Index of Tor Proposals
|
||||
001 The Tor Proposal Process
|
||||
098 Proposals that should be written
|
||||
099 Miscellaneous proposals
|
||||
CLOSED:
|
||||
102 Dropping "opt" from the directory format
|
||||
106 Checking fewer things during TLS handshakes
|
||||
107 Uptime Sanity Checking
|
||||
108 Base "Stable" Flag on Mean Time Between Failures
|
||||
109 No more than one server per IP address
|
||||
119 New PROTOCOLINFO command for controllers
|
||||
SUPERSEDED:
|
||||
112 Bring Back Pathlen Coin Weight
|
||||
DEAD:
|
||||
100 Tor Unreliable Datagram Extension Proposal
|
||||
|
71
doc/spec/proposals/reindex.pl
Executable file
71
doc/spec/proposals/reindex.pl
Executable file
@ -0,0 +1,71 @@
|
||||
#!/usr/bin/perl -w
|
||||
# Copyright 2007 Nick Mathewson. See LICENSE for licensing information.
|
||||
|
||||
use strict;
|
||||
|
||||
my $propdir = ".";
|
||||
local *DIR;
|
||||
local *F;
|
||||
|
||||
opendir(DIR, $propdir) || die "Can't open $propdir";
|
||||
my @files = sort grep { /^\d\d\d-.*[^\~]$/ } readdir(DIR);
|
||||
closedir DIR;
|
||||
|
||||
my %title = ();
|
||||
my %status = ();
|
||||
|
||||
my @KNOWN_STATUSES = qw{
|
||||
OPEN ACCEPTED NEEDS-RESEARCH META CLOSED SUPERSEDED DEAD};
|
||||
|
||||
for my $f (@files) {
|
||||
my $num = substr($f, 0, 3);
|
||||
my $status = undef;
|
||||
my $title = undef;
|
||||
open(F, "$f");
|
||||
while (<F>) {
|
||||
last if (/^\s*$/);
|
||||
if (/^Status: (.*)/) {
|
||||
$status = uc $1;
|
||||
chomp $status;
|
||||
}
|
||||
if (/^Title: (.*)/) {
|
||||
$title = $1;
|
||||
$title =~ s/\.$//;
|
||||
chomp $title;
|
||||
}
|
||||
}
|
||||
close F;
|
||||
die "I've never heard of status $status in proposal $num"
|
||||
unless (grep(/$status/, @KNOWN_STATUSES) == 1);
|
||||
die "Proposal $num has a bad status line" if (!defined $status);
|
||||
die "Proposal $num has a bad title line" if (!defined $title);
|
||||
$title{$num} = $title;
|
||||
$status{$num} = $status;
|
||||
}
|
||||
|
||||
local *OUT;
|
||||
open(OUT, ">000-index.txt.tmp");
|
||||
|
||||
open(F, "000-index.txt") or die "Can't open index file.";
|
||||
while (<F>) {
|
||||
print OUT;
|
||||
last if (/^={3,}/);
|
||||
}
|
||||
close(F);
|
||||
|
||||
print OUT "Proposals by number:\n\n";
|
||||
|
||||
for my $num (sort keys %title) {
|
||||
print OUT "$num $title{$num} [$status{$num}]\n";
|
||||
}
|
||||
|
||||
print OUT "\n\nProposals by status:\n\n";
|
||||
for my $status (@KNOWN_STATUSES) {
|
||||
print OUT " $status:\n";
|
||||
for my $num (sort keys %status) {
|
||||
next unless ($status{$num} eq $status);
|
||||
print OUT " $num $title{$num}\n";
|
||||
}
|
||||
}
|
||||
|
||||
rename('000-index.txt.tmp', '000-index.txt');
|
Loading…
Reference in New Issue
Block a user