openssh (1:9.6p1-3ubuntu13.18) noble-security; urgency=medium

  * SECURITY UPDATE: sftp downloaded files location issue
    - debian/patches/CVE-2026-59995.patch: upstream: avoid download to server-
      controlled path when performing in sftp.c.
    - CVE-2026-59995
  * SECURITY UPDATE: scp parent directory issue
    - debian/patches/CVE-2026-59996.patch: upstream: resist that return ".." via
      remote glob during in scp.c.
    - CVE-2026-59996
  * SECURITY UPDATE: internal-sftp ignores more than 9 commandline args
    - debian/patches/CVE-2026-59997.patch: upstream: pass >9 commandline
      arguments to the internal-sftp server, in session.c.
    - CVE-2026-59997
  * SECURITY UPDATE: undocumented GSSAPIStrictAcceptorCheck behaviour
    - debian/patches/CVE-2026-59998.patch: upstream: mention a caveat regarding
      GSSAPIStrictAcceptorCheck in in sshd_config.5.
    - CVE-2026-59998
  * SECURITY UPDATE: DisableForwarding=yes not taking proper precedence
    - debian/patches/CVE-2026-59999.patch: upstream: DisableForwarding=yes
      didn't override PermitTunnel=yes in serverloop.c.
    - CVE-2026-59999
  * SECURITY UPDATE: DoS via MaxAuthTries mishandling
    - debian/patches/CVE-2026-60000-1.patch: upstream: Fix multiple RFC 4462
      (GSSAPIAuthentication) compliance in auth2-gss.c.
    - debian/patches/CVE-2026-60000-2.patch: upstream: unused variables in
      auth2-gss.c.
    - CVE-2026-60000
  * SECURITY UPDATE: minimum authentication delay not always honoured
    - debian/patches/CVE-2026-60001.patch: upstream: Fix cases in GSSAPI and
      keyboard-interactive in auth.h, auth2-chall.c, auth2-gss.c, auth2.c.
    - CVE-2026-60001
  * SECURITY UPDATE: Use-after-free during a key re-exchange
    - debian/patches/CVE-2026-60002.patch: upstream: fix ownership and lifetime
      of several bits of client in ssh.c, sshconnect.c, sshconnect.h,
      sshconnect2.c.
    - CVE-2026-60002

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Thu, 09 Jul 2026 14:16:38 -0400

