summaryrefslogtreecommitdiff
path: root/monitor_wrap.c
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2014-10-07 13:33:15 +0100
committerColin Watson <cjwatson@debian.org>2014-10-07 14:27:30 +0100
commitf0b009aea83e9ff3a50be30f51012099a5143c16 (patch)
tree3825e6f7e3b7ea4481d06ed89aba9a7a95150df5 /monitor_wrap.c
parent47f0bad4330b16ec3bad870fcf9839c196e42c12 (diff)
parent762c062828f5a8f6ed189ed6e44ad38fd92f8b36 (diff)
Merge 6.7p1.
* New upstream release (http://www.openssh.com/txt/release-6.7): - sshd(8): The default set of ciphers and MACs has been altered to remove unsafe algorithms. In particular, CBC ciphers and arcfour* are disabled by default. The full set of algorithms remains available if configured explicitly via the Ciphers and MACs sshd_config options. - ssh(1), sshd(8): Add support for Unix domain socket forwarding. A remote TCP port may be forwarded to a local Unix domain socket and vice versa or both ends may be a Unix domain socket (closes: #236718). - ssh(1), ssh-keygen(1): Add support for SSHFP DNS records for ED25519 key types. - sftp(1): Allow resumption of interrupted uploads. - ssh(1): When rekeying, skip file/DNS lookups of the hostkey if it is the same as the one sent during initial key exchange. - sshd(8): Allow explicit ::1 and 127.0.0.1 forwarding bind addresses when GatewayPorts=no; allows client to choose address family. - sshd(8): Add a sshd_config PermitUserRC option to control whether ~/.ssh/rc is executed, mirroring the no-user-rc authorized_keys option. - ssh(1): Add a %C escape sequence for LocalCommand and ControlPath that expands to a unique identifer based on a hash of the tuple of (local host, remote user, hostname, port). Helps avoid exceeding miserly pathname limits for Unix domain sockets in multiplexing control paths. - sshd(8): Make the "Too many authentication failures" message include the user, source address, port and protocol in a format similar to the authentication success / failure messages. - Use CLOCK_BOOTTIME in preference to CLOCK_MONOTONIC when it is available. It considers time spent suspended, thereby ensuring timeouts (e.g. for expiring agent keys) fire correctly (closes: #734553). - Use prctl() to prevent sftp-server from accessing /proc/self/{mem,maps}. * Restore TCP wrappers support, removed upstream in 6.7. It is true that dropping this reduces preauth attack surface in sshd. On the other hand, this support seems to be quite widely used, and abruptly dropping it (from the perspective of users who don't read openssh-unix-dev) could easily cause more serious problems in practice. It's not entirely clear what the right long-term answer for Debian is, but it at least probably doesn't involve dropping this feature shortly before a freeze. * Replace patch to disable OpenSSL version check with an updated version of Kurt Roeckx's patch from #732940 to just avoid checking the status field.
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r--monitor_wrap.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c
index a8fb07b52..4c57d4df3 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: monitor_wrap.c,v 1.79 2014/02/02 03:44:31 djm Exp $ */ 1/* $OpenBSD: monitor_wrap.c,v 1.80 2014/04/29 18:01:49 markus Exp $ */
2/* 2/*
3 * Copyright 2002 Niels Provos <provos@citi.umich.edu> 3 * Copyright 2002 Niels Provos <provos@citi.umich.edu>
4 * Copyright 2002 Markus Friedl <markus@openbsd.org> 4 * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -38,14 +38,18 @@
38#include <string.h> 38#include <string.h>
39#include <unistd.h> 39#include <unistd.h>
40 40
41#ifdef WITH_OPENSSL
41#include <openssl/bn.h> 42#include <openssl/bn.h>
42#include <openssl/dh.h> 43#include <openssl/dh.h>
43#include <openssl/evp.h> 44#include <openssl/evp.h>
45#endif
44 46
45#include "openbsd-compat/sys-queue.h" 47#include "openbsd-compat/sys-queue.h"
46#include "xmalloc.h" 48#include "xmalloc.h"
47#include "ssh.h" 49#include "ssh.h"
50#ifdef WITH_OPENSSL
48#include "dh.h" 51#include "dh.h"
52#endif
49#include "buffer.h" 53#include "buffer.h"
50#include "key.h" 54#include "key.h"
51#include "cipher.h" 55#include "cipher.h"
@@ -174,6 +178,7 @@ mm_request_receive_expect(int sock, enum monitor_reqtype type, Buffer *m)
174 rtype, type); 178 rtype, type);
175} 179}
176 180
181#ifdef WITH_OPENSSL
177DH * 182DH *
178mm_choose_dh(int min, int nbits, int max) 183mm_choose_dh(int min, int nbits, int max)
179{ 184{
@@ -207,6 +212,7 @@ mm_choose_dh(int min, int nbits, int max)
207 212
208 return (dh_new_group(g, p)); 213 return (dh_new_group(g, p));
209} 214}
215#endif
210 216
211int 217int
212mm_key_sign(Key *key, u_char **sigp, u_int *lenp, u_char *data, u_int datalen) 218mm_key_sign(Key *key, u_char **sigp, u_int *lenp, u_char *data, u_int datalen)
@@ -930,6 +936,7 @@ mm_terminate(void)
930 buffer_free(&m); 936 buffer_free(&m);
931} 937}
932 938
939#ifdef WITH_SSH1
933int 940int
934mm_ssh1_session_key(BIGNUM *num) 941mm_ssh1_session_key(BIGNUM *num)
935{ 942{
@@ -949,6 +956,7 @@ mm_ssh1_session_key(BIGNUM *num)
949 956
950 return (rsafail); 957 return (rsafail);
951} 958}
959#endif
952 960
953static void 961static void
954mm_chall_setup(char **name, char **infotxt, u_int *numprompts, 962mm_chall_setup(char **name, char **infotxt, u_int *numprompts,
@@ -1096,6 +1104,7 @@ mm_ssh1_session_id(u_char session_id[16])
1096 buffer_free(&m); 1104 buffer_free(&m);
1097} 1105}
1098 1106
1107#ifdef WITH_SSH1
1099int 1108int
1100mm_auth_rsa_key_allowed(struct passwd *pw, BIGNUM *client_n, Key **rkey) 1109mm_auth_rsa_key_allowed(struct passwd *pw, BIGNUM *client_n, Key **rkey)
1101{ 1110{
@@ -1191,6 +1200,7 @@ mm_auth_rsa_verify_response(Key *key, BIGNUM *p, u_char response[16])
1191 1200
1192 return (success); 1201 return (success);
1193} 1202}
1203#endif
1194 1204
1195#ifdef SSH_AUDIT_EVENTS 1205#ifdef SSH_AUDIT_EVENTS
1196void 1206void