Subject: [abnf-discuss] Experimental support for RFC 7405 in BAP (Bill's ABNF Parser)

From: Julian Reschke <[email-masked]>
Date: Sun, 3 Jan 2016 14:34:54 +0100

Hi there,

in the HTTP(bis) WG group, we've been hacking a bit on "bap" in order to 
support certain HTTP-related features, such as the "#" list notation, or 
reformatting for output in RFCs (line length...).

I recently found some time to add experimental support for RFC 7405, see...:

   <https://trac.tools.ietf.org/wg/httpbis/trac/changeset/2749>

If there's sufficient interest, all of this probably should move to a 
proper non-WG related repo, with maintainers more fluent in lex/yacc 
than I am. (*)

Best regards, Julian

(*) With Bill's permission, of course.

---

From: Paul Kyzivat <[email-masked]>
Date: Sun, 3 Jan 2016 15:24:10 -0500

Julian,

> (*) With Bill's permission, of course.

Back in April last year I had discussions with Bill about supporting 
7405. I developed an extension to do it, put it in git, and made a pull 
request. But then I never heard any more from Bill about it.

When I did the change, I discovered that to do it right there needed to 
be a bigger change than I originally anticipated. The problem wasn't 
just recognizing the new syntax and capturing it in the internal form. 
Most of the work was in rendering the result. As it was, bap only 
printed out strings as quoted string or in hex - regardless of what the 
input form was. So if you input in decimal, octal, or binary it always 
came out in hex. And with %s it also then had to come out in hex. That 
was unacceptable to me. The internal format didn't carry sufficient info 
to render it in the form it was input. So I had to change the internal 
format to carry the extra info, and then change the output to use it.

And then, as I looked at it, I discovered that the old canonicalizer 
merged adjacent strings. With more string formats to work with that got 
more complicated.

You can see my changes on github under pkyzivat/bap.

I did make a pull request. But maybe I did it wrong - I have no other 
experience with github.

	Thanks,
	Paul

---

From: Julian Reschke <[email-masked]>
Date: Sun, 3 Jan 2016 22:48:57 +0100

> format to carry the extra info, and then change the output to use it.

Right. My minimal change makes it accept the new syntax, but doesn't 
round-trip it.

> ...

Best regards, Julian