aboutsummaryrefslogtreecommitdiff
path: root/spec/bridgedb-spec.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/bridgedb-spec.md')
-rw-r--r--spec/bridgedb-spec.md42
1 files changed, 10 insertions, 32 deletions
diff --git a/spec/bridgedb-spec.md b/spec/bridgedb-spec.md
index 0ce607d..4ced4bd 100644
--- a/spec/bridgedb-spec.md
+++ b/spec/bridgedb-spec.md
@@ -1,29 +1,7 @@
-BridgeDB specification
-
-```text
- Karsten Loesing
- Nick Mathewson
-
-Table of Contents
-
- 0. Preliminaries
- 1. Importing bridge network statuses and bridge descriptors
- 1.1. Parsing bridge network statuses
- 1.2. Parsing bridge descriptors
- 1.3. Parsing extra-info documents
- 2. Assigning bridges to distributors
- 3. Giving out bridges upon requests
- 4. Selecting bridges to be given out based on IP addresses
- 5. Selecting bridges to be given out based on email addresses
- 6. Selecting unallocated bridges to be stored in file buckets
- 7. Displaying Bridge Information
- 8. Writing bridge assignments for statistics
-```
+# BridgeDB specification
<a id="bridgedb-spec.txt-0"></a>
-# Preliminaries
-
This document specifies how BridgeDB processes bridge descriptor files
to learn about new bridges, maintains persistent assignments of bridges
to distributors, and decides which bridges to give out upon user
@@ -35,7 +13,7 @@ behavior.
<a id="bridgedb-spec.txt-1"></a>
-# Importing bridge network statuses and bridge descriptors
+# Importing bridge network statuses and bridge descriptors { #importing }
BridgeDB learns about bridges by parsing bridge network statuses,
bridge descriptors, and extra info documents as specified in Tor's
@@ -51,7 +29,7 @@ from a Tor instance that did the validation for us.
<a id="bridgedb-spec.txt-1.1"></a>
-## Parsing bridge network statuses
+## Parsing bridge network statuses { #parsing-network-status }
Bridge network status documents contain the information of which bridges
are known to the bridge authority and which flags the bridge authority
@@ -79,7 +57,7 @@ with these flags.
<a id="bridgedb-spec.txt-1.2"></a>
-## Parsing bridge descriptors
+## Parsing bridge descriptors { #parsing-bridge-descriptors }
BridgeDB learns about a bridge's most recent IP address and OR port
from parsing bridge descriptors.
@@ -121,7 +99,7 @@ to the set of bridges to be given out to bridge users.
<a id="bridgedb-spec.txt-1.3"></a>
-## Parsing extra-info documents
+## Parsing extra-info documents { #parsing-extra-info }
BridgeDB learns if a bridge supports a pluggable transport by parsing
extra-info documents.
@@ -148,7 +126,7 @@ Bridges that do not have an associated extra-info entry are not invalid.
<a id="bridgedb-spec.txt-2"></a>
-# Assigning bridges to distributors
+# Assigning bridges to distributors { #assigning-to-distributors }
A "distributor" is a mechanism by which bridges are given (or not
given) to clients. The current distributors are "email", "https",
@@ -170,7 +148,7 @@ distributors change or distributors are disabled entirely.
<a id="bridgedb-spec.txt-3"></a>
-# Giving out bridges upon requests
+# Giving out bridges upon requests { #distributing }
Upon receiving a client request, a BridgeDB distributor provides a
subset of the bridges assigned to it.
@@ -187,7 +165,7 @@ should not be blocked.
<a id="bridgedb-spec.txt-4"></a>
-# Selecting bridges to be given out based on IP addresses
+# Selecting bridges to be given out based on IP addresses { #ip-based }
```text
BridgeDB may be configured to support one or more distributors which
@@ -379,7 +357,7 @@ proceeds as follows:
<a id="bridgedb-spec.txt-6"></a>
-# Selecting unallocated bridges to be stored in file buckets
+# Selecting unallocated bridges to be stored in file buckets { #unallocated-buckets }
> Kaner should have a look at this section. -NM
@@ -409,7 +387,7 @@ proceeds as follows:
<a id="bridgedb-spec.txt-7"></a>
-# Displaying Bridge Information
+# Displaying Bridge Information { #formatting }
After bridges are selected using one of the methods described in
Sections 4 - 6, they are output in one of two formats. Bridges are