ietf-822
[Top] [All Lists]

ABNF experts sought for OpenPGP header definition

2005-05-20 12:39:53

Dear all,

We would like help with improving the ABNF for our OpenPGP mail/news
header.  The document and some more info is available from
<http://josefsson.org/openpgp-header/>.  FYI, version -01 was just
submitted.

The ABNF section currently reads:

   This header is of a "structured" type (see section 2.2.2 of RFC
   2822).  In general, the structure consist of one or more parameters,
   each consisting of one attribute and one value.  The terminology and
   format of the header was inspired by MIME [2].  The various
   provisions of RFC 2045 apply.  In particular, the value part of all
   parameters may be quoted; whitespace, foldoing and comments may occur
   in the middle of parameters.  The provisions of MIME [3] also apply;
   in particular it deals with handling parameters of excessive length.
...
   Unrecognized parameters MUST be ignored.  The grammar permit them to
   allow for future extensions.  This header SHOULD NOT appear more than
   once within a message.  A given parameter type (i.e., "id" or "url")
   may appear no more than once.


   openpgp   :=  "OpenPGP:" id-or-url /
                            (openpgp-parameter *(";" openpgp-parameter))
                            CRLF

   id-or-url := id / url

   id        := *HEXDIG

   url       := absoluteURI  ; Defined in RFC 2396.

   openpgp-parameter
              := ("id" "=" id) /
                 ("url" "=" url) /
                 parameter   ; See RFC 2045 for definition of parameter.

This is rather incomplete; for one it doesn't include CFWS at the
necessary spots.  Further, it doesn't permit quoting, such as:

OpenPGP: "B565716F"
OpenPGP: "http://josefsson.org/key.txt";
OpenPGP: url="http://josefsson.org/key.txt";

and maybe more similar items that I'm not familiar with.

How to best formulate the ABNF to be in style with RFC 2822 and MIME?
Suggestions for only partial improvements are appreciated.

Thanks in advance,
Simon


<Prev in Thread] Current Thread [Next in Thread>