#include "privacy.h"
#include "procmime.h"
+#include "procmsg.h"
static GSList *systems = NULL;
static gchar *privacy_last_error = NULL;
* If the MimeInfo is not signed an error code will be returned.
*
* \return Error code indicating the result of the check,
- * < 0 if an error occured
+ * < 0 if an error occurred
*/
gint privacy_mimeinfo_check_signature(MimeInfo *mimeinfo)
{
parentinfo = procmime_mimeinfo_parent(mimeinfo);
childnumber = g_node_child_index(parentinfo->node, mimeinfo);
- procmime_mimeinfo_free_all(mimeinfo);
+ procmime_mimeinfo_free_all(&mimeinfo);
g_node_insert(parentinfo->node, childnumber, decryptedinfo->node);
return system->encrypt(mimeinfo, encdata);
}
+
+gboolean privacy_auto_check_signatures(MimeInfo *mimeinfo)
+{
+ PrivacySystem *system;
+
+ cm_return_val_if_fail(mimeinfo != NULL, FALSE);
+
+ if (mimeinfo->privacy == NULL)
+ privacy_mimeinfo_is_signed(mimeinfo);
+
+ if (mimeinfo->privacy == NULL)
+ return FALSE;
+
+ system = privacy_data_get_system(mimeinfo->privacy);
+ if (system == NULL)
+ return FALSE;
+ if (system->auto_check_signatures == NULL)
+ return FALSE;
+
+ return system->auto_check_signatures();
+}