Commit Graph

2925 Commits

Author SHA1 Message Date
christos bf7113376a Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
2018-05-01 19:59:42 +00:00
sevan a492831e1e The secret key is required for decryption and signing. Indicate it by setting
the "need seckey" variable before calling init.
2018-04-30 22:17:46 +00:00
sevan b3cd80a889 Unbreak script for Lua 5.3.
This change breaks support for older releases of Lua but it is deemed ok.
2018-04-30 21:40:59 +00:00
sevan b05246b276 sign_file function expects 5 parameters, include the output filename. 2018-04-29 23:30:59 +00:00
sevan 06d8aeb822 Hello netpgp(3lua) 2018-04-29 19:47:34 +00:00
sevan 88f8705bc9 Add support for Lua 5.3 2018-04-29 19:34:57 +00:00
sevan c912c8ab8d Enable checking arguments for validity. 2018-04-29 19:31:38 +00:00
sevan 00192c93dd Utilise the passed output filename rather that using a hardcoded name 2018-04-29 19:28:11 +00:00
sevan d57d6d22a8 Add the following functions to the list (TODO - add descriptions)
netpgp_unsetvar
netpgp_list_keys_json
netpgp_match_keys
netpgp_match_keys_json
netpgp_match_pubkeys
netpgp_validate_sigs
netpgp_format_json

Remove netpgp_match_list_keys() as function does not exist

Add missing output file to netpgp_verify_file() argument list

Sprinkle const to arguments
2018-04-29 14:21:16 +00:00
spz 3d2ae3570c avoid busy-waiting on a dead child 2018-04-29 05:36:04 +00:00
christos 169d9d570d CVE-2018-0737: Set constant time for rsa computation:
https://www.openssl.org/news/vulnerabilities.html
This needs to be pulled up to -8 using:
    349a41da1a
2018-04-17 14:48:48 +00:00
wiz 2a2e02284d Remove trailing whitespace. 2018-04-16 08:17:18 +00:00
sevan cfb1377110 Break down explanation of netpgp_init to make it easier to extend.
Document how the userid is obtained.
2018-04-15 23:00:36 +00:00
joerg 4d3469e188 Fix clang build by adding __dead annotations. 2018-04-08 21:56:48 +00:00
christos ff7da8bd8e fix compilation for non LDAP
remove error comment
2018-04-08 13:39:42 +00:00
christos f958df48a3 fix unconst 2018-04-07 00:36:55 +00:00
christos 08f1d13fb0 restore default xx salt. 2018-04-07 00:26:12 +00:00
christos 78327f041b merge conflicts 2018-04-06 23:04:43 +00:00
christos 5306042184 *) Constructed ASN.1 types with a recursive definition could exceed the stack
Constructed ASN.1 types with a recursive definition (such as can be found
     in PKCS7) could eventually exceed the stack given malicious input with
     excessive recursion. This could result in a Denial Of Service attack. There
     are no such structures used within SSL/TLS that come from untrusted sources
     so this is considered safe.

     This issue was reported to OpenSSL on 4th January 2018 by the OSS-fuzz
     project.
     (CVE-2018-0739)
     [Matt Caswell]

  *) Incorrect CRYPTO_memcmp on HP-UX PA-RISC

     Because of an implementation bug the PA-RISC CRYPTO_memcmp function is
     effectively reduced to only comparing the least significant bit of each
     byte. This allows an attacker to forge messages that would be considered as
     authenticated in an amount of tries lower than that guaranteed by the
     security claims of the scheme. The module can only be compiled by the
     HP-UX assembler, so that only HP-UX PA-RISC targets are affected.

     This issue was reported to OpenSSL on 2nd March 2018 by Peter Waltenberg
     (IBM).
     (CVE-2018-0733)
     [Andy Polyakov]

  *) Add a build target 'build_all_generated', to build all generated files
     and only that.  This can be used to prepare everything that requires
     things like perl for a system that lacks perl and then move everything
     to that system and do the rest of the build there.
     [Richard Levitte]

  *) Backport SSL_OP_NO_RENGOTIATION

     OpenSSL 1.0.2 and below had the ability to disable renegotiation using the
     (undocumented) SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS flag. Due to the opacity
     changes this is no longer possible in 1.1.0. Therefore the new
     SSL_OP_NO_RENEGOTIATION option from 1.1.1-dev has been backported to
     1.1.0 to provide equivalent functionality.

     Note that if an application built against 1.1.0h headers (or above) is run
     using an older version of 1.1.0 (prior to 1.1.0h) then the option will be
     accepted but nothing will happen, i.e. renegotiation will not be prevented.
     [Matt Caswell]

  *) Removed the OS390-Unix config target.  It relied on a script that doesn't
     exist.
     [Rich Salz]

  *) rsaz_1024_mul_avx2 overflow bug on x86_64

     There is an overflow bug in the AVX2 Montgomery multiplication procedure
     used in exponentiation with 1024-bit moduli. No EC algorithms are affected.
     Analysis suggests that attacks against RSA and DSA as a result of this
     defect would be very difficult to perform and are not believed likely.
     Attacks against DH1024 are considered just feasible, because most of the
     work necessary to deduce information about a private key may be performed
     offline. The amount of resources required for such an attack would be
     significant. However, for an attack on TLS to be meaningful, the server
     would have to share the DH1024 private key among multiple clients, which is
     no longer an option since CVE-2016-0701.

     This only affects processors that support the AVX2 but not ADX extensions
     like Intel Haswell (4th generation).

     This issue was reported to OpenSSL by David Benjamin (Google). The issue
     was originally found via the OSS-Fuzz project.
     (CVE-2017-3738)
     [Andy Polyakov]
