RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 9051, "Internet Message Access Protocol (IMAP) - Version 4rev2", August 2021

Source of RFC: extra (art)

Errata ID: 7343
Status: Reported
Type: Technical
Publication Format(s) : TEXT

Reported By: Nicholas Evans
Date Reported: 2023-02-13

Section 9 says:

resp-cond-auth  = ("OK" / "PREAUTH") SP resp-text
                    ; Authentication condition

resp-cond-bye   = "BYE" SP resp-text

resp-cond-state = ("OK" / "NO" / "BAD") SP resp-text
                    ; Status condition

...

resp-text       = ["[" resp-text-code "]" SP] [text]


It should say:

resp-cond-auth  = ("OK" / "PREAUTH") [SP resp-text]
                    ; Authentication condition
                    ;
                    ; Servers SHOULD send the trailing SP when resp-text
                    ; is empty.
                    

resp-cond-bye   = "BYE" [SP resp-text]
                    ; Servers SHOULD send the trailing SP when resp-text
                    ; is empty.

resp-cond-state = ("OK" / "NO" / "BAD") [SP resp-text]
                    ; Status condition
                    ;
                    ; Servers SHOULD send the trailing SP when resp-text
                    ; is empty.

...


resp-text       = "[" resp-text-code "]" [SP [text]] / [text]
                    ; Servers SHOULD send then trailing SP when
                    ; resp-text-code is present but text is empty.

Notes:

Appendix E, Changes from RFC 3501 / IMAP4rev1, item 23 states that "resp-text ABNF non-terminal was updated to allow for empty text."

In the spirit of Appendix E. 23, resp-text should allow "[" resp-text-code "]" without a trailing SP. Similarly, resp-cond-auth, resp-cond-bye, and resp-cond-state should also allow the trailing SP to be dropped when resp-text is empty. In all of these cases, the missing SP does not change the semantics of the response, so clients should not require it to be present. However, for compatibility with clients that strictly adhere to the formal syntax as-is, servers should conservatively send the trailing SP even when text or resp-text is empty.

This aligns with existing practice, as some existing IMAP4rev1 servers already fail to send these trailing spaces, and some liberal clients already allow them to be missing.

Report New Errata



Advanced Search