Mailing List Archive

RASPF - "New" SPF library
Hello,

I have been working for a few weeks in writing a "new" SPF implementation in
C.

Why?

* libspf.org seems to be down

* libspf2.org's bug reporting address bounces

* RMSPF is windows-only

* PySPF is python, and I needed C.

So, I took PySPF 2.0.2 and started following it and writing the same things in
C.

Right now, it passes over 100 tests of the official test suite (and about 96
of the **other** test suite) , but it still has some problems:

* It is not completely done

* Error handling is not complete

* IPv6 support is iffy

* No SPF records support

* Memory handling sucks (I will rewrite every function, and this is only worth
doing the second time ;-)

If anyone is interested in trying it and/or helping, the code is at
http://code.google.com/p/raspf on SVN. I will give write access to anyone who
wants it, too.

Best regards,

PS: I added the authors of PySPF to the credits, since this is basically a
translation of their code, so it's a derived work.

The name is just temporary.
 
--
 ("\''/").__..-''"`-. .         Roberto Alsina
 `9_ 9  )   `-. (    ).`-._.`)  ralsina@kde.org
 (_Y_.)' ._   ) `._`.  " -.-'   KDE Developer (MFCH)
  _..`-'_..-_/ /-'_.'
(l)-'' ((i).' ((!.'   Buenos Aires - Argentina

Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it. --Brian W. Kernighan

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?list_id=1007
Re: RASPF - "New" SPF library [ In reply to ]
On Saturday 03 March 2007 08:46, Roberto Alsina wrote:
> Hello,
>
> I have been working for a few weeks in writing a "new" SPF implementation
> in C.
>
> Why?
>
> * libspf.org seems to be down

AFAIK, libspf is abandoned.

> * libspf2.org's bug reporting address bounces

Maintainership of libspf2 was transferred from the original author and the new
maintainer didn't stick with it very long. The original author has said he
intends to start maintaining it again, but has yet to do so.

> * RMSPF is windows-only
>
> * PySPF is python, and I needed C.
>
> So, I took PySPF 2.0.2 and started following it and writing the same things
> in C.

I'd suggest looking at 2.0.3 or what's at the cvs head (to become 2.1) in
sourceforge. Both have a number of fixes in them that should help with
passing the test suites.

> Right now, it passes over 100 tests of the official test suite (and about
> 96 of the **other** test suite) , but it still has some problems:
>
> * It is not completely done
>
> * Error handling is not complete

In pyspf there is a mode for use in my SPF validator:

http://www.kitterman.com/spf/validate.html

In this mode a number of extra warnings or errors are raise (you can find
these in the code as they only activate when harsh=2). Unless you are
planning on using the library for validation, it isn't necessary to port
these errors to your library.

> * IPv6 support is iffy
>
> * No SPF records support
>
> * Memory handling sucks (I will rewrite every function, and this is only
> worth doing the second time ;-)
>
> If anyone is interested in trying it and/or helping, the code is at
> http://code.google.com/p/raspf on SVN. I will give write access to anyone
> who wants it, too.
>
> Best regards,
>
> PS: I added the authors of PySPF to the credits, since this is basically a
> translation of their code, so it's a derived work.
>
> The name is just temporary.

Welcome.

I would also encourage you to think ahead to how your library will be
integrated with various MTAs. As an example, libspf2 provides a Postfix
policy server for that purpose. If you want another Python example to work
off of, there is:

http://www.openspf.org/Software#python-postfix-policyd-spf

There is also a sample spf python milter that Stuart did in pymilter at
sourceforge.

Scott K

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?list_id=1007
Re: RASPF - "New" SPF library [ In reply to ]
On Sat 03 Mar 2007 12:07:25 Scott Kitterman wrote:

> I would also encourage you to think ahead to how your library will be
> integrated with various MTAs. As an example, libspf2 provides a Postfix
> policy server for that purpose. If you want another Python example to work
> off of, there is:
>
> http://www.openspf.org/Software#python-postfix-policyd-spf
>
> There is also a sample spf python milter that Stuart did in pymilter at
> sourceforge.

The first integration will be with qmail. I had written a libspf2-based plugin
for qmail-spp, which was what got me interested in SPF, and then the rest
happened.

I will look at 2.0.3/2.1 as soon as I have this working a little better.

--
 ("\''/").__..-''"`-. .         Roberto Alsina
 `9_ 9  )   `-. (    ).`-._.`)  ralsina@kde.org
 (_Y_.)' ._   ) `._`.  " -.-'   KDE Developer (MFCH)
  _..`-'_..-_/ /-'_.'
(l)-'' ((i).' ((!.'   Buenos Aires - Argentina

Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it. --Brian W. Kernighan

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?list_id=1007