Fix/bludgeon Mac compile wrinkles.
[sgt/putty] / sshdes.c
index 6ea32a1..fa5d91c 100644 (file)
--- a/sshdes.c
+++ b/sshdes.c
@@ -942,9 +942,12 @@ static const struct ssh2_cipher ssh_3des_ssh2 = {
 };
 
 /*
- * Single DES in ssh2. It isn't clear that "des-cbc" is an official
- * cipher name, but ssh.com support it and apparently aren't the
- * only people to do so, so we sigh and implement it anyway.
+ * Single DES in ssh2. "des-cbc" is marked as HISTORIC in
+ * draft-ietf-secsh-assignednumbers-04.txt, referring to
+ * FIPS-46-3.  ("Single DES (i.e., DES) will be permitted 
+ * for legacy systems only.") , but ssh.com support it and 
+ * apparently aren't the only people to do so, so we sigh 
+ * and implement it anyway.
  */
 static const struct ssh2_cipher ssh_des_ssh2 = {
     des_make_context, des3_free_context, des3_iv, des_key,
@@ -953,6 +956,13 @@ static const struct ssh2_cipher ssh_des_ssh2 = {
     8, 56, "single-DES"
 };
 
+static const struct ssh2_cipher ssh_des_sshcom_ssh2 = {
+    des_make_context, des3_free_context, des3_iv, des_key,
+    des_ssh2_encrypt_blk, des_ssh2_decrypt_blk,
+    "des-cbc@ssh.com",
+    8, 56, "single-DES"
+};
+
 static const struct ssh2_cipher *const des3_list[] = {
     &ssh_3des_ssh2
 };
@@ -963,11 +973,12 @@ const struct ssh2_ciphers ssh2_3des = {
 };
 
 static const struct ssh2_cipher *const des_list[] = {
-    &ssh_des_ssh2
+    &ssh_des_ssh2,
+    &ssh_des_sshcom_ssh2
 };
 
 const struct ssh2_ciphers ssh2_des = {
-    sizeof(des3_list) / sizeof(*des_list),
+    sizeof(des_list) / sizeof(*des_list),
     des_list
 };