Annotation of src/crypto/external/bsd/openssh/dist/myproposal.h, Revision 1.18
1.9 christos 1: /* $NetBSD: myproposal.h,v 1.8 2014/10/19 16:30:58 christos Exp $ */
1.18 ! christos 2: /* $OpenBSD: myproposal.h,v 1.56 2018/07/03 11:39:54 djm Exp $ */
1.1 christos 3:
4: /*
5: * Copyright (c) 2000 Markus Friedl. All rights reserved.
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: *
16: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26: */
1.4 christos 27:
1.8 christos 28: #ifdef WITH_OPENSSL
29:
1.11 christos 30: #define KEX_COMMON_KEX \
1.15 christos 31: "curve25519-sha256," \
1.8 christos 32: "curve25519-sha256@libssh.org," \
1.4 christos 33: "ecdh-sha2-nistp256," \
34: "ecdh-sha2-nistp384," \
35: "ecdh-sha2-nistp521," \
1.14 christos 36: "diffie-hellman-group-exchange-sha256," \
37: "diffie-hellman-group16-sha512," \
38: "diffie-hellman-group18-sha512" \
1.11 christos 39:
40: #define KEX_SERVER_KEX KEX_COMMON_KEX "," \
1.14 christos 41: "diffie-hellman-group14-sha256," \
1.11 christos 42: "diffie-hellman-group14-sha1"
1.8 christos 43:
1.11 christos 44: #define KEX_CLIENT_KEX KEX_COMMON_KEX "," \
1.1 christos 45: "diffie-hellman-group-exchange-sha1," \
1.14 christos 46: "diffie-hellman-group14-sha256," \
1.12 christos 47: "diffie-hellman-group14-sha1"
1.4 christos 48:
1.3 adam 49: #define KEX_DEFAULT_PK_ALG \
1.4 christos 50: "ecdsa-sha2-nistp256-cert-v01@openssh.com," \
51: "ecdsa-sha2-nistp384-cert-v01@openssh.com," \
52: "ecdsa-sha2-nistp521-cert-v01@openssh.com," \
1.8 christos 53: "ssh-ed25519-cert-v01@openssh.com," \
1.18 ! christos 54: "rsa-sha2-512-cert-v01@openssh.com," \
! 55: "rsa-sha2-256-cert-v01@openssh.com," \
1.4 christos 56: "ssh-rsa-cert-v01@openssh.com," \
57: "ecdsa-sha2-nistp256," \
58: "ecdsa-sha2-nistp384," \
59: "ecdsa-sha2-nistp521," \
1.8 christos 60: "ssh-ed25519," \
1.13 christos 61: "rsa-sha2-512," \
62: "rsa-sha2-256," \
1.12 christos 63: "ssh-rsa"
1.1 christos 64:
1.8 christos 65: #define KEX_SERVER_ENCRYPT \
1.11 christos 66: "chacha20-poly1305@openssh.com," \
1.1 christos 67: "aes128-ctr,aes192-ctr,aes256-ctr," \
1.11 christos 68: "aes128-gcm@openssh.com,aes256-gcm@openssh.com"
1.8 christos 69:
1.17 christos 70: #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT
1.2 christos 71:
1.8 christos 72: #define KEX_SERVER_MAC \
1.7 christos 73: "umac-64-etm@openssh.com," \
74: "umac-128-etm@openssh.com," \
75: "hmac-sha2-256-etm@openssh.com," \
76: "hmac-sha2-512-etm@openssh.com," \
1.8 christos 77: "hmac-sha1-etm@openssh.com," \
78: "umac-64@openssh.com," \
79: "umac-128@openssh.com," \
80: "hmac-sha2-256," \
81: "hmac-sha2-512," \
82: "hmac-sha1"
83:
1.13 christos 84: #define KEX_CLIENT_MAC KEX_SERVER_MAC
1.8 christos 85:
1.13 christos 86: #else /* WITH_OPENSSL */
1.8 christos 87:
88: #define KEX_SERVER_KEX \
1.15 christos 89: "curve25519-sha256," \
1.8 christos 90: "curve25519-sha256@libssh.org"
91: #define KEX_DEFAULT_PK_ALG \
92: "ssh-ed25519-cert-v01@openssh.com," \
93: "ssh-ed25519"
94: #define KEX_SERVER_ENCRYPT \
1.11 christos 95: "chacha20-poly1305@openssh.com," \
96: "aes128-ctr,aes192-ctr,aes256-ctr"
1.8 christos 97: #define KEX_SERVER_MAC \
98: "umac-64-etm@openssh.com," \
99: "umac-128-etm@openssh.com," \
100: "hmac-sha2-256-etm@openssh.com," \
101: "hmac-sha2-512-etm@openssh.com," \
102: "hmac-sha1-etm@openssh.com," \
1.5 christos 103: "umac-64@openssh.com," \
1.7 christos 104: "umac-128@openssh.com," \
1.5 christos 105: "hmac-sha2-256," \
106: "hmac-sha2-512," \
1.8 christos 107: "hmac-sha1"
108:
109: #define KEX_CLIENT_KEX KEX_SERVER_KEX
110: #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT
111: #define KEX_CLIENT_MAC KEX_SERVER_MAC
112:
113: #endif /* WITH_OPENSSL */
1.2 christos 114:
1.9 christos 115: #define KEX_CLIENT_ENCRYPT_INCLUDE_NONE KEX_CLIENT_ENCRYPT \
116: ",none"
117: #define KEX_SERVER_ENCRYPT_INCLUDE_NONE KEX_SERVER_ENCRYPT \
118: ",none"
119:
1.15 christos 120: #define KEX_DEFAULT_COMP "none,zlib@openssh.com"
1.1 christos 121: #define KEX_DEFAULT_LANG ""
122:
1.8 christos 123: #define KEX_CLIENT \
124: KEX_CLIENT_KEX, \
125: KEX_DEFAULT_PK_ALG, \
1.9 christos 126: KEX_CLIENT_ENCRYPT_INCLUDE_NONE, \
127: KEX_CLIENT_ENCRYPT_INCLUDE_NONE, \
1.8 christos 128: KEX_CLIENT_MAC, \
129: KEX_CLIENT_MAC, \
130: KEX_DEFAULT_COMP, \
131: KEX_DEFAULT_COMP, \
132: KEX_DEFAULT_LANG, \
133: KEX_DEFAULT_LANG
1.1 christos 134:
1.8 christos 135: #define KEX_SERVER \
136: KEX_SERVER_KEX, \
137: KEX_DEFAULT_PK_ALG, \
1.9 christos 138: KEX_SERVER_ENCRYPT_INCLUDE_NONE, \
139: KEX_SERVER_ENCRYPT_INCLUDE_NONE, \
1.8 christos 140: KEX_SERVER_MAC, \
141: KEX_SERVER_MAC, \
142: KEX_DEFAULT_COMP, \
143: KEX_DEFAULT_COMP, \
144: KEX_DEFAULT_LANG, \
1.1 christos 145: KEX_DEFAULT_LANG
CVSweb <webmaster@jp.NetBSD.org>