*
* 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.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
if ((err = gpgme_op_verify(ctx, sig, plain, dummy)) != GPG_ERR_NO_ERROR) {
debug_print("op_verify err %s\n", gpgme_strerror(err));
- return NULL;
+ return GINT_TO_POINTER(-GPG_ERR_SYSTEM_ERROR);
+
}
status = gpgme_op_verify_result(ctx);
unsigned long validity = 0;
gpgme_signature_t sig = NULL;
- if (status == NULL)
- return SIGNATURE_UNCHECKED;
+ if (GPOINTER_TO_INT(status) == -GPG_ERR_SYSTEM_ERROR) {
+ debug_print("system error\n");
+ return SIGNATURE_CHECK_FAILED;
+ }
+ if (status == NULL) {
+ debug_print("status == NULL\n");
+ return SIGNATURE_UNCHECKED;
+ }
sig = status->signatures;
- if (sig == NULL)
+ if (sig == NULL) {
+ debug_print("sig == NULL\n");
return SIGNATURE_UNCHECKED;
-
+ }
validity = sig->validity;
+ debug_print("err code %d\n", gpg_err_code(sig->status));
switch (gpg_err_code(sig->status)) {
case GPG_ERR_NO_ERROR:
if ((validity != GPGME_VALIDITY_MARGINAL) &&
gchar *sgpgme_sigstat_info_short(gpgme_ctx_t ctx, gpgme_verify_result_t status)
{
gpgme_signature_t sig = NULL;
- gpgme_user_id_t user = NULL;
gchar *uname = NULL;
gpgme_key_t key;
+ if (GPOINTER_TO_INT(status) == -GPG_ERR_SYSTEM_ERROR) {
+ return g_strdup(_("The signature can't be checked - GPG error."));
+ }
+
if (status == NULL) {
return g_strdup(_("The signature has not been checked."));
}
g_unlink(tmp_file);
g_free(tmp_file);
- debug_print("data %p (%d %d)\n", data, mimeinfo->offset, mimeinfo->length);
+ debug_print("data %p (%d %d)\n", (void *)&data, mimeinfo->offset, mimeinfo->length);
if (err) {
debug_print ("gpgme_data_new_from_file failed: %s\n",
- gpgme_strerror (err));
+ gpgme_strerror (err));
return NULL;
}
return data;