Changeset View
Changeset View
Standalone View
Standalone View
b/src/gpafileverifyop.c
Context not available. | |||||
is_detached_sig (const gchar *filename, gchar **signature_file, | is_detached_sig (const gchar *filename, gchar **signature_file, | ||||
gchar **signed_file, GtkWidget *window) | gchar **signed_file, GtkWidget *window) | ||||
{ | { | ||||
const gchar *sig_extension[] = {".sig", ".sign"}; | const gchar *sig_extension[] = {".sig", ".asc", ".sign"}; | ||||
int i; | int i; | ||||
gchar *extension; | gchar *extension; | ||||
/* First, check whether this file is a dettached signature */ | |||||
/* First, check whether this file is a detached signature. */ | |||||
*signed_file = g_strdup (filename); | *signed_file = g_strdup (filename); | ||||
extension = g_strrstr (*signed_file, "."); | extension = g_strrstr (*signed_file, "."); | ||||
if (extension && | if (extension) | ||||
(g_str_equal (extension, ".sig") || | |||||
g_str_equal (extension, ".sign"))) | |||||
{ | { | ||||
*extension++ = '\0'; | for (i = 0; i < DIM (sig_extension); i++) | ||||
*signature_file = g_strdup (filename); | if (g_str_equal (extension, sig_extension[i])) | ||||
return TRUE; | { | ||||
*extension = '\0'; /* That makes SIGNED_FILE */ | |||||
if (g_file_test (*signed_file, G_FILE_TEST_EXISTS)) | |||||
{ | |||||
*signature_file = g_strdup (filename); | |||||
return TRUE; | |||||
} | |||||
g_free (*signed_file); | |||||
*signed_file = NULL; | |||||
return FALSE; /* signed file does not exist. */ | |||||
} | |||||
} | } | ||||
/* Now, check whether a dettached signature exists for this file */ | g_free (*signed_file); | ||||
else | *signed_file = NULL; | ||||
{ | |||||
g_free (*signed_file); | |||||
*signed_file = NULL; | |||||
for (i = 0; i < sizeof(sig_extension)/sizeof(sig_extension[0]); i++) | |||||
{ | |||||
gchar *sig = g_strconcat (filename, sig_extension[i], NULL); | |||||
if (g_file_test (sig, G_FILE_TEST_EXISTS) && | /* Now, check whether a detached signature exists for this file */ | ||||
ask_use_detached_sig (filename, sig, window)) | for (i = 0; i < DIM (sig_extension); i++) | ||||
{ | { | ||||
*signed_file = g_strdup (filename); | gchar *sig = g_strconcat (filename, sig_extension[i], NULL); | ||||
*signature_file = sig; | |||||
return TRUE; | if (g_file_test (sig, G_FILE_TEST_EXISTS) | ||||
} | && ask_use_detached_sig (filename, sig, window)) | ||||
else | { | ||||
{ | *signed_file = g_strdup (filename); | ||||
g_free (sig); | *signature_file = sig; | ||||
} | return TRUE; | ||||
} | } | ||||
g_free (sig); | |||||
return FALSE; | |||||
} | } | ||||
return FALSE; | |||||
} | } | ||||
static gboolean | static gboolean | ||||
Context not available. |