Deleted Added
full compact
ssh_api.c (302408) ssh_api.c (323129)
1/* $OpenBSD: ssh_api.c,v 1.5 2015/12/04 16:41:28 markus Exp $ */
1/* $OpenBSD: ssh_api.c,v 1.7 2016/05/04 14:22:33 markus Exp $ */
2/*
3 * Copyright (c) 2012 Markus Friedl. All rights reserved.
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#include "includes.h"
19
2/*
3 * Copyright (c) 2012 Markus Friedl. All rights reserved.
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#include "includes.h"
19
20#include "ssh1.h" /* For SSH_MSG_NONE */
21#include "ssh_api.h"
22#include "compat.h"
23#include "log.h"
24#include "authfile.h"
25#include "sshkey.h"
26#include "misc.h"
20#include "ssh_api.h"
21#include "compat.h"
22#include "log.h"
23#include "authfile.h"
24#include "sshkey.h"
25#include "misc.h"
27#include "ssh1.h"
28#include "ssh2.h"
29#include "version.h"
30#include "myproposal.h"
31#include "ssherr.h"
32#include "sshbuf.h"
33
34#include <string.h>
35

--- 62 unchanged lines hidden (view full) ---

98 ssh_free(ssh);
99 return r;
100 }
101 ssh->kex->server = is_server;
102 if (is_server) {
103#ifdef WITH_OPENSSL
104 ssh->kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server;
105 ssh->kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server;
26#include "ssh2.h"
27#include "version.h"
28#include "myproposal.h"
29#include "ssherr.h"
30#include "sshbuf.h"
31
32#include <string.h>
33

--- 62 unchanged lines hidden (view full) ---

96 ssh_free(ssh);
97 return r;
98 }
99 ssh->kex->server = is_server;
100 if (is_server) {
101#ifdef WITH_OPENSSL
102 ssh->kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server;
103 ssh->kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server;
104 ssh->kex->kex[KEX_DH_GRP14_SHA256] = kexdh_server;
105 ssh->kex->kex[KEX_DH_GRP16_SHA512] = kexdh_server;
106 ssh->kex->kex[KEX_DH_GRP18_SHA512] = kexdh_server;
106 ssh->kex->kex[KEX_DH_GEX_SHA1] = kexgex_server;
107 ssh->kex->kex[KEX_DH_GEX_SHA256] = kexgex_server;
108# ifdef OPENSSL_HAS_ECC
109 ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
110# endif
111#endif /* WITH_OPENSSL */
112 ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_server;
113 ssh->kex->load_host_public_key=&_ssh_host_public_key;
114 ssh->kex->load_host_private_key=&_ssh_host_private_key;
115 ssh->kex->sign=&_ssh_host_key_sign;
116 } else {
117#ifdef WITH_OPENSSL
118 ssh->kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client;
119 ssh->kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client;
107 ssh->kex->kex[KEX_DH_GEX_SHA1] = kexgex_server;
108 ssh->kex->kex[KEX_DH_GEX_SHA256] = kexgex_server;
109# ifdef OPENSSL_HAS_ECC
110 ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
111# endif
112#endif /* WITH_OPENSSL */
113 ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_server;
114 ssh->kex->load_host_public_key=&_ssh_host_public_key;
115 ssh->kex->load_host_private_key=&_ssh_host_private_key;
116 ssh->kex->sign=&_ssh_host_key_sign;
117 } else {
118#ifdef WITH_OPENSSL
119 ssh->kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client;
120 ssh->kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client;
121 ssh->kex->kex[KEX_DH_GRP14_SHA256] = kexdh_client;
122 ssh->kex->kex[KEX_DH_GRP16_SHA512] = kexdh_client;
123 ssh->kex->kex[KEX_DH_GRP18_SHA512] = kexdh_client;
120 ssh->kex->kex[KEX_DH_GEX_SHA1] = kexgex_client;
121 ssh->kex->kex[KEX_DH_GEX_SHA256] = kexgex_client;
122# ifdef OPENSSL_HAS_ECC
123 ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_client;
124# endif
125#endif /* WITH_OPENSSL */
126 ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_client;
127 ssh->kex->verify_host_key =&_ssh_verify_host_key;

--- 410 unchanged lines hidden ---
124 ssh->kex->kex[KEX_DH_GEX_SHA1] = kexgex_client;
125 ssh->kex->kex[KEX_DH_GEX_SHA256] = kexgex_client;
126# ifdef OPENSSL_HAS_ECC
127 ssh->kex->kex[KEX_ECDH_SHA2] = kexecdh_client;
128# endif
129#endif /* WITH_OPENSSL */
130 ssh->kex->kex[KEX_C25519_SHA256] = kexc25519_client;
131 ssh->kex->verify_host_key =&_ssh_verify_host_key;

--- 410 unchanged lines hidden ---