if (action < PROGFN_READY && p->nphases < phase)
p->nphases = phase;
switch (action) {
+ case PROGFN_INITIALISE:
+ p->nphases = 0;
+ break;
case PROGFN_LIN_PHASE:
p->phases[phase-1].exponential = 0;
p->phases[phase-1].mult = p->phases[phase].total / progress;
struct progress prog;
prog.progbar = params->progressbar;
+ progress_update(&prog, PROGFN_INITIALISE, 0, 0);
+
if (params->is_dsa)
dsa_generate(params->dsskey, params->keysize, progress_update, &prog);
else
return 1;
}
+/*
+ * Warn about the obsolescent key file format.
+ */
+void old_keyfile_warning(void)
+{
+ static const char mbtitle[] = "PuTTY Key File Warning";
+ static const char message[] =
+ "You are loading an SSH 2 private key which has an\n"
+ "old version of the file format. This means your key\n"
+ "file is not fully tamperproof. Future versions of\n"
+ "PuTTY may stop supporting this private key format,\n"
+ "so we recommend you convert your key to the new\n"
+ "format.\n"
+ "\n"
+ "Once the key is loaded into PuTTYgen, you can perform\n"
+ "this conversion simply by saving it again.";
+
+ MessageBox(NULL, message, mbtitle, MB_OK);
+}
+
static int save_ssh2_pubkey(char *filename, struct ssh2_userkey *key)
{
unsigned char *pub_blob;