Read misc.httpmethod, misc.protocol and misc.port from their IANA registries
This commit is contained in:
@@ -43,6 +43,11 @@ replacement, and each removed path, column or flag.
|
|||||||
in. `misc.useragent` is the top-user-agents desktop and mobile lists with `browser`,
|
in. `misc.useragent` is the top-user-agents desktop and mobile lists with `browser`,
|
||||||
`device` and `os` columns. `misc.car` keeps its makes and models in a `make` and a
|
`device` and `os` columns. `misc.car` keeps its makes and models in a `make` and a
|
||||||
`model` column.
|
`model` column.
|
||||||
|
- `misc.httpmethod`, `misc.protocol` and `misc.port` are IANA's registries as tables.
|
||||||
|
`misc.httpmethod` carries `safe` and `idempotent` beside the method; `misc.protocol`
|
||||||
|
the keyword, its `number` and its `name`; `misc.port` renders a TCP port number,
|
||||||
|
with the service `name` beside it, keeping the first service the registry lists for
|
||||||
|
a port so a number selects one row.
|
||||||
- `geo.SE` and `geo.US`: five linked tables per country, `region`, `municipality`,
|
- `geo.SE` and `geo.US`: five linked tables per country, `region`, `municipality`,
|
||||||
`locality`, `postal-code` and `street`, weighted by population and address counts
|
`locality`, `postal-code` and `street`, weighted by population and address counts
|
||||||
and built from SCB, GeoNames, Trafikverket NVDB and the US Census Bureau, and an
|
and built from SCB, GeoNames, Trafikverket NVDB and the US Census Bureau, and an
|
||||||
|
|||||||
@@ -16,9 +16,12 @@ Every shipped dataset, its source, its licence and the attribution it asks for.
|
|||||||
| `en_US/last-name.tsv` | Census Bureau surnames occurring 100 or more times, 2010 | public domain | none required | `data-import/names-us.py` |
|
| `en_US/last-name.tsv` | Census Bureau surnames occurring 100 or more times, 2010 | public domain | none required | `data-import/names-us.py` |
|
||||||
| `sv_SE/sex.tsv`, `sv_SE/birth-number.tsv`, `sv_SE/title.tsv`, `en_US/sex.tsv`, `en_US/title.tsv`, `misc/car.tsv` | curated; Skatteverket's test birth numbers are facts, and `car.tsv` waits for an international source (goal 10) | — | — | — |
|
| `sv_SE/sex.tsv`, `sv_SE/birth-number.tsv`, `sv_SE/title.tsv`, `en_US/sex.tsv`, `en_US/title.tsv`, `misc/car.tsv` | curated; Skatteverket's test birth numbers are facts, and `car.tsv` waits for an international source (goal 10) | — | — | — |
|
||||||
| `misc/currency.tsv` | [datasets/currency-codes](https://github.com/datasets/currency-codes); symbols from [Unicode CLDR](https://github.com/unicode-org/cldr) `en.xml` and `root.xml` | PDDL 1.0; [Unicode License v3](https://www.unicode.org/license.txt) | CLDR: "Copyright © 1991-2025 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries." | `data-import/currency.py` |
|
| `misc/currency.tsv` | [datasets/currency-codes](https://github.com/datasets/currency-codes); symbols from [Unicode CLDR](https://github.com/unicode-org/cldr) `en.xml` and `root.xml` | PDDL 1.0; [Unicode License v3](https://www.unicode.org/license.txt) | CLDR: "Copyright © 1991-2025 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries." | `data-import/currency.py` |
|
||||||
|
| `misc/httpmethod.tsv` | [IANA HTTP Method Registry](https://www.iana.org/assignments/http-methods/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/httpmethod.py` |
|
||||||
| `misc/httpstatus.tsv` | [IANA HTTP Status Code Registry](https://www.iana.org/assignments/http-status-codes/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/httpstatus.py` |
|
| `misc/httpstatus.tsv` | [IANA HTTP Status Code Registry](https://www.iana.org/assignments/http-status-codes/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/httpstatus.py` |
|
||||||
| `misc/language.tsv` | [datasets/language-codes](https://github.com/datasets/language-codes), the [Library of Congress](https://www.loc.gov/standards/iso639-2/) ISO 639-2 register | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/language.py` |
|
| `misc/language.tsv` | [datasets/language-codes](https://github.com/datasets/language-codes), the [Library of Congress](https://www.loc.gov/standards/iso639-2/) ISO 639-2 register | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/language.py` |
|
||||||
| `misc/mimetype.tsv` | [mime-db](https://github.com/jshttp/mime-db), the IANA media type registry with filename extensions | [MIT](https://github.com/jshttp/mime-db/blob/master/LICENSE) | "Copyright (c) 2014 Jonathan Ong, Copyright (c) 2015-2022 Douglas Christopher Wilson" | `data-import/mimetype.py` |
|
| `misc/mimetype.tsv` | [mime-db](https://github.com/jshttp/mime-db), the IANA media type registry with filename extensions | [MIT](https://github.com/jshttp/mime-db/blob/master/LICENSE) | "Copyright (c) 2014 Jonathan Ong, Copyright (c) 2015-2022 Douglas Christopher Wilson" | `data-import/mimetype.py` |
|
||||||
|
| `misc/port.tsv` | [IANA Service Name and Transport Protocol Port Number Registry](https://www.iana.org/assignments/service-names-port-numbers/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/port.py` |
|
||||||
|
| `misc/protocol.tsv` | [IANA Protocol Numbers](https://www.iana.org/assignments/protocol-numbers/) | [public domain](https://www.iana.org/help/licensing-terms) | none required | `data-import/protocol.py` |
|
||||||
| `misc/territory.tsv` | [datasets/country-codes](https://github.com/datasets/country-codes) | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/territory.py` |
|
| `misc/territory.tsv` | [datasets/country-codes](https://github.com/datasets/country-codes) | [PDDL 1.0](https://opendatacommons.org/licenses/pddl/1-0/) | none required | `data-import/territory.py` |
|
||||||
| `misc/timezone.tsv` | [IANA tzdb](https://www.iana.org/time-zones) 2026d `zone.tab` and the standard offset of each zone; weights from [GeoNames](https://www.geonames.org/) `cities15000` populations | [public domain](https://data.iana.org/time-zones/tzdb/LICENSE); [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | "Populations from GeoNames, www.geonames.org" | `data-import/timezone.py` |
|
| `misc/timezone.tsv` | [IANA tzdb](https://www.iana.org/time-zones) 2026d `zone.tab` and the standard offset of each zone; weights from [GeoNames](https://www.geonames.org/) `cities15000` populations | [public domain](https://data.iana.org/time-zones/tzdb/LICENSE); [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | "Populations from GeoNames, www.geonames.org" | `data-import/timezone.py` |
|
||||||
| `misc/useragent.tsv` | [top-user-agents](https://github.com/microlinkhq/top-user-agents) desktop and mobile lists | [MIT](https://github.com/microlinkhq/top-user-agents/blob/master/LICENSE.md) | "Copyright © 2020 Kiko Beats" | `data-import/useragent.py` |
|
| `misc/useragent.tsv` | [top-user-agents](https://github.com/microlinkhq/top-user-agents) desktop and mobile lists | [MIT](https://github.com/microlinkhq/top-user-agents/blob/master/LICENSE.md) | "Copyright © 2020 Kiko Beats" | `data-import/useragent.py` |
|
||||||
|
|||||||
@@ -162,14 +162,18 @@ Each locale carries `address`, `color`, `company`, `date`, `email`, `first-name`
|
|||||||
`username`, `version` and `word`, formatted per locale; `sv_SE` adds
|
`username`, `version` and `word`, formatted per locale; `sv_SE` adds
|
||||||
`personnummer` and `samordningsnummer`, `en_US` adds `ssn` and `itin`. `misc`
|
`personnummer` and `samordningsnummer`, `en_US` adds `ssn` and `itin`. `misc`
|
||||||
carries `car`, `coordinate`, `creditcard` (Luhn-valid), `currency` (ISO 4217),
|
carries `car`, `coordinate`, `creditcard` (Luhn-valid), `currency` (ISO 4217),
|
||||||
`datetime` (RFC 3339), `emoji`, `httpstatus`, `language` (ISO 639-1, with its
|
`datetime` (RFC 3339), `emoji`, `httpmethod`, `httpstatus`, `language` (ISO 639-1,
|
||||||
639-2/T code), `mac`, `mimetype`, `objectid`, `territory` (ISO 3166-1), `timezone`
|
with its 639-2/T code), `mac`, `mimetype`, `objectid`, `port`, `protocol`,
|
||||||
(IANA), `useragent` and `uuid` (v4). Many carry sub-fields — `misc.currency.symbol`,
|
`territory` (ISO 3166-1), `timezone` (IANA), `useragent` and `uuid` (v4). Many carry sub-fields — `misc.currency.symbol`,
|
||||||
`misc.territory.alpha2`, `misc.httpstatus.code` — which `--list` shows. `car`,
|
`misc.territory.alpha2`, `misc.httpstatus.code` — which `--list` shows. `car`,
|
||||||
`currency`, `httpstatus`, `language`, `mimetype`, `territory`, `timezone` and
|
`currency`, `httpstatus`, `language`, `mimetype`, `territory`, `timezone` and
|
||||||
`useragent` are [tables](#table), so `misc.territory[SE].capital` and
|
`httpmethod`, `port`, `protocol` and `useragent` are [tables](#table), so
|
||||||
|
`misc.territory[SE].capital` and
|
||||||
`misc.currency[Euro].symbol` select a row; `car` and `useragent` carry no key or
|
`misc.currency[Euro].symbol` select a row; `car` and `useragent` carry no key or
|
||||||
name, so they are drawn from rather than selected in.
|
name, so they are drawn from rather than selected in. `misc.httpmethod`,
|
||||||
|
`misc.protocol` and `misc.port` are IANA's registries: a method carries whether it
|
||||||
|
is `safe` and `idempotent`, a protocol its `number`, and `misc.port` renders the
|
||||||
|
number a port field holds, with the service `name` beside it.
|
||||||
[`DATA-LICENSES.md`](DATA-LICENSES.md) names each table's source and licence.
|
[`DATA-LICENSES.md`](DATA-LICENSES.md) names each table's source and licence.
|
||||||
|
|
||||||
`misc.timezone` is every zone tzdb gives a shipped territory, from one apiece for most
|
`misc.timezone` is every zone tzdb gives a shipped territory, from one apiece for most
|
||||||
@@ -1296,11 +1300,14 @@ a copy of the surname file:
|
|||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/currency.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/currency.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" -e TRAFIKVERKET_API_KEY data-import data-import/geo-se.py
|
docker compose run --rm --user "$(id -u):$(id -g)" -e TRAFIKVERKET_API_KEY data-import data-import/geo-se.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/geo-us.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/geo-us.py
|
||||||
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/httpmethod.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/httpstatus.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/httpstatus.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/language.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/language.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/mimetype.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/mimetype.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-se.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-se.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-us.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/names-us.py
|
||||||
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/port.py
|
||||||
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/protocol.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/territory.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/territory.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/timezone.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/timezone.py
|
||||||
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/useragent.py
|
docker compose run --rm --user "$(id -u):$(id -g)" data-import data-import/useragent.py
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Rebuild data/misc/httpmethod.tsv from the IANA HTTP Method Registry.
|
||||||
|
|
||||||
|
data-import/httpmethod.py [--source URL_OR_FILE] [--cache DIR] [--out FILE]
|
||||||
|
|
||||||
|
A method whose name is not letters and hyphens does not ship, which drops the `*` the
|
||||||
|
registry holds to stop anyone registering it.
|
||||||
|
"""
|
||||||
|
import argparse
|
||||||
|
import csv
|
||||||
|
import io
|
||||||
|
import re
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import source
|
||||||
|
import tsv
|
||||||
|
|
||||||
|
SOURCE = "https://www.iana.org/assignments/http-methods/methods.csv"
|
||||||
|
OUT = Path(__file__).resolve().parent.parent / "data" / "misc" / "httpmethod.tsv"
|
||||||
|
CACHE = Path(__file__).resolve().parent / "cache"
|
||||||
|
COLUMNS = ["idempotent", "method", "safe"]
|
||||||
|
|
||||||
|
|
||||||
|
def rows(text):
|
||||||
|
for r in csv.DictReader(io.StringIO(text)):
|
||||||
|
method, safe, idempotent = r["Method Name"].strip(), r["Safe"].strip(), r["Idempotent"].strip()
|
||||||
|
if re.match(r"^[A-Za-z][A-Za-z-]*$", method) and safe and idempotent:
|
||||||
|
yield {"idempotent": idempotent, "method": method, "safe": safe}
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
||||||
|
p.add_argument("--cache", default=str(CACHE))
|
||||||
|
p.add_argument("--source", default=SOURCE)
|
||||||
|
p.add_argument("--out", default=str(OUT))
|
||||||
|
a = p.parse_args()
|
||||||
|
table = sorted(rows(source.fetch(a.source, a.cache, "http-methods.csv").decode("utf-8")), key=lambda r: r["method"])
|
||||||
|
tsv.write(a.out, COLUMNS, table)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Rebuild data/misc/port.tsv from the IANA Service Name and Transport Protocol Port Number Registry.
|
||||||
|
|
||||||
|
data-import/port.py [--source URL_OR_FILE] [--cache DIR] [--out FILE]
|
||||||
|
|
||||||
|
What ships is the TCP assignments in use: a row needs a service name, a port number and
|
||||||
|
a description the registry has filled in. A port the registry lists more than once keeps
|
||||||
|
the first service, so a number selects one row.
|
||||||
|
"""
|
||||||
|
import argparse
|
||||||
|
import csv
|
||||||
|
import io
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import source
|
||||||
|
import tsv
|
||||||
|
|
||||||
|
SOURCE = "https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv"
|
||||||
|
OUT = Path(__file__).resolve().parent.parent / "data" / "misc" / "port.tsv"
|
||||||
|
CACHE = Path(__file__).resolve().parent / "cache"
|
||||||
|
COLUMNS = ["name", "number"]
|
||||||
|
UNUSED = ("Reserved", "Unassigned", "IANA assigned this well-formed service name to replace an unregistered or squatted port.")
|
||||||
|
|
||||||
|
|
||||||
|
def rows(text):
|
||||||
|
seen = set()
|
||||||
|
for r in csv.DictReader(io.StringIO(text)):
|
||||||
|
name, number = r["Service Name"].strip(), r["Port Number"].strip()
|
||||||
|
described = (r["Description"] or "").strip()
|
||||||
|
if r["Transport Protocol"].strip() != "tcp" or not name or not number.isdigit():
|
||||||
|
continue
|
||||||
|
if not described or described in UNUSED or number in seen:
|
||||||
|
continue
|
||||||
|
seen.add(number)
|
||||||
|
yield {"name": name, "number": number}
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
||||||
|
p.add_argument("--cache", default=str(CACHE))
|
||||||
|
p.add_argument("--source", default=SOURCE)
|
||||||
|
p.add_argument("--out", default=str(OUT))
|
||||||
|
a = p.parse_args()
|
||||||
|
table = sorted(rows(source.fetch(a.source, a.cache, "service-names-port-numbers.csv").decode("utf-8")), key=lambda r: int(r["number"]))
|
||||||
|
tsv.write(a.out, COLUMNS, table)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Rebuild data/misc/protocol.tsv from the IANA Protocol Numbers registry.
|
||||||
|
|
||||||
|
data-import/protocol.py [--source URL_OR_FILE] [--cache DIR] [--out FILE]
|
||||||
|
|
||||||
|
A number the registry leaves unassigned, reserves or marks deprecated does not ship.
|
||||||
|
Where it names no protocol beside the keyword, the keyword is the name.
|
||||||
|
"""
|
||||||
|
import argparse
|
||||||
|
import csv
|
||||||
|
import io
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import source
|
||||||
|
import tsv
|
||||||
|
|
||||||
|
SOURCE = "https://www.iana.org/assignments/protocol-numbers/protocol-numbers-1.csv"
|
||||||
|
OUT = Path(__file__).resolve().parent.parent / "data" / "misc" / "protocol.tsv"
|
||||||
|
CACHE = Path(__file__).resolve().parent / "cache"
|
||||||
|
COLUMNS = ["keyword", "name", "number"]
|
||||||
|
SKIP = ("Unassigned", "Reserved", "deprecated")
|
||||||
|
|
||||||
|
|
||||||
|
def rows(text):
|
||||||
|
for r in csv.DictReader(io.StringIO(text)):
|
||||||
|
number, keyword = r["Decimal"].strip(), r["Keyword"].strip()
|
||||||
|
if not number.isdigit() or not keyword or any(s in keyword for s in SKIP):
|
||||||
|
continue
|
||||||
|
yield {"keyword": keyword, "name": " ".join(r["Protocol"].split()) or keyword, "number": number}
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
||||||
|
p.add_argument("--cache", default=str(CACHE))
|
||||||
|
p.add_argument("--source", default=SOURCE)
|
||||||
|
p.add_argument("--out", default=str(OUT))
|
||||||
|
a = p.parse_args()
|
||||||
|
table = sorted(rows(source.fetch(a.source, a.cache, "protocol-numbers-1.csv").decode("utf-8")), key=lambda r: int(r["number"]))
|
||||||
|
tsv.write(a.out, COLUMNS, table)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{ "format": "{method}", "rows": "httpmethod.tsv", "key": "method" }
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
idempotent method safe
|
||||||
|
yes ACL no
|
||||||
|
yes BASELINE-CONTROL no
|
||||||
|
yes BIND no
|
||||||
|
yes CHECKIN no
|
||||||
|
yes CHECKOUT no
|
||||||
|
no CONNECT no
|
||||||
|
yes COPY no
|
||||||
|
yes DELETE no
|
||||||
|
yes GET yes
|
||||||
|
yes HEAD yes
|
||||||
|
yes LABEL no
|
||||||
|
yes LINK no
|
||||||
|
no LOCK no
|
||||||
|
yes MERGE no
|
||||||
|
yes MKACTIVITY no
|
||||||
|
yes MKCALENDAR no
|
||||||
|
yes MKCOL no
|
||||||
|
yes MKREDIRECTREF no
|
||||||
|
yes MKWORKSPACE no
|
||||||
|
yes MOVE no
|
||||||
|
yes OPTIONS yes
|
||||||
|
yes ORDERPATCH no
|
||||||
|
no PATCH no
|
||||||
|
no POST no
|
||||||
|
yes PRI yes
|
||||||
|
yes PROPFIND yes
|
||||||
|
yes PROPPATCH no
|
||||||
|
yes PUT no
|
||||||
|
yes QUERY yes
|
||||||
|
yes REBIND no
|
||||||
|
yes REPORT yes
|
||||||
|
yes SEARCH yes
|
||||||
|
yes TRACE yes
|
||||||
|
yes UNBIND no
|
||||||
|
yes UNCHECKOUT no
|
||||||
|
yes UNLINK no
|
||||||
|
yes UNLOCK no
|
||||||
|
yes UPDATE no
|
||||||
|
yes UPDATEREDIRECTREF no
|
||||||
|
yes VERSION-CONTROL no
|
||||||
|
@@ -0,0 +1 @@
|
|||||||
|
{ "format": "{number}", "rows": "port.tsv", "key": "number" }
|
||||||
+5811
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
|||||||
|
{ "format": "{keyword}", "rows": "protocol.tsv", "key": "keyword" }
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
keyword name number
|
||||||
|
HOPOPT IPv6 Hop-by-Hop Option 0
|
||||||
|
ICMP Internet Control Message 1
|
||||||
|
IGMP Internet Group Management 2
|
||||||
|
GGP Gateway-to-Gateway 3
|
||||||
|
IPv4 IPv4 encapsulation 4
|
||||||
|
ST Stream 5
|
||||||
|
TCP Transmission Control 6
|
||||||
|
CBT CBT 7
|
||||||
|
EGP Exterior Gateway Protocol 8
|
||||||
|
IGP any private interior gateway (used by Cisco for their IGRP) 9
|
||||||
|
BBN-RCC-MON BBN RCC Monitoring 10
|
||||||
|
NVP-II Network Voice Protocol 11
|
||||||
|
PUP PUP 12
|
||||||
|
EMCON EMCON 14
|
||||||
|
XNET Cross Net Debugger 15
|
||||||
|
CHAOS Chaos 16
|
||||||
|
UDP User Datagram 17
|
||||||
|
MUX Multiplexing 18
|
||||||
|
DCN-MEAS DCN Measurement Subsystems 19
|
||||||
|
HMP Host Monitoring 20
|
||||||
|
PRM Packet Radio Measurement 21
|
||||||
|
XNS-IDP XEROX NS IDP 22
|
||||||
|
TRUNK-1 Trunk-1 23
|
||||||
|
TRUNK-2 Trunk-2 24
|
||||||
|
LEAF-1 Leaf-1 25
|
||||||
|
LEAF-2 Leaf-2 26
|
||||||
|
RDP Reliable Data Protocol 27
|
||||||
|
IRTP Internet Reliable Transaction 28
|
||||||
|
ISO-TP4 ISO Transport Protocol Class 4 29
|
||||||
|
NETBLT Bulk Data Transfer Protocol 30
|
||||||
|
MFE-NSP MFE Network Services Protocol 31
|
||||||
|
MERIT-INP MERIT Internodal Protocol 32
|
||||||
|
DCCP Datagram Congestion Control Protocol 33
|
||||||
|
3PC Third Party Connect Protocol 34
|
||||||
|
IDPR Inter-Domain Policy Routing Protocol 35
|
||||||
|
XTP XTP 36
|
||||||
|
DDP Datagram Delivery Protocol 37
|
||||||
|
IDPR-CMTP IDPR Control Message Transport Proto 38
|
||||||
|
TP++ TP++ Transport Protocol 39
|
||||||
|
IL IL Transport Protocol 40
|
||||||
|
IPv6 IPv6 encapsulation 41
|
||||||
|
SDRP Source Demand Routing Protocol 42
|
||||||
|
IPv6-Route Routing Header for IPv6 43
|
||||||
|
IPv6-Frag Fragment Header for IPv6 44
|
||||||
|
IDRP Inter-Domain Routing Protocol 45
|
||||||
|
RSVP Reservation Protocol 46
|
||||||
|
GRE Generic Routing Encapsulation 47
|
||||||
|
DSR Dynamic Source Routing Protocol 48
|
||||||
|
BNA BNA 49
|
||||||
|
ESP Encap Security Payload 50
|
||||||
|
AH Authentication Header 51
|
||||||
|
I-NLSP Integrated Net Layer Security TUBA 52
|
||||||
|
NARP NBMA Address Resolution Protocol 54
|
||||||
|
Min-IPv4 Minimal IPv4 Encapsulation 55
|
||||||
|
TLSP Transport Layer Security Protocol using Kryptonet key management 56
|
||||||
|
SKIP SKIP 57
|
||||||
|
IPv6-ICMP ICMP for IPv6 58
|
||||||
|
IPv6-NoNxt No Next Header for IPv6 59
|
||||||
|
IPv6-Opts Destination Options for IPv6 60
|
||||||
|
CFTP CFTP 62
|
||||||
|
SAT-EXPAK SATNET and Backroom EXPAK 64
|
||||||
|
KRYPTOLAN Kryptolan 65
|
||||||
|
RVD MIT Remote Virtual Disk Protocol 66
|
||||||
|
IPPC Internet Pluribus Packet Core 67
|
||||||
|
SAT-MON SATNET Monitoring 69
|
||||||
|
VISA VISA Protocol 70
|
||||||
|
IPCV Internet Packet Core Utility 71
|
||||||
|
CPNX Computer Protocol Network Executive 72
|
||||||
|
CPHB Computer Protocol Heart Beat 73
|
||||||
|
WSN Wang Span Network 74
|
||||||
|
PVP Packet Video Protocol 75
|
||||||
|
BR-SAT-MON Backroom SATNET Monitoring 76
|
||||||
|
SUN-ND SUN ND PROTOCOL-Temporary 77
|
||||||
|
WB-MON WIDEBAND Monitoring 78
|
||||||
|
WB-EXPAK WIDEBAND EXPAK 79
|
||||||
|
ISO-IP ISO Internet Protocol 80
|
||||||
|
VMTP VMTP 81
|
||||||
|
SECURE-VMTP SECURE-VMTP 82
|
||||||
|
VINES VINES 83
|
||||||
|
IPTM Internet Protocol Traffic Manager 84
|
||||||
|
NSFNET-IGP NSFNET-IGP 85
|
||||||
|
DGP Dissimilar Gateway Protocol 86
|
||||||
|
TCF TCF 87
|
||||||
|
EIGRP EIGRP 88
|
||||||
|
OSPFIGP OSPFIGP 89
|
||||||
|
Sprite-RPC Sprite RPC Protocol 90
|
||||||
|
LARP Locus Address Resolution Protocol 91
|
||||||
|
MTP Multicast Transport Protocol 92
|
||||||
|
AX.25 AX.25 Frames 93
|
||||||
|
IPIP IP-within-IP Encapsulation Protocol 94
|
||||||
|
SCC-SP Semaphore Communications Sec. Pro. 96
|
||||||
|
ETHERIP Ethernet-within-IP Encapsulation 97
|
||||||
|
ENCAP Encapsulation Header 98
|
||||||
|
GMTP GMTP 100
|
||||||
|
IFMP Ipsilon Flow Management Protocol 101
|
||||||
|
PNNI PNNI over IP 102
|
||||||
|
PIM Protocol Independent Multicast 103
|
||||||
|
ARIS ARIS 104
|
||||||
|
SCPS SCPS 105
|
||||||
|
QNX QNX 106
|
||||||
|
A/N Active Networks 107
|
||||||
|
IPComp IP Payload Compression Protocol 108
|
||||||
|
SNP Sitara Networks Protocol 109
|
||||||
|
Compaq-Peer Compaq Peer Protocol 110
|
||||||
|
IPX-in-IP IPX in IP 111
|
||||||
|
VRRP Virtual Router Redundancy Protocol 112
|
||||||
|
PGM PGM Reliable Transport Protocol 113
|
||||||
|
L2TP Layer Two Tunneling Protocol 115
|
||||||
|
DDX D-II Data Exchange (DDX) 116
|
||||||
|
IATP Interactive Agent Transfer Protocol 117
|
||||||
|
STP Schedule Transfer Protocol 118
|
||||||
|
SRP SpectraLink Radio Protocol 119
|
||||||
|
UTI UTI 120
|
||||||
|
SMP Simple Message Protocol 121
|
||||||
|
PTP Performance Transparency Protocol 123
|
||||||
|
ISIS over IPv4 ISIS over IPv4 124
|
||||||
|
FIRE FIRE 125
|
||||||
|
CRTP Combat Radio Transport Protocol 126
|
||||||
|
CRUDP Combat Radio User Datagram 127
|
||||||
|
SSCOPMCE SSCOPMCE 128
|
||||||
|
IPLT IPLT 129
|
||||||
|
SPS Secure Packet Shield 130
|
||||||
|
PIPE Private IP Encapsulation within IP 131
|
||||||
|
SCTP Stream Control Transmission Protocol 132
|
||||||
|
FC Fibre Channel 133
|
||||||
|
RSVP-E2E-IGNORE RSVP-E2E-IGNORE 134
|
||||||
|
Mobility Header Mobility Header 135
|
||||||
|
UDPLite UDPLite 136
|
||||||
|
MPLS-in-IP MPLS-in-IP 137
|
||||||
|
manet MANET Protocols 138
|
||||||
|
HIP Host Identity Protocol 139
|
||||||
|
Shim6 Shim6 Protocol 140
|
||||||
|
WESP Wrapped Encapsulating Security Payload 141
|
||||||
|
ROHC Robust Header Compression 142
|
||||||
|
Ethernet Ethernet 143
|
||||||
|
AGGFRAG AGGFRAG encapsulation payload for ESP 144
|
||||||
|
NSH Network Service Header 145
|
||||||
|
Homa Homa 146
|
||||||
|
BIT-EMU Bit-stream Emulation 147
|
||||||
|
@@ -9,7 +9,7 @@ Ordered as the releases that ship it.
|
|||||||
Shape: T = table, t = template, c = choice. Read every factual list from a register
|
Shape: T = table, t = template, c = choice. Read every factual list from a register
|
||||||
by a `data-import/` script, as README goal 10 asks.
|
by a `data-import/` script, as README goal 10 asks.
|
||||||
|
|
||||||
- Add the remaining `misc` tables and templates from the table below.
|
- Add the remaining `misc` tables and templates, one row of the table below per chunk.
|
||||||
- Read `misc.emoji` from the Unicode `emoji-test.txt` register, and `misc.car` from an
|
- Read `misc.emoji` from the Unicode `emoji-test.txt` register, and `misc.car` from an
|
||||||
international make and model source; vPIC and Mobility Sweden are national, so they
|
international make and model source; vPIC and Mobility Sweden are national, so they
|
||||||
build `en_US.car` and `sv_SE.car`.
|
build `en_US.car` and `sv_SE.car`.
|
||||||
@@ -46,7 +46,8 @@ by a `data-import/` script, as README goal 10 asks.
|
|||||||
|
|
||||||
| Category | Shape | Source | Licence |
|
| Category | Shape | Source | Licence |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| `httpmethod`, `port`, `tld`, `protocol`, `loglevel` | T/c | IANA | CC0 |
|
| `tld` | T | IANA root zone | CC0 |
|
||||||
|
| `loglevel` | c | RFC 5424 severities | facts |
|
||||||
| `ip` v4 documentation ranges, private, CIDR; `ipv6` `2001:db8::/32`; `mac` locally administered | t | RFC 5737, 1918, 9637 | facts |
|
| `ip` v4 documentation ranges, private, CIDR; `ipv6` `2001:db8::/32`; `mac` locally administered | t | RFC 5737, 1918, 9637 | facts |
|
||||||
| `creditcard` per network: IIN, length, CVV, expiry | T+t | network rules, `{luhn()}` | facts |
|
| `creditcard` per network: IIN, length, CVV, expiry | T+t | network rules, `{luhn()}` | facts |
|
||||||
| `bic`, `isin`, `cusip` | t | structure rules | facts |
|
| `bic`, `isin`, `cusip` | t | structure rules | facts |
|
||||||
|
|||||||
Reference in New Issue
Block a user