components/openssh/patches/024-disable_ed25519.patch
author Tomas Kuthan <tomas.kuthan@oracle.com>
Thu, 18 Jun 2015 07:01:42 -0700
changeset 4503 bf30d46ab06e
parent 4078 7cfcde36f97f
child 5025 bdd7dc7d2af4
permissions -rw-r--r--
PSARC/2015/179 OpenSSH 6.8 20919294 upgrade OpenSSH to 6.8p1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     1
#
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     2
# Per Solaris crypto team recommendation, we need to remove support for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     3
# Curve25519 from OpenSSH.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     4
#
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
     5
# Patch offered upstream but rejected:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     6
#     https://bugzilla.mindrot.org/show_bug.cgi?id=2376
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     7
#
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
     8
diff -pur old/Makefile.in new/Makefile.in
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
     9
--- old/Makefile.in	2015-05-12 06:57:55.737824435 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    10
+++ new/Makefile.in	2015-05-12 06:57:55.859410671 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    11
@@ -155,7 +155,7 @@ $(SSHDOBJS): Makefile.in config.h
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    12
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    13
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    14
 LIBCOMPAT=openbsd-compat/libopenbsd-compat.a
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    15
-$(LIBCOMPAT): always
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    16
+$(LIBCOMPAT): always libssh.a
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    17
 	(cd openbsd-compat && $(MAKE))
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    18
 always:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    19
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    20
diff -pur old/authfd.c new/authfd.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    21
--- old/authfd.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    22
+++ new/authfd.c	2015-05-12 06:57:55.860206664 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    23
@@ -569,8 +569,10 @@ ssh_add_identity_constrained(int sock, s
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    24
 	case KEY_ECDSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    25
 	case KEY_ECDSA_CERT:
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    26
 #endif
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    27
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    28
 	case KEY_ED25519:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    29
 	case KEY_ED25519_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    30
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    31
 		type = constrained ?
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    32
 		    SSH2_AGENTC_ADD_ID_CONSTRAINED :
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    33
 		    SSH2_AGENTC_ADD_IDENTITY;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    34
diff -pur old/authfile.c new/authfile.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    35
--- old/authfile.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    36
+++ new/authfile.c	2015-05-12 06:57:55.860669228 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    37
@@ -446,8 +446,10 @@ sshkey_load_private_cert(int type, const
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    38
 	case KEY_RSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    39
 	case KEY_DSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    40
 	case KEY_ECDSA:
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    41
-	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    42
 #endif /* WITH_OPENSSL */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    43
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    44
+	case KEY_ED25519:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    45
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    46
 	case KEY_UNSPEC:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    47
 		break;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    48
 	default:
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    49
diff -pur old/dns.c new/dns.c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    50
--- old/dns.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    51
+++ new/dns.c	2015-05-12 06:57:55.861065113 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    52
@@ -100,11 +100,13 @@ dns_read_key(u_int8_t *algorithm, u_int8
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    53
 		if (!*digest_type)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    54
 			*digest_type = SSHFP_HASH_SHA256;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    55
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    56
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    57
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    58
 		*algorithm = SSHFP_KEY_ED25519;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    59
 		if (!*digest_type)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    60
 			*digest_type = SSHFP_HASH_SHA256;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    61
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    62
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    63
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    64
 		*algorithm = SSHFP_KEY_RESERVED; /* 0 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    65
 		*digest_type = SSHFP_HASH_RESERVED; /* 0 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    66
diff -pur old/dns.h new/dns.h
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    67
--- old/dns.h	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    68
+++ new/dns.h	2015-05-12 06:57:55.861358245 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    69
@@ -33,7 +33,9 @@ enum sshfp_types {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    70
 	SSHFP_KEY_RSA = 1,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    71
 	SSHFP_KEY_DSA = 2,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    72
 	SSHFP_KEY_ECDSA = 3,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    73
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    74
 	SSHFP_KEY_ED25519 = 4 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    75
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    76
 };
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    77
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    78
 enum sshfp_hashes {
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    79
diff -pur old/ed25519.c new/ed25519.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    80
--- old/ed25519.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    81
+++ new/ed25519.c	2015-05-12 06:57:55.861707517 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    82
@@ -7,6 +7,7 @@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    83
  */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    84
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    85
 #include "includes.h"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    86
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    87
 #include "crypto_api.h"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    88
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    89
 #include "ge25519.h"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    90
@@ -142,3 +143,4 @@ int crypto_sign_ed25519_open(
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    91
   }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    92
   return ret;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    93
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    94
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    95
diff -pur old/fe25519.c new/fe25519.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    96
--- old/fe25519.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    97
+++ new/fe25519.c	2015-05-12 06:57:55.862124169 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    98
@@ -8,6 +8,7 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
    99
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   100
 #include "includes.h"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   101
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   102
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   103
 #define WINDOWSIZE 1 /* Should be 1,2, or 4 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   104
 #define WINDOWMASK ((1<<WINDOWSIZE)-1)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   105
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   106
@@ -335,3 +336,4 @@ void fe25519_pow2523(fe25519 *r, const f
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   107
 	/* 2^252 - 2^2 */ fe25519_square(&t,&t);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   108
 	/* 2^252 - 3 */ fe25519_mul(r,&t,x);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   109
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   110
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   111
diff -pur old/fe25519.h new/fe25519.h
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   112
--- old/fe25519.h	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   113
+++ new/fe25519.h	2015-05-12 06:57:55.862460867 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   114
@@ -8,6 +8,7 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   115
 
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   116
 #ifndef FE25519_H
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   117
 #define FE25519_H
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   118
+#ifndef WITHOUT_ED25519
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   119
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   120
 #include "crypto_api.h"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   121
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   122
@@ -67,4 +68,5 @@ void fe25519_invert(fe25519 *r, const fe
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   123
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   124
 void fe25519_pow2523(fe25519 *r, const fe25519 *x);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   125
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   126
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   127
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   128
diff -pur old/ge25519.c new/ge25519.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   129
--- old/ge25519.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   130
+++ new/ge25519.c	2015-05-12 06:57:55.862878000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   131
@@ -7,6 +7,7 @@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   132
  */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   133
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   134
 #include "includes.h"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   135
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   136
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   137
 #include "fe25519.h"
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   138
 #include "sc25519.h"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   139
@@ -319,3 +320,4 @@ void ge25519_scalarmult_base(ge25519_p3
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   140
     ge25519_mixadd2(r, &t);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   141
   }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   142
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   143
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   144
diff -pur old/ge25519.h new/ge25519.h
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   145
--- old/ge25519.h	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   146
+++ new/ge25519.h	2015-05-12 06:57:55.863212105 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   147
@@ -8,6 +8,7 @@
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   148
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   149
 #ifndef GE25519_H
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   150
 #define GE25519_H
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   151
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   152
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   153
 #include "fe25519.h"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   154
 #include "sc25519.h"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   155
@@ -40,4 +41,5 @@ void ge25519_double_scalarmult_vartime(g
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   156
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   157
 void ge25519_scalarmult_base(ge25519 *r, const sc25519 *s);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   158
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   159
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   160
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   161
diff -pur old/kex.c new/kex.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   162
--- old/kex.c	2015-05-12 06:57:55.741193024 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   163
+++ new/kex.c	2015-05-12 07:00:10.308904895 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   164
@@ -96,9 +96,11 @@ static const struct kexalg kexalgs[] = {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   165
 # endif /* OPENSSL_HAS_NISTP521 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   166
 #endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   167
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   168
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   169
 #if defined(HAVE_EVP_SHA256) || !defined(WITH_OPENSSL)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   170
 	{ KEX_CURVE25519_SHA256, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 },
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   171
 #endif /* HAVE_EVP_SHA256 || !WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   172
+#endif /* WITHOUT_ED25519 */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   173
 #ifdef GSSAPI
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   174
 	{ KEX_GSS_GEX_SHA1_ID, KEX_GSS_GEX_SHA1, 0, SSH_DIGEST_SHA1 },
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   175
 	{ KEX_GSS_GRP1_SHA1_ID, KEX_GSS_GRP1_SHA1, 0, SSH_DIGEST_SHA1 },
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   176
diff -pur old/kex.h new/kex.h
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   177
--- old/kex.h	2015-05-12 06:57:55.741694192 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   178
+++ new/kex.h	2015-05-12 07:01:49.320801815 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   179
@@ -58,13 +58,17 @@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   180
 #define	KEX_ECDH_SHA2_NISTP256	"ecdh-sha2-nistp256"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   181
 #define	KEX_ECDH_SHA2_NISTP384	"ecdh-sha2-nistp384"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   182
 #define	KEX_ECDH_SHA2_NISTP521	"ecdh-sha2-nistp521"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   183
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   184
 #define	KEX_CURVE25519_SHA256	"[email protected]"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   185
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   186
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   187
 #define COMP_NONE	0
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   188
 #define COMP_ZLIB	1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   189
 #define COMP_DELAYED	2
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   190
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   191
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   192
 #define CURVE25519_SIZE 32
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   193
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   194
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   195
 enum kex_init_proposals {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   196
 	PROPOSAL_KEX_ALGS,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   197
@@ -92,7 +96,9 @@ enum kex_exchange {
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   198
 	KEX_DH_GEX_SHA1,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   199
 	KEX_DH_GEX_SHA256,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   200
 	KEX_ECDH_SHA2,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   201
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   202
 	KEX_C25519_SHA256,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   203
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   204
 	KEX_GSS_GRP1_SHA1,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   205
 	KEX_GSS_GRP14_SHA1,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   206
 	KEX_GSS_GEX_SHA1,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   207
@@ -160,8 +166,10 @@ struct kex {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   208
 	u_int	min, max, nbits;	/* GEX */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   209
 	EC_KEY	*ec_client_key;		/* ECDH */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   210
 	const EC_GROUP *ec_group;	/* ECDH */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   211
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   212
 	u_char c25519_client_key[CURVE25519_SIZE]; /* 25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   213
 	u_char c25519_client_pubkey[CURVE25519_SIZE]; /* 25519 */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   214
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   215
 };
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   216
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   217
 int	 kex_names_valid(const char *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   218
@@ -188,8 +196,10 @@ int	 kexgex_client(struct ssh *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   219
 int	 kexgex_server(struct ssh *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   220
 int	 kexecdh_client(struct ssh *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   221
 int	 kexecdh_server(struct ssh *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   222
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   223
 int	 kexc25519_client(struct ssh *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   224
 int	 kexc25519_server(struct ssh *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   225
+#endif /* WITHOUT_ED25519 */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   226
 #ifdef GSSAPI
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   227
 int	 kexgss_client(Kex *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   228
 void	 kexgss_server(Kex *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   229
@@ -210,6 +220,7 @@ int kex_ecdh_hash(int, const EC_GROUP *,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   230
     const u_char *, size_t, const u_char *, size_t, const u_char *, size_t,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   231
     const EC_POINT *, const EC_POINT *, const BIGNUM *, u_char *, size_t *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   232
 
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   233
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   234
 int	 kex_c25519_hash(int, const char *, const char *, const char *, size_t,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   235
     const char *, size_t, const u_char *, size_t, const u_char *, const u_char *,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   236
     const u_char *, size_t, u_char *, size_t *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   237
@@ -221,6 +232,7 @@ int	kexc25519_shared_key(const u_char ke
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   238
     const u_char pub[CURVE25519_SIZE], struct sshbuf *out)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   239
 	__attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE)))
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   240
 	__attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE)));
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   241
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   242
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   243
 int
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   244
 derive_ssh1_session_id(BIGNUM *, BIGNUM *, u_int8_t[8], u_int8_t[16]);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   245
diff -pur old/kexc25519.c new/kexc25519.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   246
--- old/kexc25519.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   247
+++ new/kexc25519.c	2015-05-12 06:57:55.865837542 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   248
@@ -27,6 +27,7 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   249
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   250
 #include "includes.h"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   251
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   252
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   253
 #include <sys/types.h>
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   254
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   255
 #include <signal.h>
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   256
@@ -126,3 +127,4 @@ kex_c25519_hash(
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   257
 #endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   258
 	return 0;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   259
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   260
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   261
diff -pur old/kexc25519c.c new/kexc25519c.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   262
--- old/kexc25519c.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   263
+++ new/kexc25519c.c	2015-05-12 06:57:55.866212606 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   264
@@ -27,6 +27,7 @@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   265
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   266
 #include "includes.h"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   267
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   268
+#ifndef WITHOUT_ED25519
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   269
 #include <sys/types.h>
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   270
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   271
 #include <stdio.h>
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   272
@@ -168,3 +169,4 @@ out:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   273
 	sshbuf_free(shared_secret);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   274
 	return r;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   275
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   276
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   277
diff -pur old/kexc25519s.c new/kexc25519s.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   278
--- old/kexc25519s.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   279
+++ new/kexc25519s.c	2015-05-12 06:57:55.866584623 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   280
@@ -26,6 +26,8 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   281
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   282
 #include "includes.h"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   283
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   284
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   285
+
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   286
 #include <sys/types.h>
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   287
 #include <string.h>
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   288
 #include <signal.h>
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   289
@@ -156,3 +158,4 @@ out:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   290
 	sshbuf_free(shared_secret);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   291
 	return r;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   292
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   293
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   294
diff -pur old/monitor.c new/monitor.c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   295
--- old/monitor.c	2015-05-12 06:57:55.743678816 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   296
+++ new/monitor.c	2015-05-12 07:02:27.111640142 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   297
@@ -1937,7 +1937,9 @@ monitor_apply_keystate(struct monitor *p
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   298
 		kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   299
 # endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   300
 #endif /* WITH_OPENSSL */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   301
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   302
 		kex->kex[KEX_C25519_SHA256] = kexc25519_server;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   303
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   304
 #ifdef GSSAPI
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   305
 		if (options.gss_keyex) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   306
 			kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   307
diff -pur old/myproposal.h new/myproposal.h
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   308
--- old/myproposal.h	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   309
+++ new/myproposal.h	2015-06-05 02:29:36.569958448 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   310
@@ -59,6 +59,20 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   311
 # define HOSTKEY_ECDSA_METHODS
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   312
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   313
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   314
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   315
+# if defined(WITH_OPENSSL) && defined(HAVE_EVP_SHA256)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   316
+#  define KEX_CURVE25519_METHODS "[email protected],"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   317
+# else
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   318
+#  define KEX_CURVE25519_METHODS
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   319
+# endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   320
+# define HOSTKEY_CURVE25519_CERT_METHODS "[email protected],"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   321
+# define HOSTKEY_CURVE25519_METHODS "ssh-ed25519,"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   322
+#else
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   323
+# define KEX_CURVE25519_METHODS
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   324
+# define HOSTKEY_CURVE25519_CERT_METHODS
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   325
+# define HOSTKEY_CURVE25519_METHODS
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   326
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   327
+
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   328
 #ifdef OPENSSL_HAVE_EVPGCM
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   329
 # define AESGCM_CIPHER_MODES \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   330
 	"[email protected],[email protected],"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   331
@@ -78,11 +92,6 @@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   332
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   333
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   334
 #ifdef WITH_OPENSSL
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   335
-# ifdef HAVE_EVP_SHA256
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   336
-#  define KEX_CURVE25519_METHODS "[email protected],"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   337
-# else
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   338
-#  define KEX_CURVE25519_METHODS ""
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   339
-# endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   340
 #define KEX_SERVER_KEX \
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   341
 	KEX_CURVE25519_METHODS \
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   342
 	KEX_ECDH_METHODS \
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   343
@@ -95,13 +104,13 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   344
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   345
 #define	KEX_DEFAULT_PK_ALG	\
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   346
 	HOSTKEY_ECDSA_CERT_METHODS \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   347
-	"[email protected]," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   348
+	HOSTKEY_CURVE25519_CERT_METHODS \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   349
 	"[email protected]," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   350
 	"[email protected]," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   351
 	"[email protected]," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   352
 	"[email protected]," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   353
 	HOSTKEY_ECDSA_METHODS \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   354
-	"ssh-ed25519," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   355
+	HOSTKEY_CURVE25519_METHODS \
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   356
 	"ssh-rsa," \
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   357
 	"ssh-dss"
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   358
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   359
@@ -143,10 +152,10 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   360
 #else
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   361
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   362
 #define KEX_SERVER_KEX		\
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   363
-	"[email protected]"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   364
+	KEX_CURVE25519_METHODS
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   365
 #define	KEX_DEFAULT_PK_ALG	\
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   366
-	"[email protected]," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   367
-	"ssh-ed25519"
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   368
+	HOSTKEY_CURVE25519_CERT_METHODS \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   369
+	HOSTKEY_CURVE25519_METHODS
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   370
 #define	KEX_SERVER_ENCRYPT \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   371
 	"aes128-ctr,aes192-ctr,aes256-ctr," \
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   372
 	"[email protected]"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   373
diff -pur old/openbsd-compat/Makefile.in new/openbsd-compat/Makefile.in
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   374
--- old/openbsd-compat/Makefile.in	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   375
+++ new/openbsd-compat/Makefile.in	2015-05-12 06:57:55.869383953 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   376
@@ -32,7 +32,7 @@ $(OPENBSD): ../config.h
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   377
 $(PORTS): ../config.h
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   378
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   379
 libopenbsd-compat.a:  $(COMPAT) $(OPENBSD) $(PORTS)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   380
-	$(AR) rv $@ $(COMPAT) $(OPENBSD) $(PORTS)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   381
+	$(AR) rv $@ $(COMPAT) $(OPENBSD) $(PORTS) ../hash.o ../blocks.o
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   382
 	$(RANLIB) $@
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   383
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   384
 clean:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   385
diff -pur old/pathnames.h new/pathnames.h
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   386
--- old/pathnames.h	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   387
+++ new/pathnames.h	2015-05-12 06:57:55.869773325 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   388
@@ -39,7 +39,9 @@
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   389
 #define _PATH_HOST_KEY_FILE		SSHDIR "/ssh_host_key"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   390
 #define _PATH_HOST_DSA_KEY_FILE		SSHDIR "/ssh_host_dsa_key"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   391
 #define _PATH_HOST_ECDSA_KEY_FILE	SSHDIR "/ssh_host_ecdsa_key"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   392
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   393
 #define _PATH_HOST_ED25519_KEY_FILE	SSHDIR "/ssh_host_ed25519_key"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   394
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   395
 #define _PATH_HOST_RSA_KEY_FILE		SSHDIR "/ssh_host_rsa_key"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   396
 #define _PATH_DH_MODULI			SSHDIR "/moduli"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   397
 /* Backwards compatibility */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   398
@@ -78,7 +80,9 @@
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   399
 #define _PATH_SSH_CLIENT_ID_DSA		_PATH_SSH_USER_DIR "/id_dsa"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   400
 #define _PATH_SSH_CLIENT_ID_ECDSA	_PATH_SSH_USER_DIR "/id_ecdsa"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   401
 #define _PATH_SSH_CLIENT_ID_RSA		_PATH_SSH_USER_DIR "/id_rsa"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   402
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   403
 #define _PATH_SSH_CLIENT_ID_ED25519	_PATH_SSH_USER_DIR "/id_ed25519"
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   404
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   405
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   406
 /*
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   407
  * Configuration file in user's home directory.  This file need not be
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   408
diff -pur old/readconf.c new/readconf.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   409
--- old/readconf.c	2015-05-12 06:57:55.746561528 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   410
+++ new/readconf.c	2015-05-12 06:57:55.870873194 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   411
@@ -1848,8 +1848,10 @@ fill_default_options(Options * options)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   412
 			add_identity_file(options, "~/",
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   413
 			    _PATH_SSH_CLIENT_ID_ECDSA, 0);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   414
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   415
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   416
 			add_identity_file(options, "~/",
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   417
 			    _PATH_SSH_CLIENT_ID_ED25519, 0);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   418
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   419
 		}
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   420
 	}
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   421
 	if (options->escape_char == -1)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   422
diff -pur old/servconf.c new/servconf.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   423
--- old/servconf.c	2015-05-12 06:57:55.748493685 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   424
+++ new/servconf.c	2015-05-12 06:57:55.872093181 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   425
@@ -216,8 +216,10 @@ fill_default_server_options(ServerOption
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   426
 			options->host_key_files[options->num_host_key_files++] =
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   427
 			    _PATH_HOST_ECDSA_KEY_FILE;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   428
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   429
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   430
 			options->host_key_files[options->num_host_key_files++] =
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   431
 			    _PATH_HOST_ED25519_KEY_FILE;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   432
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   433
 		}
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   434
 	}
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   435
 	/* No certificates by default */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   436
diff -pur old/smult_curve25519_ref.c new/smult_curve25519_ref.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   437
--- old/smult_curve25519_ref.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   438
+++ new/smult_curve25519_ref.c	2015-05-12 06:57:55.872682983 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   439
@@ -6,6 +6,8 @@ Public domain.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   440
 Derived from public domain code by D. J. Bernstein.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   441
 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   442
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   443
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   444
+
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   445
 int crypto_scalarmult_curve25519(unsigned char *, const unsigned char *, const unsigned char *);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   446
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   447
 static void add(unsigned int out[32],const unsigned int a[32],const unsigned int b[32])
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   448
@@ -263,3 +265,4 @@ int crypto_scalarmult_curve25519(unsigne
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   449
   for (i = 0;i < 32;++i) q[i] = work[64 + i];
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   450
   return 0;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   451
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   452
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   453
diff -pur old/ssh-add.0 new/ssh-add.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   454
--- old/ssh-add.0	2015-03-17 21:26:35.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   455
+++ new/ssh-add.0	2015-05-12 07:37:37.356166396 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   456
@@ -11,7 +11,7 @@ SYNOPSIS
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   457
 DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   458
      ssh-add adds private key identities to the authentication agent,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   459
      ssh-agent(1).  When run without arguments, it adds the files
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   460
-     ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   461
+     ~/.ssh/id_rsa, ~/.ssh/id_dsa, and
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   462
      ~/.ssh/identity.  After loading a private key, ssh-add will try to load
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   463
      corresponding certificate information from the filename obtained by
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   464
      appending -cert.pub to the name of the private key file.  Alternative
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   465
@@ -96,14 +96,6 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   466
              Contains the protocol version 2 DSA authentication identity of
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   467
              the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   468
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   469
-     ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   470
-             Contains the protocol version 2 ECDSA authentication identity of
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   471
-             the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   472
-
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   473
-     ~/.ssh/id_ed25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   474
-             Contains the protocol version 2 Ed25519 authentication identity
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   475
-             of the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   476
-
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   477
      ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   478
              Contains the protocol version 2 RSA authentication identity of
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   479
              the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   480
diff -pur old/ssh-add.1 new/ssh-add.1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   481
--- old/ssh-add.1	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   482
+++ new/ssh-add.1	2015-05-12 07:47:42.099918141 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   483
@@ -58,8 +58,6 @@ adds private key identities to the authe
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   484
 When run without arguments, it adds the files
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   485
 .Pa ~/.ssh/id_rsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   486
 .Pa ~/.ssh/id_dsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   487
-.Pa ~/.ssh/id_ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   488
-.Pa ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   489
 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   490
 .Pa ~/.ssh/identity .
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   491
 After loading a private key,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   492
@@ -177,10 +175,6 @@ socket used to communicate with the agen
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   493
 Contains the protocol version 1 RSA authentication identity of the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   494
 .It Pa ~/.ssh/id_dsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   495
 Contains the protocol version 2 DSA authentication identity of the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   496
-.It Pa ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   497
-Contains the protocol version 2 ECDSA authentication identity of the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   498
-.It Pa ~/.ssh/id_ed25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   499
-Contains the protocol version 2 Ed25519 authentication identity of the user.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   500
 .It Pa ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   501
 Contains the protocol version 2 RSA authentication identity of the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   502
 .El
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   503
diff -pur old/ssh-add.c new/ssh-add.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   504
--- old/ssh-add.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   505
+++ new/ssh-add.c	2015-05-12 06:57:55.873128238 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   506
@@ -78,7 +78,9 @@ static char *default_files[] = {
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   507
 	_PATH_SSH_CLIENT_ID_ECDSA,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   508
 #endif
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   509
 #endif /* WITH_OPENSSL */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   510
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   511
 	_PATH_SSH_CLIENT_ID_ED25519,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   512
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   513
 	_PATH_SSH_CLIENT_IDENTITY,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   514
 	NULL
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   515
 };
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   516
diff -pur old/ssh-agent.0 new/ssh-agent.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   517
--- old/ssh-agent.0	2015-03-17 21:26:35.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   518
+++ new/ssh-agent.0	2015-05-12 07:37:55.617194120 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   519
@@ -10,7 +10,7 @@ SYNOPSIS
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   520
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   521
 DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   522
      ssh-agent is a program to hold private keys used for public key
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   523
-     authentication (RSA, DSA, ECDSA, Ed25519).  ssh-agent is usually started
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   524
+     authentication (RSA, DSA).  ssh-agent is usually started
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   525
      in the beginning of an X-session or a login session, and all other
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   526
      windows or programs are started as clients to the ssh-agent program.
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   527
      Through use of environment variables the agent can be located and
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   528
diff -pur old/ssh-agent.1 new/ssh-agent.1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   529
--- old/ssh-agent.1	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   530
+++ new/ssh-agent.1	2015-05-12 07:47:53.707510271 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   531
@@ -54,7 +54,7 @@
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   532
 .Sh DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   533
 .Nm
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   534
 is a program to hold private keys used for public key authentication
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   535
-(RSA, DSA, ECDSA, Ed25519).
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   536
+(RSA, DSA).
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   537
 .Nm
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   538
 is usually started in the beginning of an X-session or a login session, and
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   539
 all other windows or programs are started as clients to the ssh-agent
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   540
diff -pur old/ssh-ed25519.c new/ssh-ed25519.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   541
--- old/ssh-ed25519.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   542
+++ new/ssh-ed25519.c	2015-05-12 06:57:55.873512963 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   543
@@ -17,6 +17,8 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   544
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   545
 #include "includes.h"
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   546
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   547
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   548
+
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   549
 #include <sys/types.h>
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   550
 #include <limits.h>
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   551
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   552
@@ -164,3 +166,4 @@ ssh_ed25519_verify(const struct sshkey *
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   553
 	free(ktype);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   554
 	return r;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   555
 }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   556
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   557
diff -pur old/ssh-keygen.0 new/ssh-keygen.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   558
--- old/ssh-keygen.0	2015-03-17 21:26:35.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   559
+++ new/ssh-keygen.0	2015-05-12 07:40:51.445122062 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   560
@@ -4,7 +4,7 @@ NAME
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   561
      ssh-keygen M-bM-^@M-^S authentication key generation, management and conversion
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   562
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   563
 SYNOPSIS
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   564
-     ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   565
+     ssh-keygen [-q] [-b bits] [-t dsa | rsa | rsa1]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   566
                 [-N new_passphrase] [-C comment] [-f output_keyfile]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   567
      ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   568
      ssh-keygen -i [-m key_format] [-f input_keyfile]
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   569
@@ -32,7 +32,7 @@ SYNOPSIS
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   570
 DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   571
      ssh-keygen generates, manages and converts authentication keys for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   572
      ssh(1).  ssh-keygen can create RSA keys for use by SSH protocol version 1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   573
-     and DSA, ECDSA, Ed25519 or RSA keys for use by SSH protocol version 2.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   574
+     and DSA or RSA keys for use by SSH protocol version 2.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   575
      The type of key to be generated is specified with the -t option.  If
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   576
      invoked without any arguments, ssh-keygen will generate an RSA key for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   577
      use in SSH protocol 2 connections.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   578
@@ -46,7 +46,7 @@ DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   579
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   580
      Normally each user wishing to use SSH with public key authentication runs
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   581
      this once to create the authentication key in ~/.ssh/identity,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   582
-     ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 or ~/.ssh/id_rsa.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   583
+     ~/.ssh/id_dsa or ~/.ssh/id_rsa.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   584
      Additionally, the system administrator may use this to generate host
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   585
      keys, as seen in /etc/rc.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   586
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   587
@@ -79,14 +79,14 @@ DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   588
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   589
      The options are as follows:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   590
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   591
-     -A      For each of the key types (rsa1, rsa, dsa, ecdsa and ed25519) for
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   592
+     -A      For each of the key types (rsa1, rsa and dsa) for
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   593
              which host keys do not exist, generate the host keys with the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   594
              default key file path, an empty passphrase, default bits for the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   595
              key type, and default comment.  This is used by /etc/rc to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   596
              generate new host keys.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   597
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   598
      -a rounds
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   599
-             When saving a new-format private key (i.e. an ed25519 key or any
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   600
+             When saving a new-format private key (i.e. 
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   601
              SSH protocol 2 key when the -o flag is set), this option
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   602
              specifies the number of KDF (key derivation function) rounds
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   603
              used.  Higher numbers result in slower passphrase verification
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   604
@@ -103,12 +103,7 @@ DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   605
              Specifies the number of bits in the key to create.  For RSA keys,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   606
              the minimum size is 768 bits and the default is 2048 bits.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   607
              Generally, 2048 bits is considered sufficient.  DSA keys must be
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   608
-             exactly 1024 bits as specified by FIPS 186-2.  For ECDSA keys,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   609
-             the -b flag determines the key length by selecting from one of
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   610
-             three elliptic curve sizes: 256, 384 or 521 bits.  Attempting to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   611
-             use bit lengths other than these three values for ECDSA keys will
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   612
-             fail.  Ed25519 keys have a fixed length and the -b flag will be
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   613
-             ignored.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   614
+             exactly 1024 bits as specified by FIPS 186-2.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   615
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   616
      -C comment
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   617
              Provides a new comment.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   618
@@ -279,7 +274,7 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   619
              new OpenSSH format rather than the more compatible PEM format.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   620
              The new format has increased resistance to brute-force password
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   621
              cracking but is not supported by versions of OpenSSH prior to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   622
-             6.5.  Ed25519 keys always use the new private key format.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   623
+             6.5.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   624
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   625
      -P passphrase
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   626
              Provides the (old) passphrase.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   627
@@ -318,9 +313,9 @@ DESCRIPTION
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   628
              Test DH group exchange candidate primes (generated using the -G
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   629
              option) for safety.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   630
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   631
-     -t dsa | ecdsa | ed25519 | rsa | rsa1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   632
+     -t dsa |  rsa | rsa1
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   633
              Specifies the type of key to create.  The possible values are
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   634
-             M-bM-^@M-^\rsa1M-bM-^@M-^] for protocol version 1 and M-bM-^@M-^\dsaM-bM-^@M-^], M-bM-^@M-^\ecdsaM-bM-^@M-^], M-bM-^@M-^\ed25519M-bM-^@M-^], or
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   635
+             M-bM-^@M-^\rsa1M-bM-^@M-^] for protocol version 1 and M-bM-^@M-^\dsaM-bM-^@M-^], or
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   636
              M-bM-^@M-^\rsaM-bM-^@M-^] for protocol version 2.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   637
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   638
      -u      Update a KRL.  When specified with -k, keys listed via the
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   639
@@ -525,10 +520,8 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   640
              contents of this file secret.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   641
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   642
      ~/.ssh/id_dsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   643
-     ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   644
-     ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   645
      ~/.ssh/id_rsa
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   646
-             Contains the protocol version 2 DSA, ECDSA, Ed25519 or RSA
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   647
+             Contains the protocol version 2 DSA or RSA
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   648
              authentication identity of the user.  This file should not be
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   649
              readable by anyone but the user.  It is possible to specify a
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   650
              passphrase when generating the key; that passphrase will be used
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   651
@@ -538,10 +531,8 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   652
              read this file when a login attempt is made.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   653
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   654
      ~/.ssh/id_dsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   655
-     ~/.ssh/id_ecdsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   656
-     ~/.ssh/id_ed25519.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   657
      ~/.ssh/id_rsa.pub
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   658
-             Contains the protocol version 2 DSA, ECDSA, Ed25519 or RSA public
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   659
+             Contains the protocol version 2 DSA or RSA public
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   660
              key for authentication.  The contents of this file should be
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   661
              added to ~/.ssh/authorized_keys on all machines where the user
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   662
              wishes to log in using public key authentication.  There is no
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   663
diff -pur old/ssh-keygen.1 new/ssh-keygen.1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   664
--- old/ssh-keygen.1	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   665
+++ new/ssh-keygen.1	2015-05-12 07:49:52.125219558 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   666
@@ -46,7 +46,7 @@
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   667
 .Nm ssh-keygen
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   668
 .Op Fl q
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   669
 .Op Fl b Ar bits
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   670
-.Op Fl t Cm dsa | ecdsa | ed25519 | rsa | rsa1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   671
+.Op Fl t Cm dsa | rsa | rsa1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   672
 .Op Fl N Ar new_passphrase
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   673
 .Op Fl C Ar comment
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   674
 .Op Fl f Ar output_keyfile
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   675
@@ -142,7 +142,7 @@ generates, manages and converts authenti
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   676
 .Xr ssh 1 .
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   677
 .Nm
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   678
 can create RSA keys for use by SSH protocol version 1 and
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   679
-DSA, ECDSA, Ed25519 or RSA keys for use by SSH protocol version 2.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   680
+DSA or RSA keys for use by SSH protocol version 2.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   681
 The type of key to be generated is specified with the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   682
 .Fl t
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   683
 option.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   684
@@ -170,8 +170,6 @@ with public key authentication runs this
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   685
 key in
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   686
 .Pa ~/.ssh/identity ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   687
 .Pa ~/.ssh/id_dsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   688
-.Pa ~/.ssh/id_ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   689
-.Pa ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   690
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   691
 .Pa ~/.ssh/id_rsa .
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   692
 Additionally, the system administrator may use this to generate host keys,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   693
@@ -219,7 +217,7 @@ should be placed to be activated.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   694
 The options are as follows:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   695
 .Bl -tag -width Ds
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   696
 .It Fl A
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   697
-For each of the key types (rsa1, rsa, dsa, ecdsa and ed25519)
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   698
+For each of the key types (rsa1, rsa and dsa)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   699
 for which host keys
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   700
 do not exist, generate the host keys with the default key file path,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   701
 an empty passphrase, default bits for the key type, and default comment.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   702
@@ -227,7 +225,7 @@ This is used by
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   703
 .Pa /etc/rc
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   704
 to generate new host keys.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   705
 .It Fl a Ar rounds
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   706
-When saving a new-format private key (i.e. an ed25519 key or any SSH protocol
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   707
+When saving a new-format private key (i.e. SSH protocol
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   708
 2 key when the
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   709
 .Fl o
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   710
 flag is set), this option specifies the number of KDF (key derivation function)
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   711
@@ -247,15 +245,6 @@ Specifies the number of bits in the key
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   712
 For RSA keys, the minimum size is 768 bits and the default is 2048 bits.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   713
 Generally, 2048 bits is considered sufficient.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   714
 DSA keys must be exactly 1024 bits as specified by FIPS 186-2.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   715
-For ECDSA keys, the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   716
-.Fl b
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   717
-flag determines the key length by selecting from one of three elliptic
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   718
-curve sizes: 256, 384 or 521 bits.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   719
-Attempting to use bit lengths other than these three values for ECDSA keys
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   720
-will fail.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   721
-Ed25519 keys have a fixed length and the
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   722
-.Fl b
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   723
-flag will be ignored.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   724
 .It Fl C Ar comment
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   725
 Provides a new comment.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   726
 .It Fl c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   727
@@ -478,7 +467,6 @@ to save SSH protocol 2 private keys usin
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   728
 the more compatible PEM format.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   729
 The new format has increased resistance to brute-force password cracking
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   730
 but is not supported by versions of OpenSSH prior to 6.5.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   731
-Ed25519 keys always use the new private key format.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   732
 .It Fl P Ar passphrase
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   733
 Provides the (old) passphrase.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   734
 .It Fl p
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   735
@@ -524,14 +512,12 @@ section for details.
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   736
 Test DH group exchange candidate primes (generated using the
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   737
 .Fl G
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   738
 option) for safety.
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   739
-.It Fl t Cm dsa | ecdsa | ed25519 | rsa | rsa1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   740
+.It Fl t Cm dsa | rsa | rsa1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   741
 Specifies the type of key to create.
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   742
 The possible values are
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   743
 .Dq rsa1
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   744
 for protocol version 1 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   745
 .Dq dsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   746
-.Dq ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   747
-.Dq ed25519 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   748
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   749
 .Dq rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   750
 for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   751
@@ -810,10 +796,8 @@ where the user wishes to log in using RS
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   752
 There is no need to keep the contents of this file secret.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   753
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   754
 .It Pa ~/.ssh/id_dsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   755
-.It Pa ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   756
-.It Pa ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   757
 .It Pa ~/.ssh/id_rsa
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   758
-Contains the protocol version 2 DSA, ECDSA, Ed25519 or RSA
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   759
+Contains the protocol version 2 DSA or RSA
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   760
 authentication identity of the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   761
 This file should not be readable by anyone but the user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   762
 It is possible to
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   763
@@ -826,10 +810,8 @@ but it is offered as the default file fo
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   764
 will read this file when a login attempt is made.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   765
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   766
 .It Pa ~/.ssh/id_dsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   767
-.It Pa ~/.ssh/id_ecdsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   768
-.It Pa ~/.ssh/id_ed25519.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   769
 .It Pa ~/.ssh/id_rsa.pub
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   770
-Contains the protocol version 2 DSA, ECDSA, Ed25519 or RSA
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   771
+Contains the protocol version 2 DSA or RSA
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   772
 public key for authentication.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   773
 The contents of this file should be added to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   774
 .Pa ~/.ssh/authorized_keys
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   775
diff -pur old/ssh-keygen.c new/ssh-keygen.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   776
--- old/ssh-keygen.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   777
+++ new/ssh-keygen.c	2015-05-12 06:57:55.874834232 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   778
@@ -214,7 +214,11 @@ type_bits_valid(int type, const char *na
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   779
 	}
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   780
 	if (type == KEY_DSA && *bitsp != 1024)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   781
 		fatal("DSA keys must be 1024 bits");
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   782
-	else if (type != KEY_ECDSA && type != KEY_ED25519 && *bitsp < 768)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   783
+	else if (type != KEY_ECDSA &&
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   784
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   785
+		 type != KEY_ED25519 &&
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   786
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   787
+		 *bitsp < 768)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   788
 		fatal("Key must at least be 768 bits");
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   789
 	else if (type == KEY_ECDSA && sshkey_ecdsa_bits_to_nid(*bitsp) == -1)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   790
 		fatal("Invalid ECDSA key length - valid lengths are "
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   791
@@ -251,10 +255,12 @@ ask_filename(struct passwd *pw, const ch
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   792
 		case KEY_RSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   793
 			name = _PATH_SSH_CLIENT_ID_RSA;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   794
 			break;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   795
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   796
 		case KEY_ED25519:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   797
 		case KEY_ED25519_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   798
 			name = _PATH_SSH_CLIENT_ID_ED25519;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   799
 			break;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   800
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   801
 		default:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   802
 			fprintf(stderr, "bad key type\n");
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   803
 			exit(1);
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   804
@@ -954,7 +960,9 @@ do_gen_all_hostkeys(struct passwd *pw)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   805
 #ifdef OPENSSL_HAS_ECC
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   806
 		{ "ecdsa", "ECDSA",_PATH_HOST_ECDSA_KEY_FILE },
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   807
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   808
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   809
 		{ "ed25519", "ED25519",_PATH_HOST_ED25519_KEY_FILE },
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   810
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   811
 		{ NULL, NULL, NULL }
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   812
 	};
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   813
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   814
@@ -1643,7 +1651,10 @@ do_ca_sign(struct passwd *pw, int argc,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   815
 			fatal("%s: unable to open \"%s\": %s",
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   816
 			    __func__, tmp, ssh_err(r));
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   817
 		if (public->type != KEY_RSA && public->type != KEY_DSA &&
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   818
-		    public->type != KEY_ECDSA && public->type != KEY_ED25519)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   819
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   820
+		    public->type != KEY_ED25519 && 
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   821
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   822
+		    public->type != KEY_ECDSA)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   823
 			fatal("%s: key \"%s\" type %s cannot be certified",
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   824
 			    __func__, tmp, sshkey_type(public));
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   825
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   826
@@ -2558,8 +2569,10 @@ main(int argc, char **argv)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   827
 			    _PATH_HOST_DSA_KEY_FILE, rr_hostname);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   828
 			n += do_print_resource_record(pw,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   829
 			    _PATH_HOST_ECDSA_KEY_FILE, rr_hostname);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   830
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   831
 			n += do_print_resource_record(pw,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   832
 			    _PATH_HOST_ED25519_KEY_FILE, rr_hostname);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   833
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   834
 			if (n == 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   835
 				fatal("no keys found.");
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   836
 			exit(0);
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   837
diff -pur old/ssh-keyscan.0 new/ssh-keyscan.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   838
--- old/ssh-keyscan.0	2015-03-17 21:26:35.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   839
+++ new/ssh-keyscan.0	2015-05-12 07:42:45.592281964 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   840
@@ -48,9 +48,9 @@ DESCRIPTION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   841
      -t type
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   842
              Specifies the type of the key to fetch from the scanned hosts.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   843
              The possible values are M-bM-^@M-^\rsa1M-bM-^@M-^] for protocol version 1 and M-bM-^@M-^\dsaM-bM-^@M-^],
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   844
-             M-bM-^@M-^\ecdsaM-bM-^@M-^], M-bM-^@M-^\ed25519M-bM-^@M-^], or M-bM-^@M-^\rsaM-bM-^@M-^] for protocol version 2.  Multiple
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   845
+             or M-bM-^@M-^\rsaM-bM-^@M-^] for protocol version 2.  Multiple
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   846
              values may be specified by separating them with commas.  The
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   847
-             default is to fetch M-bM-^@M-^\rsaM-bM-^@M-^], M-bM-^@M-^\ecdsaM-bM-^@M-^], and M-bM-^@M-^\ed25519M-bM-^@M-^] keys.
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   848
+             default is to fetch M-bM-^@M-^\rsaM-bM-^@M-^] keys.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   849
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   850
      -v      Verbose mode.  Causes ssh-keyscan to print debugging messages
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   851
              about its progress.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   852
@@ -72,12 +72,11 @@ FILES
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   853
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   854
      host-or-namelist bits exponent modulus
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   855
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   856
-     Output format for RSA, DSA, ECDSA, and Ed25519 keys:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   857
+     Output format for RSA, and DSA keys:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   858
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   859
      host-or-namelist keytype base64-encoded-key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   860
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   861
-     Where keytype is either M-bM-^@M-^\ecdsa-sha2-nistp256M-bM-^@M-^], M-bM-^@M-^\ecdsa-sha2-nistp384M-bM-^@M-^],
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   862
-     M-bM-^@M-^\ecdsa-sha2-nistp521M-bM-^@M-^], M-bM-^@M-^\ssh-ed25519M-bM-^@M-^], M-bM-^@M-^\ssh-dssM-bM-^@M-^] or M-bM-^@M-^\ssh-rsaM-bM-^@M-^].
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   863
+     Where keytype is either M-bM-^@M-^\ssh-dssM-bM-^@M-^] or M-bM-^@M-^\ssh-rsaM-bM-^@M-^].
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   864
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   865
      /etc/ssh/ssh_known_hosts
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   866
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   867
@@ -89,7 +88,7 @@ EXAMPLES
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   868
      Find all hosts from the file ssh_hosts which have new or different keys
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   869
      from those in the sorted file ssh_known_hosts:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   870
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   871
-     $ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f ssh_hosts | \
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   872
+     $ ssh-keyscan -t rsa,dsa -f ssh_hosts | \
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   873
              sort -u - ssh_known_hosts | diff ssh_known_hosts -
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   874
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   875
 SEE ALSO
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   876
diff -pur old/ssh-keyscan.1 new/ssh-keyscan.1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   877
--- old/ssh-keyscan.1	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   878
+++ new/ssh-keyscan.1	2015-05-12 07:50:53.173745820 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   879
@@ -90,18 +90,13 @@ Specifies the type of the key to fetch f
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   880
 The possible values are
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   881
 .Dq rsa1
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   882
 for protocol version 1 and
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   883
-.Dq dsa ,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   884
-.Dq ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   885
-.Dq ed25519 ,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   886
+.Dq dsa 
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   887
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   888
 .Dq rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   889
 for protocol version 2.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   890
 Multiple values may be specified by separating them with commas.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   891
 The default is to fetch
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   892
-.Dq rsa ,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   893
-.Dq ecdsa ,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   894
-and
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   895
-.Dq ed25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   896
+.Dq rsa 
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   897
 keys.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   898
 .It Fl v
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   899
 Verbose mode.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   900
