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 --- |