spf-discuss
[Top] [All Lists]

Re: lookups by macro expansion

2003-10-27 20:53:42
Meng Weng Wong wrote:

On Mon, Oct 27, 2003 at 05:57:51PM +0000, Roy Badami wrote:
|  > Hm, that's a really smart idea.  What do other people think?
| | Looks like a neat idea, particularly if it can be used to reduce the
| number of methods in the spec.  But you'll need to find somewhere to
| specify the delimiters for the reversed username...
|
OK, if somebody wants to send me something I can just paste into the RFC
that will help move things along.

I don't want to eliminate any of the existing methods even though this
provides their functionality because once you start talking about macros
some people will get turned off.

except maybe LocalPart, which is a mess anyway.

My take is that you ought to remove the subsumed mechanisms -- since developers have to implement the macro one, it will save them work not having to implement the rest.. The eliminated mechanisms are:

PI, LOCALPART, RHS, PTRHS

I propose to call the mechanism:   DNS

This is a rough set of text -- which needs some (significant) work, but is the idea worked out in a little more detail.

"DNS" indicates that a lookup is performed in the DNS, and the presence of an A record will
indicate a match. The name to be looked up is provided as an argument.

Valid syntax:

   - dns:%{ir}.rbllist.org

The name to be looked up MUST be macro-interpolated according to the
  following convention:

     %% = a literal "%"
     %{u} = local-part of current-address
     %{s} = current-address
     %{d} = current-domain
     %{p} = current-ptr-domain
     %{h} = HELO/EHLO string provided
     %{i} = SMTP client IP
     %{v} = SMTP client IP version - in-addr for ipv4 or ip6 for ipv6

The syntax of a macro substituted field is as follows:

        '%{' letter modifier '}'

The only defined modifier is

r = reverse value, splitting on dots The r modifier may be suffixed by one or more splitting characters. If any are present, then the default value of dot is removed.


If the total resulting name is longer than 255 characters (the maximum length of a domain name),
then it shall be reduced in length preserving the right hand end.

Expansion Examples

  Suppose the <current-domain> is example.com.
  The current sender is joe-job(_at_)example(_dot_)com
  The IPv4 SMTP client IP is 192.0.2.3.
  The IPv6 SMTP client IP is 5f05:2000:80ad:5800::1.
  The appropriate ip version is automatically selected based on the
  connection type: "in-addr" for IPv4, and "ip6" for IPv6.

  DIRECTIVE         LOOKUP
  ----------------  -------------------------------------------
  dns:%{ir}.${v}.example.org    3.2.0.192.in-addr.example.org

  Under IPv6,

  dns:%{ir}.example.org    1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.5.d.a.
                    0.8.0.0.0.
                    2.5.0.f.5.example.org


  dns:%{ur-}.lp.example.org      job.joe.lp.example.org

dns:%{ir}.%{v}.%{u}.spf.example.org 3.2.0.192.in-addr.joe-job.spf.example.org

--
Philip Gladstone
* Check out the live pondcam at http://pond.gladstonefamily.net

-------
Sender Permitted From: http://spf.pobox.com/
Archives at http://archives.listbox.com/spf-discuss/current/
Latest draft at http://spf.pobox.com/draft-mengwong-spf-02.txt
To unsubscribe, change your address, or temporarily deactivate your subscription, please go to http://v2.listbox.com/member/?listname(_at_)©#«Mo\¯HÝÜîU;±¤Ö¤Íµø?¡

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature