RE: Base64 and line breaks

"Paul Andrews" <[email protected]> Tue, 20 May 2003 08:55:01 -0400
Newsgroups gmane.ietf.beep
Message-ID <[email protected]>
Well, this leaves an interop issue between beepcore-c+cyrus and
beepcore-java. The cyrus libraries do not accept extraneous characters,
whilst the java libraries insert line-breaks every 76 characters.

I agree, though, that the RFC needs to be clarified.

> -----Original Message-----
> From: Chris Newman [mailto:[email protected]] 
> Sent: Monday, May 19, 2003 8:57 PM
> To: Tony Hansen; Paul Andrews
> Cc: Beepwg
> Subject: Re: [BEEPwg] Base64 and line breaks
> 
> 
> Actually most of the SASL profiles which use base64 encoding 
> do not permit line
> breaks in the format.
> 
> This includes RFC 3501, 1734, 2554, etc.
> 
> For example, RFC 3501 has this ABNF:
> 
> -----
> authenticate    = "AUTHENTICATE" SP auth-type *(CRLF base64)
> 
> auth-type       = atom
>                     ; Defined by [SASL]
> 
> base64          = *(4base64-char) [base64-terminal]
> 
> base64-char     = ALPHA / DIGIT / "+" / "/"
>                     ; Case-sensitive
> 
> base64-terminal = (2base64-char "==") / (3base64-char "=")
> -----
> 
> So I could argue that the failure to explicitly include the 
> ABNF for the base64
> left the specification ambiguous and it should be clarified 
> to be consistent
> with other protocols that base64 encode the SASL exchange.
> 
> But if there's deployed Java code which generates unnecessary 
> characters in the
> base64 stream, perhaps it's too late to make it consistent 
> with other protocols
> and we just need to document the more permissive syntax for BEEP...
> 
>                 - Chris
> 
>