103 |
|
|
104 |
|
|
105 |
|
|
106 |
/* If the keyserver returned one than more key in a |
/* Show all received keys from the keyserver. */ |
|
keyblob, show the names of all imported keys. */ |
|
107 |
static void |
static void |
108 |
show_imported_keys (gpgme_import_result_t res) |
show_imported_keys (gpgme_import_result_t res) |
109 |
{ |
{ |
116 |
char *p; |
char *p; |
117 |
size_t n=0; |
size_t n=0; |
118 |
|
|
119 |
|
if (!res) |
120 |
|
return; |
121 |
|
|
122 |
err = gpgme_data_new (&msg); |
err = gpgme_data_new (&msg); |
123 |
if (err) |
if (err) |
124 |
BUG (NULL); |
BUG (NULL); |
125 |
err = gpgme_new (&ctx); |
err = gpgme_new (&ctx); |
126 |
if (err) |
if (err) |
127 |
BUG (NULL); |
BUG (NULL); |
128 |
s = _("WARNING: multiple keys matched request.\n\n"); |
if (res->considered > 1) { |
129 |
|
s = _("WARNING: multiple keys matched request.\n\n"); |
130 |
|
gpgme_data_write (msg, s, strlen (s)); |
131 |
|
} |
132 |
|
|
133 |
|
if (res->unchanged == res->considered) |
134 |
|
s = _("Key(s) successfully received but nothing was changed."); |
135 |
|
else |
136 |
|
s = _("Key(s) sucessfully received and imported."); |
137 |
gpgme_data_write (msg, s, strlen (s)); |
gpgme_data_write (msg, s, strlen (s)); |
138 |
|
gpgme_data_write (msg, "\n\n", 2); |
139 |
|
|
140 |
for (t=res->imports; t; t = t->next) { |
for (t=res->imports; t; t = t->next) { |
141 |
if (!gpgme_get_key (ctx, t->fpr, &key, 0)) { |
if (!gpgme_get_key (ctx, t->fpr, &key, 0)) { |
142 |
s = key->uids->uid; |
s = key->uids->uid; |
168 |
gpgme_error_t ec; |
gpgme_error_t ec; |
169 |
gpgme_import_result_t import_res = NULL; |
gpgme_import_result_t import_res = NULL; |
170 |
char *rawkey = NULL; |
char *rawkey = NULL; |
|
char msg[384]; |
|
171 |
int rc; |
int rc; |
172 |
|
|
173 |
/* XXX: implement dynamic buffers. */ |
/* XXX: implement dynamic buffers. */ |
225 |
/* if we use the refresh mode, a lot of keys will be fetched and thus only |
/* if we use the refresh mode, a lot of keys will be fetched and thus only |
226 |
a summarize at the end is presented and not for each key. */ |
a summarize at the end is presented and not for each key. */ |
227 |
if (!(flags & KM_KS_REFRESH)) { |
if (!(flags & KM_KS_REFRESH)) { |
228 |
if (import_res && import_res->considered > 1) |
show_imported_keys (import_res); |
|
show_imported_keys (import_res); |
|
229 |
if (import_res && import_res->unchanged == import_res->considered) { |
if (import_res && import_res->unchanged == import_res->considered) { |
230 |
_snprintf (msg, DIM (msg)-1, |
rc = WPTERR_GENERAL; /* no keys updated. */ |
|
_("Key '%s' successfully received but nothing was changed."), pattern ); |
|
|
status_box (dlg, msg, _("GnuPG Status")); |
|
|
rc = WPTERR_GENERAL; |
|
231 |
goto leave; |
goto leave; |
232 |
} |
} |
|
_snprintf (msg, DIM (msg)-1, _("Key '%s' sucessfully received and imported."), pattern); |
|
|
status_box (dlg, msg, _("GnuPG Status")); |
|
233 |
} |
} |
234 |
|
|
235 |
leave: |
leave: |
236 |
free_if_alloc (rawkey); |
free_if_alloc (rawkey); |
237 |
gpgme_release (ctx); |
gpgme_release (ctx); |