
           oooo   o8o   .o8        .oooooo..o ooooooooo.   oooooooooooo
           `888   `"'  "888       d8P'    `Y8 `888   `Y88. `888'     `8
            888  oooo   888oooo.  Y88bo.       888   .d88'  888
            888  `888   d88' `88b  `"Y8888o.   888ooo88P'   888oooo8
            888   888   888   888      `"Y88b  888          888    "
            888   888   888   888 oo     .d8P  888          888
           o888o o888o  `Y8bod8P' 8""88888P'  o888o        o888o

--------------------------------------------------------------------------------
            An ANSI C Implementation of the Sender Policy Framework
--------------------------------------------------------------------------------

libSPF CHANGELOG for v1.0.0 PRE 3 (final testing) 


1.0p3 --

 Fixed:
 ------
 - Fixed bug in 'exists' mechanism.  This was discovered due to some peculular 
   behaviour experienced by Michael Elliott <ellioot@rod.msen.com>.  He noted
   that queries involving includes but not specifying an all mechanism were
   resulting in unknown instead of falling back on the original query's 'all'
   mechanism.  This was due to the way exists checks were being performed.
   The DNS query hard sets an SPF_FAIL result when a DNS query results in 
   failure, and an exists mechanism query can result in such a failure should
   the record it is looking for not exist.  This has been fixed by adding
   a simple placeholder for the current result when performing 'exists'
   queries.
 - Autoconf checks for gcc versions now look only for version numbers instead
   of 'gcc-2.95.*' for example, now autoconf only looks for '2.95.*' Thanks to
   Michael Elliott for submitting this.

 Removed:
 --------

 Changed:
 --------
 - Originally as a fix for the '%{o}' macro, '%{p}' and '%{o}' were treated
   the same.  Michael Elliott submitted a patch which implements a proper
   fix.  It involves the addition of the 'original_domain' addition to the
   'peer_info_t' structure.  Additionally the '%{s}' macro was updated to
   now return 'p->original_domain' instead of 'p->current_domain'.
 - 'original_domain' pointer in 'peer_info_t' structure will always contain the 
   original domain when queries involve recursion.  'current_domain' is now no
   longer always a pointer to allocated memory, instead it will point to 
   'original_domain' and should recursion occur it will then be assigned its
   own memory.

 Improved/Updated:
 -----------------
 
 New:
 ----

 libSPF Query Tool (src/spfqtool) changes:
 -----------------------------------------

 spfmilter (src/spfmilter) changes:
 ----------------------------------
 - N/A 

EOF
