projects
/
claws.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implement RFE 3239, 'Remove "Content-Disposition: attachment" from PGP/MIME signed...
[claws.git]
/
src
/
plugins
/
pgpmime
/
pgpmime.c
diff --git
a/src/plugins/pgpmime/pgpmime.c
b/src/plugins/pgpmime/pgpmime.c
index 2a0bb7a1862540642f0573026dc4e68289dc172c..b9a3d7dfef5ebda13768ee662e833214da36d350 100644
(file)
--- a/
src/plugins/pgpmime/pgpmime.c
+++ b/
src/plugins/pgpmime/pgpmime.c
@@
-1,6
+1,6
@@
/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-201
2
the Claws Mail team
+ * Copyright (C) 1999-201
4
the Claws Mail 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
*
* 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
@@
-128,9
+128,10
@@
static gboolean pgpmime_is_signed(MimeInfo *mimeinfo)
data = pgpmime_new_privacydata();
mimeinfo->privacy = (PrivacyData *) data;
}
data = pgpmime_new_privacydata();
mimeinfo->privacy = (PrivacyData *) data;
}
-
- data->done_sigtest = TRUE;
- data->is_signed = TRUE;
+ if (data != NULL) {
+ data->done_sigtest = TRUE;
+ data->is_signed = TRUE;
+ }
return TRUE;
}
return TRUE;
}
@@
-421,12
+422,14
@@
static MimeInfo *pgpmime_decrypt(MimeInfo *mimeinfo)
data = pgpmime_new_privacydata();
decinfo->privacy = (PrivacyData *) data;
}
data = pgpmime_new_privacydata();
decinfo->privacy = (PrivacyData *) data;
}
- data->done_sigtest = TRUE;
- data->is_signed = TRUE;
- data->sigstatus = sigstat;
- if (data->ctx)
- gpgme_release(data->ctx);
- data->ctx = ctx;
+ if (data != NULL) {
+ data->done_sigtest = TRUE;
+ data->is_signed = TRUE;
+ data->sigstatus = sigstat;
+ if (data->ctx)
+ gpgme_release(data->ctx);
+ data->ctx = ctx;
+ }
} else
gpgme_release(ctx);
} else
gpgme_release(ctx);
@@
-578,6
+581,7
@@
gboolean pgpmime_sign(MimeInfo *mimeinfo, PrefsAccount *account, const gchar *fr
g_warning("sgpgme_data_release_and_get_mem failed");
privacy_set_error(_("Data signing failed, no contents."));
g_free(micalg);
g_warning("sgpgme_data_release_and_get_mem failed");
privacy_set_error(_("Data signing failed, no contents."));
g_free(micalg);
+ g_free(sigcontent);
return FALSE;
}
return FALSE;
}
@@
-588,12
+592,8
@@
gboolean pgpmime_sign(MimeInfo *mimeinfo, PrefsAccount *account, const gchar *fr
newinfo = procmime_mimeinfo_new();
newinfo->type = MIMETYPE_APPLICATION;
newinfo->subtype = g_strdup("pgp-signature");
newinfo = procmime_mimeinfo_new();
newinfo->type = MIMETYPE_APPLICATION;
newinfo->subtype = g_strdup("pgp-signature");
- g_hash_table_insert(newinfo->typeparameters, g_strdup("name"),
- g_strdup("signature.asc"));
+ newinfo->description = g_strdup(_("OpenPGP digital signature"));
newinfo->content = MIMECONTENT_MEM;
newinfo->content = MIMECONTENT_MEM;
- newinfo->disposition = DISPOSITIONTYPE_ATTACHMENT;
- g_hash_table_insert(newinfo->dispositionparameters, g_strdup("filename"),
- g_strdup("signature.asc"));
newinfo->data.mem = g_malloc(len + 1);
g_memmove(newinfo->data.mem, sigcontent, len);
newinfo->data.mem[len] = '\0';
newinfo->data.mem = g_malloc(len + 1);
g_memmove(newinfo->data.mem, sigcontent, len);
newinfo->data.mem[len] = '\0';
@@
-716,6
+716,7
@@
gboolean pgpmime_encrypt(MimeInfo *mimeinfo, const gchar *encrypt_data)
g_warning("sgpgme_data_release_and_get_mem failed");
privacy_set_error(_("Encryption failed, %s"), gpgme_strerror(err));
gpgme_release(ctx);
g_warning("sgpgme_data_release_and_get_mem failed");
privacy_set_error(_("Encryption failed, %s"), gpgme_strerror(err));
gpgme_release(ctx);
+ g_free(enccontent);
return FALSE;
}
return FALSE;
}