As has been asked by CLEAR design team I would like to formerly propose
changes to BATV syntax to make it more flexible and allow for multiple
signatures as well as move "user" part of the local-part to be right
before "@" which is easier for parsers and closer to how programs that
tag MAIL FROM with additional information currently do it (and more
human-friendly for those who are looking at the data directly).
The changes I would like to see is to have minium syntax as follows:
scheme=data=/core(_at_)domain(_dot_)com
When scheme has additional options, this can appear as:
scheme=data=option1=option2=/core(_at_)domain(_dot_)com
The core part may also be extended with options as follows:
scheme1=data1=/opt1=core(_at_)domain(_dot_)com
With multiple signatures the MAIL FROM would look like:
scheme1=data1=/scheme2=data2=/core(_at_)domain(_dot_)com
The question was also asked how additional signatures are added. Basicly
if original, is "scheme1=data1=/core(_at_)domain(_dot_)com" then when new
signature
is added it becomes "scheme1=data1=/scheme2=data2=/core(_at_)domain(_dot_)com"
where
data2 is a signature for "core" just like data1 is also signature for core.
I also would like it written in the specs that for signatures that signed
not only "core" but entire email, i.e. "core(_at_)domain(_dot_)com" the domain
name
may come from after the "@" but may also be added as part of "core" in
which case it is written as "core#domain.com".
The ABNF syntax I have for this all is as follows:
local-part = [ *( tag "/" ) ] loc_tag
tag = sig_tag / loc_tag_extaddr
loc_tag = [ tag-name [ "=" tag-data ] "=" ] loc-core
loc_tag_extaddr = loc_tag [ "#" domain ]
sig_tag = tag-name "=" tag-data "="
tag-name = tag-type [ *( "+" tag-type) ]
tag-type = 1*( DIGIT / ALPHA / "-" )
; specific, registered validation scheme
tag-data = tag-val *( "=" tag-val )
tag-val = 1*( DIGIT / ALPHA / "-" )
; the validation data or tag optional info
loc-core = {original local-part value}
--
William Leibzon
Elan Networks
william(_at_)elan(_dot_)net