@@ -130,7 +125,7 @@ Output format for RSA1 keys:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   901
 host-or-namelist bits exponent modulus
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   902
 .Ed
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   903
 .Pp
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   904
-Output format for RSA, DSA, ECDSA, and Ed25519 keys:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   905
+Output format for RSA and DSA keys:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   906
 .Bd -literal
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   907
 host-or-namelist keytype base64-encoded-key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   908
 .Ed
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   909
@@ -138,10 +133,6 @@ host-or-namelist keytype base64-encoded-
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   910
 Where
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   911
 .Ar keytype
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   912
 is either
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   913
-.Dq ecdsa-sha2-nistp256 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   914
-.Dq ecdsa-sha2-nistp384 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   915
-.Dq ecdsa-sha2-nistp521 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   916
-.Dq ssh-ed25519 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   917
 .Dq ssh-dss
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   918
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   919
 .Dq ssh-rsa .
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   920
@@ -159,7 +150,7 @@ Find all hosts from the file
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   921
 which have new or different keys from those in the sorted file
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   922
 .Pa ssh_known_hosts :
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   923
 .Bd -literal
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   924
-$ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f ssh_hosts | \e
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   925
+$ ssh-keyscan -t rsa,dsa -f ssh_hosts | \e
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   926
 	sort -u - ssh_known_hosts | diff ssh_known_hosts -
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   927
 .Ed
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   928
 .Sh SEE ALSO
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   929
diff -pur old/ssh-keyscan.c new/ssh-keyscan.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   930
--- old/ssh-keyscan.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   931
+++ new/ssh-keyscan.c	2015-05-12 06:57:55.875467494 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   932
@@ -286,7 +286,9 @@ keygrab_ssh2(con *c)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   933
 	c->c_ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_client;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   934
 # endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   935
 #endif
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   936
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   937
 	c->c_ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_client;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   938
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   939
 	ssh_set_verify_host_key_callback(c->c_ssh, key_print_wrapper);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   940
 	/*
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   941
 	 * do the key-exchange until an error occurs or until
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   942
@@ -609,10 +611,15 @@ do_host(char *host)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   943
 {
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   944
 	char *name = strnnsep(&host, " \t\n");
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   945
 	int j;
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   946
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   947
+	int max_kt = KT_ED25519;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   948
+#else
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   949
+	int max_kt = KT_ECDSA;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   950
+#endif /* WITHOUT_ED25519 */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   951
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   952
 	if (name == NULL)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   953
 		return;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   954
