Subject: bug#10536: 23.3; Make base64-decode more fault tolerant

From: Noam Postavsky <[email-masked]>
Date: Thu, 27 Jun 2019 13:16:27 -0400

Lars Ingebrigtsen <[email-masked]> writes:

> Wolfram Gloger <[email-masked]> writes:
>
>> -	  READ_QUADRUPLET_BYTE (-1);
>> +	  /* Be tolerant against missing final padding '='.  */
>> +	  READ_QUADRUPLET_BYTE (e-to);
>
> We discussed this a bit last year, but didn't come to any conclusion,
> but I think on the whole, having base64-decode be strict or non-strict
> here doesn't make much practical difference (because it's very uncommon
> to strip the trailing = padding characters), but theoretical paranoia
> about this somehow leading to subsequent errors...  somehow...  may be
> warranted.

We did meanwhile get a base64url-* which has an optional NOPAD argument,
and base64-decode-* functions got an optional BASE64URL argument which
allows decoding unpadded base64, by the way.