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.
