summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/roaming_client.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2014-01-31 13:12:02 +0000
committerdes <des@FreeBSD.org>2014-01-31 13:12:02 +0000
commit7573e91b127f1c198210fd345d3ca198b598cfc6 (patch)
treed32fb61cec38c52314210c3459fd436685dacdba /crypto/openssh/roaming_client.c
parentc692973c992c321bb10e631f572fab1500ae5b0e (diff)
parent45d0197dd79eceffb5bbc29f75199eb09af5a5f9 (diff)
downloadFreeBSD-src-7573e91b127f1c198210fd345d3ca198b598cfc6.zip
FreeBSD-src-7573e91b127f1c198210fd345d3ca198b598cfc6.tar.gz
Upgrade to OpenSSH 6.5p1.
Diffstat (limited to 'crypto/openssh/roaming_client.c')
-rw-r--r--crypto/openssh/roaming_client.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/crypto/openssh/roaming_client.c b/crypto/openssh/roaming_client.c
index 81c4968..de049cd 100644
--- a/crypto/openssh/roaming_client.c
+++ b/crypto/openssh/roaming_client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: roaming_client.c,v 1.5 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: roaming_client.c,v 1.7 2014/01/09 23:20:00 djm Exp $ */
/*
* Copyright (c) 2004-2009 AppGate Network Security AB
*
@@ -48,6 +48,7 @@
#include "roaming.h"
#include "ssh2.h"
#include "sshconnect.h"
+#include "digest.h"
/* import */
extern Options options;
@@ -90,10 +91,8 @@ request_roaming(void)
static void
roaming_auth_required(void)
{
- u_char digest[SHA_DIGEST_LENGTH];
- EVP_MD_CTX md;
+ u_char digest[SSH_DIGEST_MAX_LENGTH];
Buffer b;
- const EVP_MD *evp_md = EVP_sha1();
u_int64_t chall, oldchall;
chall = packet_get_int64();
@@ -107,14 +106,13 @@ roaming_auth_required(void)
buffer_init(&b);
buffer_put_int64(&b, cookie);
buffer_put_int64(&b, chall);
- EVP_DigestInit(&md, evp_md);
- EVP_DigestUpdate(&md, buffer_ptr(&b), buffer_len(&b));
- EVP_DigestFinal(&md, digest, NULL);
+ if (ssh_digest_buffer(SSH_DIGEST_SHA1, &b, digest, sizeof(digest)) != 0)
+ fatal("%s: ssh_digest_buffer failed", __func__);
buffer_free(&b);
packet_start(SSH2_MSG_KEX_ROAMING_AUTH);
packet_put_int64(key1 ^ get_recv_bytes());
- packet_put_raw(digest, sizeof(digest));
+ packet_put_raw(digest, ssh_digest_bytes(SSH_DIGEST_SHA1));
packet_send();
oldkey1 = key1;
@@ -259,10 +257,10 @@ wait_for_roaming_reconnect(void)
if (c != '\n' && c != '\r')
continue;
- if (ssh_connect(host, &hostaddr, options.port,
+ if (ssh_connect(host, NULL, &hostaddr, options.port,
options.address_family, 1, &timeout_ms,
- options.tcp_keep_alive, options.use_privileged_port,
- options.proxy_command) == 0 && roaming_resume() == 0) {
+ options.tcp_keep_alive, options.use_privileged_port) == 0 &&
+ roaming_resume() == 0) {
packet_restore_state();
reenter_guard = 0;
fprintf(stderr, "[connection resumed]\n");
OpenPOWER on IntegriCloud