diff options
author | djm@openbsd.org <djm@openbsd.org> | 2018-12-27 03:25:24 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2018-12-27 14:38:22 +1100 |
commit | 0a843d9a0e805f14653a555f5c7a8ba99d62c12d (patch) | |
tree | 481f36e9fd1918be5449e369a97c086a1a8d2432 /sshconnect.h | |
parent | 434b587afe41c19391821e7392005068fda76248 (diff) |
upstream: move client/server SSH-* banners to buffers under
ssh->kex and factor out the banner exchange. This eliminates some common code
from the client and server.
Also be more strict about handling \r characters - these should only
be accepted immediately before \n (pointed out by Jann Horn).
Inspired by a patch from Markus Schmidt.
(lots of) feedback and ok markus@
OpenBSD-Commit-ID: 1cc7885487a6754f63641d7d3279b0941890275b
Diffstat (limited to 'sshconnect.h')
-rw-r--r-- | sshconnect.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/sshconnect.h b/sshconnect.h index 890d85733..44a5071c7 100644 --- a/sshconnect.h +++ b/sshconnect.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshconnect.h,v 1.35 2018/07/19 10:28:47 dtucker Exp $ */ | 1 | /* $OpenBSD: sshconnect.h,v 1.36 2018/12/27 03:25:25 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
@@ -37,21 +37,18 @@ int ssh_connect(struct ssh *, const char *, struct addrinfo *, | |||
37 | struct sockaddr_storage *, u_short, int, int, int *, int); | 37 | struct sockaddr_storage *, u_short, int, int, int *, int); |
38 | void ssh_kill_proxy_command(void); | 38 | void ssh_kill_proxy_command(void); |
39 | 39 | ||
40 | void ssh_login(Sensitive *, const char *, struct sockaddr *, u_short, | 40 | void ssh_login(struct ssh *, Sensitive *, const char *, |
41 | struct passwd *, int); | 41 | struct sockaddr *, u_short, struct passwd *, int); |
42 | |||
43 | void ssh_exchange_identification(int); | ||
44 | 42 | ||
45 | int verify_host_key(char *, struct sockaddr *, struct sshkey *); | 43 | int verify_host_key(char *, struct sockaddr *, struct sshkey *); |
46 | 44 | ||
47 | void get_hostfile_hostname_ipaddr(char *, struct sockaddr *, u_short, | 45 | void get_hostfile_hostname_ipaddr(char *, struct sockaddr *, u_short, |
48 | char **, char **); | 46 | char **, char **); |
49 | 47 | ||
50 | void ssh_kex(char *, struct sockaddr *); | 48 | void ssh_kex2(struct ssh *ssh, char *, struct sockaddr *, u_short); |
51 | void ssh_kex2(char *, struct sockaddr *, u_short); | ||
52 | 49 | ||
53 | void ssh_userauth1(const char *, const char *, char *, Sensitive *); | 50 | void ssh_userauth2(struct ssh *ssh, const char *, const char *, |
54 | void ssh_userauth2(const char *, const char *, char *, Sensitive *); | 51 | char *, Sensitive *); |
55 | 52 | ||
56 | void ssh_put_password(char *); | 53 | void ssh_put_password(char *); |
57 | int ssh_local_cmd(const char *); | 54 | int ssh_local_cmd(const char *); |