From a91daed9602e6ee9db769758501762eab75c408f Mon Sep 17 00:00:00 2001 From: "Stanislav N. aka pztrn" Date: Mon, 2 Sep 2019 19:01:17 +0500 Subject: [PATCH] Initial commit with implementation plans. --- .gitignore | 1 + README.md | 5 +++++ doc/implementation.md | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 doc/implementation.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16c1a1f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*DS_Store* diff --git a/README.md b/README.md new file mode 100644 index 0000000..e50ff83 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# GoNews + +NNTP (Usenet) server written in Golang with minimal third-party dependencies. + +See [implementation status](/doc/implementation.md). diff --git a/doc/implementation.md b/doc/implementation.md new file mode 100644 index 0000000..0192ee4 --- /dev/null +++ b/doc/implementation.md @@ -0,0 +1,36 @@ +# NNTP implementation status + +This document tracks implementation status for NTTP protocol and extensions. See: + +* [RFC3977 - Network News Transfer Protocol (NNTP)](https://tools.ietf.org/html/rfc3977) +* [RFC4643 - Network News Transfer Protocol (NNTP). Extension for Authentication](https://tools.ietf.org/html/rfc4643) +* [RFC6048 - Network News Transfer Protocol (NNTP) Additions to LIST Command](https://tools.ietf.org/html/rfc6048) + +After all checkmarks will be checked - implementation can be considered complete. + +This document will be updated with new RFCs data in process of development. + +RFC3977: + +* [ ] Connection handling ([section 5](https://tools.ietf.org/html/rfc3977#section-5)): + * [ ] Concurrent connection handling + * [ ] CAPABILITIES command ([section 5.2](https://tools.ietf.org/html/rfc3977#section-5.2)) + * [ ] MODE command ([section 5.3](https://tools.ietf.org/html/rfc3977#section-5.3)) + * [ ] QUIT command ([section 5.4](https://tools.ietf.org/html/rfc3977#section-5.4)) +* [ ] Article retrieval and posting, working with groups ([section 6](https://tools.ietf.org/html/rfc3977#section-6)): + * [ ] Group selection and information retrieval ([section 6.1.1](https://tools.ietf.org/html/rfc3977#section-6.1.1)) + * [ ] Group selection and information retrieval with articles numbers ([section 6.1.2](https://tools.ietf.org/html/rfc3977#section-6.1.2)) + * [ ] LAST command ([section 6.1.3](https://tools.ietf.org/html/rfc3977#section-6.1.3)) + * [ ] NEXT command ([section 6.1.4](https://tools.ietf.org/html/rfc3977#section-6.1.4) + * [ ] ARTICLE command ([section 6.2.1](https://tools.ietf.org/html/rfc3977#section-6.2.1)) + * [ ] HEAD command ([section 6.2.2](https://tools.ietf.org/html/rfc3977#section-6.2.2)) + * [ ] BODY command ([section 6.2.3](https://tools.ietf.org/html/rfc3977#section-6.2.3)) + * [ ] STAT command ([section 6.2.4](https://tools.ietf.org/html/rfc3977#section-6.2.4)) + * [ ] POST command ([section 6.3.1](https://tools.ietf.org/html/rfc3977#section-6.3.1)) + * [ ] IHAVE command ([section 6.3.2](https://tools.ietf.org/html/rfc3977#section-6.3.2)) +* [ ] Informational ([section 7](https://tools.ietf.org/html/rfc3977#section-7)): + * [ ] DATE command ([section 7.1](https://tools.ietf.org/html/rfc3977#section-7.1)) + * [ ] HELP command ([section 7.2](https://tools.ietf.org/html/rfc3977#section-7.2)) + * [ ] NEWGROUPS command ([section 7.3](https://tools.ietf.org/html/rfc3977#section-7.3)) + * [ ] NEWNEWS command ([section 7.4](https://tools.ietf.org/html/rfc3977#section-7.4)) + * [ ] LIST commands ([section 7.6](https://tools.ietf.org/html/rfc3977#section-7.6))