You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by Justin Mason <jm...@jmason.org> on 2007/12/05 10:22:44 UTC

Re: svn commit: r601070 - in /spamassassin/trunk/spamc: libspamc.c libspamc.h

good idea!  I like it.  However there's one thing I'm not so keen on:

> --- spamassassin/trunk/spamc/libspamc.h (original)
> +++ spamassassin/trunk/spamc/libspamc.h Tue Dec  4 12:22:59 2007
>  /* Nov 24, 2004 NP: added learning support */
> -#define SPAMC_LEARN	      (1<<21)
> +#define SPAMC_LEARN	      (1<<20)
>  
>  /* May 5, 2005 NP: added list reporting support */
> -#define SPAMC_REPORT_MSG      (1<<20)
> +#define SPAMC_REPORT_MSG      (1<<19)
>  
>  /* Oct 21, 2005 sidney: added ping test */
> -#define SPAMC_PING      (1<<19)
> +#define SPAMC_PING      (1<<18)
>  
>  /* Jan 1, 2007 sidney: added SSL protocol versions */
>  /* no flags means use default of SSL_v23 */
>  /* Set both flags to specify TSL_v1 */
> -#define SPAMC_SSLV2 (1<<18)
> -#define SPAMC_SSLV3 (1<<17)
> +#define SPAMC_SSLV2 (1<<17)
> +#define SPAMC_SSLV3 (1<<16)
>  
>  /* Nov 30, 2006 jm: add -z, zlib support */
> -#define SPAMC_USE_ZLIB        (1<<16)
> +#define SPAMC_USE_ZLIB        (1<<15)
>  
>  /* Jan 16, 2007 jm: get markup headers from spamd */
> -#define SPAMC_HEADERS         (1<<15)
> +#define SPAMC_HEADERS         (1<<14)

All of these constants are exposed for public use; by changing their
values, ABI compatibility is broken.

I suggest changing them back to what they were before, and simply
using (1<<14) for SPAMC_LOG_TO_CALLBACK.  That way ABI compatibility
is maintained, and callers don't need to recompile their code to
use a new libspamc.

other than that, +1 ;)

--j.

Re: svn commit: r601070 - in /spamassassin/trunk/spamc: libspamc.c libspamc.h

Posted by Duncan Findlay <du...@duncf.ca>.
On Dec 5, 2007, at 1:22 AM, Justin Mason wrote:
> All of these constants are exposed for public use; by changing their
> values, ABI compatibility is broken.

> I suggest changing them back to what they were before, and simply
> using (1<<14) for SPAMC_LOG_TO_CALLBACK.  That way ABI compatibility
> is maintained, and callers don't need to recompile their code to
> use a new libspamc.

Good point. I was only thinking in terms of source compatibility, but  
you're right that's a gratuitous and unnecessary change to the ABI.

Duncan