Skip to content

Latest commit

 

History

History
550 lines (456 loc) · 24.4 KB

standards.md

File metadata and controls

550 lines (456 loc) · 24.4 KB

Standards

This file contains all the standards we have draw attention to during the development. The code should comply to these, but should be more compliant to existing popular implementations.

General

URI

  • rfc3986 : Uniform Resource Identifier (URI): Generic Syntax
  • URL : Living Standard
  • rfc1738 : Uniform Resource Locators (URL)

Prefixes for Binary Multiples

Date and Time

  • rfc3339 : Date and Time on the Internet: Timestamps

UUID

  • rfc4122 : A Universally Unique IDentifier (UUID) URN Namespace

Systemd Journal

Syslog

Fluentd

StatsD

PEN

IP Address

  • rfc6890 : Special-Purpose IP Address Registries
  • rfc4291 : IP Version 6 Addressing Architecture
  • rfc8215 : Local-Use IPv4/IPv6 Translation Prefix

Semantic Versioning

  • semver : Semantic Versioning 2.0.0

X.509

  • rfc7468 : Textual Encodings of PKIX, PKCS, and CMS Structures
  • rfc5280 : Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  • rfc5758 : Internet X.509 Public Key Infrastructure: Additional Algorithms and Identifiers for DSA and ECDSA
  • rfc4055 : Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  • rfc9295 : Clarifications for Ed25519, Ed448, X25519, and X448 Algorithm Identifiers

Cryptography

  • NIST SP 800-186 : Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters
  • SEC2-v2 : SEC 2: Recommended Elliptic Curve Domain Parameters

Electronic Mail

  • rfc5322 : Internet Message Format
  • rfc7817 : Updated Transport Layer Security (TLS) Server Identity Check Procedure for Email-Related Protocols
  • rfc8314 : Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access
  • iana-mail-parameters : MAIL Parameters

MIME

  • rfc2045 : Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
  • rfc2046 : Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
  • rfc2047 : MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
  • rfc2231 : MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations

Network Protocol

Happy Eyeballs

  • rfc8305 : Happy Eyeballs Version 2: Better Connectivity Using Concurrency

PROXY protocol

Socks

Socks4

  • SOCKS4 : SOCKS: A protocol for TCP proxy across firewalls
  • SOCKS4a : SOCKS 4A: A Simple Extension to SOCKS 4 Protocol

Socks5

Socks6

DNS

  • rfc1035 : DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
  • rfc2181 : Clarifications to the DNS Specification
  • rfc4343 : Domain Name System (DNS) Case Insensitivity Clarification
  • draft-madi-dnsop-udp4dns-00 : UDP payload size for DNS messages
  • rfc5625 : DNS Proxy Implementation Guidelines
  • rfc5891 : Internationalized Domain Names in Applications (IDNA): Protocol
  • rfc6891 : Extension Mechanisms for DNS (EDNS(0))
  • rfc6761 : Special-Use Domain Names
  • rfc7858 : Specification for DNS over Transport Layer Security (TLS)
  • rfc8484 : DNS Queries over HTTPS (DoH)
  • rfc9250 : DNS over Dedicated QUIC Connections
  • iana-domains-reserved : IANA-managed Reserved Domains

SSH

  • rfc4253 : The Secure Shell (SSH) Transport Layer Protocol

TLS

  • rfc8446 : The Transport Layer Security (TLS) Protocol Version 1.3
  • rfc8998 : ShangMi (SM) Cipher Suites for TLS 1.3
  • rfc6066 : Transport Layer Security (TLS) Extensions: Extension Definitions
  • rfc9325 : Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)
  • iana-tls-extensiontype-values : Transport Layer Security (TLS) Extensions
  • GB/T 38636-2020 : Information security technology—Transport layer cryptography protocol(TLCP)

QUIC

  • rfc9500 : QUIC: A UDP-Based Multiplexed and Secure Transport
  • rfc9001 : Using TLS to Secure QUIC
  • rfc9369 : QUIC Version 2

HTTP

HTTP/1.0

  • rfc1945 : Hypertext Transfer Protocol -- HTTP/1.0

HTTP/1.1

Http/2

Http/3

Websocket

FTP

SMTP

  • rfc5321 : Simple Mail Transfer Protocol
  • rfc6409 : Message Submission for Mail
  • rfc2645 : ON-DEMAND MAIL RELAY (ODMR) SMTP with Dynamic IP Addresses
  • rfc6152 : SMTP Service Extension for 8-bit MIME Transport
  • rfc3030 : SMTP Service Extensions for Transmission of Large and Binary MIME Messages
  • rfc4468 : Message Submission BURL Extension
  • rfc1870 : SMTP Service Extension for Message Size Declaration
  • rfc2852 : Deliver By SMTP Service Extension
  • rfc3207 : SMTP Service Extension for Secure SMTP over Transport Layer Security
  • rfc8689 : SMTP Require TLS Option
  • rfc4954 : SMTP Service Extension for Authentication
  • rfc2034 : SMTP Service Extension for Returning Enhanced Error Codes
  • rfc2920 : SMTP Service Extension for Command Pipelining
  • rfc3461 : Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)
  • rfc1985 : SMTP Service Extension for Remote Message Queue Starting
  • rfc3865 : A No Soliciting Simple Mail Transfer Protocol (SMTP) Service Extension
  • rfc3885 : SMTP Service Extension for Message Tracking
  • rfc4865 : SMTP Submission Service Extension for Future Message Release
  • rfc4141 : SMTP and MIME Extensions for Content Conversion
  • rfc6531 : SMTP Extension for Internationalized Email
  • rfc6710 : Simple Mail Transfer Protocol Extension for Message Transfer Priorities
  • rfc7293 : The Require-Recipient-Valid-Since Header Field and SMTP Service Extension
  • rfc9422 : The LIMITS SMTP Service Extension
  • exim-the_smtp_transport : The smtp transport