2018-04-06 22:49:06 +00:00
christos db50f7682d - use c99 initializers
- add kdc offset functions
2018-04-06 19:57:03 +00:00
christos 2e9ba29a65 don't forget to initialize the kdc_offset (it was random before) 2018-04-06 19:56:43 +00:00
christos ffae97bbe8 merge conflicts 2018-04-06 18:58:59 +00:00
christos ad340bdf0b OpenSSH 7.7 was released on 2018-04-02. It is available from the
mirrors listed at http://www.openssh.com/ shortly.

OpenSSH is a 100% complete SSH protocol 2.0 implementation and
includes sftp client and server support.

Once again, we would like to thank the OpenSSH community for their
continued support of the project, especially those who contributed
code or patches, reported bugs, tested snapshots or donated to the
project. More information on donations may be found at:
http://www.openssh.com/donations.html

Potentially-incompatible changes
================================

This release includes a number of changes that may affect existing
configurations:

 * ssh(1)/sshd(8): Drop compatibility support for some very old SSH
   implementations, including ssh.com <=2.* and OpenSSH <= 3.*. These
   versions were all released in or before 2001 and predate the final
   SSH RFCs. The support in question isn't necessary for RFC-compliant
   SSH implementations.

Changes since OpenSSH 7.6
=========================

This is primarily a bugfix release.

New Features
------------

 * All: Add experimental support for PQC XMSS keys (Extended Hash-
   Based Signatures) based on the algorithm described in
   https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
   The XMSS signature code is experimental and not compiled in by
   default.

 * sshd(8): Add a "rdomain" criteria for the sshd_config Match keyword
   to allow conditional configuration that depends on which routing
   domain a connection was received on (currently supported on OpenBSD
   and Linux).

 * sshd_config(5): Add an optional rdomain qualifier to the
   ListenAddress directive to allow listening on different routing
   domains. This is supported only on OpenBSD and Linux at present.

 * sshd_config(5): Add RDomain directive to allow the authenticated
   session to be placed in an explicit routing domain. This is only
   supported on OpenBSD at present.

 * sshd(8): Add "expiry-time" option for authorized_keys files to
   allow for expiring keys.

 * ssh(1): Add a BindInterface option to allow binding the outgoing
   connection to an interface's address (basically a more usable
   BindAddress)

 * ssh(1): Expose device allocated for tun/tap forwarding via a new
   %T expansion for LocalCommand. This allows LocalCommand to be used
   to prepare the interface.

 * sshd(8): Expose the device allocated for tun/tap forwarding via a
   new SSH_TUNNEL environment variable. This allows automatic setup of
   the interface and surrounding network configuration automatically on
   the server.

 * ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g.
   ssh://user@host or sftp://user@host/path.  Additional connection
   parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not
   implemented since the ssh fingerprint format in the draft uses the
   deprecated MD5 hash with no way to specify the any other algorithm.

 * ssh-keygen(1): Allow certificate validity intervals that specify
   only a start or stop time (instead of both or neither).

 * sftp(1): Allow "cd" and "lcd" commands with no explicit path
   argument. lcd will change to the local user's home directory as
   usual. cd will change to the starting directory for session (because
   the protocol offers no way to obtain the remote user's home
   directory). bz#2760

 * sshd(8): When doing a config test with sshd -T, only require the
   attributes that are actually used in Match criteria rather than (an
   incomplete list of) all criteria.