openssh (1:9.6p1-3ubuntu13.17) noble; urgency=medium

  * d/openssh-server.postinst: unmask ssh.socket when migrating to socket
    activation (LP: #2109759)

 -- Hector Cao <hector.cao@canonical.com>  Fri, 12 Jun 2026 13:37:54 +0200

openssh (1:9.6p1-3ubuntu13.16) noble-security; urgency=medium

  * SECURITY UPDATE: unexpected scp setuid and setgid
    - debian/patches/CVE-2026-35385.patch: clear setuid/setgid bits from
      downloaded files in scp.c.
    - CVE-2026-35385
  * SECURITY UPDATE: command execution via shell metacharacters in username
    - debian/patches/CVE-2026-35386-pre1.patch: apply validity rules on
      ProxyJump usernames and hostnames in readconf.c, readconf.h, ssh.c.
    - debian/patches/CVE-2026-35386.patch: move username check earlier in
      ssh.c.
    - CVE-2026-35386
  * SECURITY UPDATE: use of unintended ECDSA algorithms
    - debian/patches/CVE-2026-35387_35414.patch: correctly match ECDSA
      signature algorithms against algorithm allowlists in
      auth2-hostbased.c, auth2-pubkey.c, sshconnect2.c.
    - CVE-2026-35387
  * SECURITY UPDATE: missing connection multiplexing confirmation
    - debian/patches/CVE-2026-35388.patch: add missing askpass check in
      mux.c.
    - CVE-2026-35388
  * SECURITY UPDATE: authorized_keys principals option mishandling
    - debian/patches/CVE-2026-35387_35414.patch: check for commas in
      auth2-pubkeyfile.c.
    - CVE-2026-35414

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Mon, 27 Apr 2026 20:29:48 -0400

openssh (1:9.6p1-3ubuntu13.15) noble-security; urgency=medium

  * SECURITY UPDATE: GSSAPI Key Exchange issue
    - debian/patches/gssapi.patch: replace incorrect use of
      sshpkt_disconnect() with ssh_packet_disconnect() and properly
      initialize some vars.
    - CVE-2026-3497
  * SECURITY UPDATE: Untrusted control characters in usernames
    - debian/patches/CVE-2025-61984.patch: refuse usernames that include
      control characters in ssh.c.
    - CVE-2025-61984
  * SECURITY UPDATE: Code execution in ProxyCommand via NULL character
    - debian/patches/CVE-2025-61985.patch: don't allow \0 characters in
      url-encoded strings in misc.c.
    - CVE-2025-61985

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Wed, 04 Mar 2026 12:55:04 -0500

openssh (1:9.6p1-3ubuntu13.14) noble; urgency=medium

  * d/p/systemd-socket-activation.patch: allow AF_VSOCK sockets (LP: #2111226)

 -- Nick Rosbrook <enr0n@ubuntu.com>  Tue, 26 Aug 2025 09:49:17 -0400

openssh (1:9.6p1-3ubuntu13.13) noble; urgency=medium

  * Explicitly listen on IPv4 by default, with socket-activated sshd
    (LP: #2080216)
    - d/systemd/ssh.socket: explicitly listen on ipv4 by default
    - d/t/sshd-socket-generator: update for new defaults and AddressFamily
    - sshd-socket-generator: handle new ssh.socket default settings

 -- Nick Rosbrook <enr0n@ubuntu.com>  Mon, 09 Jun 2025 13:22:39 -0400

openssh (1:9.6p1-3ubuntu13.12) noble; urgency=medium

  * d/p/sshd-socket-generator.patch: add note to sshd_config
    Explain that a systemctl daemon-reload is needed for changes
    to Port et al to take effect.
    (LP: #2069041)

 -- Nick Rosbrook <enr0n@ubuntu.com>  Tue, 29 Apr 2025 10:57:04 -0400

openssh (1:9.6p1-3ubuntu13.11) noble-security; urgency=medium

  * SECURITY UPDATE: incorrect DisableForwarding directive behaviour
    - debian/patches/CVE-2025-32728.patch: fix logic error in session.c.
    - CVE-2025-32728

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Tue, 22 Apr 2025 07:51:46 -0400

openssh (1:9.6p1-3ubuntu13.10) noble; urgency=medium

  * d/p/systemd-socket-activation.patch: don't clear rexec_flag
    (LP: #2071815)

 -- Nick Rosbrook <enr0n@ubuntu.com>  Wed, 02 Apr 2025 11:33:09 -0400

openssh (1:9.6p1-3ubuntu13.9) noble; urgency=medium

  [ Lukas Märdian ]
  * d/p/gssapi.patch: Fix interaction between gssapi-keyex and pubkey auth
    (LP: #2028282)
    Don't prefer host-bound public key signatures if there was no initial
    host key, as is the case when using GSS-API key exchange.
    Thanks to Colin Watson for providing patches via Debian Salsa (7d291bb)
    + d/t/ssh-gssapi: Fix typo in autopkgtest
    + d/t/ssh-gssapi: Test interaction between gssapi-keyex and pubkey auth.

  [ Nick Rosbrook ]
  * sshd-socket-generator: do not parse server match config
    (LP: #2076023)

 -- Nick Rosbrook <enr0n@ubuntu.com>  Mon, 24 Feb 2025 16:25:09 -0500

openssh (1:9.6p1-3ubuntu13.8) noble-security; urgency=medium

  * SECURITY UPDATE: MitM with VerifyHostKeyDNS option
    - debian/patches/CVE-2025-26465.patch: fix error code handling in
      krl.c, ssh-agent.c, ssh-sk-client.c, sshconnect2.c, sshsig.c.
    - CVE-2025-26465
  * SECURITY UPDATE: pre-authentication denial of service
    - debian/patches/CVE-2025-26466.patch: don't reply to PING in preauth
      or in KEX in packet.c.
    - CVE-2025-26466
  * NOTE: this package does _not_ contain the changes from
    (1:9.6p1-3ubuntu13.7) in noble-proposed.

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Tue, 11 Feb 2025 08:41:04 -0500

openssh (1:9.6p1-3ubuntu13.5) noble-proposed; urgency=medium

  * SRU: LP: #2076340: No-change rebuild to pick up changed build flags
    on ppc64 and s390x.

 -- Matthias Klose <doko@ubuntu.com>  Fri, 09 Aug 2024 04:33:22 +0200

openssh (1:9.6p1-3ubuntu13.4) noble-security; urgency=medium

  * SECURITY UPDATE: timing attack against echo-off password entry
    - debian/patches/CVE-2024-39894.patch: don't rely on
      channel_did_enqueue in clientloop.c
    - CVE-2024-39894

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Tue, 09 Jul 2024 07:31:27 -0400

openssh (1:9.6p1-3ubuntu13.3) noble-security; urgency=medium

  * SECURITY UPDATE: remote code execution via signal handler race
    condition (LP: #2070497)
    - debian/patches/CVE-2024-6387.patch: don't log in sshsigdie() in log.c.
    - CVE-2024-6387

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Wed, 26 Jun 2024 09:07:08 -0400

openssh (1:9.6p1-3ubuntu13) noble; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * debian: Remove dependency on libsystemd
    As per the xz backdoor we learned that the least dependencies sshd have,
    the best it is, so avoid to plug libsystemd (which also brings various
    other dependencies) inside sshd for no reason:

    - d/p/systemd-readiness.patch: Use upstream patch with no libsystemd
      dependency
    - d/p/systemd-socket-activation.patch: Import patch from debian that
      mimics the libsystemd sd_listen_fds() code, as refactored by Colin
      Watson.
    - d/control: Remove dependencies on  libsystemd-dev | libelogind-dev
    - d/rules: Drop --with-systemd flag (new options are used by default)

  [ Nick Rosbrook ]
  * debian/patches: only set PAM_RHOST if remote host is not "UNKNOWN"
    (LP: #2060150)
  * debian/openssh-server.postinst: don't re-enable ssh.socket if it was disabled
    (LP: #2059874)
  * d/p/sshd-socket-generator.patch: do not always ignore ListenStream=22
    (LP: #2059872)

 -- Nick Rosbrook <enr0n@ubuntu.com>  Fri, 05 Apr 2024 15:30:31 -0400

openssh (1:9.6p1-3ubuntu12) noble; urgency=medium

  * No-change rebuild for CVE-2024-3094

 -- Steve Langasek <steve.langasek@ubuntu.com>  Sun, 31 Mar 2024 09:23:28 +0000

openssh (1:9.6p1-3ubuntu11) noble; urgency=medium

  * d/t/ssh-gssapi: make the test a bit more rebust (LP: #2058276):
    - deal with return codes
    - match a more specific success expression from the logs
    - add klist output in the case of failure

 -- Andreas Hasenack <andreas@canonical.com>  Mon, 18 Mar 2024 10:25:15 -0300

openssh (1:9.6p1-3ubuntu10) noble; urgency=medium

  * Build again with gnome.

 -- Matthias Klose <doko@ubuntu.com>  Sat, 16 Mar 2024 19:30:41 +0100

openssh (1:9.6p1-3ubuntu9) noble; urgency=medium

  * d/p/gssapi.patch: fix method_gsskeyex structure and
    userauth_gsskeyex function regarding changes introduced in upstream
    commit dbb339f015c33d63484261d140c84ad875a9e548 ("prepare for
    multiple names for authmethods") (LP: #2053146)
  * d/t/{ssh-gssapi,util}: ssh-gssapi DEP8 test for gssapi-with-mic
    and gssapi-keyex authentication methods

 -- Andreas Hasenack <andreas@canonical.com>  Fri, 15 Mar 2024 16:18:01 -0300

openssh (1:9.6p1-3ubuntu8) noble; urgency=medium

  * No-change rebuild against libcom-err2

 -- Steve Langasek <steve.langasek@ubuntu.com>  Tue, 12 Mar 2024 20:34:07 +0000

openssh (1:9.6p1-3ubuntu7) noble; urgency=medium

  * No-change rebuild against libglib2.0-0t64

 -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 11 Mar 2024 23:25:42 +0000

openssh (1:9.6p1-3ubuntu6) noble; urgency=medium

  * No-change rebuild against libglib2.0-0t64

 -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 08 Mar 2024 06:32:05 +0000

openssh (1:9.6p1-3ubuntu5) noble; urgency=medium

  * debian/systemd/ssh.service: restore RuntimeDirectory=sshd (LP: #2055806)
    We started using a tmpfile in Ubuntu when we invoked sshd -G in
    openssh-server.postinst as a part of migration to systemd socket activation.
    Since we use a generator now, instead of invoking sshd -G, we no longer need
    this change.

 -- Nick Rosbrook <enr0n@ubuntu.com>  Thu, 07 Mar 2024 13:59:57 -0500

openssh (1:9.6p1-3ubuntu5~ppa2) noble; urgency=medium

  * Build without gnome.

 -- Matthias Klose <doko@ubuntu.com>  Tue, 05 Mar 2024 15:53:05 +0100

openssh (1:9.6p1-3ubuntu4) noble; urgency=medium

  * No-change rebuild against libssl3t64

 -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 04 Mar 2024 20:31:25 +0000

openssh (1:9.6p1-3ubuntu3) noble; urgency=medium

  * Add sshd-socket-generator to generate ssh.socket drop-in configuration
    instead of doing one-time generation on package upgrade:
    - debian/control: Build-Depends: systemd-dev
    - d/p/sshd-socket-generator.patch: add generator for socket activation
    - debian/openssh-server.install: install sshd-socket-generator
    - debian/openssh-server.postinst: handle migration to sshd-socket-generator
    - d/t/sshd-socket-generator: add dep8 test for sshd-socket-generator
    - ssh.socket: adjust unit for socket activation by default
    - debian/README.Debian: update ssh.socket documentation
    - debian/rules: explicitly enable LTO
      The armhf build was not using LTO, which made sshd-socket-generator FTBFS.
      This change ensures that all arches are using LTO.
  * Drop the following changes related to previous ssh socket activation approach:
    - debian/openssh-server.postrm: remove systemd drop-ins for
      socket-activated sshd on purge
    - debian/openssh-server.templates: include debconf prompt explaining
      when migration cannot happen due to multiple ListenAddress values
    - debian/openssh-server.postinst: handle migration of sshd_config options
      to systemd socket options on upgrade.
    - debian/patches/socket-activation-documentation.patch: Document in
      sshd_config(5) that ListenAddress and Port no longer work.
  * debian/openssh-server.ucf-md5sum: update for new Ubuntu delta

 -- Nick Rosbrook <enr0n@ubuntu.com>  Wed, 21 Feb 2024 12:51:30 -0500

openssh (1:9.6p1-3ubuntu2) noble; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * debian/patches: Immediately report interactive instructions to PAM clients
  * debian/patches: sshconnect2: Write kbd-interactive messages as utf-8

 -- Julian Andres Klode <juliank@ubuntu.com>  Thu, 15 Feb 2024 11:13:03 +0100

openssh (1:9.6p1-3ubuntu1) noble; urgency=medium

  * Merge with Debian unstable (LP: #2040406). Remaining changes:
    - debian/rules: modify dh_installsystemd invocations for
      socket-activated sshd.
    - debian/openssh-server.postinst: handle migration of sshd_config
      options to systemd socket options on upgrade.
    - debian/README.Debian: document systemd socket activation.
    - debian/patches/socket-activation-documentation.patch: Document
      in sshd_config(5) that ListenAddress and Port no longer work.
    - debian/openssh-server.templates: include debconf prompt
      explaining when migration cannot happen due to multiple
      ListenAddress values.
    - debian/.gitignore: drop file.
    - debian/openssh-server.postrm: remove systemd drop-ins for
      socket-activated sshd on purge.
    - debian/openssh-server.ucf-md5sum: update for Ubuntu delta
    - debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
      /run/sshd creation out of the systemd unit to a tmpfile config
      so that sshd can be run manually if necessary without having to
      create this directory by hand.
    - debian/patches/systemd-socket-activation.patch: Fix sshd
      re-execution behavior when socket activation is used.
    - debian/tests/systemd-socket-activation: Add autopkgtest
      for systemd socket activation functionality.
    - d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no
      for some tests.
  * Dropped changes, fixed upstream:
    - d/p/fix-ftbfs-with-zlib13.patch: fix ftbfs when using zlib 1.3
      (LP #2049552)

 -- Miriam España Acebal <miriam.espana@canonical.com>  Mon, 29 Jan 2024 11:16:31 +0100

openssh (1:9.6p1-3) unstable; urgency=medium

  * Allow passing extra ssh-agent arguments via
    "/usr/lib/openssh/agent-launch start", making it possible to override
    things like identity lifetime using a systemd drop-in unit (closes:
    #1059639).
  * Don't try to start rescue-ssh.target in postinst (LP: #2047082).

 -- Colin Watson <cjwatson@debian.org>  Wed, 17 Jan 2024 22:50:07 +0000

openssh (1:9.6p1-2) unstable; urgency=medium

  * Improve detection of broken -fzero-call-used-regs=used (see
    https://bugzilla.mindrot.org/show_bug.cgi?id=3645; fixes build on
    ppc64/ppc64el).

 -- Colin Watson <cjwatson@debian.org>  Thu, 21 Dec 2023 16:07:34 +0000

openssh (1:9.6p1-1) unstable; urgency=medium

  * Use single quotes in suggested ssh-keygen commands (closes: #1057835).
  * Debconf translations:
    - Catalan (thanks, Pablo Huguet; closes: #1049995).
  * New upstream release (https://www.openssh.com/releasenotes.html#9.6p1):
    - [CVE-2023-48795] ssh(1), sshd(8): implement protocol extensions to
      thwart the so-called "Terrapin attack" discovered by Fabian Bäumer,
      Marcus Brinkmann and Jörg Schwenk. This attack allows a MITM to effect
      a limited break of the integrity of the early encrypted SSH transport
      protocol by sending extra messages prior to the commencement of
      encryption, and deleting an equal number of consecutive messages
      immediately after encryption starts. A peer SSH client/server would
      not be able to detect that messages were deleted.
    - [CVE-2023-51384] ssh-agent(1): when adding PKCS#11-hosted private keys
      while specifying destination constraints, if the PKCS#11 token
      returned multiple keys then only the first key had the constraints
      applied. Use of regular private keys, FIDO tokens and unconstrained
      keys are unaffected.
    - [CVE-2023-51385] ssh(1): if an invalid user or hostname that contained
      shell metacharacters was passed to ssh(1), and a ProxyCommand,
      LocalCommand directive or "match exec" predicate referenced the user
      or hostname via %u, %h or similar expansion token, then an attacker
      who could supply arbitrary user/hostnames to ssh(1) could potentially
      perform command injection depending on what quoting was present in the
      user-supplied ssh_config(5) directive. OpenSSH 9.6 now bans most shell
      metacharacters from user and hostnames supplied via the command-line.
    - ssh(1), sshd(8): the RFC4254 connection/channels protocol provides a
      TCP-like window mechanism that limits the amount of data that can be
      sent without acceptance from the peer. In cases where this limit was
      exceeded by a non-conforming peer SSH implementation, ssh(1)/sshd(8)
      previously discarded the extra data. From OpenSSH 9.6, ssh(1)/sshd(8)
      will now terminate the connection if a peer exceeds the window limit
      by more than a small grace factor. This change should have no effect
      of SSH implementations that follow the specification.
    - ssh(1): add a %j token that expands to the configured ProxyJump
      hostname (or the empty string if this option is not being used) that
      can be used in a number of ssh_config(5) keywords.
    - ssh(1): add ChannelTimeout support to the client, mirroring the same
      option in the server and allowing ssh(1) to terminate quiescent
      channels.
    - ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): add support for reading
      ED25519 private keys in PEM PKCS8 format. Previously only the OpenSSH
      private key format was supported.
    - ssh(1), sshd(8): introduce a protocol extension to allow renegotiation
      of acceptable signature algorithms for public key authentication after
      the server has learned the username being used for authentication.
      This allows varying sshd_config(5) PubkeyAcceptedAlgorithms in a
      "Match user" block.
    - ssh-add(1), ssh-agent(1): add an agent protocol extension to allow
      specifying certificates when loading PKCS#11 keys. This allows the use
      of certificates backed by PKCS#11 private keys in all OpenSSH tools
      that support ssh-agent(1). Previously only ssh(1) supported this
      use-case.
    - ssh(1): when deciding whether to enable the keystroke timing
      obfuscation, enable it only if a channel with a TTY is active.
    - ssh(1): switch mainloop from poll(3) to ppoll(3) and mask signals
      before checking flags set in signal handler. Avoids potential race
      condition between signaling ssh to exit and polling.
    - ssh(1): when connecting to a destination with both the AddressFamily
      and CanonicalizeHostname directives in use, the AddressFamily
      directive could be ignored.
    - sftp(1): correct handling of the limits@openssh.com option when the
      server returned an unexpected message.
    - ssh(1): release GSS OIDs only at end of authentication, avoiding
      unnecessary init/cleanup cycles.
    - ssh_config(5): mention "none" is a valid argument to IdentityFile in
      the manual.
    - scp(1): improved debugging for paths from the server rejected for not
      matching the client's glob(3) pattern in old SCP/RCP protocol mode.
    - ssh-agent(1): refuse signing operations on destination-constrained
      keys if a previous session-bind operation has failed. This may prevent
      a fail-open situation in future if a user uses a mismatched ssh(1)
      client and ssh-agent(1) where the client supports a key type that the
      agent does not support.
  * debian/run-tests: Supply absolute paths to tools.
  * debian/run-tests: Enable interop tests for Dropbear.

 -- Colin Watson <cjwatson@debian.org>  Mon, 18 Dec 2023 22:35:25 +0000

openssh (1:9.5p1-2) unstable; urgency=medium

  * Upload to unstable.

 -- Colin Watson <cjwatson@debian.org>  Sat, 25 Nov 2023 16:16:04 +0000

openssh (1:9.5p1-1) experimental; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#9.5p1):
    - ssh-keygen(1): generate Ed25519 keys by default. Ed25519 public keys
      are very convenient due to their small size. Ed25519 keys are
      specified in RFC 8709 and OpenSSH has supported them since version 6.5
      (January 2014).
    - sshd(8): the Subsystem directive now accurately preserves quoting of
      subsystem commands and arguments. This may change behaviour for exotic
      configurations, but the most common subsystem configuration
      (sftp-server) is unlikely to be affected.
    - ssh(1): add keystroke timing obfuscation to the client. This attempts
      to hide inter-keystroke timings by sending interactive traffic at
      fixed intervals (default: every 20ms) when there is only a small
      amount of data being sent. It also sends fake "chaff" keystrokes for a
      random interval after the last real keystroke. These are controlled by
      a new ssh_config ObscureKeystrokeTiming keyword.
    - ssh(1), sshd(8): Introduce a transport-level ping facility. This adds
      a pair of SSH transport protocol messages SSH2_MSG_PING/PONG to
      implement a ping capability. These messages use numbers in the "local
      extensions" number space and are advertised using a "ping@openssh.com"
      ext-info message with a string version number of "0".
    - sshd(8): allow override of Subsystem directives in sshd Match blocks.
    - scp(1): fix scp in SFTP mode recursive upload and download of
      directories that contain symlinks to other directories. In scp mode,
      the links would be followed, but in SFTP mode they were not.
    - ssh-keygen(1): handle cr+lf (instead of just cr) line endings in
      sshsig signature files.
    - ssh(1): interactive mode for ControlPersist sessions if they
      originally requested a tty.
    - sshd(8): make PerSourceMaxStartups first-match-wins.
    - sshd(8): limit artificial login delay to a reasonable maximum (5s) and
      don't delay at all for the "none" authentication mechanism.
    - sshd(8): Log errors in kex_exchange_identification() with level
      verbose instead of error to reduce preauth log spam. All of those get
      logged with a more generic error message by sshpkt_fatal().
    - sshd(8): correct math for ClientAliveInterval that caused the probes
      to be sent less frequently than configured.
    - ssh(1): fix regression in OpenSSH 9.4 (mux.c r1.99) that caused
      multiplexed sessions to ignore SIGINT under some circumstances.
  * Build-depend on dh-sequence-movetousr.
  * Report DebianBanner setting in "sshd -G/-T" output (thanks, Rasmus
    Villemoes; closes: #1053555).

 -- Colin Watson <cjwatson@debian.org>  Thu, 23 Nov 2023 17:38:07 +0000

openssh (1:9.4p1-1ubuntu2) noble; urgency=medium

  * d/p/fix-ftbfs-with-zlib13.patch: fix ftbfs when using
    zlib 1.3 (LP: #2049552).

 -- Miriam España Acebal <miriam.espana@canonical.com>  Wed, 17 Jan 2024 20:00:55 +0100

openssh (1:9.4p1-1ubuntu1) noble; urgency=medium

  * Merge with Debian unstable. Remaining changes:
    - debian/rules: modify dh_installsystemd invocations for
      socket-activated sshd
    - debian/openssh-server.postinst: handle migration of sshd_config options
      to systemd socket options on upgrade.
    - debian/README.Debian: document systemd socket activation.
    - debian/patches/socket-activation-documentation.patch: Document in
      sshd_config(5) that ListenAddress and Port no longer work.
    - debian/openssh-server.templates: include debconf prompt explaining
      when migration cannot happen due to multiple ListenAddress values
    - debian/.gitignore: drop file
    - debian/openssh-server.postrm: remove systemd drop-ins for
      socket-activated sshd on purge
    - debian/openssh-server.ucf-md5sum: update for Ubuntu delta
    - debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
      /run/sshd creation out of the systemd unit to a tmpfile config so
      that sshd can be run manually if necessary without having to create
      this directory by hand.
    - debian/patches/systemd-socket-activation.patch: Fix sshd
      re-execution behavior when socket activation is used
    - debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
      activation functionality.
    - d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no for some tests
  * Dropped changes, fixed upstream:
    - d/p/fix-authorized-principals-command.patch: Fix the situation where
      sshd ignores AuthorizedPrincipalsCommand if AuthorizedKeysCommand
      is also set by checking if the value pointed to by the pointer
      'charptr' is NULL.
    - debian/patches/CVE-2023-38408-1.patch: terminate process if requested
      to load a PKCS#11 provider that isn't a PKCS#11 provider in
      ssh-pkcs11.c.
    - debian/patches/CVE-2023-38408-2.patch: disallow remote addition of
      FIDO/PKCS11 provider in ssh-agent.1, ssh-agent.c.
    - debian/patches/CVE-2023-38408-3.patch: ensure FIDO/PKCS11 libraries
      contain expected symbols in misc.c, misc.h, ssh-pkcs11.c, ssh-sk.c.
  * Dropped changes, affected package versions not published in supported
    releases:
    - debian/openssh-server.postint: do not try to restart systemd units,
      and instead indicate that a reboot is required
    - debian/tests/systemd-socket-activation: Reboot the testbed before starting the test
    - debian/rules: Do not stop ssh.socket on upgrade

 -- Nick Rosbrook <enr0n@ubuntu.com>  Mon, 13 Nov 2023 12:47:29 -0500

openssh (1:9.4p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#9.4p1):
    - ssh-agent(1): PKCS#11 modules must now be specified by their full
      paths. Previously dlopen(3) could search for them in system library
      directories.
    - ssh(1): allow forwarding Unix Domain sockets via ssh -W.
    - ssh(1): add support for configuration tags to ssh(1). This adds a
      ssh_config(5) "Tag" directive and corresponding "Match tag" predicate
      that may be used to select blocks of configuration similar to the
      pf.conf(5) keywords of the same name.
    - ssh(1): add a "match localnetwork" predicate. This allows matching on
      the addresses of available network interfaces and may be used to vary
      the effective client configuration based on network location.
    - ssh(1), sshd(8), ssh-keygen(1): infrastructure support for KRL
      extensions. This defines wire formats for optional KRL extensions and
      implements parsing of the new submessages. No actual extensions are
      supported at this point.
    - sshd(8): AuthorizedPrincipalsCommand and AuthorizedKeysCommand now
      accept two additional %-expansion sequences: %D which expands to the
      routing domain of the connected session and %C which expands to the
      addresses and port numbers for the source and destination of the
      connection.
    - ssh-keygen(1): increase the default work factor (rounds) for the
      bcrypt KDF used to derive symmetric encryption keys for passphrase
      protected key files by 50%.
    - ssh-agent(1): improve isolation between loaded PKCS#11 modules by
      running separate ssh-pkcs11-helpers for each loaded provider.
    - ssh(1): make -f (fork after authentication) work correctly with
      multiplexed connections, including ControlPersist (closes: #348741).
    - ssh(1): make ConnectTimeout apply to multiplexing sockets and not just
      to network connections.
    - ssh-agent(1), ssh(1): improve defences against invalid PKCS#11 modules
      being loaded by checking that the requested module contains the
      required symbol before loading it.
    - sshd(8): fix AuthorizedPrincipalsCommand when AuthorizedKeysCommand
      appears before it in sshd_config. Since OpenSSH 8.7 the
      AuthorizedPrincipalsCommand directive was incorrectly ignored in this
      situation.
    - sshd(8), ssh(1), ssh-keygen(1): remove vestigial support for KRL
      signatures. When the KRL format was originally defined, it included
      support for signing of KRL objects. However, the code to sign KRLs and
      verify KRL signatues was never completed in OpenSSH. This release
      removes the partially-implemented code to verify KRLs. All OpenSSH
      tools now ignore KRL_SECTION_SIGNATURE sections in KRL files.
    - All: fix a number of memory leaks and unreachable/harmless integer
      overflows.
    - ssh-agent(1), ssh(1): don't truncate strings logged from PKCS#11
      modules.
    - sshd(8), ssh(1): better validate CASignatureAlgorithms in ssh_config
      and sshd_config. Previously this directive would accept certificate
      algorithm names, but these were unusable in practice as OpenSSH does
      not support CA chains.
    - ssh(1): make `ssh -Q CASignatureAlgorithms` only list signature
      algorithms that are valid for CA signing. Previous behaviour was to
      list all signing algorithms, including certificate algorithms.
    - ssh-keyscan(1): gracefully handle systems where rlimits or the maximum
      number of open files is larger than INT_MAX.
    - ssh-keygen(1): fix "no comment" not showing on when running
      `ssh-keygen -l` on multiple keys where one has a comment and other
      following keys do not. bz3580
    - scp(1), sftp(1): adjust ftruncate() logic to handle servers that
      reorder requests. Previously, if the server reordered requests then
      the resultant file would be erroneously truncated.
    - ssh(1): don't incorrectly disable hostname canonicalization when
      CanonicalizeHostname=yes and ProxyJump was explicitly set to "none".
    - scp(1): when copying local->remote, check that the source file exists
      before opening an SFTP connection to the server (closes: #59255).
    - sshd(8): provide a replacement for the SELinux matchpathcon()
      function, which is deprecated.
    - All: relax libcrypto version checks for OpenSSL >=3 (closes:
      #1035623). Beyond OpenSSL 3.0, the ABI compatibility guarantees are
      wider (only the library major must match instead of major and minor in
      earlier versions).
    - ssh-copy-id(1): Special case OpenWrt instead of Dropbear
      (LP: #1966886).

 -- Colin Watson <cjwatson@debian.org>  Sat, 02 Sep 2023 21:02:53 +0100

openssh (1:9.3p2-1) unstable; urgency=high

  * New upstream release (https://www.openssh.com/releasenotes.html#9.3p2):
    - [CVE-2023-38408] Fix a condition where specific libraries loaded via
      ssh-agent(1)'s PKCS#11 support could be abused to achieve remote code
      execution via a forwarded agent socket.

 -- Colin Watson <cjwatson@debian.org>  Wed, 19 Jul 2023 22:49:14 +0100

openssh (1:9.3p1-1ubuntu3) mantic; urgency=medium

  * d/p/fix-authorized-principals-command.patch: Fix the situation where
    sshd ignores AuthorizedPrincipalsCommand if AuthorizedKeysCommand
    is also set by checking if the value pointed to by the pointer
    'charptr' is NULL. (LP: #2031942)

 -- Michal Maloszewski <michal.maloszewski@canonical.com>  Thu, 24 Aug 2023 15:20:27 +0200

openssh (1:9.3p1-1ubuntu2) mantic; urgency=medium

  * SECURITY UPDATE: remote code execution relating to PKCS#11 providers
    - debian/patches/CVE-2023-38408-1.patch: terminate process if requested
      to load a PKCS#11 provider that isn't a PKCS#11 provider in
      ssh-pkcs11.c.
    - debian/patches/CVE-2023-38408-2.patch: disallow remote addition of
      FIDO/PKCS11 provider in ssh-agent.1, ssh-agent.c.
    - debian/patches/CVE-2023-38408-3.patch: ensure FIDO/PKCS11 libraries
      contain expected symbols in misc.c, misc.h, ssh-pkcs11.c, ssh-sk.c.
    - CVE-2023-38408

 -- Marc Deslauriers <marc.deslauriers@ubuntu.com>  Mon, 24 Jul 2023 15:01:06 -0400

openssh (1:9.3p1-1ubuntu1) mantic; urgency=medium

  * Merge with Debian unstable (LP: #2025664). Remaining changes:
    - debian/rules: modify dh_installsystemd invocations for
      socket-activated sshd
    - debian/openssh-server.postinst: handle migration of sshd_config options
      to systemd socket options on upgrade.
    - debian/README.Debian: document systemd socket activation.
    - debian/patches/socket-activation-documentation.patch: Document in
      sshd_config(5) that ListenAddress and Port no longer work.
    - debian/openssh-server.templates: include debconf prompt explaining
      when migration cannot happen due to multiple ListenAddress values
    - debian/.gitignore: drop file
    - debian/openssh-server.postrm: remove systemd drop-ins for
      socket-activated sshd on purge
    - debian/openssh-server.ucf-md5sum: update for Ubuntu delta
    - debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
      /run/sshd creation out of the systemd unit to a tmpfile config so
      that sshd can be run manually if necessary without having to create
      this directory by hand.
    - debian/patches/systemd-socket-activation.patch: Fix sshd
      re-execution behavior when socket activation is used
    - debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
      activation functionality.
    - d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no for some tests
    - Ensure smooth upgrade path from versions affected by LP: #2020474:
      + debian/openssh-server.postint: do not try to restart systemd units,
        and instead indicate that a reboot is required
      + debian/tests/systemd-socket-activation: Reboot the testbed before starting the test
      + debian/rules: Do not stop ssh.socket on upgrade

 -- Nick Rosbrook <nick.rosbrook@canonical.com>  Mon, 03 Jul 2023 11:34:47 -0400

openssh (1:9.3p1-1) unstable; urgency=medium

  * Debconf translations:
    - Romanian (thanks, Remus-Gabriel Chelu; closes: #1033178).
  * Properly fix date of 1:3.0.2p1-2 changelog entry (closes: #1034425).
  * New upstream release (https://www.openssh.com/releasenotes.html#9.3p1):
    - [CVE-2023-28531] ssh-add(1): when adding smartcard keys to
      ssh-agent(1) with the per-hop destination constraints (ssh-add -h ...)
      added in OpenSSH 8.9, a logic error prevented the constraints from
      being communicated to the agent. This resulted in the keys being added
      without constraints. The common cases of non-smartcard keys and keys
      without destination constraints are unaffected. This problem was
      reported by Luci Stanescu (closes: #1033166).
    - [SECURITY] ssh(1): Portable OpenSSH provides an implementation of the
      getrrsetbyname(3) function if the standard library does not provide
      it, for use by the VerifyHostKeyDNS feature. A specifically crafted
      DNS response could cause this function to perform an out-of-bounds
      read of adjacent stack data, but this condition does not appear to be
      exploitable beyond denial-of-service to the ssh(1) client.
    - ssh-keygen(1), ssh-keyscan(1): accept -Ohashalg=sha1|sha256 when
      outputting SSHFP fingerprints to allow algorithm selection.
    - sshd(8): add a `sshd -G` option that parses and prints the effective
      configuration without attempting to load private keys and perform
      other checks. This allows usage of the option before keys have been
      generated and for configuration evaluation and verification by
      unprivileged users.
    - scp(1), sftp(1): fix progressmeter corruption on wide displays.
    - ssh-add(1), ssh-keygen(1): use RSA/SHA256 when testing usability of
      private keys as some systems are starting to disable RSA/SHA1 in
      libcrypto.
    - sftp-server(8): fix a memory leak.
    - ssh(1), sshd(8), ssh-keyscan(1): remove vestigial protocol
      compatibility code and simplify what's left.
    - Fix a number of low-impact Coverity static analysis findings.
    - ssh_config(5), sshd_config(5): mention that some options are not
      first-match-wins.
    - Rework logging for the regression tests. Regression tests will now
      capture separate logs for each ssh and sshd invocation in a test.
    - ssh(1): make `ssh -Q CASignatureAlgorithms` work as the manpage says
      it should.
    - ssh(1): ensure that there is a terminating newline when adding a new
      entry to known_hosts.
    - sshd(8): harden Linux seccomp sandbox. Move to an allowlist of
      mmap(2), madvise(2) and futex(2) flags, removing some concerning
      kernel attack surface.
  * debian/README.Debian: Clarify that you need to restart ssh.socket after
    overriding its ListenStream= option (LP: #2020560).
  * debian/openssh-server.postinst: Use "sshd -G" to parse the server
    configuration file (closes: #959726).
  * Fix incorrect RRSET_FORCE_EDNS0 flags validation in SSHFP DNSSEC patch
    (thanks, Ben Hutchings; closes: #909022).
  * Always use the internal mkdtemp implementation, since it substitutes
    more randomness into the template string than glibc's version (closes:
    #1001186).

 -- Colin Watson <cjwatson@debian.org>  Tue, 20 Jun 2023 01:01:48 +0100

openssh (1:9.2p1-2ubuntu3) mantic; urgency=medium

  * Fix upgrade of openssh-server with active ssh session (LP: #2020474)
    - debian/patches/systemd-socket-activation.patch:
      + Do force closing of listen sockets in child process
      + Set rexec_flag = 0 when sshd is socket-activated so that child process
        does not re-exec
    - debian/openssh-server.postint:
      + When upgrading from affected versions of openssh, do not try to
        restart systemd units, and instead indicate that a reboot is required
    - debian/tests/systemd-socket-activation:
      + Reboot the testbed before starting the test
    - debian/rules:
      + Do not stop ssh.socket on upgrade
  * d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no for some tests

 -- Nick Rosbrook <nick.rosbrook@canonical.com>  Wed, 24 May 2023 18:02:11 -0400

openssh (1:9.2p1-2ubuntu2) mantic; urgency=medium

  * debian/README.Debian: Fix path of addresses.conf drop-in

 -- Nick Rosbrook <nick.rosbrook@canonical.com>  Tue, 23 May 2023 10:50:35 -0400

openssh (1:9.2p1-2ubuntu1) mantic; urgency=medium

  * Merge with Debian unstable (LP: #2018094). Remaining changes:
    - debian/rules: modify dh_installsystemd invocations for
      socket-activated sshd
    - debian/openssh-server.postinst: handle migration of sshd_config options
      to systemd socket options on upgrade.
    - debian/README.Debian: document systemd socket activation.
    - debian/patches/socket-activation-documentation.patch: Document in
      sshd_config(5) that ListenAddress and Port no longer work.
    - debian/openssh-server.templates: include debconf prompt explaining
      when migration cannot happen due to multiple ListenAddress values
    - debian/.gitignore: drop file
    - debian/openssh-server.postrm: remove systemd drop-ins for
      socket-activated sshd on purge
    - debian/openssh-server.ucf-md5sum: Update list of stock sshd_config
      checksums to include those from jammy and kinetic.
    - debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
      /run/sshd creation out of the systemd unit to a tmpfile config so
      that sshd can be run manually if necessary without having to create
      this directory by hand.
    - debian/patches/systemd-socket-activation.patch: Fix sshd
      re-execution behavior when socket activation is used
    - debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
      activation functionality.
  * Dropped changes, included in Debian:
    - debian/patches/systemd-socket-activation.patch: Initial implementation
  * New changes:
    - debian/README.Debian: mention drop-in configurations in instructions
      for disabling sshd socket activation (LP: #2017434).
    - debian/openssh-server.ucf-md5sum: update for Ubuntu delta

 -- Nick Rosbrook <nick.rosbrook@canonical.com>  Fri, 19 May 2023 15:18:17 -0400

openssh (1:9.2p1-2) unstable; urgency=medium

  * Fix mistakenly-unreleased entry for 1:9.2p1-1 in debian/NEWS.

 -- Colin Watson <cjwatson@debian.org>  Wed, 08 Feb 2023 10:43:07 +0000

openssh (1:9.2p1-1) unstable; urgency=medium

  * Set "UsePAM yes" when running regression tests, to match our default
    sshd configuration.
  * Ignore Lintian error about depending on lsb-base for now, to avoid
    problems with partial upgrades on non-default init systems.
  * New upstream release (https://www.openssh.com/releasenotes.html#9.2p1):
    - [SECURITY] sshd(8): fix a pre-authentication double-free memory fault
      introduced in OpenSSH 9.1. This is not believed to be exploitable, and
      it occurs in the unprivileged pre-auth process that is subject to
      chroot(2) and is further sandboxed on most major platforms.
    - [SECURITY] ssh(8): in OpenSSH releases after 8.7, the PermitRemoteOpen
      option would ignore its first argument unless it was one of the
      special keywords "any" or "none", causing the permission list to fail
      open if only one permission was specified.
    - [SECURITY] ssh(1): if the CanonicalizeHostname and
      CanonicalizePermittedCNAMEs options were enabled, and the system/libc
      resolver did not check that names in DNS responses were valid, then
      use of these options could allow an attacker with control of DNS to
      include invalid characters (possibly including wildcards) in names
      added to known_hosts files when they were updated. These names would
      still have to match the CanonicalizePermittedCNAMEs allow-list, so
      practical exploitation appears unlikely.
    - ssh(1): add a new EnableEscapeCommandline ssh_config(5) option that
      controls whether the client-side ~C escape sequence that provides a
      command-line is available. Among other things, the ~C command-line
      could be used to add additional port-forwards at runtime. This option
      defaults to "no", disabling the ~C command-line that was previously
      enabled by default.
    - sshd(8): add support for channel inactivity timeouts via a new
      sshd_config(5) ChannelTimeout directive. This allows channels that
      have not seen traffic in a configurable interval to be automatically
      closed. Different timeouts may be applied to session, X11, agent and
      TCP forwarding channels.
    - sshd(8): add a sshd_config UnusedConnectionTimeout option to terminate
      client connections that have no open channels for a length of time.
      This complements the ChannelTimeout option above.
    - sshd(8): add a -V (version) option to sshd like the ssh client has.
    - ssh(1): add a "Host" line to the output of ssh -G showing the original
      hostname argument. bz3343
    - scp(1), sftp(1): add a -X option to both scp(1) and sftp(1) to allow
      control over some SFTP protocol parameters: the copy buffer length and
      the number of in-flight requests, both of which are used during
      upload/download. Previously these could be controlled in sftp(1) only.
      This makes them available in both SFTP protocol clients using the same
      option character sequence.
    - ssh-keyscan(1): allow scanning of complete CIDR address ranges, e.g.
      "ssh-keyscan 192.168.0.0/24". If a CIDR range is passed, then it will
      be expanded to all possible addresses in the range including the
      all-0s and all-1s addresses.
    - ssh(1): support dynamic remote port forwarding in escape
      command-line's -R processing.
    - ssh(1): when restoring non-blocking mode to stdio fds, restore exactly
      the flags that ssh started with and don't just clobber them with zero,
      as this could also remove the append flag from the set.
    - ssh(1): avoid printf("%s", NULL) if using UserKnownHostsFile=none and
      a hostkey in one of the system known hosts file changes.
    - scp(1): switch scp from using pipes to a socket-pair for communication
      with its ssh sub-processes, matching how sftp(1) operates.
    - sshd(8): clear signal mask early in main(); sshd may have been started
      with one or more signals masked (sigprocmask(2) is not cleared on
      fork/exec) and this could interfere with various things, e.g. the
      login grace timer. Execution environments that fail to clear the
      signal mask before running sshd are clearly broken, but apparently
      they do exist.
    - ssh(1): warn if no host keys for hostbased auth can be loaded.
    - sshd(8): Add server debugging for hostbased auth that is queued and
      sent to the client after successful authentication, but also logged to
      assist in diagnosis of HostbasedAuthentication problems.
    - ssh(1): document use of the IdentityFile option as being usable to
      list public keys as well as private keys.
    - sshd(8): check for and disallow MaxStartups values less than or equal
      to zero during config parsing, rather than failing later at runtime.
    - ssh-keygen(1): fix parsing of hex cert expiry times specified on the
      command-line when acting as a CA.
    - scp(1): when scp(1) is using the SFTP protocol for transport (the
      default), better match scp/rcp's handling of globs that don't match
      the globbed characters but do match literally (e.g. trying to transfer
      a file named "foo.[1]"). Previously scp(1) in SFTP mode would not
      match these pathnames but legacy scp/rcp mode would.
    - ssh-agent(1): document the "-O no-restrict-websafe" command-line
      option.
    - ssh(1): honour user's umask(2) if it is more restrictive then the ssh
      default (022).
    - sshd(8): allow writev(2) in the Linux seccomp sandbox. This seems to
      be used by recent glibcs at least in some configurations during error
      conditions.
    - sshd(8): simplify handling of SSH_CONNECTION PAM env var, removing
      global variable and checking the return value from pam_putenv.
    - sshd(8): disable SANDBOX_SECCOMP_FILTER_DEBUG that was mistakenly
      enabled during the OpenSSH 9.1 release cycle.
    - sshd(8): defer PRNG seeding until after the initial closefrom(2) call.
      PRNG seeding will initialize OpenSSL, and some engine providers (e.g.
      Intel's QAT) will open descriptors for their own use that closefrom(2)
      could clobber.
  * debian/run-tests: Add a little more flexibility for debugging.

 -- Colin Watson <cjwatson@debian.org>  Wed, 08 Feb 2023 10:36:06 +0000

openssh (1:9.1p1-2) unstable; urgency=medium

  [ Christian Göttsche ]
  * Do not copy SELinux security context in postinst.

  [ Colin Watson ]
  * Add missing ${misc:Depends} to Depends for openssh-client-udeb,
    openssh-server-udeb.
  * Use secure URI in Homepage field.
  * Remove 2 obsolete maintscript entries in 2 files.
  * Fix day-of-week for changelog entries 1:3.0.2p1-9, 1:3.0.2p1-2,
    1:3.0.1p1-1.
  * Remove deprecated Encoding key from desktop file
    debian/ssh-askpass-gnome.desktop.
  * Update standards version to 4.6.2, no changes needed.
  * debian/tests/regress: Adjust to cope with changes in adduser 3.130 (see
    #625758).

 -- Colin Watson <cjwatson@debian.org>  Tue, 03 Jan 2023 11:57:19 +0000

openssh (1:9.1p1-1) unstable; urgency=medium

  [ Markus Teich ]
  * Delete obsolete upstart configuration override.

  [ Colin Watson ]
  * Work around apparent dh-exec regressions (closes: #1016340).
  * Don't install unnecessary *.lo files in openssh-tests.
  * Update Lintian overrides to current syntax.
  * Pass on compiler/linker flags when building debian/keygen-test.
  * Remove obsolete and misleading rcp/rlogin/rsh alternatives, and stop
    providing rsh-client (closes: #197037).
  * Add sshd_config checksums for 1:8.2p1-1 and 1:8.7p1-1 to ucf reference
    file.
  * New upstream release (https://www.openssh.com/releasenotes.html#9.1p1,
    closes: #1021585):
    - ssh-keyscan(1): fix a one-byte overflow in SSH- banner processing.
    - ssh-keygen(1): double free() in error path of file hashing step in
      signing/verify code.
    - ssh-keysign(8): double-free in error path introduced in openssh-8.9.
    - ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config are
      now first-match-wins to match other directives. Previously if an
      environment variable was multiply specified the last set value would
      have been used.
    - ssh-keygen(8): ssh-keygen -A (generate all default host key types)
      will no longer generate DSA keys, as these are insecure and have not
      been used by default for some years.
    - ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum RSA
      key length. Keys below this length will be ignored for user
      authentication and for host authentication in sshd(8). ssh(1) will
      terminate a connection if the server offers an RSA key that falls
      below this limit, as the SSH protocol does not include the ability to
      retry a failed key exchange.
    - sftp-server(8): add a "users-groups-by-id@openssh.com" extension
      request that allows the client to obtain user/group names that
      correspond to a set of uids/gids.
    - sftp(1): use "users-groups-by-id@openssh.com" sftp-server extension
      (when available) to fill in user/group names for directory listings.
    - sftp-server(8): support the "home-directory" extension request defined
      in draft-ietf-secsh-filexfer-extensions-00. This overlaps a bit with
      the existing "expand-path@openssh.com", but some other clients support
      it.
    - ssh-keygen(1), sshd(8): allow certificate validity intervals, sshsig
      verification times and authorized_keys expiry-time options to accept
      dates in the UTC time zone in addition to the default of interpreting
      them in the system time zone. YYYYMMDD and YYMMDDHHMM[SS] dates/times
      will be interpreted as UTC if suffixed with a 'Z' character. Also
      allow certificate validity intervals to be specified in raw
      seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This is
      intended for use by regress tests and other tools that call ssh-keygen
      as part of a CA workflow.
    - sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
      "/usr/libexec/sftp-server -el debug3".
    - ssh-keygen(1): allow the existing -U (use agent) flag to work with "-Y
      sign" operations, where it will be interpreted to require that the
      private keys is hosted in an agent.
    - ssh-keygen(1): implement the "verify-required" certificate option.
      This was already documented when support for user-verified FIDO keys
      was added, but the ssh-keygen(1) code was missing.
    - ssh-agent(1): hook up the restrict_websafe command-line flag;
      previously the flag was accepted but never actually used.
    - sftp(1): improve filename tab completions: never try to complete names
      to non-existent commands, and better match the completion type (local
      or remote filename) against the argument position being completed.
    - ssh-keygen(1), ssh(1), ssh-agent(1): several fixes to FIDO key
      handling, especially relating to keys that request user-verification.
      These should reduce the number of unnecessary PIN prompts for keys
      that support intrinsic user verification.
    - ssh-keygen(1): when enrolling a FIDO resident key, check if a
      credential with matching application and user ID strings already
      exists and, if so, prompt the user for confirmation before overwriting
      the credential.
    - sshd(8): improve logging of errors when opening authorized_keys files.
    - ssh(1): avoid multiplexing operations that could cause SIGPIPE from
      causing the client to exit early.
    - ssh_config(5), sshd_config(5): clarify that the RekeyLimit directive
      applies to both transmitted and received data.
    - ssh-keygen(1): avoid double fclose() in error path.
    - sshd(8): log an error if pipe() fails while accepting a connection.
    - ssh-keyscan(1): add missing *-sk types to ssh-keyscan manpage.
    - sshd(8): ensure that authentication passwords are cleared from memory
      in error paths.
    - ssh(1), ssh-agent(1): avoid possibility of notifier code executing
      kill(-1).
    - ssh_config(5): note that the ProxyJump directive also accepts the same
      tokens as ProxyCommand.
    - scp(1): do not ftruncate(3) files early when in sftp mode. The
      previous behaviour of unconditionally truncating the destination file
      would cause "scp ~/foo localhost:foo" and the reverse "scp
      localhost:foo ~/foo" to delete all the contents of their destination.
    - ssh-keygen(1): improve error message when 'ssh-keygen -Y sign' is
      unable to load a private key.
    - sftp(1), scp(1): when performing operations that glob(3) a remote
      path, ensure that the implicit working directory used to construct
      that path escapes glob(3) characters. This prevents glob characters
      from being processed in places they shouldn't, e.g. "cd /tmp/a*/",
      "get *.txt" should have the get operation treat the path "/tmp/a*"
      literally and not attempt to expand it (LP: #1483751).
    - ssh(1), sshd(8): be stricter in which characters will be accepted in
      specifying a mask length; allow only 0-9.
    - ssh-keygen(1): avoid printing hash algorithm twice when dumping a KRL.
    - ssh(1), sshd(8): continue running local I/O for open channels during
      SSH transport rekeying. This should make ~-escapes work in the client
      (e.g. to exit) if the connection happened to have stalled during a
      rekey event.
    - ssh(1), sshd(8): avoid potential poll() spin during rekeying.
    - Further hardening for sshbuf internals: disallow "reparenting" a
      hierarchical sshbuf and zero the entire buffer if reallocation fails.
    - sshd(8): add AUDIT_ARCH_PPC to supported seccomp sandbox
      architectures.
  * Drop patch to work around https://twistedmatrix.com/trac/ticket/9765,
    since the fix for that is in Debian testing.
  * Rewrite gnome-ssh-askpass(1) manual page using mdoc macros, and flesh it
    out a bit more.

  [ Steve Langasek ]
  * Support systemd socket activation.  Migrate any existing inetd-style
    socket activation to systemd socket activation.

  [ Gioele Barabucci ]
  * Remove ancient version constraints.
  * d/openssh-server.{postinst,config}: get_config_option: Replace perl with
    sed.

 -- Colin Watson <cjwatson@debian.org>  Mon, 14 Nov 2022 16:25:45 +0000

openssh (1:9.0p1-1ubuntu8.1) lunar; urgency=medium

  * debian/patches/systemd-socket-activation.patch: Fix re-execution behavior
    (LP: #2011458):
    - Remove FD_CLOEXEC on fds passed by systemd to prevent automatic closing
      when sshd re-executes.
    - Do not manually close fds passed by systemd when re-executing.
    - Only call sd_listen_fds() once, and only in the parent process.
    - Check the LISTEN_FDS environment variable to get the number of fds
      passed by systemd when re-executing as a child process.
  * debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
    activation functionality.

 -- Nick Rosbrook <nick.rosbrook@canonical.com>  Fri, 31 Mar 2023 12:44:32 -0400

openssh (1:9.0p1-1ubuntu8) lunar; urgency=medium

  * debian/openssh-server.postinst: Fix handling of ListenAddress when a port
    is specified (LP: #1993478):
    - Strip port before converting hostnames to numerical addresses.
    - Only append ports when the ListenAddress does not already specify a
      port.
    - Revert socket migration on upgrade if a previous version did the
      migration when it should not have.
  * debian/openssh-server.postinst: Ignore empty directory failure from rmdir
    when skipping socket migration (LP: #1995294).

 -- Nick Rosbrook <nick.rosbrook@canonical.com>  Tue, 25 Oct 2022 11:57:43 -0400

openssh (1:9.0p1-1ubuntu7) kinetic; urgency=medium

  * Update list of stock sshd_config checksums to include those from
    jammy and kinetic.
  * Add a workaround for LP: #1990863 (now fixed in livecd-rootfs) to
    avoid spurious ucf prompts on upgrade.
  * Move /run/sshd creation out of the systemd unit to a tmpfile config
    so that sshd can be run manually if necessary without having to create
    this directory by hand.  LP: #1991283.

  [ Nick Rosbrook ]
  * debian/openssh-server.postinst: Fix addresses.conf generation when only
    non-default Port is used in /etc/ssh/sshd_config (LP: #1991199).

 -- Steve Langasek <vorlon@debian.org>  Mon, 26 Sep 2022 21:55:14 +0000

openssh (1:9.0p1-1ubuntu6) kinetic; urgency=medium

  * Fix syntax error in postinst :/

 -- Steve Langasek <vorlon@debian.org>  Fri, 23 Sep 2022 19:51:32 +0000

openssh (1:9.0p1-1ubuntu5) kinetic; urgency=medium

  * Correctly handle the case of new installs, and correctly apply systemd
    unit overrides on upgrade from existing kinetic systems.

 -- Steve Langasek <vorlon@debian.org>  Fri, 23 Sep 2022 19:45:18 +0000

openssh (1:9.0p1-1ubuntu4) kinetic; urgency=medium

  * Don't migrate users to socket activation if multiple ListenAddresses
    might make sshd unreliable on boot.
  * Fix regexp bug that prevented proper migration of IPv6 address settings.

 -- Steve Langasek <vorlon@debian.org>  Fri, 23 Sep 2022 19:35:37 +0000

openssh (1:9.0p1-1ubuntu3) kinetic; urgency=medium

  * Document in the default sshd_config file the changes in behavior 
    triggered by use of socket-based activation.

 -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 26 Aug 2022 00:40:11 +0000

openssh (1:9.0p1-1ubuntu2) kinetic; urgency=medium

  * Fix manpage to not claim socket-based activation is the default on
    Debian!

 -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 26 Aug 2022 00:21:42 +0000

openssh (1:9.0p1-1ubuntu1) kinetic; urgency=medium

  * debian/patches/systemd-socket-activation.patch: support systemd
    socket activation.
  * debian/systemd/ssh.socket, debian/systemd/ssh.service: use socket
    activation by default.
  * debian/rules: rejigger dh_installsystemd invocations so ssh.service and
    ssh.socket don't fight.
  * debian/openssh-server.postinst: handle migration of sshd_config options
    to systemd socket options on upgrade.
  * debian/README.Debian: document systemd socket activation.
  * debian/patches/socket-activation-documentation.patch: Document in
    sshd_config(5) that ListenAddress and Port no longer work.
  * debian/openssh-server.templates, debian/openssh-server.postinst: include
    debconf warning about possible service failure with multiple
    ListenAddress settings.

 -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 19 Aug 2022 20:43:16 +0000

openssh (1:9.0p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#9.0p1):
    - scp(1): Use the SFTP protocol by default (closes: #144579, #204546,
      #327019). This changes scp's quoting semantics by no longer performing
      wildcard expansion using the remote shell, and (with some server
      versions) no longer expanding ~user paths. The -O option is available
      to use the old protocol. See NEWS.Debian for more details.
    - ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
      exchange method by default ("sntrup761x25519-sha512@openssh.com").
      The NTRU algorithm is believed to resist attacks enabled by future
      quantum computers and is paired with the X25519 ECDH key exchange (the
      previous default) as a backstop against any weaknesses in NTRU Prime
      that may be discovered in the future. The combination ensures that the
      hybrid exchange offers at least as good security as the status quo.
    - sftp-server(8): support the "copy-data" extension to allow server-
      side copying of files/data, following the design in
      draft-ietf-secsh-filexfer-extensions-00.
    - sftp(1): add a "cp" command to allow the sftp client to perform
      server-side file copies.
    - ssh(1), sshd(8): upstream: fix poll(2) spin when a channel's output fd
      closes without data in the channel buffer (closes: #1007822).
    - sshd(8): pack pollfd array in server listen/accept loop. Could cause
      the server to hang/spin when MaxStartups > RLIMIT_NOFILE.
    - ssh-keygen(1): avoid NULL deref via the find-principals and
      check-novalidate operations. bz3409 and GHPR307 respectively.
    - scp(1): fix a memory leak in argument processing.
    - sshd(8): don't try to resolve ListenAddress directives in the sshd
      re-exec path. They are unused after re-exec and parsing errors
      (possible for example if the host's network configuration changed)
      could prevent connections from being accepted.
    - sshd(8): when refusing a public key authentication request from a
      client for using an unapproved or unsupported signature algorithm
      include the algorithm name in the log message to make debugging
      easier.
    - ssh(1), sshd(8): Fix possible integer underflow in scan_scaled(3)
      parsing of K/M/G/etc quantities.
    - sshd(8): default to not using sandbox when cross compiling. On most
      systems poll(2) does not work when the number of FDs is reduced with
      setrlimit, so assume it doesn't when cross compiling and we can't run
      the test.
  * Remove obsolete FAQ, removed from openssh.com in 2016.

 -- Colin Watson <cjwatson@debian.org>  Sat, 09 Apr 2022 14:14:10 +0100

openssh (1:8.9p1-3) unstable; urgency=medium

  * Allow ppoll_time64 in seccomp filter (closes: #1006445).

 -- Colin Watson <cjwatson@debian.org>  Fri, 25 Feb 2022 23:30:49 +0000

openssh (1:8.9p1-2) unstable; urgency=medium

  * Improve detection of -fzero-call-used-regs=all support.

 -- Colin Watson <cjwatson@debian.org>  Thu, 24 Feb 2022 16:09:56 +0000

openssh (1:8.9p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#8.9p1):
    - sshd(8): fix an integer overflow in the user authentication path that,
      in conjunction with other logic errors, could have yielded
      unauthenticated access under difficult to exploit conditions.
    - sshd(8), portable OpenSSH only: this release removes in-built support
      for MD5-hashed passwords.
    - ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
      restricting forwarding and use of keys added to ssh-agent(1).
    - ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
      ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the default
      KEXAlgorithms list (after the ECDH methods but before the prime-group
      DH ones). The next release of OpenSSH is likely to make this key
      exchange the default method.
    - ssh-keygen(1): when downloading resident keys from a FIDO token, pass
      back the user ID that was used when the key was created and append it
      to the filename the key is written to (if it is not the default).
      Avoids keys being clobbered if the user created multiple resident keys
      with the same application string but different user IDs.
    - ssh-keygen(1), ssh(1), ssh-agent(1): better handling for FIDO keys on
      tokens that provide user verification (UV) on the device itself,
      including biometric keys, avoiding unnecessary PIN prompts.
    - ssh-keygen(1): add "ssh-keygen -Y match-principals" operation to
      perform matching of principals names against an allowed signers file.
      To be used towards a TOFU model for SSH signatures in git.
    - ssh-add(1), ssh-agent(1): allow pin-required FIDO keys to be added to
      ssh-agent(1). $SSH_ASKPASS will be used to request the PIN at
      authentication time.
    - ssh-keygen(1): allow selection of hash at sshsig signing time (either
      sha512 (default) or sha256).
    - ssh(1), sshd(8): read network data directly to the packet input buffer
      instead indirectly via a small stack buffer. Provides a modest
      performance improvement.
    - ssh(1), sshd(8): read data directly to the channel input buffer,
      providing a similar modest performance improvement.
    - ssh(1): extend the PubkeyAuthentication configuration directive to
      accept yes|no|unbound|host-bound to allow control over one of the
      protocol extensions used to implement agent-restricted keys.
    - sshd(8): document that CASignatureAlgorithms, ExposeAuthInfo and
      PubkeyAuthOptions can be used in a Match block.
    - sshd(8): fix possible string truncation when constructing paths to
      .rhosts/.shosts files with very long user home directory names.
    - ssh-keysign(1): unbreak for KEX algorithms that use SHA384/512
      exchange hashes.
    - ssh(1): don't put the TTY into raw mode when SessionType=none, avoids
      ^C being unable to kill such a session.
    - scp(1): fix some corner-case bugs in SFTP-mode handling of ~-prefixed
      paths.
    - ssh(1): unbreak hostbased auth using RSA keys. Allow ssh(1) to select
      RSA keys when only RSA/SHA2 signature algorithms are configured (this
      is the default case). Previously RSA keys were not being considered in
      the default case.
    - ssh-keysign(1): make ssh-keysign use the requested signature algorithm
      and not the default for the key type. Part of unbreaking hostbased
      auth for RSA/SHA2 keys.
    - ssh(1): stricter UpdateHostkey signature verification logic on the
      client-side. Require RSA/SHA2 signatures for RSA hostkeys except when
      RSA/SHA1 was explicitly negotiated during initial KEX.
    - ssh(1), sshd(8): fix signature algorithm selection logic for
      UpdateHostkeys on the server side. The previous code tried to prefer
      RSA/SHA2 for hostkey proofs of RSA keys, but missed some cases. This
      will use RSA/SHA2 signatures for RSA keys if the client proposed these
      algorithms in initial KEX.
    - All: convert all uses of select(2)/pselect(2) to poll(2)/ppoll(2).
      This includes the mainloops in ssh(1), ssh-agent(1), ssh-agent(1) and
      sftp-server(8), as well as the sshd(8) listen loop and all other FD
      read/writability checks. On platforms with missing or broken
      poll(2)/ppoll(2) syscalls a select(2)-based compat shim is available.
    - ssh-keygen(1): the "-Y find-principals" command was verifying key
      validity when using ca certs but not with simple key lifetimes within
      the allowed signers file.
    - ssh-keygen(1): make sshsig verify-time argument parsing optional.
    - sshd(8): fix truncation in rhosts/shosts path construction.
    - ssh(1), ssh-agent(1): avoid xmalloc(0) for PKCS#11 keyid for ECDSA
      keys (we already did this for RSA keys). Avoids fatal errors for
      PKCS#11 libraries that return empty keyid, e.g. Microchip ATECC608B
      "cryptoauthlib".
    - ssh(1), ssh-agent(1): improve the testing of credentials against
      inserted FIDO: ask the token whether a particular key belongs to it in
      cases where the token supports on-token user-verification (e.g.
      biometrics) rather than just assuming that it will accept it. Will
      reduce spurious "Confirm user presence" notifications for key handles
      that relate to FIDO keys that are not currently inserted in at least
      some cases.
    - ssh(1), sshd(8): correct value for IPTOS_DSCP_LE. It needs to allow
      for the preceding two ECN bits.
    - ssh-keygen(1): add missing -O option to usage() for the "-Y sign"
      option.
    - ssh-keygen(1): fix a NULL deref when using the find-principals
      function, when matching an allowed_signers line that contains a
      namespace restriction, but no restriction specified on the
      command-line
    - ssh-agent(1): fix memleak in process_extension().
    - ssh(1): suppress "Connection to xxx closed" messages when LogLevel is
      set to "error" or above.
    - ssh(1), sshd(8): use correct zlib flags when inflate(3)-ing compressed
      packet data.
    - scp(1): when recursively transferring files in SFTP mode, create the
      destination directory if it doesn't already exist to match scp(1) in
      legacy RCP mode behaviour.
    - scp(1): many improvements in error message consistency between scp(1)
      in SFTP mode vs legacy RCP mode.
    - sshd(8): fix potential race in SIGTERM handling.
    - ssh(1), ssh(8): since DSA keys are deprecated, move them to the end of
      the default list of public keys so that they will be tried last.
    - ssh-keygen(1): allow 'ssh-keygen -Y find-principals' to match wildcard
      principals in allowed_signers files.
    - ssh(1), sshd(8): don't trust closefrom(2) on Linux. glibc's
      implementation does not work in a chroot when the kernel does not have
      close_range(2). It tries to read from /proc/self/fd and when that
      fails dies with an assertion of sorts. Instead, call close_range(2)
      directly from our compat code and fall back if that fails.
    - Correct handling of exceptfds/POLLPRI in our select(2)-based
      poll(2)/ppoll(2) compat implementation.
  * Drop patch to work around https://twistedmatrix.com/trac/ticket/9515,
    since the fix for that is in Debian stable.

 -- Colin Watson <cjwatson@debian.org>  Thu, 24 Feb 2022 11:06:15 +0000

openssh (1:8.8p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#8.8p1,
    closes: #996391):
    - This release disables RSA signatures using the SHA-1 hash algorithm by
      default.  (Existing RSA keys may still be used and do not need to be
      replaced; see NEWS.Debian if you have problems connecting to old SSH
      servers.)
    - ssh(1): allow the ssh_config(5) CanonicalizePermittedCNAMEs directive
      to accept a "none" argument to specify the default behaviour.
    - scp(1): when using the SFTP protocol, continue transferring files
      after a transfer error occurs, better matching original scp/rcp
      behaviour.
    - ssh(1): fixed a number of memory leaks in multiplexing,
    - ssh-keygen(1): avoid crash when using the -Y find-principals command.
    - A number of documentation and manual improvements.
    - ssh(1)/sshd(8): some fixes to the pselect(2) replacement compatibility
      code.
  * Work around missing RSA SHA-2 signature support in conch until the
    upstream fix lands in Debian.

 -- Colin Watson <cjwatson@debian.org>  Tue, 15 Feb 2022 19:20:21 +0000

openssh (1:8.7p1-4) unstable; urgency=medium

  [ Daniel Baumann ]
  * Fix typo in openssh-client.alternatives (closes: #1002803).

  [ Colin Watson ]
  * Further clarify socket activation instructions.

 -- Colin Watson <cjwatson@debian.org>  Wed, 29 Dec 2021 12:08:38 +0000

openssh (1:8.7p1-3) unstable; urgency=medium

  * Include unit test binaries in openssh-tests even if building with
    DEB_BUILD_OPTIONS=nocheck.
  * Install built version of sshd_config, with corrected PATH and PidFile.
  * Upgrade to debhelper v13.
  * debian/copyright: Use HTTPS in Source field.
  * Update renamed Lintian tag name in Lintian override.
  * debian/watch: Upgrade to version 4.
  * Clarify instructions for using socket activation to avoid accidental
    attempts to start the non-socket-activated service that can result in
    systems without a running sshd (closes: #1001320).
  * Remove maintainer script code for upgrades from before Debian 9.
  * Make the sysvinit script provide "ssh" as well as "sshd".
  * Set Rules-Requires-Root: no.
  * Use dh_installalternatives.
  * Simplify some debhelper overrides slightly.

 -- Colin Watson <cjwatson@debian.org>  Wed, 29 Dec 2021 01:12:00 +0000

openssh (1:8.7p1-2) unstable; urgency=medium

  * Backport from upstream:
    - Avoid NULL deref in -Y find-principals (closes: #999593).

 -- Colin Watson <cjwatson@debian.org>  Sat, 13 Nov 2021 13:40:50 +0000

openssh (1:8.7p1-1) unstable; urgency=medium

  * debian/upstream/signing-key.asc: Update from upstream.
  * New upstream release (https://www.openssh.com/releasenotes.html#8.7p1):
    - scp(1): this release changes the behaviour of remote to remote copies
      (e.g. "scp host-a:/path host-b:") to transfer through the local host
      by default (closes: #734386, LP: #1462758). This was previously
      available via the -3 flag. A -R flag has been added to select the old
      behaviour.
    - ssh(1)/sshd(8): both the client and server are now using a stricter
      configuration file parser.
    - ssh(1): when using SSHFP DNS records for host key verification, ssh(1)
      will verify all matching records instead of just those with the
      specific signature type requested.
    - ssh-keygen(1): when generating a FIDO key and specifying an explicit
      attestation challenge (using -Ochallenge), the challenge will now be
      hashed by the builtin security key middleware.
    - sshd(8): environment="..." directives in authorized_keys files are now
      first-match-wins and limited to 1024 discrete environment variable
      names.
    - scp(1): experimental support for transfers using the SFTP protocol as
      a replacement for the venerable SCP/RCP protocol that it has
      traditionally used. SFTP offers more predictable filename handling and
      does not require expansion of glob(3) patterns via the shell on the
      remote side.
      SFTP support may be enabled via a temporary scp -s flag. It is
      intended for SFTP to become the default transfer mode in the near
      future, at which time the -s flag will be removed. The -O flag exists
      to force use of the original SCP/RCP protocol for cases where SFTP may
      be unavailable or incompatible.
    - sftp-server(8): add a protocol extension to support expansion of ~/
      and ~user/ prefixed paths. This was added to support these paths when
      used by scp(1) while in SFTP mode.
    - ssh(1): add a ForkAfterAuthentication ssh_config(5) counterpart to the
      ssh(1) -f flag. GHPR231
    - ssh(1): add a StdinNull directive to ssh_config(5) that allows the
      config file to do the same thing as -n does on the ssh(1) command-
      line. GHPR231
    - ssh(1): add a SessionType directive to ssh_config, allowing the
      configuration file to offer equivalent control to the -N (no session)
      and -s (subsystem) command-line flags (closes: #609122).
    - ssh-keygen(1): allowed signers files used by ssh-keygen(1) signatures
      now support listing key validity intervals alongside they key, and
      ssh-keygen(1) can optionally check during signature verification
      whether a specified time falls inside this interval. This feature is
      intended for use by git to support signing and verifying objects using
      ssh keys.
    - ssh-keygen(8): support printing of the full public key in a sshsig
      signature via a -Oprint-pubkey flag.
    - ssh(1)/sshd(8): start time-based re-keying exactly on schedule in the
      client and server mainloops. Previously the re-key timeout could
      expire but re-keying would not start until a packet was sent or
      received, causing a spin in select() if the connection was quiescent.
    - ssh-keygen(1): avoid Y2038 problem in printing certificate validity
      lifetimes. Dates past 2^31-1 seconds since epoch were displayed
      incorrectly on some platforms.
    - scp(1): allow spaces to appear in usernames for local to remote and
      scp -3 remote to remote copies.
    - ssh(1)/sshd(8): remove references to ChallengeResponseAuthentication
      in favour of KbdInteractiveAuthentication. The former is what was in
      SSHv1, the latter is what is in SSHv2 (RFC4256) and they were treated
      as somewhat but not entirely equivalent. We retain the old name as a
      deprecated alias so configuration files continue to work as well as a
      reference in the man page for people looking for it.
    - ssh(1)/ssh-add(1)/ssh-keygen(1): fix decoding of X.509 subject name
      when extracting a key from a PKCS#11 certificate.
    - ssh(1): restore blocking status on stdio fds before close. ssh(1)
      needs file descriptors in non-blocking mode to operate but it was not
      restoring the original state on exit. This could cause problems with
      fds shared with other programs via the shell.
    - ssh(1)/sshd(8): switch both client and server mainloops from select(3)
      to pselect(3). Avoids race conditions where a signal may arrive
      immediately before select(3) and not be processed until an event
      fires.
    - ssh(1): sessions started with ControlPersist were incorrectly
      executing a shell when the -N (no shell) option was specified (closes:
      #762633).
    - ssh(1): check if IPQoS or TunnelDevice are already set before
      overriding. Prevents values in config files from overriding values
      supplied on the command line.
    - ssh(1): fix debug message when finding a private key to match a
      certificate being attempted for user authentication. Previously it
      would print the certificate's path, whereas it was supposed to be
      showing the private key's path.
    - sshd(8): match host certificates against host public keys, not private
      keys. Allows use of certificates with private keys held in a
      ssh-agent.
    - ssh(1): add a workaround for a bug in OpenSSH 7.4 sshd(8), which
      allows RSA/SHA2 signatures for public key authentication but fails to
      advertise this correctly via SSH2_MSG_EXT_INFO. This causes clients of
      these server to incorrectly match PubkeyAcceptedAlgorithms and
      potentially refuse to offer valid keys.
    - sftp(1)/scp(1): degrade gracefully if a sftp-server offers the
      limits@openssh.com extension but fails when the client tries to invoke
      it.
    - ssh(1): allow ssh_config SetEnv to override $TERM, which is otherwise
      handled specially by the protocol. Useful in ~/.ssh/config to set TERM
      to something generic (e.g. "xterm" instead of "xterm-256color") for
      destinations that lack terminfo entries.
    - sftp-server(8): the limits@openssh.com extension was incorrectly
      marked as an operation that writes to the filesystem, which made it
      unavailable in sftp-server read-only mode.
    - ssh(1): fix SEGV in UpdateHostkeys debug() message, triggered when the
      update removed more host keys than remain present.
    - Many manual page fixes.
    - sshd(8): handle GIDs > 2^31 in getgrouplist. When compiled in 32bit
      mode, the getgrouplist implementation may fail for GIDs greater than
      LONG_MAX.
    - ssh(1): xstrdup environment variable used by ForwardAgent.
    - sshd(8): don't sigdie() in signal handler in privsep child process;
      this can end up causing sandbox violations.
  * New upstream release (https://www.openssh.com/releasenotes.html#8.6p1):
    - sftp-server(8): add a new limits@openssh.com protocol extension that
      allows a client to discover various server limits, including maximum
      packet size and maximum read/write length.
    - sftp(1): use the new limits@openssh.com extension (when available) to
      select better transfer lengths in the client.
    - sshd(8): Add ModuliFile keyword to sshd_config to specify the location
      of the "moduli" file containing the groups for DH-GEX.
    - ssh_config(5), sshd_config(5): sync CASignatureAlgorithms lists in
      manual pages with the current default.
    - ssh(1): ensure that pkcs11_del_provider() is called before exit.
    - ssh(1), sshd(8): fix problems in string->argv conversion. Multiple
      backslashes were not being dequoted correctly and quoted space in the
      middle of a string was being incorrectly split.
    - ssh(1): return non-zero exit status when killed by signal.
    - sftp-server(8): increase maximum SSH2_FXP_READ to match the maximum
      packet size. Also handle zero-length reads that are not explicitly
      banned by the spec.
    - sshd(8): don't mistakenly exit on transient read errors on the network
      socket (e.g. EINTR, EAGAIN).
    - Create a dedicated contrib/gnome-ssk-askpass3.c source instead of
      building it from the same file as used for GNOME2. Use the GNOME3
      gdk_seat_grab() to manage keyboard/mouse/server grabs for better
      compatibility with Wayland.
    - sshd(8): soft-disallow the fstatat64 syscall in the Linux seccomp-bpf
      sandbox.
  * New upstream release (https://www.openssh.com/releasenotes.html#8.5p1):
    - ssh(1), sshd(8): change the first-preference signature algorithm from
      ECDSA to ED25519.
    - ssh(1), sshd(8): set the TOS/DSCP specified in the configuration for
      interactive use prior to TCP connect.
    - ssh(1), sshd(8): remove the pre-standardization cipher
      rijndael-cbc@lysator.liu.se.
    - ssh(1), sshd(8): update/replace the experimental post-quantum hybrid
      key exchange method based on Streamlined NTRU Prime coupled with
      X25519.
    - ssh(1): disable CheckHostIP by default. It provides insignificant
      benefits while making key rotation significantly more difficult,
      especially for hosts behind IP-based load-balancers (closes: #764027).
    - ssh(1): enable UpdateHostkeys by default subject to some conservative
      preconditions (closes: #875532):
      + The key was matched in the UserKnownHostsFile (and not in the
        GlobalKnownHostsFile).
      + The same key does not exist under another name.
      + A certificate host key is not in use.
      + known_hosts contains no matching wildcard hostname pattern.
      + VerifyHostKeyDNS is not enabled.
      + The default UserKnownHostsFile is in use.
      We expect some of these conditions will be modified or relaxed in
      future.
    - ssh(1), sshd(8): add a new LogVerbose configuration directive that
      allows forcing maximum debug logging by file/function/line
      pattern-lists.
    - ssh(1): when prompting the user to accept a new hostkey, display any
      other host names/addresses already associated with the key.
    - ssh(1): allow UserKnownHostsFile=none to indicate that no known_hosts
      file should be used to identify host keys.
    - ssh(1): add a ssh_config KnownHostsCommand option that allows the
      client to obtain known_hosts data from a command in addition to the
      usual files.
    - ssh(1): add a ssh_config PermitRemoteOpen option that allows the
      client to restrict the destination when RemoteForward is used with
      SOCKS.
    - ssh(1): for FIDO keys, if a signature operation fails with a
      "incorrect PIN" reason and no PIN was initially requested from the
      user, then request a PIN and retry the operation. This supports some
      biometric devices that fall back to requiring PIN when reading of the
      biometric failed, and devices that require PINs for all hosted
      credentials.
    - sshd(8): implement client address-based rate-limiting via new
      sshd_config(5) PerSourceMaxStartups and PerSourceNetBlockSize
      directives that provide more fine-grained control on a per-origin
      address basis than the global MaxStartups limit.
    - ssh(1): Prefix keyboard interactive prompts with "(user@host)" to make
      it easier to determine which connection they are associated with in
      cases like scp -3, ProxyJump, etc. (closes: #343267).
    - sshd(8): fix sshd_config SetEnv directives located inside Match
      blocks.
    - ssh(1): when requesting a FIDO token touch on stderr, inform the user
      once the touch has been recorded.
    - ssh(1): prevent integer overflow when ridiculously large
      ConnectTimeout values are specified, capping the effective value (for
      most platforms) at 24 days.
    - ssh(1): consider the ECDSA key subtype when ordering host key
      algorithms in the client.
    - ssh(1), sshd(8): rename the PubkeyAcceptedKeyTypes keyword to
      PubkeyAcceptedAlgorithms. The previous name incorrectly suggested that
      it control allowed key algorithms, when this option actually specifies
      the signature algorithms that are accepted. The previous name remains
      available as an alias (closes: #933665).
    - ssh(1), sshd(8): similarly, rename HostbasedKeyTypes (ssh) and
      HostbasedAcceptedKeyTypes (sshd) to HostbasedAcceptedAlgorithms.
    - sftp-server(8): add missing lsetstat@openssh.com documentation and
      advertisement in the server's SSH2_FXP_VERSION hello packet.
    - ssh(1), sshd(8): more strictly enforce KEX state-machine by banning
      packet types once they are received. Fixes memleak caused by duplicate
      SSH2_MSG_KEX_DH_GEX_REQUEST.
    - sftp(1): allow the full range of UIDs/GIDs for chown/chgrp on 32bit
      platforms instead of being limited by LONG_MAX.
    - Minor man page fixes (capitalization, commas, etc.)
    - sftp(1): when doing an sftp recursive upload or download of a
      read-only directory, ensure that the directory is created with write
      and execute permissions in the interim so that the transfer can
      actually complete, then set the directory permission as the final
      step.
    - ssh-keygen(1): document the -Z, check the validity of its argument
      earlier and provide a better error message if it's not correct.
    - ssh(1): ignore comments at the end of config lines in ssh_config,
      similar to what we already do for sshd_config.
    - sshd_config(5): mention that DisableForwarding is valid in a
      sshd_config Match block.
    - sftp(1): fix incorrect sorting of "ls -ltr" under some circumstances.
    - ssh(1), sshd(8): fix potential integer truncation of (unlikely)
      timeout values.
    - ssh(1): make hostbased authentication send the signature algorithm in
      its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type. This
      make HostbasedAcceptedAlgorithms do what it is supposed to - filter on
      signature algorithm and not key type.
    - sshd(8): add a number of platform-specific syscalls to the Linux
      seccomp-bpf sandbox.
    - sshd(8): remove debug message from sigchld handler that could cause
      deadlock on some platforms.
    - Sync contrib/ssh-copy-id with upstream.
  * Remove OpenBSD-specific rdomain references from sshd_config(5) (closes:
    #998069).
  * Define MAXHOSTNAMELEN on GNU/Hurd (thanks, Svante Signell; closes:
    #997030).
  * Build-depend on libelogind-dev as an alternative to libsystemd-dev on
    Linux (thanks, Svante Signell; closes: #997035).
  * Backport from upstream:
    - CVE-2021-41617 (closes: #995130): sshd(8) from OpenSSH 6.2 through 8.7
      failed to correctly initialise supplemental groups when executing an
      AuthorizedKeysCommand or AuthorizedPrincipalsCommand, where a
      AuthorizedKeysCommandUser or AuthorizedPrincipalsCommandUser directive
      has been set to run the command as a different user. Instead these
      commands would inherit the groups that sshd(8) was started with.
  * Configure with ac_cv_func_closefrom=no to avoid an incompatibility with
    glibc 2.34's fallback_closefrom function (thanks, William 'jawn-smith'
    Wilson; LP: #1944621).

 -- Colin Watson <cjwatson@debian.org>  Sat, 06 Nov 2021 12:23:47 +0000

openssh (1:8.4p1-6) unstable; urgency=medium

  [ Colin Watson ]
  * Rename ssh group to _ssh (closes: #990456).  It's only used by
    ssh-agent.
  * debian/tests/regress: Don't fail cleanup if haveged isn't running.
  * Backport from upstream:
    - Add includes.h to compat tests (closes: #992134, LP: #1939751).
  * Use "command -v" in maintainer scripts rather than "which".

  [ Athos Ribeiro ]
  * d/systemd/ssh@.service: preserve the systemd managed runtime directory to
    ensure parallel processes will not disrupt one another when halting
    (LP: #1905285) (closes: #934663)

 -- Colin Watson <cjwatson@debian.org>  Thu, 19 Aug 2021 11:04:01 +0100

openssh (1:8.4p1-5) unstable; urgency=high

  * CVE-2021-28041: Fix double free in ssh-agent(1) (closes: #984940).

 -- Colin Watson <cjwatson@debian.org>  Sat, 13 Mar 2021 09:59:40 +0000

openssh (1:8.4p1-4) unstable; urgency=medium

  * Avoid using libmd's <sha2.h> even if it's installed (closes: #982705).

 -- Colin Watson <cjwatson@debian.org>  Mon, 15 Feb 2021 10:25:17 +0000

openssh (1:8.4p1-3) unstable; urgency=medium

  * Backport from upstream:
    - Fix `EOF: command not found` error in ssh-copy-id (closes: #975540).

 -- Colin Watson <cjwatson@debian.org>  Wed, 02 Dec 2020 10:32:23 +0000

openssh (1:8.4p1-2) unstable; urgency=medium

  * Revert incorrect upstream patch that claimed to fix the seccomp sandbox
    on x32 but in fact broke it instead.

 -- Colin Watson <cjwatson@debian.org>  Mon, 26 Oct 2020 17:41:13 +0000

openssh (1:8.4p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.4):
    - [SECURITY] ssh-agent(1): restrict ssh-agent from signing web
      challenges for FIDO/U2F keys.
    - [SECURITY] ssh-keygen(1): Enable FIDO 2.1 credProtect extension when
      generating a FIDO resident key.
    - ssh-keygen(1): the format of the attestation information optionally
      recorded when a FIDO key is generated has changed. It now includes the
      authenticator data needed to validate attestation signatures.
    - The API between OpenSSH and the FIDO token middleware has changed and
      the SSH_SK_VERSION_MAJOR version has been incremented as a result.
      Third-party middleware libraries must support the current API version
      (7) to work with OpenSSH 8.4.
    - ssh(1), ssh-keygen(1): support for FIDO keys that require a PIN for
      each use. These keys may be generated using ssh-keygen using a new
      "verify-required" option. When a PIN-required key is used, the user
      will be prompted for a PIN to complete the signature operation.
    - sshd(8): authorized_keys now supports a new "verify-required" option
      to require FIDO signatures assert that the token verified that the
      user was present before making the signature. The FIDO protocol
      supports multiple methods for user-verification, but currently OpenSSH
      only supports PIN verification.
    - sshd(8), ssh-keygen(1): add support for verifying FIDO webauthn
      signatures. Webauthn is a standard for using FIDO keys in web
      browsers. These signatures are a slightly different format to plain
      FIDO signatures and thus require explicit support.
    - ssh(1): allow some keywords to expand shell-style ${ENV} environment
      variables. The supported keywords are CertificateFile, ControlPath,
      IdentityAgent and IdentityFile, plus LocalForward and RemoteForward
      when used for Unix domain socket paths.
    - ssh(1), ssh-agent(1): allow some additional control over the use of
      ssh-askpass via a new $SSH_ASKPASS_REQUIRE environment variable,
      including forcibly enabling and disabling its use (closes: #368657).
    - ssh(1): allow ssh_config(5)'s AddKeysToAgent keyword accept a time
      limit for keys in addition to its current flag options. Time-limited
      keys will automatically be removed from ssh-agent after their expiry
      time has passed.
    - scp(1), sftp(1): allow the -A flag to explicitly enable agent
      forwarding in scp and sftp. The default remains to not forward an
      agent, even when ssh_config enables it.
    - ssh(1): add a '%k' TOKEN that expands to the effective HostKey of the
      destination. This allows, e.g., keeping host keys in individual files
      using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k" (closes: #481250).
    - ssh(1): add %-TOKEN, environment variable and tilde expansion to the
      UserKnownHostsFile directive, allowing the path to be completed by the
      configuration.
    - ssh-keygen(1): allow "ssh-add -d -" to read keys to be deleted from
      stdin.
    - sshd(8): improve logging for MaxStartups connection throttling.  sshd
      will now log when it starts and stops throttling and periodically
      while in this state.
    - ssh(1), ssh-keygen(1): better support for multiple attached FIDO
      tokens. In cases where OpenSSH cannot unambiguously determine which
      token to direct a request to, the user is now required to select a
      token by touching it. In cases of operations that require a PIN to be
      verified, this avoids sending the wrong PIN to the wrong token and
      incrementing the token's PIN failure counter (tokens effectively erase
      their keys after too many PIN failures).
    - sshd(8): fix Include before Match in sshd_config (LP: #1885990).
    - ssh(1): close stdin/out/error when forking after authentication
      completes ("ssh -f ...").
    - ssh(1), sshd(8): limit the amount of channel input data buffered,
      avoiding peers that advertise large windows but are slow to read from
      causing high memory consumption.
    - ssh-agent(1): handle multiple requests sent in a single write() to the
      agent.
    - sshd(8): allow sshd_config longer than 256k.
    - sshd(8): avoid spurious "Unable to load host key" message when sshd
      load a private key but no public counterpart.
    - ssh(1): prefer the default hostkey algorithm list whenever we have a
      hostkey that matches its best-preference algorithm.
    - sshd(1): when ordering the hostkey algorithms to request from a
      server, prefer certificate types if the known_hosts files contain a
      key marked as a @cert-authority.
    - ssh(1): perform host key fingerprint comparisons for the "Are you sure
      you want to continue connecting (yes/no/[fingerprint])?" prompt with
      case sensitivity.
    - sshd(8): ensure that address/masklen mismatches in sshd_config yield
      fatal errors at daemon start time rather than later when they are
      evaluated.
    - ssh-keygen(1): ensure that certificate extensions are lexically
      sorted. Previously if the user specified a custom extension then the
      everything would be in order except the custom ones.
    - ssh(1): also compare username when checking for JumpHost loops.
    - ssh-keygen(1): preserve group/world read permission on known_hosts
      files across runs of "ssh-keygen -Rf /path". The old behaviour was to
      remove all rights for group/other.
    - ssh-keygen(1): Mention the [-a rounds] flag in the ssh-keygen manual
      page and usage().
    - sshd(8): explicitly construct path to ~/.ssh/rc rather than relying on
      it being relative to the current directory, so that it can still be
      found if the shell startup changes its directory.
    - sshd(8): when redirecting sshd's log output to a file, undo this
      redirection after the session child process is forked(). Fixes missing
      log messages when using this feature under some circumstances.
    - sshd(8): start ClientAliveInterval bookkeeping before first pass
      through select() loop; fixed theoretical case where busy sshd may
      ignore timeouts from client.
    - ssh(1): only reset the ServerAliveInterval check when we receive
      traffic from the server and ignore traffic from a port forwarding
      client, preventing a client from keeping a connection alive when it
      should be terminated.
    - ssh-keygen(1): avoid spurious error message when ssh-keygen creates
      files outside ~/.ssh.
    - sftp-client(1): fix off-by-one error that caused sftp downloads to
      make one more concurrent request that desired. This prevented using
      sftp(1) in unpipelined request/response mode, which is useful when
      debugging.
    - ssh(1), sshd(8): handle EINTR in waitfd() and timeout_connect()
      helpers.
    - ssh(1), ssh-keygen(1): defer creation of ~/.ssh until we attempt to
      write to it so we don't leave an empty .ssh directory when it's not
      needed.
    - ssh(1), sshd(8): fix multiplier when parsing time specifications when
      handling seconds after other units.
    - sshd(8): always send any PAM account messages. If the PAM account
      stack returns any messages, always send them to the user and not just
      if the check succeeds.
    - gnome-ssh-askpass3: ensure the "close" button is not focused by
      default for SSH_ASKPASS_PROMPT=none prompts. Avoids space/enter
      accidentally dismissing FIDO touch notifications.
    - gnome-ssh-askpass3: allow some control over textarea colour via
      $GNOME_SSH_ASKPASS_FG_COLOR and $GNOME_SSH_ASKPASS_BG_COLOR
      environment variables.
    - Detect the Frankenstein monster of Linux/X32 and allow the sandbox to
      function there.

 -- Colin Watson <cjwatson@debian.org>  Tue, 20 Oct 2020 14:15:17 +0100

openssh (1:8.3p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.3):
    - [SECURITY] scp(1): when receiving files, scp(1) could become
      desynchronised if a utimes(2) system call failed.  This could allow
      file contents to be interpreted as file metadata and thereby permit an
      adversary to craft a file system that, when copied with scp(1) in a
      configuration that caused utimes(2) to fail (e.g. under a SELinux
      policy or syscall sandbox), transferred different file names and
      contents to the actual file system layout.
    - sftp(1): reject an argument of "-1" in the same way as ssh(1) and
      scp(1) do instead of accepting and silently ignoring it.
    - sshd(8): make IgnoreRhosts a tri-state option: "yes" to ignore
      rhosts/shosts, "no" to allow rhosts/shosts or (new) "shosts-only" to
      allow .shosts files but not .rhosts.
    - sshd(8): allow the IgnoreRhosts directive to appear anywhere in a
      sshd_config, not just before any Match blocks.
    - ssh(1): add %TOKEN percent expansion for the LocalForward and
      RemoteForward keywords when used for Unix domain socket forwarding.
    - all: allow loading public keys from the unencrypted envelope of a
      private key file if no corresponding public key file is present.
    - ssh(1), sshd(8): prefer to use chacha20 from libcrypto where possible
      instead of the (slower) portable C implementation included in OpenSSH.
    - ssh-keygen(1): add ability to dump the contents of a binary key
      revocation list via "ssh-keygen -lQf /path".
    - ssh(1): fix IdentitiesOnly=yes to also apply to keys loaded from a
      PKCS11Provider.
    - ssh-keygen(1): avoid NULL dereference when trying to convert an
      invalid RFC4716 private key.
    - scp(1): when performing remote-to-remote copies using "scp -3", start
      the second ssh(1) channel with BatchMode=yes enabled to avoid
      confusing and non-deterministic ordering of prompts.
    - ssh(1), ssh-keygen(1): when signing a challenge using a FIDO token,
      perform hashing of the message to be signed in the middleware layer
      rather than in OpenSSH code.  This permits the use of security key
      middlewares that perform the hashing implicitly, such as Windows
      Hello.
    - ssh(1): fix incorrect error message for "too many known hosts files."
    - ssh(1): make failures when establishing "Tunnel" forwarding terminate
      the connection when ExitOnForwardFailure is enabled.
    - ssh-keygen(1): fix printing of fingerprints on private keys and add a
      regression test for same.
    - sshd(8): document order of checking AuthorizedKeysFile (first) and
      AuthorizedKeysCommand (subsequently, if the file doesn't match).
    - sshd(8): document that /etc/hosts.equiv and /etc/shosts.equiv are not
      considered for HostbasedAuthentication when the target user is root.
    - ssh(1), ssh-keygen(1): fix NULL dereference in private certificate key
      parsing.
    - ssh(1), sshd(8): more consistency between sets of %TOKENS are accepted
      in various configuration options.
    - ssh(1), ssh-keygen(1): improve error messages for some common PKCS#11
      C_Login failure cases.
    - ssh(1), sshd(8): make error messages for problems during SSH banner
      exchange consistent with other SSH transport-layer error messages and
      ensure they include the relevant IP addresses.
    - ssh-keygen(1), ssh-add(1): when downloading FIDO2 resident keys from a
      token, don't prompt for a PIN until the token has told us that it
      needs one.  Avoids double-prompting on devices that implement
      on-device authentication (closes: #932071).
    - sshd(8), ssh-keygen(1): no-touch-required FIDO certificate option
      should be an extension, not a critical option.
    - ssh(1), ssh-keygen(1), ssh-add(1): offer a better error message when
      trying to use a FIDO key function and SecurityKeyProvider is empty.
    - ssh-add(1), ssh-agent(8): ensure that a key lifetime fits within the
      values allowed by the wire format (u32).  Prevents integer wraparound
      of the timeout values.
    - ssh(1): detect and prevent trivial configuration loops when using
      ProxyJump. bz#3057.
    - On platforms that do not support setting process-wide routing domains
      (all excepting OpenBSD at present), fail to accept a configuration
      attempts to set one at process start time rather than fatally erroring
      at run time.
    - Fix theoretical infinite loop in the glob(3) replacement
      implementation.
  * Update GSSAPI key exchange patch from
    https://github.com/openssh-gsskex/openssh-gsskex:
    - Fix connection through ProxyJump in combination with "GSSAPITrustDNS
      yes".
    - Enable SHA2-based GSSAPI key exchange methods by default as RFC 8732
      was published.
  * Fix or suppress various shellcheck errors under debian/.
  * Use AUTOPKGTEST_TMP rather than the deprecated ADTTMP.
  * Apply upstream patch to fix the handling of Port directives after
    Include (closes: #962035, LP: #1876320).

 -- Colin Watson <cjwatson@debian.org>  Sun, 07 Jun 2020 13:44:04 +0100

openssh (1:8.2p1-4) unstable; urgency=medium

  * Add /etc/ssh/ssh_config.d/ to openssh-client.
  * Add /etc/ssh/sshd_config.d/ to openssh-server (closes: #952427).
  * Install ssh-sk-helper even on non-Linux architectures, though it will
    need an external middleware library in those cases.

 -- Colin Watson <cjwatson@debian.org>  Wed, 26 Feb 2020 10:55:07 +0000

openssh (1:8.2p1-3) unstable; urgency=medium

  * Reupload with -sa to work around confusion with 1:8.2p1-1 being in NEW.

 -- Colin Watson <cjwatson@debian.org>  Sun, 23 Feb 2020 13:30:01 +0000

openssh (1:8.2p1-2) unstable; urgency=medium

  * Move ssh-sk-helper into openssh-client rather than shipping it in a
    separate package.  The extra library dependencies are pretty small, so
    it doesn't seem worth bloating the Packages file.  Suggested by Bastian
    Blank.

 -- Colin Watson <cjwatson@debian.org>  Sun, 23 Feb 2020 11:31:31 +0000

openssh (1:8.2p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.2, closes:
    #951582):
    - ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
      (RSA/SHA1) algorithm from those accepted for certificate signatures
      (i.e. the client and server CASignatureAlgorithms option) and will use
      the rsa-sha2-512 signature algorithm by default when the ssh-keygen(1)
      CA signs new certificates.
    - ssh(1), sshd(8): Remove diffie-hellman-group14-sha1 from the default
      key exchange proposal for both the client and server.
    - ssh-keygen(1): The command-line options related to the generation and
      screening of safe prime numbers used by the
      diffie-hellman-group-exchange-* key exchange algorithms have changed.
      Most options have been folded under the -O flag.
    - sshd(8): The sshd listener process title visible to ps(1) has changed
      to include information about the number of connections that are
      currently attempting authentication and the limits configured by
      MaxStartups.
    - Add support for FIDO/U2F hardware authenticators.
    - ssh-keygen(1): Add a "no-touch-required" option when generating
      FIDO-hosted keys, that disables their default behaviour of requiring a
      physical touch/tap on the token during authentication.  Note: not all
      tokens support disabling the touch requirement.
    - sshd(8): Add a sshd_config PubkeyAuthOptions directive that collects
      miscellaneous public key authentication-related options for sshd(8).
      At present it supports only a single option "no-touch-required".  This
      causes sshd to skip its default check for FIDO/U2F keys that the
      signature was authorised by a touch or press event on the token
      hardware.
    - ssh(1), sshd(8), ssh-keygen(1): Add a "no-touch-required" option for
      authorized_keys and a similar extension for certificates.  This option
      disables the default requirement that FIDO key signatures attest that
      the user touched their key to authorize them, mirroring the similar
      PubkeyAuthOptions sshd_config option.
    - ssh-keygen(1): Add support for the writing the FIDO attestation
      information that is returned when new keys are generated via the "-O
      write-attestation=/path" option.  FIDO attestation certificates may be
      used to verify that a FIDO key is hosted in trusted hardware.  OpenSSH
      does not currently make use of this information, beyond optionally
      writing it to disk.
    - Add support for FIDO2 resident keys.
    - sshd(8): Add an Include sshd_config keyword that allows including
      additional configuration files via glob(3) patterns (closes: #631189).
    - ssh(1)/sshd(8): Make the LE (low effort) DSCP code point available via
      the IPQoS directive.
    - ssh(1): When AddKeysToAgent=yes is set and the key contains no
      comment, add the key to the agent with the key's path as the comment.
    - ssh-keygen(1), ssh-agent(1): Expose PKCS#11 key labels and X.509
      subjects as key comments, rather than simply listing the PKCS#11
      provider library path.
    - ssh-keygen(1): Allow PEM export of DSA and ECDSA keys.
    - sshd(8): When clients get denied by MaxStartups, send a notification
      prior to the SSH2 protocol banner according to RFC4253 section 4.2
      (closes: #275458).
    - ssh(1), ssh-agent(1): When invoking the $SSH_ASKPASS prompt program,
      pass a hint to the program to describe the type of desired prompt.
      The possible values are "confirm" (indicating that a yes/no
      confirmation dialog with no text entry should be shown), "none" (to
      indicate an informational message only), or blank for the original
      ssh-askpass behaviour of requesting a password/phrase.
    - ssh(1): Allow forwarding a different agent socket to the path
      specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent
      option to accepting an explicit path or the name of an environment
      variable in addition to yes/no.
    - ssh-keygen(1): Add a new signature operations "find-principals" to
      look up the principal associated with a signature from an
      allowed-signers file.
    - sshd(8): Expose the number of currently-authenticating connections
      along with the MaxStartups limit in the process title visible to "ps".
    - sshd(8): Make ClientAliveCountMax=0 have sensible semantics: it will
      now disable connection killing entirely rather than the current
      behaviour of instantly killing the connection after the first liveness
      test regardless of success.
    - sshd(8): Clarify order of AllowUsers / DenyUsers vs AllowGroups /
      DenyGroups in the sshd(8) manual page.
    - sshd(8): Better describe HashKnownHosts in the manual page.
    - sshd(8): Clarify that that permitopen=/PermitOpen do no name or
      address translation in the manual page.
    - sshd(8): Allow the UpdateHostKeys feature to function when multiple
      known_hosts files are in use.  When updating host keys, ssh will now
      search subsequent known_hosts files, but will add updated host keys to
      the first specified file only.
    - All: Replace all calls to signal(2) with a wrapper around
      sigaction(2).  This wrapper blocks all other signals during the
      handler preventing races between handlers, and sets SA_RESTART which
      should reduce the potential for short read/write operations.
    - sftp(1): Fix a race condition in the SIGCHILD handler that could turn
      in to a kill(-1).
    - sshd(8): Fix a case where valid (but extremely large) SSH channel IDs
      were being incorrectly rejected.
    - ssh(1): When checking host key fingerprints as answers to new hostkey
      prompts, ignore whitespace surrounding the fingerprint itself.
    - All: Wait for file descriptors to be readable or writeable during
      non-blocking connect, not just readable.  Prevents a timeout when the
      server doesn't immediately send a banner (e.g. multiplexers like
      sslh).
    - sshd_config(5): Document the sntrup4591761x25519-sha512@tinyssh.org
      key exchange algorithm.
  * Add more historical md5sums of /etc/ssh/sshd_config between 1:7.4p1-1
    and 1:7.8p1-1 inclusive (closes: #951220).
  * ssh(1): Explain that -Y is equivalent to -X in the default configuration
    (closes: #951640).
  * Include /etc/ssh/ssh_config.d/*.conf from /etc/ssh/ssh_config and
    /etc/ssh/sshd_config.d/*.conf from /etc/ssh/sshd_config (closes:
    #845315).

 -- Colin Watson <cjwatson@debian.org>  Fri, 21 Feb 2020 16:36:37 +0000

openssh (1:8.1p1-5) unstable; urgency=medium

  * Apply upstream patches to allow clock_nanosleep() and variants in the
    seccomp sandbox, fixing failures with glibc 2.31.
  * Apply upstream patch to deny (non-fatally) ipc in the seccomp sandbox,
    fixing failures with OpenSSL 1.1.1d and Linux < 3.19 on some
    architectures (closes: #946242).

 -- Colin Watson <cjwatson@debian.org>  Sat, 11 Jan 2020 23:55:03 +0000

openssh (1:8.1p1-4) unstable; urgency=medium

  * Apply upstream patch to stop using 2020 as a future date in regress
    tests.

 -- Colin Watson <cjwatson@debian.org>  Thu, 09 Jan 2020 11:42:10 +0000

openssh (1:8.1p1-3) unstable; urgency=medium

  [ Colin Watson ]
  * Drop suggestion of rssh, since it's been removed (see
    https://bugs.debian.org/923691).

  [ Steve Langasek ]
  * Don't build openssh-tests on Ubuntu i386 (closes: #948466).

 -- Colin Watson <cjwatson@debian.org>  Thu, 09 Jan 2020 00:29:58 +0000

openssh (1:8.1p1-2) unstable; urgency=medium

  * Drop "Allow flock and ipc syscall for s390 architecture" patch for now;
    upstream has security concerns with it and it doesn't currently seem to
    be needed.
  * Mark openssh-sftp-server, openssh-tests, ssh, and ssh-askpass-gnome as
    Multi-Arch: foreign; none of them provide any architecture-dependent
    interfaces.

 -- Colin Watson <cjwatson@debian.org>  Wed, 11 Dec 2019 23:53:49 +0000

openssh (1:8.1p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.1):
    - ssh(1), sshd(8), ssh-agent(1): Add protection for private keys at rest
      in RAM against speculation and memory side-channel attacks like
      Spectre, Meltdown and Rambleed.  This release encrypts private keys
      when they are not in use with a symmetric key that is derived from a
      relatively large "prekey" consisting of random data (currently 16KB).
    - ssh(1): Allow %n to be expanded in ProxyCommand strings.
    - ssh(1), sshd(8): Allow prepending a list of algorithms to the default
      set by starting the list with the '^' character, e.g.
      "HostKeyAlgorithms ^ssh-ed25519".
    - ssh-keygen(1): Add an experimental lightweight signature and
      verification ability.  Signatures may be made using regular ssh keys
      held on disk or stored in a ssh-agent and verified against an
      authorized_keys-like list of allowed keys.  Signatures embed a
      namespace that prevents confusion and attacks between different usage
      domains (e.g. files vs email).
    - ssh-keygen(1): Print key comment when extracting public key from a
      private key.
    - ssh-keygen(1): Accept the verbose flag when searching for host keys in
      known hosts (i.e. "ssh-keygen -vF host") to print the matching host's
      random-art signature too.
    - All: Support PKCS8 as an optional format for storage of private keys
      to disk.  The OpenSSH native key format remains the default, but PKCS8
      is a superior format to PEM if interoperability with non-OpenSSH
      software is required, as it may use a less insecure key derivation
      function than PEM's.
    - ssh(1): If a PKCS#11 token returns no keys then try to login and
      refetch them.
    - ssh(1): Produce a useful error message if the user's shell is set
      incorrectly during "match exec" processing.
    - sftp(1): Allow the maximum uint32 value for the argument passed to -b
      which allows better error messages from later validation.
    - ssh-keyscan(1): Include SHA2-variant RSA key algorithms in KEX
      proposal; allows ssh-keyscan to harvest keys from servers that disable
      old SHA1 ssh-rsa.
    - sftp(1): Print explicit "not modified" message if a file was requested
      for resumed download but was considered already complete.
    - sftp(1): Fix a typo and make <esc><right> move right to the closest
      end of a word just like <esc><left> moves left to the closest
      beginning of a word.
    - sshd(8): Cap the number of permitopen/permitlisten directives allowed
      to appear on a single authorized_keys line.
    - All: Fix a number of memory leaks (one-off or on exit paths).
    - ssh(1), sshd(8): Check for convtime() refusing to accept times that
      resolve to LONG_MAX.
    - ssh(1): Slightly more instructive error message when the user
      specifies multiple -J options on the command-line (closes: #929669).
    - ssh-agent(1): Process agent requests for RSA certificate private keys
      using correct signature algorithm when requested.
    - sftp(1): Check for user@host when parsing sftp target.  This allows
      user@[1.2.3.4] to work without a path.
    - sshd(8): Enlarge format buffer size for certificate serial number so
      the log message can record any 64-bit integer without truncation.
    - sshd(8): For PermitOpen violations add the remote host and port to be
      able to more easily ascertain the source of the request.  Add the same
      logging for PermitListen violations which were not previously logged
      at all.
    - scp(1), sftp(1): Use the correct POSIX format style for left
      justification for the transfer progress meter.
    - sshd(8): When examining a configuration using sshd -T, assume any
      attribute not provided by -C does not match, which allows it to work
      when sshd_config contains a Match directive with or without -C.
    - ssh(1), ssh-keygen(1): Downgrade PKCS#11 "provider returned no slots"
      warning from log level error to debug.  This is common when attempting
      to enumerate keys on smartcard readers with no cards plugged in.
    - ssh(1), ssh-keygen(1): Do not unconditionally log in to PKCS#11
      tokens.  Avoids spurious PIN prompts for keys not selected for
      authentication in ssh(1) and when listing public keys available in a
      token using ssh-keygen(1).
    - ssh(1), sshd(8): Fix typo that prevented detection of Linux VRF.
    - sshd(8): In the Linux seccomp-bpf sandbox, allow mprotect(2) with
      PROT_(READ|WRITE|NONE) only.  This syscall is used by some hardened
      heap allocators.
    - sshd(8): In the Linux seccomp-bpf sandbox, allow the s390-specific
      ioctl for ECC hardware support.
  * Re-enable hardening on hppa, since the corresponding GCC bug is
    apparently fixed.

 -- Colin Watson <cjwatson@debian.org>  Thu, 10 Oct 2019 10:23:19 +0100

openssh (1:8.0p1-7) unstable; urgency=medium

  [ Daniel Kahn Gillmor ]
  * runit: Correct typo in comment.

  [ Colin Watson ]
  * Apply upstream patch to deny (non-fatally) shmget/shmat/shmdt in preauth
    privsep child, coping with changes in OpenSSL 1.1.1d that broke OpenSSH
    on Linux kernels before 3.19 (closes: #941663).

 -- Colin Watson <cjwatson@debian.org>  Sat, 05 Oct 2019 22:41:11 +0100

openssh (1:8.0p1-6) unstable; urgency=medium

  * Only run dh_runit on openssh-server (closes: #935936).

 -- Colin Watson <cjwatson@debian.org>  Wed, 28 Aug 2019 10:53:18 +0100

openssh (1:8.0p1-5) unstable; urgency=medium

  [ Lorenzo Puliti ]
  * Add a runscript for runit (closes: #933999).

 -- Colin Watson <cjwatson@debian.org>  Tue, 27 Aug 2019 15:18:54 +0100

openssh (1:8.0p1-4) unstable; urgency=medium

  * Use debhelper-compat instead of debian/compat.
  * debian/*.apport:
    - Remove #! lines.
    - Avoid star imports.
    - Fix flake8 errors.
  * Run regression tests against the Python 3 version of Twisted Conch.

 -- Colin Watson <cjwatson@debian.org>  Sat, 03 Aug 2019 13:33:24 +0100

openssh (1:8.0p1-3) unstable; urgency=medium

  * Upload to unstable.

 -- Colin Watson <cjwatson@debian.org>  Mon, 08 Jul 2019 17:19:37 +0100

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog openssh-client`.
