133 |
} |
} |
134 |
|
|
135 |
|
|
136 |
|
static void |
137 |
|
set_info_fields (HWND dlg, gpgme_data_t text) |
138 |
|
{ |
139 |
|
gpgme_data_t in; |
140 |
|
char date[64], buf[256], *p; |
141 |
|
time_t t = time (NULL); |
142 |
|
int n; |
143 |
|
|
144 |
|
strncpy (date, ctime (&t), sizeof (date)-1); |
145 |
|
date[strlen (date)-1]=0; |
146 |
|
|
147 |
|
_snprintf (buf, sizeof (buf)-1, "BEGIN PGP SIGNED MESSAGE [%s]", date); |
148 |
|
SetDlgItemText (dlg, IDC_VERIFY_BEGININF, buf); |
149 |
|
_snprintf (buf, sizeof (buf)-1, "END PGP SIGNED MESSAGE [%s]", date); |
150 |
|
SetDlgItemText (dlg, IDC_VERIFY_ENDINF, buf); |
151 |
|
|
152 |
|
if (!text) |
153 |
|
return; |
154 |
|
|
155 |
|
gpgme_data_rewind (text); |
156 |
|
gpgme_data_new (&in); |
157 |
|
for (;;) { |
158 |
|
n = gpgme_data_read (text, buf, sizeof (buf)-1); |
159 |
|
if (n < 1) |
160 |
|
break; |
161 |
|
gpgme_data_write (in, buf, n); |
162 |
|
} |
163 |
|
gpgme_data_write (in, "\0", 1); |
164 |
|
p = gpgme_data_release_and_get_mem (in, &n); |
165 |
|
SetDlgItemText (dlg, IDC_VERIFY_SIGTEXT, p); |
166 |
|
gpgme_free (p); |
167 |
|
} |
168 |
|
|
169 |
|
|
170 |
/* Dialog box procedure for the verify process. */ |
/* Dialog box procedure for the verify process. */ |
171 |
BOOL CALLBACK |
BOOL CALLBACK |
172 |
verify_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
verify_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) |
173 |
{ |
{ |
174 |
gpgme_signature_t sig; |
verify_ctx_t ctx; |
175 |
|
|
176 |
switch (msg) { |
switch (msg) { |
177 |
case WM_INITDIALOG: |
case WM_INITDIALOG: |
178 |
sig = (gpgme_signature_t)lparam; |
ctx = (verify_ctx_t)lparam; |
179 |
assert (sig); |
assert (ctx); |
180 |
SetDlgItemText (dlg, IDOK, _("&OK")); |
SetDlgItemText (dlg, IDOK, _("&OK")); |
181 |
SetWindowText (dlg, _("Signature Verification")); |
SetWindowText (dlg, _("Signature Verification")); |
182 |
set_sig_info (dlg, sig); |
set_sig_info (dlg, ctx->sig); |
183 |
|
set_info_fields (dlg, ctx->text); |
184 |
SetForegroundWindow (dlg); |
SetForegroundWindow (dlg); |
185 |
break; |
break; |
186 |
|
|