Save Key now prompts before overwriting an existing file
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 20 Oct 2000 09:41:13 +0000 (09:41 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 20 Oct 2000 09:41:13 +0000 (09:41 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@719 cda61777-01e9-0310-a592-d414129be87e

puttygen.c

index 6a72121..aea9ffe 100644 (file)
@@ -22,7 +22,6 @@
 
 /*
  * TODO:
- *  - prompt before overwriting an existing file
  *  - check the return value from saversakey()
  *  - test the generated keys for actual working-RSA-key-hood
  *  - variable key size
@@ -509,7 +508,18 @@ static int CALLBACK MainDlgProc (HWND hwnd, UINT msg,
                 }
                 if (prompt_keyfile(hwnd, "Save private key as:",
                                    filename, 1)) {
-                    /* FIXME: prompt before overwriting */
+                   FILE *fp = fopen(filename, "r");
+                   if (fp) {
+                       int ret;
+                       char buffer[FILENAME_MAX+80];
+                       fclose(fp);
+                       sprintf(buffer, "Overwrite existing file\n%.*s?",
+                               FILENAME_MAX, filename);
+                       ret = MessageBox(hwnd, buffer, "PuTTYgen Warning",
+                                        MB_YESNO | MB_ICONWARNING);
+                       if (ret != IDYES)
+                           break;
+                   }
                     saversakey(filename, &state->key, &state->aux,
                                *passphrase ? passphrase : NULL);
                     /* FIXME: check return value */