/[winpt]/trunk/Src/wptClipVerifyDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptClipVerifyDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 40 by werner, Thu Oct 27 15:25:13 2005 UTC revision 41 by twoaday, Fri Oct 28 07:15:26 2005 UTC
# Line 18  Line 18 
18   * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA   * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19   */   */
20    
 #ifdef HAVE_CONFIG_H  
 #include <config.h>  
 #endif  
   
 #include <windows.h>  
21  #include <windows.h>  #include <windows.h>
22    #include <time.h>
23    
24  #include "../resource.h"  #include "../resource.h"
25  #include "wptGPG.h"  #include "wptGPG.h"
# Line 149  clip_verify_dlg_proc (HWND dlg, UINT msg Line 145  clip_verify_dlg_proc (HWND dlg, UINT msg
145      gpgme_signature_t sig = NULL, s;      gpgme_signature_t sig = NULL, s;
146      gpg_keycache_t kc = NULL;      gpg_keycache_t kc = NULL;
147      gpgme_ctx_t c=NULL;      gpgme_ctx_t c=NULL;
     char keyid[16+1];  
148      const char *det_data=NULL;      const char *det_data=NULL;
149      u16 port = HKP_PORT;      u16 port = HKP_PORT;
150      int rc = 0, det_len=0;      int rc = 0, det_len=0;
# Line 178  clip_verify_dlg_proc (HWND dlg, UINT msg Line 173  clip_verify_dlg_proc (HWND dlg, UINT msg
173          }          }
174    
175          if (gpgme_err_code (sig->status) == GPG_ERR_NO_PUBKEY) {          if (gpgme_err_code (sig->status) == GPG_ERR_NO_PUBKEY) {
176              const char * kserv;              const char *keyid;
177              const char *fpr = sig->fpr;              const char *kserv;
178              if (!fpr)              if (!sig->fpr)
179                  fpr = "0xDEADBEEF";                  BUG (NULL);
180              if (strlen (fpr) == 40)              if (strlen (sig->fpr) == 40)
181                  fpr += 32;                  keyid = sig->fpr+24;
182              else              else
183                  fpr += 24;                  keyid = sig->fpr+16;
184              rc = log_box (_("Verify"), MB_INFO|MB_YESNO,              rc = log_box (_("Verify"), MB_INFO|MB_YESNO,
185                            _("Signature made %s using %s key ID 0x%s\n"                            _("Signature made %s using %s key ID 0x%s\n"
186                            "Cannot check signature: public key not found\n\n"                            "Cannot check signature: public key not found\n\n"
187                            "Do you want to try to retrieve the key from the keyserver?"),                            "Do you want to try to retrieve the key from the keyserver?"),
188                            strtimestamp (sig->timestamp),                            strtimestamp (sig->timestamp),
189                            get_key_pubalgo (sig->pubkey_algo), fpr);                            get_key_pubalgo (sig->pubkey_algo), keyid+8);
190              if (rc == IDNO) {              if (rc == IDNO) {
191                  msg_box (dlg, gpg_sigstat[GPGME_SIG_STAT_NOKEY], _("Verify"), MB_WARN);                  msg_box (dlg, gpg_sigstat[GPGME_SIG_STAT_NOKEY], _("Verify"), MB_WARN);
192                  gpgme_release (c);                  gpgme_release (c);
# Line 210  clip_verify_dlg_proc (HWND dlg, UINT msg Line 205  clip_verify_dlg_proc (HWND dlg, UINT msg
205                      port = default_keyserver_port;                      port = default_keyserver_port;
206                  }*/                  }*/
207              }              }
               
208              else {              else {
209                  kserv = default_keyserver;                  kserv = default_keyserver;
210                  port = default_keyserver_port;                  port = default_keyserver_port;
211              }              }
212              if (!hkp_recv_key (dlg, kserv, port, keyid, 0, 0)) {              if (!hkp_recv_key (dlg, kserv, port, keyid+8, 0, 0)) {
213                  keycache_reload (dlg);                  keycache_reload (dlg);
214                  kc = keycache_get_ctx (KEYCACHE_PUB);                  kc = keycache_get_ctx (KEYCACHE_PUB);
215                  if (!kc)                  if (!kc)
216                      BUG (dlg);                      BUG (dlg);
217              }              }
218          }          }
219          else if (gpgme_err_code (sig->status) == GPG_ERR_BAD_SIGNATURE && !sig->timestamp)          else if (gpgme_err_code (sig->status) == GPG_ERR_BAD_SIGNATURE &&
220                     !sig->timestamp)
221                   ;                   ;
222          else if (!sig->timestamp || !sig->validity) {          else if (!sig->timestamp || !sig->validity) {
223              msg_box (dlg, _("Invalid signature state."), _("Verify"), MB_ERR);              msg_box (dlg, _("Invalid signature state."), _("Verify"), MB_ERR);

Legend:
Removed from v.40  
changed lines
  Added in v.41

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26