POP3

  • rfc1939 : Post Office Protocol - Version 3

IMAP

  • iana-imap-capabilities : Internet Message Access Protocol (IMAP) Capabilities Registry
  • rfc7162 : IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)
  • rfc9394 : IMAP PARTIAL Extension for Paged SEARCH and FETCH
  • rfc5267 : Contexts for IMAP4
  • rfc5256 : Internet Message Access Protocol - SORT and THREAD Extensions
  • rfc5255 : Internet Message Access Protocol Internationalization
  • rfc6855 : IMAP Support for UTF-8
  • rfc7377 : IMAP4 Multimailbox SEARCH Extension
  • rfc3502 : Internet Message Access Protocol (IMAP) - MULTIAPPEND Extension
  • rfc3516 : IMAP4 Binary Content Extension
  • rfc9208 : IMAP QUOTA Extension
  • rfc4314 : IMAP4 Access Control List (ACL) Extension
  • rfc7889 : The IMAP APPENDLIMIT Extension
  • rfc4467 : Internet Message Access Protocol (IMAP) - URLAUTH Extension
  • rfc5524 : Extended URLFETCH for Binary and Converted Parts
  • rfc4469 : Internet Message Access Protocol (IMAP) CATENATE Extension
  • rfc5550 : The Internet Email to Support Diverse Service Environments (Lemonade) Profile
  • rfc4978 : The IMAP COMPRESS Extension
  • rfc5259 : Internet Message Access Protocol - CONVERT Extension
  • rfc5466 : IMAP4 Extension for Named Searches (Filters)
  • rfc6785 : Support for Internet Message Access Protocol (IMAP) Events in Sieve
  • rfc9585 : IMAP Response Code for Command Progress Notifications
  • rfc9590 : IMAP Extension for Returning Mailbox METADATA in Extended LIST
  • rfc8440 : IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST
  • rfc2221 : IMAP4 Login Referrals
  • rfc2193 : IMAP4 Mailbox Referrals
  • rfc5464 : The IMAP METADATA Extension
  • rfc5465 : The IMAP NOTIFY Extension
  • rfc8474 : IMAP Extension for Object Identifiers
  • rfc8970 : IMAP4 Extension: Message Preview Generation
  • rfc8508 : IMAP REPLACE Extension
  • rfc8514 : Internet Message Access Protocol (IMAP) - SAVEDATE Extension
  • rfc6203 : IMAP4 Extension for Fuzzy Search
  • rfc5957 : Display-Based Address Sorting for the IMAP4 SORT Extension
  • rfc9586 : IMAP Extension for Using and Returning Unique Identifiers (UIDs) Only
  • rfc8437 : IMAP UNAUTHENTICATE Extension for Connection Reuse
  • rfc5032 : WITHIN Search Extension to the IMAP Protocol

IMAP4rev2

  • rfc9051 : Internet Message Access Protocol (IMAP) - Version 4rev2

IMAP4rev1

  • rfc3501 : INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
  • rfc4315 : Internet Message Access Protocol (IMAP) - UIDPLUS extension
  • rfc4959 : IMAP Extension for Simple Authentication and Security Layer (SASL) Initial Client Response
  • rfc6851 : Internet Message Access Protocol (IMAP) - MOVE Extension
  • rfc2971 : IMAP4 ID extension
  • rfc3691 : Internet Message Access Protocol (IMAP) UNSELECT command
  • rfc3348 : The Internet Message Action Protocol (IMAP4) Child Mailbox Extension
  • rfc2177 : IMAP4 IDLE command
  • rfc2342 : IMAP4 Namespace
  • rfc4731 : IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned
  • rfc4466 : Collected Extensions to IMAP4 ABNF
  • rfc5182 : IMAP Extension for Referencing the Last SEARCH Result
  • rfc5161 : The IMAP ENABLE Extension
  • rfc5258 : Internet Message Access Protocol version 4 - LIST Command Extensions
  • rfc5819 : IMAP4 Extension for Returning STATUS Information in Extended LIST
  • rfc7888 : IMAP4 Non-synchronizing Literals
  • rfc5530 : IMAP Response Codes
  • rfc6154 : IMAP LIST Extension for Special-Use Mailboxes
  • rfc8438 : IMAP Extension for STATUS=SIZE

NNTP

  • rfc3977 : Network News Transfer Protocol (NNTP)
  • rfc8143 : Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)

MQTT

STOMP

SMPP

  • SMPP : SMPP Protocol: API to enable SMS messaging between applications and mobiles
  • SMPP_v5 : Short Message Peer-to-Peer Protocol Specification Version 5.0

RTMP

RTSP/2.0

  • rfc7826 : Real-Time Streaming Protocol Version 2.0

BitTorrent

  • bep_0003 : The BitTorrent Protocol Specification

ICAP

WCCP

NAT Traversal

  • rfc8489 : Session Traversal Utilities for NAT (STUN)
  • rfc8656 : Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
  • rfc8445 : Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal