summaryrefslogtreecommitdiff
path: root/openbsd-compat
AgeCommit message (Collapse)Author
2010-01-01* New upstream release (closes: #536182). Yes, I know 5.3p1 has been outColin Watson
for a while, but there's no GSSAPI patch available for it yet. - Change the default cipher order to prefer the AES CTR modes and the revised "arcfour256" mode to CBC mode ciphers that are susceptible to CPNI-957037 "Plaintext Recovery Attack Against SSH". - Add countermeasures to mitigate CPNI-957037-style attacks against the SSH protocol's use of CBC-mode ciphers. Upon detection of an invalid packet length or Message Authentication Code, ssh/sshd will continue reading up to the maximum supported packet length rather than immediately terminating the connection. This eliminates most of the known differences in behaviour that leaked information about the plaintext of injected data which formed the basis of this attack (closes: #506115, LP: #379329). - ForceCommand directive now accepts commandline arguments for the internal-sftp server (closes: #524423, LP: #362511). - Add AllowAgentForwarding to available Match keywords list (closes: #540623). - Make ssh(1) send the correct channel number for SSH2_MSG_CHANNEL_SUCCESS and SSH2_MSG_CHANNEL_FAILURE messages to avoid triggering 'Non-public channel' error messages on sshd(8) in openssh-5.1. - Avoid printing 'Non-public channel' warnings in sshd(8), since the ssh(1) has sent incorrect channel numbers since ~2004 (this reverts a behaviour introduced in openssh-5.1; closes: #496017). * Update to GSSAPI patch from http://www.sxw.org.uk/computing/patches/openssh-5.2p1-gsskex-all-20090726.patch, including cascading credentials support (LP: #416958).
2010-01-01Import 5.2p1 tarballColin Watson
2009-02-16 - (djm) [regress/conch-ciphers.sh regress/putty-ciphers.sh]Damien Miller
[regress/putty-kex.sh regress/putty-transfer.sh] Downgrade disabled interop tests from FATAL error to a warning. Allows some interop tests to proceed if others are missing necessary prerequisites.
2009-01-14Open /proc/self/oom_adj with O_RDONLY or O_WRONLY as necessary, ratherColin Watson
than O_RDWR.
2009-01-07 - (tim) [configure.ac defines.h openbsd-compat/port-uw.cTim Rice
openbsd-compat/xcrypt.c] Add SECUREWARE support to OpenServer 6 SVR5 ABI. OK djm@ dtucker@
2008-08-30 - (dtucker) [openbsd-compat/bsd-poll.c] correctly check for number of FDsDarren Tucker
larger than FD_SETSIZE (OpenSSH only ever uses poll with one fd). Patch from Nicholas Marriott.
2008-07-22* New upstream release (closes: #474301). Important changes not previouslyColin Watson
backported to 4.7p1: - 4.9/4.9p1 (http://www.openssh.com/txt/release-4.9): + Added chroot(2) support for sshd(8), controlled by a new option "ChrootDirectory" (closes: #139047, LP: #24777). + Linked sftp-server(8) into sshd(8). The internal sftp server is used when the command "internal-sftp" is specified in a Subsystem or ForceCommand declaration. When used with ChrootDirectory, the internal sftp server requires no special configuration of files inside the chroot environment. + Added a protocol extension method "posix-rename@openssh.com" for sftp-server(8) to perform POSIX atomic rename() operations; sftp(1) prefers this if available (closes: #308561). + Removed the fixed limit of 100 file handles in sftp-server(8). + ssh(8) will now skip generation of SSH protocol 1 ephemeral server keys when in inetd mode and protocol 2 connections are negotiated. This speeds up protocol 2 connections to inetd-mode servers that also allow Protocol 1. + Accept the PermitRootLogin directive in a sshd_config(5) Match block. Allows for, e.g. permitting root only from the local network. + Reworked sftp(1) argument splitting and escaping to be more internally consistent (i.e. between sftp commands) and more consistent with sh(1). Please note that this will change the interpretation of some quoted strings, especially those with embedded backslash escape sequences. + Support "Banner=none" in sshd_config(5) to disable sending of a pre-login banner (e.g. in a Match block). + ssh(1) ProxyCommands are now executed with $SHELL rather than /bin/sh. + ssh(1)'s ConnectTimeout option is now applied to both the TCP connection and the SSH banner exchange (previously it just covered the TCP connection). This allows callers of ssh(1) to better detect and deal with stuck servers that accept a TCP connection but don't progress the protocol, and also makes ConnectTimeout useful for connections via a ProxyCommand. + scp(1) incorrectly reported "stalled" on slow copies (closes: #140828). + scp(1) date underflow for timestamps before epoch. + ssh(1) used the obsolete SIG DNS RRtype for host keys in DNS, instead of the current standard RRSIG. + Correctly drain ACKs when a sftp(1) upload write fails midway, avoids a fatal() exit from what should be a recoverable condition. + Fixed ssh-keygen(1) selective host key hashing (i.e. "ssh-keygen -HF hostname") to not include any IP address in the data to be hashed. + Make ssh(1) skip listening on the IPv6 wildcard address when a binding address of 0.0.0.0 is used against an old SSH server that does not support the RFC4254 syntax for wildcard bind addresses. + Enable IPV6_V6ONLY socket option on sshd(8) listen socket, as is already done for X11/TCP forwarding sockets (closes: #439661). + Fix FD leak that could hang a ssh(1) connection multiplexing master. + Make ssh(1) -q option documentation consistent with reality. + Fixed sshd(8) PAM support not calling pam_session_close(), or failing to call it with root privileges (closes: #372680). + Fix activation of OpenSSL engine support when requested in configure (LP: #119295). - 5.1/5.1p1 (http://www.openssh.com/txt/release-5.1): + Introduce experimental SSH Fingerprint ASCII Visualisation to ssh(1) and ssh-keygen(1). Visual fingerprint display is controlled by a new ssh_config(5) option "VisualHostKey". The intent is to render SSH host keys in a visual form that is amenable to easy recall and rejection of changed host keys. + sshd_config(5) now supports CIDR address/masklen matching in "Match address" blocks, with a fallback to classic wildcard matching. + sshd(8) now supports CIDR matching in ~/.ssh/authorized_keys from="..." restrictions, also with a fallback to classic wildcard matching. + Added an extended test mode (-T) to sshd(8) to request that it write its effective configuration to stdout and exit. Extended test mode also supports the specification of connection parameters (username, source address and hostname) to test the application of sshd_config(5) Match rules. + ssh(1) now prints the number of bytes transferred and the overall connection throughput for SSH protocol 2 sessions when in verbose mode (previously these statistics were displayed for protocol 1 connections only). + sftp-server(8) now supports extension methods statvfs@openssh.com and fstatvfs@openssh.com that implement statvfs(2)-like operations. + sftp(1) now has a "df" command to the sftp client that uses the statvfs@openssh.com to produce a df(1)-like display of filesystem space and inode utilisation (requires statvfs@openssh.com support on the server). + Added a MaxSessions option to sshd_config(5) to allow control of the number of multiplexed sessions supported over a single TCP connection. This allows increasing the number of allowed sessions above the previous default of 10, disabling connection multiplexing (MaxSessions=1) or disallowing login/shell/subsystem sessions entirely (MaxSessions=0). + Added a no-more-sessions@openssh.com global request extension that is sent from ssh(1) to sshd(8) when the client knows that it will never request another session (i.e. when session multiplexing is disabled). This allows a server to disallow further session requests and terminate the session in cases where the client has been hijacked. + ssh-keygen(1) now supports the use of the -l option in combination with -F to search for a host in ~/.ssh/known_hosts and display its fingerprint. + ssh-keyscan(1) now defaults to "rsa" (protocol 2) keys, instead of "rsa1". + Added an AllowAgentForwarding option to sshd_config(8) to control whether authentication agent forwarding is permitted. Note that this is a loose control, as a client may install their own unofficial forwarder. + ssh(1) and sshd(8): avoid unnecessary malloc/copy/free when receiving network data, resulting in a ~10% speedup. + ssh(1) and sshd(8) will now try additional addresses when connecting to a port forward destination whose DNS name resolves to more than one address. The previous behaviour was to try the only first address and give up if that failed. + ssh(1) and sshd(8) now support signalling that channels are half-closed for writing, through a channel protocol extension notification "eow@openssh.com". This allows propagation of closed file descriptors, so that commands such as "ssh -2 localhost od /bin/ls | true" do not send unnecessary data over the wire. + sshd(8): increased the default size of ssh protocol 1 ephemeral keys from 768 to 1024 bits. + When ssh(1) has been requested to fork after authentication ("ssh -f") with ExitOnForwardFailure enabled, delay the fork until after replies for any -R forwards have been seen. Allows for robust detection of -R forward failure when using -f. + "Match group" blocks in sshd_config(5) now support negation of groups. E.g. "Match group staff,!guests". + sftp(1) and sftp-server(8) now allow chmod-like operations to set set[ug]id/sticky bits. + The MaxAuthTries option is now permitted in sshd_config(5) match blocks. + Multiplexed ssh(1) sessions now support a subset of the ~ escapes that are available to a primary connection. + ssh(1) connection multiplexing will now fall back to creating a new connection in most error cases (closes: #352830). + Make ssh(1) deal more gracefully with channel requests that fail. Previously it would optimistically assume that requests would always succeed, which could cause hangs if they did not (e.g. when the server runs out of file descriptors). + ssh(1) now reports multiplexing errors via the multiplex slave's stderr where possible (subject to LogLevel in the mux master). + Prevent sshd(8) from erroneously applying public key restrictions leaned from ~/.ssh/authorized_keys to other authentication methods when public key authentication subsequently fails (LP: #161047). + Fixed an UMAC alignment problem that manifested on Itanium platforms.
2008-07-22Import OpenSSH 5.1p1.Colin Watson
2008-07-17 - (dtucker) [openbsd-compat/bsd-cygwin_util.c] Remove long-unneeded compatDarren Tucker
code, replace with equivalent cygwin library call. Patch from vinschen at redhat.comi, ok djm@.
2008-07-14 - (djm) [openbsd-compat/fake-rfc2553.c openbsd-compat/fake-rfc2553.h]Damien Miller
return EAI_FAMILY when trying to lookup unsupported address family; from vinschen AT redhat.com
2008-07-14 - (djm) [openbsd-compat/rresvport.c] Add unistd.h for missing close()Damien Miller
prototype; reported by cristian.ionescu-idbohrn AT axis.com
2008-07-14 - (djm) [openbsd-compat/bindresvport.c] Rename variables s/sin/in/ toDamien Miller
avoid clash with sin(3) function; reported by cristian.ionescu-idbohrn AT axis.com
2008-06-15 - (djm) [openbsd-compat/sigact.c] Avoid NULL derefs in ancient sigactionDamien Miller
replacement code; patch from ighighi AT gmail.com in bz#1240; ok dtucker
2008-06-13 - (dtucker) [openbsd-compat/setenv.c] Make offsets size_t to preventDarren Tucker
compiler warnings on some platforms. Based on a discussion with otto@
2008-06-10 - (dtucker) [openbsd-compat/fake-rfc2553.h] Add sin6_scope_id to sockaddr_in6Darren Tucker
since the new CIDR code in addmatch.c references it.
2008-06-09 - (dtucker) [configure.ac defines.h sftp-client.c sftp-server.c sftp.cDarren Tucker
openbsd-compat/Makefile.in openbsd-compat/openbsd-compat.h openbsd-compat/bsd-statvfs.{c,h}] Add a null implementation of statvfs and fstatvfs and remove #defines around statvfs code. ok djm@
2008-06-04 - (djm) [openbsd-compat/bsd-arc4random.c] Fix math bug that caused biasDamien Miller
in arc4random_uniform with upper_bound in (2^30,2*31). Note that OpenSSH did not make requests with upper bounds in this range.
2008-05-25Restore OOM killer adjustment for child processes (thanks, Vaclav Ovsik;Colin Watson
closes: #480020).
2008-05-20 - (djm) [configure.ac mux.c sftp.c openbsd-compat/Makefile.in]Damien Miller
[openbsd-compat/fmt_scaled.c openbsd-compat/openbsd-compat.h] Fix compilation on Linux, including pulling in fmt_scaled(3) implementation from OpenBSD's libutil.
2008-05-19 - (djm) [openbsd-compat/port-tun.c] needs sys/queue.hDamien Miller
2008-05-19- (djm) [openbsd-compat/bsd-arc4random.c] Warning fixesDamien Miller
2008-05-19 - (djm) [openbsd-compat/bsd-arc4random.c openbsd-compat/openbsd-compat.c]Damien Miller
[configure.ac] Implement arc4random_buf(), import implementation of arc4random_uniform() from OpenBSD
2008-05-16 - (djm) Force string arguments to replacement setproctitle() thoughDamien Miller
strnvis first. Ok dtucker@
2008-04-04 - (djm) [openbsd-compat/bsd-poll.c] Include stdlib.h to avoid compile-Damien Miller
time warnings on LynxOS. Patch from ops AT iki.fi
2008-03-27 - (dtucker) Cache selinux status earlier so we know if it's enabled after aDarren Tucker
chroot. Allows ChrootDirectory to work with selinux support compiled in but not enabled. Using it with selinux enabled will require some selinux support inside the chroot. "looks sane" djm@
2008-03-09 - (dtucker) [openbsd-compat/regress/strtonumtest.c] Bug #1347: Use platform'sDarren Tucker
equivalent of LLONG_MAX for the compat regression tests, which makes them run on AIX and HP-UX. Patch from David Leonard.
2008-03-09 - (dtucker) [openbsd-compat/port-aix.{c,h}] Remove AIX specific initgroupsDarren Tucker
implementation. It's not needed to fix bug #1081 and breaks the build on some AIX configurations.
2008-02-29 - (dtucker) [openbsd-compat/bsd-poll.c] We don't check for select(2) inDarren Tucker
configure (and there's not much point, as openssh won't work without it) so HAVE_SELECT is not defined and the poll(2) compat code doesn't get built in. Remove HAVE_SELECT so we can build on platforms without poll.
2008-02-28 - (dtucker) [configure.ac openbsd-compat/port-aix.{c,h}] Bug #1081: ImplementDarren Tucker
getgrouplist via getgrset on AIX, rather than iterating over getgrent. This allows, eg, Match and AllowGroups directives to work with NIS and LDAP groups.
2008-02-28 - (dtucker) [key.c defines.h openbsd-compat/openssl-compat.h] Move old OpenSSLDarren Tucker
compat glue into openssl-compat.h.
2008-02-28 - (dtucker) [includes.h ssh-add.c ssh-agent.c ssh-keygen.c ssh.c sshd.cDarren Tucker
openbsd-compat/openssl-compat.{c,h}] Bug #1437 Move the OpenSSL compat header to after OpenSSL headers, since some versions of OpenSSL have SSLeay_add_all_algorithms as a macro already.
2008-02-25 - (dtucker) [includes.h openbsd-compat/openssl-compat.c] Bug #1437: reshuffleDarren Tucker
headers so ./configure --with-ssl-engine actually works. Patch from Ian Lister.
2008-02-25 - (dtucker) [openbsd-compat/fake-rfc2553.h] rename ssh_gai_strerror hackDarren Tucker
since it now conflicts with the helper function in misc.c. From vinschen AT redhat.com.
2007-12-31 - (dtucker) [configure.ac openbsd-compat/glob.{c,h}] Bug #1407: force use ofDarren Tucker
builtin glob implementation on Mac OS X. Based on a patch from vgiffin at apple.
2007-12-24* New upstream release (closes: #453367).Colin Watson
- CVE-2007-4752: Prevent ssh(1) from using a trusted X11 cookie if creation of an untrusted cookie fails; found and fixed by Jan Pechanec (closes: #444738). - sshd(8) in new installations defaults to SSH Protocol 2 only. Existing installations are unchanged. - The SSH channel window size has been increased, and both ssh(1) sshd(8) now send window updates more aggressively. These improves performance on high-BDP (Bandwidth Delay Product) networks. - ssh(1) and sshd(8) now preserve MAC contexts between packets, which saves 2 hash calls per packet and results in 12-16% speedup for arcfour256/hmac-md5. - A new MAC algorithm has been added, UMAC-64 (RFC4418) as "umac-64@openssh.com". UMAC-64 has been measured to be approximately 20% faster than HMAC-MD5. - Failure to establish a ssh(1) TunnelForward is now treated as a fatal error when the ExitOnForwardFailure option is set. - ssh(1) returns a sensible exit status if the control master goes away without passing the full exit status. - When using a ProxyCommand in ssh(1), set the outgoing hostname with gethostname(2), allowing hostbased authentication to work. - Make scp(1) skip FIFOs rather than hanging (closes: #246774). - Encode non-printing characters in scp(1) filenames. These could cause copies to be aborted with a "protocol error". - Handle SIGINT in sshd(8) privilege separation child process to ensure that wtmp and lastlog records are correctly updated. - Report GSSAPI mechanism in errors, for libraries that support multiple mechanisms. - Improve documentation for ssh-add(1)'s -d option. - Rearrange and tidy GSSAPI code, removing server-only code being linked into the client. - Delay execution of ssh(1)'s LocalCommand until after all forwardings have been established. - In scp(1), do not truncate non-regular files. - Improve exit message from ControlMaster clients. - Prevent sftp-server(8) from reading until it runs out of buffer space, whereupon it would exit with a fatal error (closes: #365541). - pam_end() was not being called if authentication failed (closes: #405041). - Manual page datestamps updated (closes: #433181).
2007-12-23Import OpenSSH 4.7p1.Colin Watson
2007-10-30 - djm@cvs.openbsd.org 2007/10/29 23:49:41Damien Miller
[openbsd-compat/sys-tree.h] remove extra backslash at the end of RB_PROTOTYPE, report from Jan.Pechanec AT Sun.COM; ok deraadt@
2007-10-26 - millert@cvs.openbsd.org 2004/10/07 16:56:11Damien Miller
GLOB_NOESCAPE is POSIX so move it out of the #ifndef _POSIX_SOURCE block. (NB. mostly an RCS ID sync, as portable strips out the conditionals)
2007-10-26 - otto@cvs.openbsd.org 2007/04/30 18:42:34Damien Miller
[openbsd-compat/sys-queue.h] Enable QUEUE_MACRO_DEBUG on DIAGNOSTIC kernels. Input and okays from krw@, millert@, otto@, deraadt@, miod@.
2007-10-26 - otto@cvs.openbsd.org 2005/11/25 08:06:25Damien Miller
[openbsd-compat/sys-queue.h] Introduce debugging aid for queue macros. Disabled by default; but developers are encouraged to run with this enabled. ok krw@ fgsch@ deraadt@
2007-10-26 - otto@cvs.openbsd.org 2005/10/25 06:37:47Damien Miller
[openbsd-compat/sys-queue.h] Some uvm problem is being exposed with the more strict macros. Revert until we've found out what's causing the panics.
2007-10-26 - otto@cvs.openbsd.org 2005/10/24 20:25:14Damien Miller
[openbsd-compat/sys-queue.h] Partly backout. NOLIST, used in LISTs is probably interfering. requested by deraadt@
2007-10-26 - otto@cvs.openbsd.org 2005/10/17 20:19:42Damien Miller
[openbsd-compat/sys-queue.h] Performing certain operations on queue.h data structurs produced funny results. An example is calling LIST_REMOVE on the same element twice. This will not fail, but result in a data structure referencing who knows what. Prevent these accidents by NULLing some fields on remove and replace. This way, either a panic or segfault will be produced on the faulty operation.
2007-10-26 - deraadt@cvs.openbsd.org 2005/02/25 13:29:30Damien Miller
[openbsd-compat/sys-queue.h] minor white spacing
2007-10-26 - grange@cvs.openbsd.org 2004/05/04 16:59:32Damien Miller
[openbsd-compat/sys-queue.h] Remove useless ``elm'' argument from the SIMPLEQ_REMOVE_HEAD macro. This matches our SLIST behaviour and NetBSD's SIMPLEQ as well. ok millert krw deraadt
2007-10-26 - tdeval@cvs.openbsd.org 2004/11/24 18:10:42Damien Miller
[openbsd-compat/sys-tree.h] typo
2007-10-26 - frantzen@@cvs.openbsd.org 2004/04/24 18:11:46Damien Miller
[openbsd-compat/tree.h] sync to Niels Provos' version. avoid unused variable warning in RB_NEXT()
2007-10-26 - jakob@cvs.openbsd.org 2007/10/11 18:36:41Damien Miller
[openbsd-compat/getrrsetbyname.c openbsd-compat/getrrsetbyname.h] use RRSIG instead of SIG for DNSSEC. ok djm@
2007-10-26 - otto@cvs.openbsd.org 2006/10/21 09:55:03Damien Miller
[openbsd-compat/base64.c] remove calls to abort(3) that can't happen anyway; from <bret dot lambert at gmail.com>; ok millert@ deraadt@
2007-10-26 - (djm) [openbsd-compat/bindresvport.c]Damien Miller
Sync RCS ID after irrelevant (for portable OpenSSH) header shuffling