-	for (j = KT_RSA1; j <= KT_ED25519; j *= 2) {
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   955
+	for (j = KT_RSA1; j <= max_kt; j *= 2) {
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   956
 		if (get_keytypes & j) {
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   957
 			while (ncon >= MAXCON)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   958
 				conloop();
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   959
@@ -716,9 +723,11 @@ main(int argc, char **argv)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   960
 				case KEY_RSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   961
 					get_keytypes |= KT_RSA;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   962
 					break;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   963
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   964
 				case KEY_ED25519:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   965
 					get_keytypes |= KT_ED25519;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   966
 					break;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   967
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   968
 				case KEY_UNSPEC:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   969
 					fatal("unknown key type %s", tname);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   970
 				}
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   971
diff -pur old/ssh-keysign.0 new/ssh-keysign.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   972
--- old/ssh-keysign.0	2015-03-17 21:26:36.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   973
+++ new/ssh-keysign.0	2015-05-12 07:42:57.261187576 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   974
@@ -24,8 +24,6 @@ FILES
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   975
              Controls whether ssh-keysign is enabled.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   976
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   977
      /etc/ssh/ssh_host_dsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   978
-     /etc/ssh/ssh_host_ecdsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   979
-     /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   980
      /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   981
              These files contain the private parts of the host keys used to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   982
              generate the digital signature.  They should be owned by root,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   983
@@ -34,8 +32,6 @@ FILES
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   984
              host-based authentication is used.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   985
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   986
      /etc/ssh/ssh_host_dsa_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   987
-     /etc/ssh/ssh_host_ecdsa_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   988
-     /etc/ssh/ssh_host_ed25519_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   989
      /etc/ssh/ssh_host_rsa_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   990
              If these files exist they are assumed to contain public
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   991
              certificate information corresponding with the private keys
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   992
diff -pur old/ssh-keysign.8 new/ssh-keysign.8
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   993
--- old/ssh-keysign.8	2015-05-12 06:57:55.609219058 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
   994
+++ new/ssh-keysign.8	2015-05-12 07:52:35.880504667 -0700
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   995
@@ -62,8 +62,6 @@ Controls whether
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   996
 is enabled.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   997
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   998
 .It Pa /etc/ssh/ssh_host_dsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   999
-.It Pa /etc/ssh/ssh_host_ecdsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1000
-.It Pa /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1001
 .It Pa /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1002
 These files contain the private parts of the host keys used to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1003
 generate the digital signature.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1004
@@ -74,8 +72,6 @@ Since they are readable only by root,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1005
 must be set-uid root if host-based authentication is used.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1006
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1007
 .It Pa /etc/ssh/ssh_host_dsa_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1008
-.It Pa /etc/ssh/ssh_host_ecdsa_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1009
-.It Pa /etc/ssh/ssh_host_ed25519_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1010
 .It Pa /etc/ssh/ssh_host_rsa_key-cert.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1011
 If these files exist they are assumed to contain public certificate
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1012
 information corresponding with the private keys above.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1013
diff -pur old/ssh-keysign.c new/ssh-keysign.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1014
--- old/ssh-keysign.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1015
+++ new/ssh-keysign.c	2015-05-25 04:37:07.788045828 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1016
@@ -168,7 +168,7 @@ main(int argc, char **argv)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1017
 {
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1018
 	struct sshbuf *b;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1019
 	Options options;
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1020
-#define NUM_KEYTYPES 4
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1021
+#define NUM_KEYTYPES 3
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1022
 	struct sshkey *keys[NUM_KEYTYPES], *key = NULL;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1023
 	struct passwd *pw;
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1024
 	int r, key_fd[NUM_KEYTYPES], i, found, version = 2, fd;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1025
@@ -189,7 +189,9 @@ main(int argc, char **argv)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1026
 	i = 0;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1027
 	key_fd[i++] = open(_PATH_HOST_DSA_KEY_FILE, O_RDONLY);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1028
 	key_fd[i++] = open(_PATH_HOST_ECDSA_KEY_FILE, O_RDONLY);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1029
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1030
 	key_fd[i++] = open(_PATH_HOST_ED25519_KEY_FILE, O_RDONLY);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1031
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1032
 	key_fd[i++] = open(_PATH_HOST_RSA_KEY_FILE, O_RDONLY);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1033
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1034
 	original_real_uid = getuid();	/* XXX readconf.c needs this */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1035
diff -pur old/ssh.0 new/ssh.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1036
--- old/ssh.0	2015-03-17 21:26:35.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1037
+++ new/ssh.0	2015-05-12 07:44:32.393217723 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1038
@@ -141,8 +141,8 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1039
      -i identity_file
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1040
              Selects a file from which the identity (private key) for public
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1041
              key authentication is read.  The default is ~/.ssh/identity for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1042
-             protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1043
-             ~/.ssh/id_ed25519 and ~/.ssh/id_rsa for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1044
+             protocol version 1, and ~/.ssh/id_dsa
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1045
+             and ~/.ssh/id_rsa for protocol version 2.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1046
              Identity files may also be specified on a per-host basis in the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1047
              configuration file.  It is possible to have multiple -i options
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1048
              (and multiple identities specified in configuration files).  ssh
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1049
@@ -451,7 +451,7 @@ AUTHENTICATION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1050
      creates a public/private key pair for authentication purposes.  The
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1051
      server knows the public key, and only the user knows the private key.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1052
      ssh implements public key authentication protocol automatically, using
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1053
-     one of the DSA, ECDSA, Ed25519 or RSA algorithms.  Protocol 1 is
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1054
+     one of the DSA or RSA algorithms.  Protocol 1 is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1055
      restricted to using only RSA keys, but protocol 2 may use any.  The
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1056
      HISTORY section of ssl(8) contains a brief discussion of the DSA and RSA
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1057
      algorithms.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1058
@@ -464,11 +464,9 @@ AUTHENTICATION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1059
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1060
      The user creates his/her key pair by running ssh-keygen(1).  This stores
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1061
      the private key in ~/.ssh/identity (protocol 1), ~/.ssh/id_dsa (protocol
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1062
-     2 DSA), ~/.ssh/id_ecdsa (protocol 2 ECDSA), ~/.ssh/id_ed25519 (protocol 2
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1063
-     Ed25519), or ~/.ssh/id_rsa (protocol 2 RSA) and stores the public key in
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1064
-     ~/.ssh/identity.pub (protocol 1), ~/.ssh/id_dsa.pub (protocol 2 DSA),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1065
-     ~/.ssh/id_ecdsa.pub (protocol 2 ECDSA), ~/.ssh/id_ed25519.pub (protocol 2
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1066
-     Ed25519), or ~/.ssh/id_rsa.pub (protocol 2 RSA) in the user's home
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1067
+     2 DSA) or ~/.ssh/id_rsa (protocol 2 RSA) and stores the public key in
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1068
+     ~/.ssh/identity.pub (protocol 1), ~/.ssh/id_dsa.pub (protocol 2 DSA)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1069
+     or ~/.ssh/id_rsa.pub (protocol 2 RSA) in the user's home
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1070
      directory.  The user should then copy the public key to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1071
      ~/.ssh/authorized_keys in his/her home directory on the remote machine.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1072
      The authorized_keys file corresponds to the conventional ~/.rhosts file,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1073
@@ -804,7 +802,7 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1074
              for the user, and not accessible by others.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1075
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1076
      ~/.ssh/authorized_keys
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1077
-             Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1078
+             Lists the public keys (DSA, RSA) that can be used
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1079
              for logging in as this user.  The format of this file is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1080
              described in the sshd(8) manual page.  This file is not highly
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1081
              sensitive, but the recommended permissions are read/write for the
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1082
@@ -822,8 +820,6 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1083
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1084
      ~/.ssh/identity
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1085
      ~/.ssh/id_dsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1086
-     ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1087
-     ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1088
      ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1089
              Contains the private key for authentication.  These files contain
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1090
              sensitive data and should be readable by the user but not
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1091
@@ -835,8 +831,6 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1092
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1093
      ~/.ssh/identity.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1094
      ~/.ssh/id_dsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1095
-     ~/.ssh/id_ecdsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1096
-     ~/.ssh/id_ed25519.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1097
      ~/.ssh/id_rsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1098
              Contains the public key for authentication.  These files are not
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1099
              sensitive and can (but need not) be readable by anyone.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1100
@@ -867,8 +861,6 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1101
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1102
      /etc/ssh/ssh_host_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1103
      /etc/ssh/ssh_host_dsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1104
-     /etc/ssh/ssh_host_ecdsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1105
-     /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1106
      /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1107
              These files contain the private parts of the host keys and are
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1108
              used for host-based authentication.  If protocol version 1 is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1109
diff -pur old/ssh.1 new/ssh.1
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1110
--- old/ssh.1	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1111
+++ new/ssh.1	2015-05-12 07:51:38.403098490 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1112
@@ -274,9 +274,7 @@ public key authentication is read.
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1113
 The default is
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1114
 .Pa ~/.ssh/identity
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1115
 for protocol version 1, and
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1116
-.Pa ~/.ssh/id_dsa ,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1117
-.Pa ~/.ssh/id_ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1118
-.Pa ~/.ssh/id_ed25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1119
+.Pa ~/.ssh/id_dsa
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1120
 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1121
 .Pa ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1122
 for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1123
@@ -761,7 +759,7 @@ key pair for authentication purposes.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1124
 The server knows the public key, and only the user knows the private key.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1125
 .Nm
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1126
 implements public key authentication protocol automatically,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1127
-using one of the DSA, ECDSA, Ed25519 or RSA algorithms.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1128
+using one of the DSA or RSA algorithms.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1129
 Protocol 1 is restricted to using only RSA keys,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1130
 but protocol 2 may use any.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1131
 The HISTORY section of
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1132
@@ -786,10 +784,6 @@ This stores the private key in
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1133
 (protocol 1),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1134
 .Pa ~/.ssh/id_dsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1135
 (protocol 2 DSA),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1136
-.Pa ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1137
-(protocol 2 ECDSA),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1138
-.Pa ~/.ssh/id_ed25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1139
-(protocol 2 Ed25519),
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1140
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1141
 .Pa ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1142
 (protocol 2 RSA)
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1143
@@ -798,10 +792,6 @@ and stores the public key in
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1144
 (protocol 1),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1145
 .Pa ~/.ssh/id_dsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1146
 (protocol 2 DSA),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1147
-.Pa ~/.ssh/id_ecdsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1148
-(protocol 2 ECDSA),
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1149
-.Pa ~/.ssh/id_ed25519.pub
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1150
-(protocol 2 Ed25519),
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1151
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1152
 .Pa ~/.ssh/id_rsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1153
 (protocol 2 RSA)
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1154
@@ -1341,7 +1331,7 @@ secret, but the recommended permissions
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1155
 and not accessible by others.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1156
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1157
 .It Pa ~/.ssh/authorized_keys
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1158
-Lists the public keys (DSA, ECDSA, Ed25519, RSA)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1159
+Lists the public keys (DSA, RSA)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1160
 that can be used for logging in as this user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1161
 The format of this file is described in the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1162
 .Xr sshd 8
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1163
@@ -1363,8 +1353,6 @@ above.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1164
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1165
 .It Pa ~/.ssh/identity
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1166
 .It Pa ~/.ssh/id_dsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1167
-.It Pa ~/.ssh/id_ecdsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1168
-.It Pa ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1169
 .It Pa ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1170
 Contains the private key for authentication.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1171
 These files
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1172
@@ -1378,8 +1366,6 @@ sensitive part of this file using 3DES.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1173
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1174
 .It Pa ~/.ssh/identity.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1175
 .It Pa ~/.ssh/id_dsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1176
-.It Pa ~/.ssh/id_ecdsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1177
-.It Pa ~/.ssh/id_ed25519.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1178
 .It Pa ~/.ssh/id_rsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1179
 Contains the public key for authentication.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1180
 These files are not
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1181
@@ -1418,8 +1404,6 @@ The file format and configuration option
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1182
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1183
 .It Pa /etc/ssh/ssh_host_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1184
 .It Pa /etc/ssh/ssh_host_dsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1185
-.It Pa /etc/ssh/ssh_host_ecdsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1186
-.It Pa /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1187
 .It Pa /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1188
 These files contain the private parts of the host keys
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1189
 and are used for host-based authentication.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1190
diff -pur old/ssh.c new/ssh.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1191
--- old/ssh.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1192
+++ new/ssh.c	2015-05-12 06:57:55.876878130 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1193
@@ -1234,8 +1234,10 @@ main(int ac, char **av)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1194
 		sensitive_data.keys[1] = key_load_private_cert(KEY_ECDSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1195
 		    _PATH_HOST_ECDSA_KEY_FILE, "", NULL);
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1196
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1197
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1198
 		sensitive_data.keys[2] = key_load_private_cert(KEY_ED25519,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1199
 		    _PATH_HOST_ED25519_KEY_FILE, "", NULL);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1200
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1201
 		sensitive_data.keys[3] = key_load_private_cert(KEY_RSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1202
 		    _PATH_HOST_RSA_KEY_FILE, "", NULL);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1203
 		sensitive_data.keys[4] = key_load_private_cert(KEY_DSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1204
@@ -1244,8 +1246,10 @@ main(int ac, char **av)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1205
 		sensitive_data.keys[5] = key_load_private_type(KEY_ECDSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1206
 		    _PATH_HOST_ECDSA_KEY_FILE, "", NULL, NULL);
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1207
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1208
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1209
 		sensitive_data.keys[6] = key_load_private_type(KEY_ED25519,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1210
 		    _PATH_HOST_ED25519_KEY_FILE, "", NULL, NULL);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1211
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1212
 		sensitive_data.keys[7] = key_load_private_type(KEY_RSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1213
 		    _PATH_HOST_RSA_KEY_FILE, "", NULL, NULL);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1214
 		sensitive_data.keys[8] = key_load_private_type(KEY_DSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1215
@@ -1262,8 +1266,10 @@ main(int ac, char **av)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1216
 			sensitive_data.keys[1] = key_load_cert(
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1217
 			    _PATH_HOST_ECDSA_KEY_FILE);
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1218
 #endif
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1219
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1220
 			sensitive_data.keys[2] = key_load_cert(
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1221
 			    _PATH_HOST_ED25519_KEY_FILE);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1222
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1223
 			sensitive_data.keys[3] = key_load_cert(
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1224
 			    _PATH_HOST_RSA_KEY_FILE);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1225
 			sensitive_data.keys[4] = key_load_cert(
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1226
@@ -1272,8 +1278,10 @@ main(int ac, char **av)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1227
 			sensitive_data.keys[5] = key_load_public(
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1228
 			    _PATH_HOST_ECDSA_KEY_FILE, NULL);
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1229
 #endif
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1230
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1231
 			sensitive_data.keys[6] = key_load_public(
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1232
 			    _PATH_HOST_ED25519_KEY_FILE, NULL);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1233
+#endif /* WITHOUT_ED25519 */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1234
 			sensitive_data.keys[7] = key_load_public(
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1235
 			    _PATH_HOST_RSA_KEY_FILE, NULL);
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1236
 			sensitive_data.keys[8] = key_load_public(
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1237
diff -pur old/ssh_api.c new/ssh_api.c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1238
--- old/ssh_api.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1239
+++ new/ssh_api.c	2015-05-12 06:57:55.877368137 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1240
@@ -109,7 +109,9 @@ ssh_init(struct ssh **sshp, int is_serve
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1241
 		ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1242
 # endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1243
 #endif /* WITH_OPENSSL */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1244
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1245
 		ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_server;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1246
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1247
 		ssh->kex->load_host_public_key=&_ssh_host_public_key;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1248
 		ssh->kex->load_host_private_key=&_ssh_host_private_key;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1249
 		ssh->kex->sign=&_ssh_host_key_sign;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1250
@@ -123,7 +125,9 @@ ssh_init(struct ssh **sshp, int is_serve
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1251
 		ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_client;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1252
 # endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1253
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1254
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1255
 		ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_client;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1256
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1257
 		ssh->kex->verify_host_key =&_ssh_verify_host_key;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1258
 	}
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1259
 	*sshp = ssh;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1260
diff -pur old/ssh_config.0 new/ssh_config.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1261
--- old/ssh_config.0	2015-03-17 21:26:36.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1262
+++ new/ssh_config.0	2015-05-12 07:45:14.754320503 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1263
@@ -443,14 +443,8 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1264
              client wants to use in order of preference.  The default for this
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1265
              option is:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1266
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1267
-                [email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1268
-                [email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1269
-                [email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1270
-                [email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1271
                 [email protected],[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1272
                 [email protected],[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1273
-                ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1274
-                ssh-ed25519,ssh-rsa,ssh-dss
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1275
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1276
              If hostkeys are known for the destination host then this default
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1277
              is modified to prefer their algorithms.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1278
@@ -486,10 +480,10 @@ DESCRIPTION
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1279
              default is M-bM-^@M-^\noM-bM-^@M-^].
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1280
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1281
      IdentityFile
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1282
-             Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1283
+             Specifies a file from which the user's DSA or RSA
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1284
              authentication identity is read.  The default is ~/.ssh/identity
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1285
-             for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1286
-             ~/.ssh/id_ed25519 and ~/.ssh/id_rsa for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1287
+             for protocol version 1, and ~/.ssh/id_dsa
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1288
+             and ~/.ssh/id_rsa for protocol version 2.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1289
              Additionally, any identities represented by the authentication
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1290
              agent will be used for authentication unless IdentitiesOnly is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1291
              set.  ssh(1) will try to load certificate information from the
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1292
@@ -549,7 +543,6 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1293
              Specifies the available KEX (Key Exchange) algorithms.  Multiple
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1294
              algorithms must be comma-separated.  The default is:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1295
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1296
-                   [email protected],
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1297
                    ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1298
                    diffie-hellman-group-exchange-sha256,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1299
                    diffie-hellman-group14-sha1,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1300
diff -pur old/ssh_config.5 new/ssh_config.5
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1301
--- old/ssh_config.5	2015-05-12 06:57:55.750682668 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1302
+++ new/ssh_config.5	2015-05-12 07:52:05.483411337 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1303
@@ -807,14 +807,8 @@ Specifies the protocol version 2 host ke
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1304
 that the client wants to use in order of preference.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1305
 The default for this option is:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1306
 .Bd -literal -offset 3n
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1307
[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1308
[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1309
[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1310
[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1311
 [email protected],[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1312
 [email protected],[email protected],
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1313
-ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1314
-ssh-ed25519,ssh-rsa,ssh-dss
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1315
 .Ed
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1316
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1317
 If hostkeys are known for the destination host then this default is modified
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1318
@@ -869,14 +863,12 @@ offers many different identities.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1319
 The default is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1320
 .Dq no .
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1321
 .It Cm IdentityFile
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1322
-Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA authentication
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1323
+Specifies a file from which the user's DSA or RSA authentication
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1324
 identity is read.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1325
 The default is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1326
 .Pa ~/.ssh/identity
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1327
 for protocol version 1, and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1328
 .Pa ~/.ssh/id_dsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1329
-.Pa ~/.ssh/id_ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1330
-.Pa ~/.ssh/id_ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1331
 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1332
 .Pa ~/.ssh/id_rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1333
 for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1334
@@ -989,7 +981,6 @@ Specifies the available KEX (Key Exchang
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1335
 Multiple algorithms must be comma-separated.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1336
 The default is:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1337
 .Bd -literal -offset indent
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1338
[email protected],
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1339
 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1340
 diffie-hellman-group-exchange-sha256,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1341
 diffie-hellman-group14-sha1,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1342
diff -pur old/sshconnect.c new/sshconnect.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1343
--- old/sshconnect.c	2015-03-16 22:49:20.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1344
+++ new/sshconnect.c	2015-05-12 06:57:55.878078115 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1345
@@ -1391,7 +1391,9 @@ show_other_keys(struct hostkeys *hostkey
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1346
 		KEY_RSA,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1347
 		KEY_DSA,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1348
 		KEY_ECDSA,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1349
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1350
 		KEY_ED25519,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1351
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1352
 		-1
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1353
 	};
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1354
 	int i, ret = 0;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1355
diff -pur old/sshconnect2.c new/sshconnect2.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1356
--- old/sshconnect2.c	2015-05-12 06:57:55.751927078 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1357
+++ new/sshconnect2.c	2015-05-12 07:03:03.597484825 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1358
@@ -254,7 +254,9 @@ ssh_kex2(char *host, struct sockaddr *ho
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1359
 	kex->kex[KEX_ECDH_SHA2] = kexecdh_client;
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1360
 # endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1361
 #endif
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1362
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1363
 	kex->kex[KEX_C25519_SHA256] = kexc25519_client;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1364
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1365
 #ifdef GSSAPI
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1366
 	if (options.gss_keyex) {
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1367
 		kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_client;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1368
diff -pur old/sshd.0 new/sshd.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1369
--- old/sshd.0	2015-03-17 21:26:35.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1370
+++ new/sshd.0	2015-05-12 07:46:43.700877984 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1371
@@ -81,8 +81,7 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1372
              be given if sshd is not run as root (as the normal host key files
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1373
              are normally not readable by anyone but root).  The default is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1374
              /etc/ssh/ssh_host_key for protocol version 1, and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1375
-             /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_ecdsa_key.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1376
-             /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1377
+             /etc/ssh/ssh_host_dsa_key and /etc/ssh/ssh_host_rsa_key for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1378
              protocol version 2.  It is possible to have multiple host key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1379
              files for the different protocol versions and host key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1380
              algorithms.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1381
@@ -147,7 +146,7 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1382
 AUTHENTICATION
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1383
      The OpenSSH SSH daemon supports SSH protocols 1 and 2.  The default is to
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1384
      use protocol 2 only, though this can be changed via the Protocol option
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1385
-     in sshd_config(5).  Protocol 2 supports DSA, ECDSA, Ed25519 and RSA keys;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1386
+     in sshd_config(5).  Protocol 2 supports DSA and RSA keys;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1387
      protocol 1 only supports RSA keys.  For both protocols, each host has a
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1388
      host-specific key, normally 2048 bits, used to identify the host.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1389
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1390
@@ -278,15 +277,13 @@ AUTHORIZED_KEYS FILE FORMAT
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1391
      starts with a number).  The bits, exponent, modulus, and comment fields
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1392
      give the RSA key for protocol version 1; the comment field is not used
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1393
      for anything (but may be convenient for the user to identify the key).
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1394
-     For protocol version 2 the keytype is M-bM-^@M-^\ecdsa-sha2-nistp256M-bM-^@M-^],
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1395
-     M-bM-^@M-^\ecdsa-sha2-nistp384M-bM-^@M-^], M-bM-^@M-^\ecdsa-sha2-nistp521M-bM-^@M-^], M-bM-^@M-^\ssh-ed25519M-bM-^@M-^], M-bM-^@M-^\ssh-dssM-bM-^@M-^] or
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1396
-     M-bM-^@M-^\ssh-rsaM-bM-^@M-^].
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1397
+     For protocol version 2 the keytype is M-bM-^@M-^\ssh-dssM-bM-^@M-^] or M-bM-^@M-^\ssh-rsaM-bM-^@M-^].
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1398
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1399
      Note that lines in this file are usually several hundred bytes long
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1400
      (because of the size of the public key encoding) up to a limit of 8
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1401
      kilobytes, which permits DSA keys up to 8 kilobits and RSA keys up to 16
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1402
      kilobits.  You don't want to type them in; instead, copy the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1403
-     identity.pub, id_dsa.pub, id_ecdsa.pub, id_ed25519.pub, or the id_rsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1404
+     identity.pub, id_dsa.pub or the id_rsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1405
      file and edit it.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1406
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1407
      sshd enforces a minimum RSA key modulus size for protocol 1 and protocol
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1408
@@ -513,7 +510,7 @@ FILES
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1409
              for the user, and not accessible by others.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1410
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1411
      ~/.ssh/authorized_keys
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1412
-             Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1413
+             Lists the public keys (DSA, RSA) that can be used
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1414
              for logging in as this user.  The format of this file is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1415
              described above.  The content of the file is not highly
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1416
              sensitive, but the recommended permissions are read/write for the
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1417
@@ -569,8 +566,6 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1418
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1419
      /etc/ssh/ssh_host_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1420
      /etc/ssh/ssh_host_dsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1421
-     /etc/ssh/ssh_host_ecdsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1422
-     /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1423
      /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1424
              These files contain the private parts of the host keys.  These
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1425
              files should only be owned by root, readable only by root, and
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1426
@@ -579,8 +574,6 @@ FILES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1427
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1428
      /etc/ssh/ssh_host_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1429
      /etc/ssh/ssh_host_dsa_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1430
-     /etc/ssh/ssh_host_ecdsa_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1431
-     /etc/ssh/ssh_host_ed25519_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1432
      /etc/ssh/ssh_host_rsa_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1433
              These files contain the public parts of the host keys.  These
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1434
              files should be world-readable but writable only by root.  Their
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1435
diff -pur old/sshd.8 new/sshd.8
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1436
--- old/sshd.8	2015-05-12 06:57:55.682941332 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1437
+++ new/sshd.8	2015-05-12 07:53:14.229250081 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1438
@@ -172,8 +172,6 @@ The default is
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1439
 .Pa /etc/ssh/ssh_host_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1440
 for protocol version 1, and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1441
 .Pa /etc/ssh/ssh_host_dsa_key ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1442
-.Pa /etc/ssh/ssh_host_ecdsa_key .
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1443
-.Pa /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1444
 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1445
 .Pa /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1446
 for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1447
@@ -278,7 +276,7 @@ though this can be changed via the
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1448
 .Cm Protocol
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1449
 option in
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1450
 .Xr sshd_config 4 .
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1451
-Protocol 2 supports DSA, ECDSA, Ed25519 and RSA keys;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1452
+Protocol 2 supports DSA and RSA keys;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1453
 protocol 1 only supports RSA keys.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1454
 For both protocols,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1455
 each host has a host-specific key,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1456
@@ -492,10 +490,6 @@ protocol version 1; the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1457
 comment field is not used for anything (but may be convenient for the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1458
 user to identify the key).
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1459
 For protocol version 2 the keytype is
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1460
-.Dq ecdsa-sha2-nistp256 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1461
-.Dq ecdsa-sha2-nistp384 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1462
-.Dq ecdsa-sha2-nistp521 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1463
-.Dq ssh-ed25519 ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1464
 .Dq ssh-dss
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1465
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1466
 .Dq ssh-rsa .
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1467
@@ -507,8 +501,6 @@ keys up to 16 kilobits.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1468
 You don't want to type them in; instead, copy the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1469
 .Pa identity.pub ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1470
 .Pa id_dsa.pub ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1471
-.Pa id_ecdsa.pub ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1472
-.Pa id_ed25519.pub ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1473
 or the
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1474
 .Pa id_rsa.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1475
 file and edit it.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1476
@@ -808,7 +800,7 @@ secret, but the recommended permissions
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1477
 and not accessible by others.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1478
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1479
 .It Pa ~/.ssh/authorized_keys
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1480
-Lists the public keys (DSA, ECDSA, Ed25519, RSA)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1481
+Lists the public keys (DSA, RSA)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1482
 that can be used for logging in as this user.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1483
 The format of this file is described above.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1484
 The content of the file is not highly sensitive, but the recommended
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1485
@@ -882,8 +874,6 @@ rlogin/rsh.
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1486
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1487
 .It Pa /etc/ssh/ssh_host_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1488
 .It Pa /etc/ssh/ssh_host_dsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1489
-.It Pa /etc/ssh/ssh_host_ecdsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1490
-.It Pa /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1491
 .It Pa /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1492
 These files contain the private parts of the host keys.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1493
 These files should only be owned by root, readable only by root, and not
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1494
@@ -894,8 +884,6 @@ does not start if these files are group/
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1495
 .Pp
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1496
 .It Pa /etc/ssh/ssh_host_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1497
 .It Pa /etc/ssh/ssh_host_dsa_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1498
-.It Pa /etc/ssh/ssh_host_ecdsa_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1499
-.It Pa /etc/ssh/ssh_host_ed25519_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1500
 .It Pa /etc/ssh/ssh_host_rsa_key.pub
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1501
 These files contain the public parts of the host keys.
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1502
 These files should be world-readable but writable only by
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1503
diff -pur old/sshd.c new/sshd.c
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1504
--- old/sshd.c	2015-05-12 06:57:55.753246429 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1505
+++ new/sshd.c	2015-05-12 07:03:44.715843663 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1506
@@ -803,7 +803,9 @@ list_hostkey_types(void)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1507
 		case KEY_RSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1508
 		case KEY_DSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1509
 		case KEY_ECDSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1510
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1511
 		case KEY_ED25519:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1512
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1513
 			if (buffer_len(&b) > 0)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1514
 				buffer_append(&b, ",", 1);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1515
 			p = key_ssh_name(key);
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1516
@@ -820,7 +822,9 @@ list_hostkey_types(void)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1517
 		case KEY_RSA_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1518
 		case KEY_DSA_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1519
 		case KEY_ECDSA_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1520
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1521
 		case KEY_ED25519_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1522
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1523
 			if (buffer_len(&b) > 0)
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1524
 				buffer_append(&b, ",", 1);
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1525
 			p = key_ssh_name(key);
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1526
@@ -848,7 +852,9 @@ get_hostkey_by_type(int type, int nid, i
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1527
 		case KEY_RSA_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1528
 		case KEY_DSA_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1529
 		case KEY_ECDSA_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1530
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1531
 		case KEY_ED25519_CERT:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1532
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1533
 			key = sensitive_data.host_certificates[i];
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1534
 			break;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1535
 		default:
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1536
@@ -1798,7 +1804,9 @@ main(int ac, char **av)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1537
 		case KEY_RSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1538
 		case KEY_DSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1539
 		case KEY_ECDSA:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1540
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1541
 		case KEY_ED25519:
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1542
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1543
 			if (have_agent || key != NULL)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1544
 				sensitive_data.have_ssh2_key = 1;
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1545
 			break;
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1546
@@ -2644,7 +2652,9 @@ do_ssh2_kex(void)
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1547
 	kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1548
 # endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1549
 #endif
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1550
+#ifndef WITHOUT_ED25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1551
 	kex->kex[KEX_C25519_SHA256] = kexc25519_server;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1552
+#endif /* WITHOUT_ED25519 */
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1553
 #ifdef GSSAPI
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1554
 	if (options.gss_keyex) {
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1555
 		kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server;
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1556
diff -pur old/sshd_config.0 new/sshd_config.0
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1557
--- old/sshd_config.0	2015-03-17 21:26:36.000000000 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1558
+++ new/sshd_config.0	2015-05-12 07:47:28.488941581 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1559
@@ -375,12 +375,11 @@ DESCRIPTION
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1560
      HostKey
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1561
              Specifies a file containing a private host key used by SSH.  The
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1562
              default is /etc/ssh/ssh_host_key for protocol version 1, and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1563
-             /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_ecdsa_key,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1564
-             /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1565
+             /etc/ssh/ssh_host_dsa_key and /etc/ssh/ssh_host_rsa_key for
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1566
              protocol version 2.  Note that sshd(8) will refuse to use a file
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1567
              if it is group/world-accessible.  It is possible to have multiple
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1568
-             host key files.  M-bM-^@M-^\rsa1M-bM-^@M-^] keys are used for version 1 and M-bM-^@M-^\dsaM-bM-^@M-^],
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1569
-             M-bM-^@M-^\ecdsaM-bM-^@M-^], M-bM-^@M-^\ed25519M-bM-^@M-^] or M-bM-^@M-^\rsaM-bM-^@M-^] are used for version 2 of the SSH
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1570
+             host key files.  M-bM-^@M-^\rsa1M-bM-^@M-^] keys are used for version 1 and M-bM-^@M-^\dsaM-bM-^@M-^]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1571
+             or M-bM-^@M-^\rsaM-bM-^@M-^] are used for version 2 of the SSH
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1572
              protocol.  It is also possible to specify public host key files
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1573
              instead.  In this case operations on the private key will be
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1574
              delegated to an ssh-agent(1).
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1575
@@ -448,7 +447,6 @@ DESCRIPTION
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1576
              algorithms must be comma-separated.  The supported algorithms
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1577
              are:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1578
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1579
-                   [email protected]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1580
                    diffie-hellman-group1-sha1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1581
                    diffie-hellman-group14-sha1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1582
                    diffie-hellman-group-exchange-sha1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1583
@@ -459,7 +457,6 @@ DESCRIPTION
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1584
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1585
              The default is:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1586
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1587
-                   [email protected],
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1588
                    ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1589
                    diffie-hellman-group-exchange-sha256,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1590
                    diffie-hellman-group14-sha1
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1591
diff -pur old/sshd_config.5 new/sshd_config.5
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1592
--- old/sshd_config.5	2015-05-12 06:57:55.754541097 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1593
+++ new/sshd_config.5	2015-05-12 07:52:26.170307089 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1594
@@ -628,8 +628,6 @@ The default is
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1595
 .Pa /etc/ssh/ssh_host_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1596
 for protocol version 1, and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1597
 .Pa /etc/ssh/ssh_host_dsa_key ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1598
-.Pa /etc/ssh/ssh_host_ecdsa_key ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1599
-.Pa /etc/ssh/ssh_host_ed25519_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1600
 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1601
 .Pa /etc/ssh/ssh_host_rsa_key
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1602
 for protocol version 2.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1603
@@ -640,8 +638,6 @@ It is possible to have multiple host key
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1604
 .Dq rsa1
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1605
 keys are used for version 1 and
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1606
 .Dq dsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1607
-.Dq ecdsa ,
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1608
-.Dq ed25519
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1609
 or
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1610
 .Dq rsa
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1611
 are used for version 2 of the SSH protocol.
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1612
@@ -764,8 +760,6 @@ The supported algorithms are:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1613
 .Pp
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1614
 .Bl -item -compact -offset indent
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1615
 .It
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1616
[email protected]
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1617
-.It
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1618
 diffie-hellman-group1-sha1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1619
 .It
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1620
 diffie-hellman-group14-sha1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1621
@@ -783,7 +777,6 @@ ecdh-sha2-nistp521
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1622
 .Pp
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1623
 The default is:
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1624
 .Bd -literal -offset indent
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1625
[email protected],
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1626
 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1627
 diffie-hellman-group-exchange-sha256,
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1628
 diffie-hellman-group14-sha1
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1629
diff -pur old/sshkey.c new/sshkey.c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1630
--- old/sshkey.c	2015-05-12 06:57:55.756061267 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1631
+++ new/sshkey.c	2015-05-27 03:34:57.475875579 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1632
@@ -85,9 +85,11 @@ struct keytype {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1633
 	int cert;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1634
 };
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1635
 static const struct keytype keytypes[] = {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1636
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1637
 	{ "ssh-ed25519", "ED25519", KEY_ED25519, 0, 0 },
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1638
 	{ "[email protected]", "ED25519-CERT",
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1639
 	    KEY_ED25519_CERT, 0, 1 },
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1640
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1641
 #ifdef WITH_OPENSSL
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1642
 	{ NULL, "RSA1", KEY_RSA1, 0, 0 },
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1643
 	{ "ssh-rsa", "RSA", KEY_RSA, 0, 0 },
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1644
@@ -284,8 +286,10 @@ sshkey_size(const struct sshkey *k)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1645
 	case KEY_ECDSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1646
 		return sshkey_curve_nid_to_bits(k->ecdsa_nid);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1647
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1648
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1649
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1650
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1651
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1652
 		return 256;	/* XXX */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1653
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1654
 	return 0;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1655
@@ -310,7 +314,9 @@ sshkey_type_is_valid_ca(int type)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1656
 	case KEY_RSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1657
 	case KEY_DSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1658
 	case KEY_ECDSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1659
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1660
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1661
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1662
 		return 1;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1663
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1664
 		return 0;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1665
@@ -338,8 +344,10 @@ sshkey_type_plain(int type)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1666
 		return KEY_DSA;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1667
 	case KEY_ECDSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1668
 		return KEY_ECDSA;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1669
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1670
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1671
 		return KEY_ED25519;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1672
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1673
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1674
 		return type;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1675
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1676
@@ -492,8 +500,10 @@ sshkey_new(int type)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1677
 	k->dsa = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1678
 	k->rsa = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1679
 	k->cert = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1680
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1681
 	k->ed25519_sk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1682
 	k->ed25519_pk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1683
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1684
 	switch (k->type) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1685
 #ifdef WITH_OPENSSL
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1686
 	case KEY_RSA1:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1687
@@ -530,10 +540,12 @@ sshkey_new(int type)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1688
 		/* Cannot do anything until we know the group */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1689
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1690
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1691
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1692
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1693
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1694
 		/* no need to prealloc */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1695
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1696
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1697
 	case KEY_UNSPEC:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1698
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1699
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1700
@@ -582,10 +594,12 @@ sshkey_add_private(struct sshkey *k)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1701
 		/* Cannot do anything until we know the group */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1702
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1703
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1704
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1705
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1706
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1707
 		/* no need to prealloc */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1708
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1709
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1710
 	case KEY_UNSPEC:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1711
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1712
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1713
@@ -639,6 +653,7 @@ sshkey_free(struct sshkey *k)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1714
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1715
 # endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1716
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1717
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1718
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1719
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1720
 		if (k->ed25519_pk) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1721
@@ -652,6 +667,7 @@ sshkey_free(struct sshkey *k)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1722
 			k->ed25519_sk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1723
 		}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1724
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1725
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1726
 	case KEY_UNSPEC:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1727
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1728
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1729
@@ -731,10 +747,12 @@ sshkey_equal_public(const struct sshkey
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1730
 		return 1;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1731
 # endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1732
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1733
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1734
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1735
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1736
 		return a->ed25519_pk != NULL && b->ed25519_pk != NULL &&
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1737
 		    memcmp(a->ed25519_pk, b->ed25519_pk, ED25519_PK_SZ) == 0;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1738
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1739
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1740
 		return 0;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1741
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1742
@@ -773,7 +791,9 @@ to_blob_buf(const struct sshkey *key, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1743
 	case KEY_ECDSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1744
 	case KEY_RSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1745
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1746
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1747
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1748
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1749
 		/* Use the existing blob */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1750
 		/* XXX modified flag? */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1751
 		if ((ret = sshbuf_putb(b, key->cert->certblob)) != 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1752
@@ -810,6 +830,7 @@ to_blob_buf(const struct sshkey *key, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1753
 			return ret;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1754
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1755
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1756
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1757
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1758
 		if (key->ed25519_pk == NULL)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1759
 			return SSH_ERR_INVALID_ARGUMENT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1760
@@ -818,6 +839,7 @@ to_blob_buf(const struct sshkey *key, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1761
 		    key->ed25519_pk, ED25519_PK_SZ)) != 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1762
 			return ret;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1763
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1764
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1765
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1766
 		return SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1767
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1768
@@ -1291,13 +1313,17 @@ sshkey_read(struct sshkey *ret, char **c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1769
 	case KEY_RSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1770
 	case KEY_DSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1771
 	case KEY_ECDSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1772
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1773
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1774
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1775
 	case KEY_DSA_CERT_V00:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1776
 	case KEY_RSA_CERT_V00:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1777
 	case KEY_DSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1778
 	case KEY_ECDSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1779
 	case KEY_RSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1780
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1781
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1782
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1783
 		space = strchr(cp, ' ');
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1784
 		if (space == NULL)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1785
 			return SSH_ERR_INVALID_FORMAT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1786
@@ -1389,6 +1415,7 @@ sshkey_read(struct sshkey *ret, char **c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1787
 		}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1788
 # endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1789
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1790
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1791
 		if (sshkey_type_plain(ret->type) == KEY_ED25519) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1792
 			free(ret->ed25519_pk);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1793
 			ret->ed25519_pk = k->ed25519_pk;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1794
@@ -1397,6 +1424,7 @@ sshkey_read(struct sshkey *ret, char **c
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1795
 			/* XXX */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1796
 #endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1797
 		}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1798
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1799
 		retval = 0;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1800
 /*XXXX*/
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1801
 		sshkey_free(k);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1802
@@ -1460,8 +1488,10 @@ sshkey_write(const struct sshkey *key, F
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1803
 	case KEY_RSA_CERT_V00:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1804
 	case KEY_RSA_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1805
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1806
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1807
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1808
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1809
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1810
 		if ((bb = sshbuf_new()) == NULL) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1811
 			ret = SSH_ERR_ALLOC_FAIL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1812
 			goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1813
@@ -1671,7 +1701,8 @@ sshkey_generate(int type, u_int bits, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1814
 	if ((k = sshkey_new(KEY_UNSPEC)) == NULL)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1815
 		return SSH_ERR_ALLOC_FAIL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1816
 	switch (type) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1817
-	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1818
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1819
+		case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1820
 		if ((k->ed25519_pk = malloc(ED25519_PK_SZ)) == NULL ||
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1821
 		    (k->ed25519_sk = malloc(ED25519_SK_SZ)) == NULL) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1822
 			ret = SSH_ERR_ALLOC_FAIL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1823
@@ -1680,6 +1711,7 @@ sshkey_generate(int type, u_int bits, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1824
 		crypto_sign_ed25519_keypair(k->ed25519_pk, k->ed25519_sk);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1825
 		ret = 0;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1826
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1827
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1828
 #ifdef WITH_OPENSSL
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1829
 	case KEY_DSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1830
 		ret = dsa_generate_private_key(bits, &k->dsa);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1831
@@ -1817,6 +1849,7 @@ sshkey_from_private(const struct sshkey
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1832
 		}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1833
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1834
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1835
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1836
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1837
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1838
 		if ((n = sshkey_new(k->type)) == NULL)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1839
@@ -1829,6 +1862,7 @@ sshkey_from_private(const struct sshkey
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1840
 			memcpy(n->ed25519_pk, k->ed25519_pk, ED25519_PK_SZ);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1841
 		}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1842
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1843
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1844
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1845
 		return SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1846
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1847
@@ -2100,6 +2134,7 @@ sshkey_from_blob_internal(struct sshbuf
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1848
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1849
 # endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1850
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1851
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1852
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1853
 		/* Skip nonce */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1854
 		if (sshbuf_get_string_direct(b, NULL, NULL) != 0) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1855
@@ -2121,6 +2156,7 @@ sshkey_from_blob_internal(struct sshbuf
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1856
 		key->ed25519_pk = pk;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1857
 		pk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1858
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1859
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1860
 	case KEY_UNSPEC:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1861
 		if ((key = sshkey_new(type)) == NULL) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1862
 			ret = SSH_ERR_ALLOC_FAIL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1863
@@ -2215,9 +2251,11 @@ sshkey_sign(const struct sshkey *key,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1864
 	case KEY_RSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1865
 		return ssh_rsa_sign(key, sigp, lenp, data, datalen, compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1866
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1867
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1868
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1869
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1870
 		return ssh_ed25519_sign(key, sigp, lenp, data, datalen, compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1871
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1872
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1873
 		return SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1874
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1875
@@ -2249,9 +2287,11 @@ sshkey_verify(const struct sshkey *key,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1876
 	case KEY_RSA:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1877
 		return ssh_rsa_verify(key, sig, siglen, data, dlen, compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1878
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1879
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1880
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1881
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1882
 		return ssh_ed25519_verify(key, sig, siglen, data, dlen, compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1883
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1884
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1885
 		return SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1886
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1887
@@ -2275,8 +2315,10 @@ sshkey_demote(const struct sshkey *k, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1888
 	pk->dsa = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1889
 	pk->ecdsa = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1890
 	pk->rsa = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1891
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1892
 	pk->ed25519_pk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1893
 	pk->ed25519_sk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1894
+#endif /* WITHOUT_ED25519 */
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  1895
 
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1896
 	switch (k->type) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1897
 #ifdef WITH_OPENSSL
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1898
@@ -2328,6 +2370,7 @@ sshkey_demote(const struct sshkey *k, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1899
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1900
 # endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1901
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1902
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1903
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1904
 		if ((ret = sshkey_cert_copy(k, pk)) != 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1905
 			goto fail;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1906
@@ -2341,6 +2384,7 @@ sshkey_demote(const struct sshkey *k, st
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1907
 			memcpy(pk->ed25519_pk, k->ed25519_pk, ED25519_PK_SZ);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1908
 		}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1909
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1910
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1911
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1912
 		ret = SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1913
  fail:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1914
@@ -2371,11 +2415,13 @@ sshkey_to_certified(struct sshkey *k, in
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1915
 		newtype = KEY_ECDSA_CERT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1916
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1917
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1918
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1919
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1920
 		if (legacy)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1921
 			return SSH_ERR_INVALID_ARGUMENT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1922
 		newtype = KEY_ED25519_CERT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1923
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1924
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1925
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1926
 		return SSH_ERR_INVALID_ARGUMENT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1927
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1928
@@ -2458,11 +2504,13 @@ sshkey_certify(struct sshkey *k, struct
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1929
 			goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1930
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1931
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1932
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1933
 	case KEY_ED25519_CERT:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1934
 		if ((ret = sshbuf_put_string(cert,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1935
 		    k->ed25519_pk, ED25519_PK_SZ)) != 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1936
 			goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1937
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1938
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1939
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1940
 		ret = SSH_ERR_INVALID_ARGUMENT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1941
 		goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1942
@@ -2657,6 +2705,7 @@ sshkey_private_serialize(const struct ss
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1943
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1944
 # endif /* OPENSSL_HAS_ECC */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1945
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1946
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1947
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1948
 		if ((r = sshbuf_put_string(b, key->ed25519_pk,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1949
 		    ED25519_PK_SZ)) != 0 ||
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1950
@@ -2676,6 +2725,7 @@ sshkey_private_serialize(const struct ss
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1951
 		    ED25519_SK_SZ)) != 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1952
 			goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1953
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1954
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1955
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1956
 		r = SSH_ERR_INVALID_ARGUMENT;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1957
 		goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1958
@@ -2802,6 +2852,7 @@ sshkey_private_deserialize(struct sshbuf
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1959
 			goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1960
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1961
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1962
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1963
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1964
 		if ((k = sshkey_new_private(type)) == NULL) {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1965
 			r = SSH_ERR_ALLOC_FAIL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1966
@@ -2832,6 +2883,7 @@ sshkey_private_deserialize(struct sshbuf
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1967
 		k->ed25519_sk = ed25519_sk;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1968
 		ed25519_pk = ed25519_sk = NULL;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1969
 		break;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1970
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1971
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1972
 		r = SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1973
 		goto out;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1974
@@ -3591,9 +3643,11 @@ sshkey_private_to_fileblob(struct sshkey
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1975
 		return sshkey_private_pem_to_blob(key, blob,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1976
 		    passphrase, comment);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1977
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1978
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1979
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1980
 		return sshkey_private_to_blob2(key, blob, passphrase,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1981
 		    comment, new_format_cipher, new_format_rounds);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1982
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1983
 	default:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1984
 		return SSH_ERR_KEY_TYPE_UNKNOWN;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1985
 	}
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1986
@@ -3899,9 +3953,11 @@ sshkey_parse_private_fileblob_type(struc
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1987
 		return sshkey_parse_private_pem_fileblob(blob, type,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1988
 		    passphrase, keyp);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1989
 #endif /* WITH_OPENSSL */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1990
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1991
 	case KEY_ED25519:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1992
 		return sshkey_parse_private2(blob, type, passphrase,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1993
 		    keyp, commentp);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1994
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1995
 	case KEY_UNSPEC:
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1996
 		if ((r = sshkey_parse_private2(blob, type, passphrase, keyp,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1997
 		    commentp)) == 0)
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1998
diff -pur old/sshkey.h new/sshkey.h
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  1999
--- old/sshkey.h	2015-05-12 06:57:55.756485788 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2000
+++ new/sshkey.h	2015-05-12 06:57:55.885805405 -0700
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2001
@@ -57,11 +57,15 @@ enum sshkey_types {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2002
 	KEY_RSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2003
 	KEY_DSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2004
 	KEY_ECDSA,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2005
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2006
 	KEY_ED25519,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2007
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2008
 	KEY_RSA_CERT,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2009
 	KEY_DSA_CERT,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2010
 	KEY_ECDSA_CERT,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2011
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2012
 	KEY_ED25519_CERT,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2013
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2014
 	KEY_RSA_CERT_V00,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2015
 	KEY_DSA_CERT_V00,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2016
 	KEY_NULL,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2017
@@ -106,13 +110,17 @@ struct sshkey {
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2018
 	DSA	*dsa;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2019
 	int	 ecdsa_nid;	/* NID of curve */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2020
 	EC_KEY	*ecdsa;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2021
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2022
 	u_char	*ed25519_sk;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2023
 	u_char	*ed25519_pk;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2024
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2025
 	struct sshkey_cert *cert;
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2026
 };
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  2027
 
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  2028
+#ifndef WITHOUT_ED25519
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2029
 #define	ED25519_SK_SZ	crypto_sign_ed25519_SECRETKEYBYTES
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2030
 #define	ED25519_PK_SZ	crypto_sign_ed25519_PUBLICKEYBYTES
4078
7cfcde36f97f 20820589 Disable Curve25519 in OpenSSH
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
  2031
+#endif /* WITHOUT_ED25519 */
4503
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2032
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2033
 struct sshkey	*sshkey_new(int);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2034
 int		 sshkey_add_private(struct sshkey *);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2035
@@ -210,11 +218,13 @@ int ssh_ecdsa_sign(const struct sshkey *
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2036
 int ssh_ecdsa_verify(const struct sshkey *key,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2037
     const u_char *signature, size_t signaturelen,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2038
     const u_char *data, size_t datalen, u_int compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2039
+#ifndef WITHOUT_ED25519
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2040
 int ssh_ed25519_sign(const struct sshkey *key, u_char **sigp, size_t *lenp,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2041
     const u_char *data, size_t datalen, u_int compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2042
 int ssh_ed25519_verify(const struct sshkey *key,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2043
     const u_char *signature, size_t signaturelen,
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2044
     const u_char *data, size_t datalen, u_int compat);
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2045
+#endif /* WITHOUT_ED25519 */
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2046
 #endif
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2047
 
bf30d46ab06e PSARC/2015/179 OpenSSH 6.8
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 4078
diff changeset
  2048
 #if !defined(WITH_OPENSSL)