Skip to main content

Ralsina.Me — Roberto Alsina's website


Ok, the SPF im­ple­men­ta­tion sit­u­a­tion is kin­da pa­thet­ic.

There seems to be ex­act­ly one main­tained C im­ple­men­ta­tion. And it's win­dows-on­ly.

  • lib­spf's we­b­site seems to have dis­­ap­­peared

  • lib­spf2's not RFC-­­com­­pli­ant (ver­i­­fied for 1.2.5) and their is­­sue re­­port­ing sys­tem bounces.

So, I have tak­en the most com­pli­ant one I found whose code I can ac­tu­al­ly fol­low (that would be the python one) and am reim­ple­ment­ing it in C (us­ing bstr­lib and lib­d­jbdns).

It will prob­a­bly not come to a good end, but hey, it may work ;-)

Paul Johnson / 2007-02-07 03:04:

Curious why djbdns was chosen given DJB's reputation for non-free licensing (djb license), technical inferiority and standards noncompliance (djbftpd)?

anon / 2007-02-07 06:07:
Roberto Alsina / 2007-02-07 10:31:

Paul: libdjbdns is public domain, so the non-free is bunk in this case.

The technical inferiority... have you actually seen libdjbdns? The only big problem is lack of ipv6.

The main thing is: it's very easy to use. it adds no complexity to the project. Later on, it can be replaced if needed.

anon: libspf2 is partly undocumented, the API is way more complex than it needs to be (compare it with pyspf), is buggy (see my previous post), and the bug reporting email address bounces, so I can't actually trust anything to be fixed.

Contents © 2000-2023 Roberto Alsina