X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fdspam%2Fserv_dspam.c;h=7454634f780cd040d428ae9e9543fa9da0d41aa7;hb=b26e3e79fcb15dc1b46f4c7710a6bafdc6472950;hp=7d5e4f0cbb77563515a2bdb22a5280ae8dbb2216;hpb=0eea6dcc234e0f524bbf2a1d909455d41ed02314;p=citadel.git diff --git a/citadel/modules/dspam/serv_dspam.c b/citadel/modules/dspam/serv_dspam.c index 7d5e4f0cb..7454634f7 100644 --- a/citadel/modules/dspam/serv_dspam.c +++ b/citadel/modules/dspam/serv_dspam.c @@ -1,24 +1,22 @@ /* - * $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" @@ -159,25 +157,29 @@ void dspam_do_msg(long msgnum, void *userdata) 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"); @@ -216,7 +218,7 @@ int serv_dspam_room(struct ctdlroom *room) /// 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 */ @@ -240,7 +242,7 @@ void serv_dspam_shutdown (void) CTDL_MODULE_INIT(dspam) { - return "$Id$" "disabled."; + return "disabled."; if (!threading) { #ifdef HAVE_LIBDSPAM @@ -255,12 +257,12 @@ CTDL_MODULE_INIT(dspam) #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"; }