filename_free(fn);
return NULL;
}
+ } else {
+ /*
+ * If we've successfully loaded the file, stop here - we
+ * already have a key blob and need not go to the agent to
+ * list things.
+ */
+ key_in.ssh_version = 1;
+ key_in.comment = NULL;
+ key_ret = pageant_pubkey_copy(&key_in);
+ sfree(key_in.blob);
+ filename_free(fn);
+ return key_ret;
}
-
- /*
- * If we've successfully loaded the file, stop here - we
- * already have a key blob and need not go to the agent to
- * list things.
- */
- key_in.ssh_version = 1;
- key_in.comment = NULL;
- key_ret = pageant_pubkey_copy(&key_in);
- sfree(key_in.blob);
- filename_free(fn);
- return key_ret;
} else if (keytype == SSH_KEYTYPE_SSH2 ||
keytype == SSH_KEYTYPE_SSH2_PUBLIC_RFC4716 ||
keytype == SSH_KEYTYPE_SSH2_PUBLIC_OPENSSH) {
filename_free(fn);
return NULL;
}
+ } else {
+ /*
+ * If we've successfully loaded the file, stop here - we
+ * already have a key blob and need not go to the agent to
+ * list things.
+ */
+ key_in.ssh_version = 2;
+ key_in.comment = NULL;
+ key_ret = pageant_pubkey_copy(&key_in);
+ sfree(key_in.blob);
+ filename_free(fn);
+ return key_ret;
}
-
- /*
- * If we've successfully loaded the file, stop here - we
- * already have a key blob and need not go to the agent to
- * list things.
- */
- key_in.ssh_version = 2;
- key_in.comment = NULL;
- key_ret = pageant_pubkey_copy(&key_in);
- sfree(key_in.blob);
- filename_free(fn);
- return key_ret;
} else {
if (file_errors) {
*retstr = dupprintf("unable to load key file '%s': %s",