]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - cmdgen.c
Remove an unused variable.
[PuTTY.git] / cmdgen.c
index aa03cb544bacebdf9069c307d2965528d97e9478..12e1ac9e19e31822e5d16f8095e982c21f37990b 100644 (file)
--- a/cmdgen.c
+++ b/cmdgen.c
@@ -91,7 +91,7 @@ static void no_progress(void *param, int action, int phase, int iprogress)
 {
 }
 
-void modalfatalbox(char *p, ...)
+void modalfatalbox(const char *p, ...)
 {
     va_list ap;
     fprintf(stderr, "FATAL ERROR: ");
@@ -102,7 +102,7 @@ void modalfatalbox(char *p, ...)
     cleanup_exit(1);
 }
 
-void nonfatal(char *p, ...)
+void nonfatal(const char *p, ...)
 {
     va_list ap;
     fprintf(stderr, "ERROR: ");
@@ -152,7 +152,8 @@ void help(void)
     showversion();
     usage(FALSE);
     fprintf(stderr,
-           "  -t    specify key type when generating (rsa, dsa, rsa1)\n"
+           "  -t    specify key type when generating (ed25519, ecdsa, rsa, "
+                                                       "dsa, rsa1)\n"
            "  -b    specify number of bits when generating key\n"
            "  -C    change or specify key comment\n"
            "  -P    change key passphrase\n"
@@ -192,27 +193,6 @@ static int move(char *from, char *to)
     return TRUE;
 }
 
-static char *blobfp(char *alg, int bits, unsigned char *blob, int bloblen)
-{
-    char buffer[128];
-    unsigned char digest[16];
-    struct MD5Context md5c;
-    int i;
-
-    MD5Init(&md5c);
-    MD5Update(&md5c, blob, bloblen);
-    MD5Final(digest, &md5c);
-
-    sprintf(buffer, "%s ", alg);
-    if (bits > 0)
-       sprintf(buffer + strlen(buffer), "%d ", bits);
-    for (i = 0; i < 16; i++)
-       sprintf(buffer + strlen(buffer), "%s%02x", i ? ":" : "",
-               digest[i]);
-
-    return dupstr(buffer);
-}
-
 int main(int argc, char **argv)
 {
     char *infile = NULL;
@@ -680,13 +660,7 @@ int main(int argc, char **argv)
             ec_generate(ec, bits, progressfn, &prog);
             ssh2key = snew(struct ssh2_userkey);
             ssh2key->data = ec;
-            if (bits == 256) {
-                ssh2key->alg = &ssh_ecdsa_nistp256;
-            } else if (bits == 384) {
-                ssh2key->alg = &ssh_ecdsa_nistp384;
-            } else {
-                ssh2key->alg = &ssh_ecdsa_nistp521;
-            }
+            ssh2key->alg = ec->signalg;
             ssh1key = NULL;
         } else if (keytype == ED25519) {
             struct ec_key *ec = snew(struct ec_key);
@@ -807,10 +781,12 @@ int main(int argc, char **argv)
                 if (ssh2blob) {
                     ssh2algf = find_pubkey_alg(ssh2alg);
                     if (ssh2algf)
-                        bits = ssh2algf->pubkey_bits(ssh2blob, ssh2bloblen);
+                        bits = ssh2algf->pubkey_bits(ssh2algf,
+                                                     ssh2blob, ssh2bloblen);
                     else
                         bits = -1;
                 }
+                sfree(ssh2alg);
            } else {
                ssh2key = ssh2_load_userkey(infilename, passphrase, &error);
            }
@@ -980,10 +956,11 @@ int main(int argc, char **argv)
                rsa_fingerprint(fingerprint, 128, ssh1key);
            } else {
                if (ssh2key) {
-                   fingerprint = ssh2key->alg->fingerprint(ssh2key->data);
+                   fingerprint = ssh2_fingerprint(ssh2key->alg,
+                                                   ssh2key->data);
                } else {
                    assert(ssh2blob);
-                   fingerprint = blobfp(ssh2alg, bits, ssh2blob, ssh2bloblen);
+                   fingerprint = ssh2_fingerprint_blob(ssh2blob, ssh2bloblen);
                }
            }