/*
- * $Id$
- *
* This module glues libDSpam to the Citadel server in order to implement
* DSPAM Spamchecking
*
- * Copyright (c) 2009 by the citadel.org team
+ * Copyright (c) 2012 by the citadel.org team
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * This program is open source software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3.
+ *
+ *
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ *
+ *
*/
#include "sysdep.h"
if (dspam_process (CTX, msgtext) != 0)
{
free(msgtext);
- CtdlLogPrintf(CTDL_CRIT, "ERROR: dspam_process failed");
+ syslog(LOG_CRIT, "ERROR: dspam_process failed");
return;
}
if (CTX->signature == NULL)
{
- CtdlLogPrintf(CTDL_CRIT,"No signature provided\n");
+ syslog(LOG_CRIT,"No signature provided\n");
}
else
{
/* Copy to a safe place */
+ // TODO: len -> cm_fields?
+ msg->cm_fields[eErrorMsg] = malloc (CTX->signature->length * 2);
+ size_t len = CtdlEncodeBase64(msg->cm_fields[eErrorMsg], CTX->signature->data, CTX->signature->length, 0);
- msg->cm_fields['G'] = malloc (CTX->signature->length * 2);
- CtdlEncodeBase64(msg->cm_fields['G'], CTX->signature->data, CTX->signature->length, 0);
+ if (msg->cm_fields[eErrorMsg][len - 1] == '\n') {
+ msg->cm_fields[eErrorMsg][len - 1] = '\0';
+ }
}
free(msgtext);
SIG.length = CTX->signature->length;
/* Print processing results */
- CtdlLogPrintf (CTDL_DEBUG, "Probability: %2.4f Confidence: %2.4f, Result: %s\n",
+ syslog(LOG_DEBUG, "Probability: %2.4f Confidence: %2.4f, Result: %s\n",
CTX->probability,
CTX->confidence,
(CTX->result == DSR_ISSPAM) ? "Spam" : "Innocent");
/// else -> todo: global user for public rooms etc.
if (CTX == NULL)
{
- CtdlLogPrintf(CTDL_CRIT, "ERROR: dspam_init failed!\n");
+ syslog(LOG_CRIT, "ERROR: dspam_init failed!\n");
return ERROR + INTERNAL_ERROR;
}
/* Use graham and robinson algorithms, graham's p-values */
CTDL_MODULE_INIT(dspam)
{
- return "$Id$" "disabled.";
+ return "disabled.";
if (!threading)
{
#ifdef HAVE_LIBDSPAM
#else /* HAVE_LIBDSPAM */
- CtdlLogPrintf(CTDL_INFO, "This server is missing libdspam Spam filtering will be disabled.\n");
+ syslog(LOG_INFO, "This server is missing libdspam Spam filtering will be disabled.\n");
#endif /* HAVE_LIBDSPAM */
}
- /* return our Subversion id for the Log */
- return "$Id$";
+ /* return our module name for the log */
+ return "dspam";
}