From wollman@hergotha.csail.mit.edu  Sun Nov 14 06:06:57 2010
Return-Path: <wollman@hergotha.csail.mit.edu>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A39A7106564A
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 14 Nov 2010 06:06:57 +0000 (UTC)
	(envelope-from wollman@hergotha.csail.mit.edu)
Received: from hergotha.csail.mit.edu (hergotha.csail.mit.edu [66.92.79.170])
	by mx1.freebsd.org (Postfix) with ESMTP id 57A798FC0A
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 14 Nov 2010 06:06:57 +0000 (UTC)
Received: from hergotha.csail.mit.edu (localhost [127.0.0.1])
	by hergotha.csail.mit.edu (8.14.4/8.14.4) with ESMTP id oAE5ifdP000515
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 14 Nov 2010 00:44:41 -0500 (EST)
	(envelope-from wollman@hergotha.csail.mit.edu)
Received: (from wollman@localhost)
	by hergotha.csail.mit.edu (8.14.4/8.14.4/Submit) id oAE5ifbQ000514;
	Sun, 14 Nov 2010 00:44:41 -0500 (EST)
	(envelope-from wollman)
Message-Id: <201011140544.oAE5ifbQ000514@hergotha.csail.mit.edu>
Date: Sun, 14 Nov 2010 00:44:41 -0500 (EST)
From: Garrett Wollman <wollman@hergotha.csail.mit.edu>
Reply-To: Garrett Wollman <wollman@hergotha.csail.mit.edu>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: b64decode(1)/b64_pton(3) should decode common variant of base64
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         152229
>Category:       bin
>Synopsis:       b64decode(1)/b64_pton(3) should decode common variant of base64
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 14 06:10:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Garrett Wollman
>Release:        FreeBSD 8.1-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD hergotha.csail.mit.edu 8.1-RELEASE FreeBSD 8.1-RELEASE #0 r212140M: Sat Sep 4 00:16:21 EDT 2010 wollman@hergotha.csail.mit.edu:/usr/obj/usr/src/sys/HERGOTHA amd64

>Description:

A friend recently asked me to decode some text he had received, which
was in a mutant version of the base64 encoding.  A quick search led me
to the O'Reilly book /Unicode Explained/, which describes a
"URL/file-system-safe variant" of base64 which uses '-' and '_' in
place of the standard '+' and '/', respectively.  We should not
generate this nonstandard form, but we should accept it, since it is
unambiguous, in accordance with Postel's Robustness Principle.  (The
specific reference is on page 308, found in Google Books for the
search 'base64 with hyphen'.)

>How-To-Repeat:
	
>Fix:

I don't have a suggested fix (I hacked around it to answer the
question at hand but the hack is not suitable for general use).  I'm
not sure if we should require a flag to be set (or a special version
of b64_pton() to be called) to decode this version, or just treat it
as normal base64.
>Release-Note:
>Audit-Trail:
>Unformatted:
