https://github.com/ysoftwareab/know-your-ietf-well
IETF Internet-Drafts, RFCs, erratas, ABNFs
https://github.com/ysoftwareab/know-your-ietf-well
abnf ietf ietf-rfcs rfcs
Last synced: over 1 year ago
JSON representation
IETF Internet-Drafts, RFCs, erratas, ABNFs
- Host: GitHub
- URL: https://github.com/ysoftwareab/know-your-ietf-well
- Owner: ysoftwareab
- License: unlicense
- Created: 2022-03-07T21:52:28.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-02T22:12:26.000Z (about 4 years ago)
- Last Synced: 2024-03-26T09:22:43.495Z (about 2 years ago)
- Topics: abnf, ietf, ietf-rfcs, rfcs
- Language: Shell
- Homepage:
- Size: 2.73 GB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Know your IETF well

This repository archives IETF Internet-Drafts, RFCs and erratas as JSON/HTML/PDF/text,
and extracts their ABNF grammars.
Each RFC gets its own git branch for easy diffs/blame/history :rocket: .
A list of all RFCs is available [here](./list.md).
If you want to get the history of only one RFC, you can `git clone` only its respective branch
`RFC=7230; git clone -b rfc${RFC} --single-branch git://github.com/ysoftwareab/know-your-ietf-well.git rfc${RFC}`
## Why?
Long story short: it is close to impossible to keep track of changes
in Internet-Drafts/RFCs/erratas and their ABNFs.
Long story: Almost 10 years ago, we have ported ABNFs related to HTTP to PEGjs, namely in
https://github.com/for-GET/core-pegjs and
https://github.com/for-GET/api-pegjs .
Meanwhile drafts became RFCs, RFCs got erratas, etc.
Trying to bring the PEGjs grammars up to date obviously became a laborious project,
precisely because there was no other way to know what changed than to click-click through IETF's web UI.
## Process
We make use of IETF's rsync services to sync Internet-Drafts and RFCS
* https://www.ietf.org/how/ids/internet-draft-mirror-sites/
* https://www.rfc-editor.org/retrieve/rsync/
Erratas get fetched from https://www.rfc-editor.org/rfc/inline-errata/ .
ABNFs get extract with IETF's `aex` tool, available at
https://github.com/ietf-tools/bap/blob/de05dd1/aex .
All content is stored under `refs/rsync/`
* rfcs https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs
* rfcs-pdf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs-pdf
* rfcs-ien-scanned https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs-ien-scanned
* rfcs-abnf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs-abnf
* id-archive https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/id-archive
* id-archive-pdf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/id-archive-pdf
* id-archive-abnf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/id-archive-abnf
`./update.sh` will update (rsync and git push) all of the above refs.
`./to-git.sh` will create one git branch for each RFC with its own "draft/s -> RFC -> errata" history.
## License
[UNLICENSE](UNLICENSE)