/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2007 Colin Leroy <colin@colino.net>
+ * Copyright (C) 1999-2014 Colin Leroy <colin@colino.net>
* and the Claws Mail Team
*
* This program is free software; you can redistribute it and/or modify
#include "plugin.h"
#include "menu.h"
#include "defs.h"
-#include "base64.h"
#include "procheader.h"
#ifdef USE_PTHREAD
/* this interface struct is probably not enough for the various available
* reporting places/methods. It'll be extended as necessary. */
+#define SSFR_URL "https://www.signal-spam.fr/api/signaler"
+#define SSFR_BODY "message=%claws_mail_body_b64%"
+
+#define DEBL_URL "https://lists.debian.org/cgi-bin/nominate-for-review.pl?Quiet=on&msgid=%claws_mail_msgid%"
+
ReportInterface spam_interfaces[] = {
- { "Signal-Spam.fr", INTF_HTTP_AUTH, "https://www.signal-spam.fr/api/signaler",
- "message=%claws_mail_body_b64%", NULL},
+ { "Signal-Spam.fr", INTF_HTTP_AUTH, SSFR_URL, SSFR_BODY, NULL},
{ "Spamcop.net", INTF_MAIL, NULL, NULL, NULL},
- { "Debian Lists", INTF_HTTP_GET,
- "http://lists.debian.org/cgi-bin/nominate-for-review.pl?Quiet=on&msgid=%claws_mail_msgid%",
- NULL, check_debian_listid},
+ { "Debian Lists", INTF_HTTP_GET, DEBL_URL, NULL, check_debian_listid},
{ NULL, INTF_NULL, NULL, NULL, NULL}
};
gchar *reqbody = NULL, *tmp = NULL, *auth = NULL, *b64 = NULL, *geturl = NULL;
size_t len_contents;
CURL *curl;
- CURLcode res;
long response;
struct CurlReadWrite chunk;
debug_print("reporting via %s\n", intf->name);
tmp = spamreport_strreplace(intf->body, "%claws_mail_body%", contents);
len_contents = strlen(contents);
- b64 = g_malloc0(B64LEN(len_contents) + 1);
- base64_encode(b64, contents, len_contents);
+ b64 = g_base64_encode(contents, len_contents);
reqbody = spamreport_strreplace(tmp, "%claws_mail_body_b64%", b64);
geturl = spamreport_strreplace(intf->url, "%claws_mail_msgid%", msginfo->msgid);
g_free(b64);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, prefs_common_get_prefs()->io_timeout_secs);
curl_easy_setopt(curl, CURLOPT_USERAGENT,
SPAM_REPORT_USERAGENT "(" PLUGINS_URI ")");
- res = curl_easy_perform(curl);
+ curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
curl_easy_cleanup(curl);
spamreport_http_response_log(intf->url, response);
SPAM_REPORT_USERAGENT "(" PLUGINS_URI ")");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_writefunction_cb);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
- res = curl_easy_perform(curl);
+ curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
curl_easy_cleanup(curl);
spamreport_http_response_log(geturl, response);
gboolean plugin_done(void)
{
MainWindow *mainwin = mainwindow_get_mainwindow();
- SummaryView *summaryview = NULL;
if (mainwin == NULL)
return TRUE;
- summaryview = mainwin->summaryview;
MENUITEM_REMUI_MANAGER(mainwin->ui_manager,mainwin->action_group, "Message/ReportSpam", main_menu_id);
main_menu_id = 0;