35 |
#include "wptKeylist.h" |
#include "wptKeylist.h" |
36 |
#include "wptUTF8.h" |
#include "wptUTF8.h" |
37 |
#include "resource.h" |
#include "resource.h" |
38 |
|
#include "StringBuffer.h" |
39 |
|
|
40 |
bool is_seckey_available (gpgme_recipient_t rset); |
bool is_seckey_available (gpgme_recipient_t rset); |
41 |
char* get_pka_status (gpgme_signature_t sig); |
char* get_pka_status (gpgme_signature_t sig); |
47 |
get_key_userid (const char *keyid) |
get_key_userid (const char *keyid) |
48 |
{ |
{ |
49 |
winpt_key_s key; |
winpt_key_s key; |
50 |
const char *fmt, *userid; |
StringBuffer p; |
51 |
|
const char *userid; |
52 |
char *uid; |
char *uid; |
53 |
|
|
54 |
fmt = "\n \"%s\""; |
p = "\n "; |
55 |
memset (&key, 0, sizeof (key)); |
memset (&key, 0, sizeof (key)); |
56 |
if (winpt_get_pubkey (keyid, &key)) |
if (winpt_get_pubkey (keyid, &key)) |
57 |
userid = (_("user ID not found")); |
userid = (_("user ID not found")); |
58 |
else |
else |
59 |
userid = key.ext->uids->uid; |
userid = key.ext->uids->uid; |
60 |
uid = new char[strlen (userid) + strlen (fmt)+ 2]; |
p = p + "\"" + userid + "\""; |
61 |
if (!uid) |
|
|
BUG (NULL); |
|
|
sprintf (uid, fmt, userid); |
|
62 |
winpt_release_pubkey (&key); |
winpt_release_pubkey (&key); |
63 |
|
uid = p.getBufferCopy (); |
64 |
return uid; |
return uid; |
65 |
} |
} |
66 |
|
|
130 |
"*** Signer: %s (0x%s)\r\n" |
"*** Signer: %s (0x%s)\r\n" |
131 |
"*** BEGIN PGP DECRYPTED TEXT ***\r\n"); |
"*** BEGIN PGP DECRYPTED TEXT ***\r\n"); |
132 |
const char *foot = _("\r\n*** END PGP DECRYPTED TEXT ***"); |
const char *foot = _("\r\n*** END PGP DECRYPTED TEXT ***"); |
133 |
const char *s, *ver, *ot, *uid; |
const char *stat, *ot, *uid; |
134 |
char *p, *made; |
char made[128], ver[128]; |
135 |
|
char *p; |
136 |
|
|
137 |
if (winpt_get_pubkey (sig->fpr, &pk)) { |
if (winpt_get_pubkey (sig->fpr, &pk)) { |
138 |
uid = _("user ID not found"); |
uid = _("user ID not found"); |
143 |
ot = verify_get_key_ownertrust (pk.ctx->owner_trust, NULL); |
ot = verify_get_key_ownertrust (pk.ctx->owner_trust, NULL); |
144 |
} |
} |
145 |
|
|
146 |
made = m_strdup (strtimestamp (sig->timestamp)); |
if (!get_locale_timedate (sig->timestamp, made, DIM (made)-1)) |
147 |
ver = strtimestamp (time (NULL)); |
_snprintf (made, DIM (made)-1, "'unknown time'"); |
148 |
s = get_gpg_sigstat (sig->summary); |
if (!get_locale_timedate (time (NULL), ver, DIM (ver)-1)) |
149 |
p = new char[strlen (head) + strlen (s) + strlen (made) + |
_snprintf (ver, DIM (ver)-1, "'unknown time'"); |
150 |
|
stat = get_gpg_sigstat (sig->summary); |
151 |
|
p = new char[strlen (head) + strlen (stat) + strlen (made) + |
152 |
strlen (sig->fpr) + strlen (ot) + strlen (ver) + |
strlen (sig->fpr) + strlen (ot) + strlen (ver) + |
153 |
strlen (uid) + 1]; |
strlen (uid) + 1]; |
154 |
if (!p) |
if (!p) |
155 |
BUG (0); |
BUG (0); |
156 |
sprintf (p, head, made, ver, ot, s, uid, get_keyid_from_fpr (sig->fpr)); |
sprintf (p, head, made, ver, ot, stat, uid, get_keyid_from_fpr (sig->fpr)); |
157 |
*r_header = p; |
*r_header = p; |
158 |
*r_footer = m_strdup (foot); |
*r_footer = m_strdup (foot); |
|
free_if_alloc (made); |
|
159 |
} |
} |
160 |
|
|
161 |
|
|
166 |
winpt_key_s key; |
winpt_key_s key; |
167 |
const char *keyid, *uid; |
const char *keyid, *uid; |
168 |
const char *s; |
const char *s; |
169 |
char *pka_info = NULL; |
char *pka_info = NULL, timebuf[128]; |
170 |
int novalid = 0; |
int novalid = 0; |
171 |
|
|
172 |
assert (sig->fpr != NULL); |
assert (sig->fpr != NULL); |
182 |
uid = _("user ID not found"); |
uid = _("user ID not found"); |
183 |
} |
} |
184 |
|
|
185 |
|
if (!get_locale_timedate (sig->timestamp, timebuf, DIM (timebuf)-1)) |
186 |
|
_snprintf (timebuf, DIM (timebuf)-1, "'unknown time'"); |
187 |
|
|
188 |
pka_info = get_pka_status (sig); |
pka_info = get_pka_status (sig); |
189 |
log_box (_("Decrypt Verify"), novalid? MB_WARN : MB_OK, |
log_box (_("Decrypt Verify"), novalid? MB_WARN : MB_OK, |
190 |
_("%s\n" |
_("%s\n" |
193 |
"From \"%s\" using key ID 0x%s" |
"From \"%s\" using key ID 0x%s" |
194 |
"%s %s\n%s"), |
"%s %s\n%s"), |
195 |
s, get_gpg_sigstat (sig->summary), |
s, get_gpg_sigstat (sig->summary), |
196 |
strtimestamp (sig->timestamp), |
timebuf, uid, keyid, |
|
uid, keyid, |
|
197 |
novalid? "\nPrimary key fingerprint: " : "", |
novalid? "\nPrimary key fingerprint: " : "", |
198 |
novalid? get_key_fpr (key.ctx) : "", |
novalid? get_key_fpr (key.ctx) : "", |
199 |
pka_info? pka_info : "" |
pka_info? pka_info : "" |