Bugfixes
--------

 * ssh(1)/sshd(8): More strictly check signature types during key
   exchange against what was negotiated. Prevents downgrade of RSA
   signatures made with SHA-256/512 to SHA-1.

 * sshd(8): Fix support for client that advertise a protocol version
   of "1.99" (indicating that they are prepared to accept both SSHv1 and
   SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1
   support. bz#2810

 * ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when
   a rsa-sha2-256/512 signature was requested. This condition is possible
   when an old or non-OpenSSH agent is in use. bz#2799

 * ssh-agent(1): Fix regression introduced in 7.6 that caused ssh-agent
   to fatally exit if presented an invalid signature request message.

 * sshd_config(5): Accept yes/no flag options case-insensitively, as
   has been the case in ssh_config(5) for a long time. bz#2664

 * ssh(1): Improve error reporting for failures during connection.
   Under some circumstances misleading errors were being shown. bz#2814

 * ssh-keyscan(1): Add -D option to allow printing of results directly
   in SSHFP format. bz#2821

 * regress tests: fix PuTTY interop test broken in last release's SSHv1
   removal. bz#2823

 * ssh(1): Compatibility fix for some servers that erroneously drop the
   connection when the IUTF8 (RFC8160) option is sent.

 * scp(1): Disable RemoteCommand and RequestTTY in the ssh session
   started by scp (sftp was already doing this.)

 * ssh-keygen(1): Refuse to create a certificate with an unusable
   number of principals.

 * ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the
   public key during key generation. Previously it would silently
   ignore errors writing the comment and terminating newline.

 * ssh(1): Do not modify hostname arguments that are addresses by
   automatically forcing them to lower-case. Instead canonicalise them
   to resolve ambiguities (e.g. ::0001 => ::1) before they are matched
   against known_hosts. bz#2763

 * ssh(1): Don't accept junk after "yes" or "no" responses to hostkey
   prompts. bz#2803

 * sftp(1): Have sftp print a warning about shell cleanliness when
   decoding the first packet fails, which is usually caused by shells
   polluting stdout of non-interactive startups. bz#2800

 * ssh(1)/sshd(8): Switch timers in packet code from using wall-clock
   time to monotonic time, allowing the packet layer to better function
   over a clock step and avoiding possible integer overflows during
   steps.

 * Numerous manual page fixes and improvements.

Portability
-----------

 * sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes
   sandbox violations on some environments.

 * sshd(8): Remove UNICOS support. The hardware and software are literal
   museum pieces and support in sshd is too intrusive to justify
   maintaining.

 * All: Build and link with "retpoline" flags when available to mitigate
   the "branch target injection" style (variant 2) of the Spectre
   branch-prediction vulnerability.

 * All: Add auto-generated dependency information to Makefile.

 * Numerous fixed to the RPM spec files.

Checksums:
==========

- SHA1 (openssh-7.7.tar.gz) = 24812e05fa233014c847c7775748316e7f8a836c
- SHA256 (openssh-7.7.tar.gz) = T4ua1L/vgAYqwB0muRahvnm5ZUr3PLY9nPljaG8egvo=

- SHA1 (openssh-7.7p1.tar.gz) = 446fe9ed171f289f0d62197dffdbfdaaf21c49f2
- SHA256 (openssh-7.7p1.tar.gz) = 1zvn5oTpnvzQJL4Vowv/y+QbASsvezyQhK7WIXdea48=

Please note that the SHA256 signatures are base64 encoded and not
hexadecimal (which is the default for most checksum tools). The PGP
key used to sign the releases is available as RELEASE_KEY.asc from
the mirror sites.

Reporting Bugs:
===============

- Please read http://www.openssh.com/report.html
  Security bugs should be reported directly to openssh@openssh.com
2018-04-06 18:56:07 +00:00
ryo 04e2d8f4a5 when CPPFLAGS include a parameter that has any spaces (e.g. CPPFLAGS="-DBN_LLONG=\"long long\""),
$CPP $CPPFLAGS fails. (aarch64--netbsd-clang: error: no such file or directory: 'long"')

advice to use "eval" by soda@. thanks.
2018-04-06 15:47:08 +00:00
sevan f1fc57f92c Drop superfluous zero prefix for single digit number days.
heads up by wiz
2018-04-04 21:39:35 +00:00
sevan 9835dc7a54 Some further changes from PR bin/48395. 2018-04-03 21:57:14 +00:00
sevan 7119252bd3 Revert previous change as the typedef should now work as intended.
Thanks christos, martin
2018-04-02 10:30:06 +00:00
christos f92f386dca remove unused struct tag. 2018-04-01 23:38:02 +00:00
sevan 189f355498 netpgp_t is a structure 2018-04-01 23:25:27 +00:00
christos e24b32683b Avoid double frees (thanks asan) 2018-04-01 22:59:57 +00:00
christos 7b335de413 make debugrm compile again. 2018-04-01 22:35:22 +00:00
christos 222f47901a use the OpenSSL version of des_modes.7 since it is newer. 2018-03-15 18:40:16 +00:00
mrg 6e029617f0 add *template.x to CLEANFILES. 2018-03-13 03:06:51 +00:00
mrg 76e973d086 match opening ( with closing ) instead of closing }.
fixes mips builds... partly.
2018-03-09 21:49:55 +00:00
christos 419bfd3d3e use the proper match pattern 2018-03-09 12:40:23 +00:00
christos b84f7f92e0 Disable assembly stubs for the big endian variants of mips (could be more
precise? are all of them broken?)
2018-03-09 12:39:30 +00:00
christos 97b4576f10 Add the rest of the earm flavors; madness. 2018-03-09 01:34:30 +00:00
christos c9896dce02 Don't define the v8 functions for v7! 2018-03-09 01:33:57 +00:00
christos a10a55c9e9 oops forgot to commit this. 2018-03-08 13:38:02 +00:00
christos 4be809cba5 need CRYPTO_memcmp() 2018-03-08 03:15:08 +00:00
christos 49ec5300d6 add size directives. 2018-03-08 03:14:31 +00:00
christos 128142209e remove the SHA256_Init man page; we are using ours from libc. 2018-03-07 22:40:26 +00:00
christos 884443877d fix build on non-earm 2018-03-07 20:38:39 +00:00
christos 82641d7407 only use the 64 bit abi if specified on the command line. 2018-03-07 19:44:31 +00:00
christos 020c64a4e7 HACK around aarch64 having "long long" "__int64_t" 2018-03-07 16:06:57 +00:00
christos bf6a9fb3d4 Enable AES_ASM explicitly not by just looking at the processor, like we
do for other archs!
2018-03-07 16:06:29 +00:00
christos 1aaa4bda28 regen; some assembly files don't work so disable for now. 2018-03-07 16:05:44 +00:00
mlelstv 847d546cb0 Use local ELF labels and avoid an unsupported 16bit relocation. 2018-03-07 06:55:01 +00:00
christos cf226b6835 need CRYPTO_memcmp 2018-03-06 19:32:16 +00:00
christos 33c1542bb7 need CRYPTO_memequal 2018-03-06 19:30:56 +00:00