RFC: 2554
Оригинал: SMTP Service Extension for Authentication
Другие версии: RFC 4954
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

RFC 2554, Страница 5 из 6

7. Формальный синтаксис

Спецификация формального синтаксиса использует расширенную нотацию Бэкуса-Наура (BNF), описанную в документе [ABNF].

За исключением явно указанных случаев регистр символов для букв не принимается во внимание. Использование строчных и прописных букв обусловлено исключительно наглядностью. Реализации должны принимать эти строки независимо от регистра символов.

UPALPHA         = %x41-5A            ;; верхний регистр: A-Z
LOALPHA         = %x61-7A            ;; нижний регистр: a-z
ALPHA           = UPALPHA / LOALPHA  ;; регистр не имеет значения
DIGIT           = %x30-39            ;; цифры 0-9
HEXDIGIT        = %x41-46 / DIGIT    ;; шестнадцатеричные цифры (верхний регистр)
hexchar         = "+" HEXDIGIT HEXDIGIT
xchar           = %x21-2A / %x2C-3C / %x3E-7E
                  ;; символы US-ASCII за исключением "+", "=", пробела и CTL
xtext           = *(xchar / hexchar)
AUTH_CHAR       = ALPHA / DIGIT / "-" / "_"
auth_type       = 1*20AUTH_CHAR
auth_command    = "AUTH" SPACE auth_type [SPACE (base64 / "=")]
                  *(CRLF [base64]) CRLF
auth_param      = "AUTH=" xtext
                  ;; декодированная форма xtext ДОЛЖНА
                  ;; совпадать с addr-spec или "<>"
base64          = base64_terminal / ( 1*(4base64_CHAR) [base64_terminal] )
base64_char     = UPALPHA / LOALPHA / DIGIT / "+" / "/"
                  ;; регистр принимается во внимание
base64_terminal = (2base64_char "==") / (3base64_char "=")
continue_req    = "334" SPACE [base64] CRLF
CR              = %x0C           ;; ASCII CR (возврат каретки)
CRLF            = CR LF
CTL             = %x00-1F / %x7F ;; все коды управления ASCII, а также символ DEL
LF              = %x0A           ;; ASCII LF (перевод строки)
SPACE            = %x20          ;; ASCII SP (пробел)

Страница 5 из 6

2007 - 2022 © Русские переводы RFC, IETF, ISOC.