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

Diff of /trunk/Src/WinPT.cpp

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

revision 218 by twoaday, Wed May 24 07:53:24 2006 UTC revision 255 by twoaday, Tue Aug 1 16:37:23 2006 UTC
# Line 58  char gpgver[3]; Line 58  char gpgver[3];
58    
59    
60  /* Load the key cache and rebuild the signature cache. */  /* Load the key cache and rebuild the signature cache. */
61  void  int
62  update_keycache (HWND hwnd)  update_keycache (HWND hwnd)
63  {  {
64        int err;
65    
66      refresh_cache_s rcs = {0};      refresh_cache_s rcs = {0};
67      rcs.kr_reload = 0;      rcs.kr_reload = 0;
68      rcs.kr_update = 1;      rcs.kr_update = 1;
69      rcs.tr_update = 1;      rcs.tr_update = 1;
70      DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_KEYCACHE, hwnd,      err = DialogBoxParam (glob_hinst, (LPCSTR)IDD_WINPT_KEYCACHE, hwnd,
71                      keycache_dlg_proc, (LPARAM)&rcs);                      keycache_dlg_proc, (LPARAM)&rcs);
72      /* XXX: the dialog return 0 when an error occurs.      if (err) {
73              in this case figure out if the gpg env is OK          char *cfg = get_gnupg_config ();
74              and supress dialogs to configure gpg. */          if (cfg && check_gnupg_options (cfg, 0) == WPTERR_FILE_EXIST)
75                msg_box (NULL, _("The gpg.conf contains at least one argument which points to a non-existing file."), "WinPT", MB_ERR);
76            free_if_alloc (cfg);
77            return -1;
78        }
79        return 0;
80  }  }
81    
82    
# Line 293  check_crypto_engine (void) Line 300  check_crypto_engine (void)
300     do not show any errors. */     do not show any errors. */
301  static int  static int
302  load_keyserver_conf (int quiet)  load_keyserver_conf (int quiet)
303  {  {    
     char *buf;  
304      const char *t, *conf;      const char *t, *conf;
305        char *buf;
306      int rc;      int rc;
307    
308      /* Create $APPDATA\winpt if needed. */      /* Create $APPDATA\winpt if needed. */
# Line 448  WinMain (HINSTANCE hinst, HINSTANCE hpre Line 455  WinMain (HINSTANCE hinst, HINSTANCE hpre
455      HACCEL accel_tab;      HACCEL accel_tab;
456      MSG msg;      MSG msg;
457      HWND hwnd = NULL;      HWND hwnd = NULL;
458      /*WORD ver[3], ptdver[4];*/      WORD ver[3], ptdver[4];
459        const char *s;
460      int rc, ec, created = 0;      int rc, ec, created = 0;
461      int first_start = 0, start_gpgprefs = 0;      int first_start = 0, start_gpgprefs = 0;
462      int winpt_inst_found = 0;      int winpt_inst_found = 0;
463      int start_manager = 0;      int start_manager = 0;    
     const char *s;  
464    
465      glob_hinst = hinst;      glob_hinst = hinst;
466      if (cmdline && stristr (cmdline, "--stop")) {      if (cmdline && stristr (cmdline, "--stop")) {
# Line 468  WinMain (HINSTANCE hinst, HINSTANCE hpre Line 475  WinMain (HINSTANCE hinst, HINSTANCE hpre
475      debug = 1;      debug = 1;
476      #endif      #endif
477    
     /* XXX  
478      get_file_version ("WinPT.exe", &ver[0], &ver[1], &ver[2], &ver[3]);      get_file_version ("WinPT.exe", &ver[0], &ver[1], &ver[2], &ver[3]);
479      get_file_version ("PTD.dll", &ptdver[0], &ptdver[1],      ec = get_file_version ("PTD.dll", &ptdver[0], &ptdver[1],
480                                   &ptdver[2], &ptdver[3]);                                   &ptdver[2], &ptdver[3]);
481            
482      if (ptdver[0] != ver[0] || ptdver[1] != ver[1]|| ptdver[2] != ver[2]) {      if (!ec && (ptdver[0] != ver[0] || ptdver[1] != ver[1]|| ptdver[2] != ver[2])) {
483          log_box (_("WinPT Error"), MB_ERR,          log_box (_("WinPT Error"), MB_ERR,
484                   _("The PTD.dll file has a different version than WinPT.exe\n"                   _("The PTD.dll file has a different version than WinPT.exe\n"
485                     "Please update the PTD.dll to version %d.%d.%d"),                     "Please update the PTD.dll to version %d.%d.%d"),
486                     ver[0], ver[1], ver[2]);                     ver[0], ver[1], ver[2]);
487          return 0;          return 0;
488      }      }
     */  
489    
490      if (gpg_md_selftest ()) {      if (gpg_md_selftest ()) {
491          msg_box (NULL, _("Cryptographic selftest failed."),          msg_box (NULL, _("Cryptographic selftest failed."),
# Line 558  WinMain (HINSTANCE hinst, HINSTANCE hpre Line 563  WinMain (HINSTANCE hinst, HINSTANCE hpre
563              }              }
564          }          }
565          else {          else {
566              msg_box (NULL, _("GPG home directory could not be determited."),              msg_box (NULL, _("GPG home directory could not be determined."),
567                       _("WinPT Error"), MB_ERR);                       _("WinPT Error"), MB_ERR);
568              goto start;              goto start;
569          }          }
# Line 583  WinMain (HINSTANCE hinst, HINSTANCE hpre Line 588  WinMain (HINSTANCE hinst, HINSTANCE hpre
588              ec = msg_box (NULL,              ec = msg_box (NULL,
589                  _("Could not access and/or find the public and secret keyring.\n"                  _("Could not access and/or find the public and secret keyring.\n"
590                    "If this is an accident, quit the program and fix it.\n\n"                    "If this is an accident, quit the program and fix it.\n\n"
591                    "Continue if you want that WinPT offers you more choices.\n"),                    "Continue if you want WinPT to offer you more choices.\n"),
592                    "WinPT", MB_INFO|MB_YESNO);                    "WinPT", MB_INFO|MB_YESNO);
593              if (ec == IDYES)              if (ec == IDYES)
594                  first_start = 1;                  first_start = 1;
# Line 732  start: Line 737  start:
737          if (!check_crypto_engine ()) {          if (!check_crypto_engine ()) {
738              DestroyWindow (hwnd);              DestroyWindow (hwnd);
739              free_gnupg_table ();              free_gnupg_table ();
740                keycache_release (1);
741              return 0;              return 0;
742          }          }
743          if (!is_gpg4win_installed ()) {          if (!is_gpg4win_installed ()) {
# Line 741  start: Line 747  start:
747      }      }
748      else {      else {
749          gpg_keycache_t c, sec_c;          gpg_keycache_t c, sec_c;
750          update_keycache (hwnd);          if (update_keycache (hwnd)) {
751                DestroyWindow (hwnd);
752                free_gnupg_table ();
753                keycache_release (1);
754                return 0;
755            }
756          c = keycache_get_ctx (1);          c = keycache_get_ctx (1);
757          if (!c || !gpg_keycache_get_size (c)) {          if (!gpg_keycache_get_size (c)) {
             gnupg_display_error ();  
758              msg_box (hwnd, _("The keycache was not initialized or is empty.\n"              msg_box (hwnd, _("The keycache was not initialized or is empty.\n"
759                               "Please check your GPG config (keyrings, pathes...)"),                               "Please check your GPG config (keyrings, pathes...)"),
760                               _("WinPT Error"), MB_ERR);                               _("WinPT Error"), MB_ERR);
761              ec = msg_box (NULL, _("It seems that GPG is not set properly.\n"              ec = msg_box (NULL, _("It seems that GPG is not configured properly.\n"
762                                    "Do you want to start the GPG preferences dialog?"),                                    "Do you want to start the GPG preferences dialog?"),
763                              "WinPT", MB_INFO|MB_YESNO);                              "WinPT", MB_INFO|MB_YESNO);
764              if (ec == IDYES) {              if (ec == IDYES) {
# Line 759  start: Line 769  start:
769              else {              else {
770                  DestroyWindow (hwnd);                  DestroyWindow (hwnd);
771                  free_gnupg_table ();                  free_gnupg_table ();
772                    keycache_release (1);
773                  return 0;                  return 0;
774              }              }
775          }          }

Legend:
Removed from v.218  
changed lines
  Added in v.255

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26