From owner-svn-src-stable-11@freebsd.org Sun Jun 14 05:27:38 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9456732EEDA; Sun, 14 Jun 2020 05:27:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49l2zG3Q3vz3gLd; Sun, 14 Jun 2020 05:27:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6BFC727323; Sun, 14 Jun 2020 05:27:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05E5Rcec061249; Sun, 14 Jun 2020 05:27:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05E5Rct3061248; Sun, 14 Jun 2020 05:27:38 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006140527.05E5Rct3061248@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 14 Jun 2020 05:27:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362167 - stable/11/sys/dev/usb/net X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/dev/usb/net X-SVN-Commit-Revision: 362167 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2020 05:27:38 -0000 Author: hselasky Date: Sun Jun 14 05:27:37 2020 New Revision: 362167 URL: https://svnweb.freebsd.org/changeset/base/362167 Log: MFC r362056: Add missing range checks when receiving USB ethernet packets. Found by: Ilja Van Sprundel, IOActive Sponsored by: Mellanox Technologies Modified: stable/11/sys/dev/usb/net/if_smsc.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/usb/net/if_smsc.c ============================================================================== --- stable/11/sys/dev/usb/net/if_smsc.c Sun Jun 14 05:25:06 2020 (r362166) +++ stable/11/sys/dev/usb/net/if_smsc.c Sun Jun 14 05:27:37 2020 (r362167) @@ -970,7 +970,7 @@ smsc_bulk_read_callback(struct usb_xfer *xfer, usb_err struct mbuf *m; struct usb_page_cache *pc; uint32_t rxhdr; - uint16_t pktlen; + int pktlen; int off; int actlen; @@ -996,6 +996,9 @@ smsc_bulk_read_callback(struct usb_xfer *xfer, usb_err /* The frame header is always aligned on a 4 byte boundary */ off = ((off + 0x3) & ~0x3); + if ((off + sizeof(rxhdr)) > actlen) + goto tr_setup; + usbd_copy_out(pc, off, &rxhdr, sizeof(rxhdr)); off += (sizeof(rxhdr) + ETHER_ALIGN); rxhdr = le32toh(rxhdr); @@ -1024,7 +1027,13 @@ smsc_bulk_read_callback(struct usb_xfer *xfer, usb_err if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); goto tr_setup; } - + if (pktlen > m->m_len) { + smsc_dbg_printf(sc, "buffer too small %d vs %d bytes", + pktlen, m->m_len); + if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); + m_freem(m); + goto tr_setup; + } usbd_copy_out(pc, off, mtod(m, uint8_t *), pktlen); /* Check if RX TCP/UDP checksumming is being offloaded */ From owner-svn-src-stable-11@freebsd.org Sun Jun 14 18:49:10 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 597AD341E90; Sun, 14 Jun 2020 18:49:10 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49lNm6121Tz4lw8; Sun, 14 Jun 2020 18:49:10 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1D8E710BB8; Sun, 14 Jun 2020 18:49:10 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05EInAYT062993; Sun, 14 Jun 2020 18:49:10 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05EIn7hc062981; Sun, 14 Jun 2020 18:49:07 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202006141849.05EIn7hc062981@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 14 Jun 2020 18:49:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362181 - in stable/11: contrib/apr contrib/apr-util contrib/apr-util/buckets contrib/apr-util/crypto contrib/apr-util/dbd contrib/apr-util/dbd/unsupported contrib/apr-util/dbm/sdbm con... X-SVN-Group: stable-11 X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in stable/11: contrib/apr contrib/apr-util contrib/apr-util/buckets contrib/apr-util/crypto contrib/apr-util/dbd contrib/apr-util/dbd/unsupported contrib/apr-util/dbm/sdbm contrib/apr-util/include con... X-SVN-Commit-Revision: 362181 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2020 18:49:10 -0000 Author: dim Date: Sun Jun 14 18:49:06 2020 New Revision: 362181 URL: https://svnweb.freebsd.org/changeset/base/362181 Log: Update Subversion and dependencies to 1.14.0 LTS. MFC r323365 (by jonathan): Remove redundant source and object files. Reviewed by: bdrewery, ngie Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12208 MFC r327739 (by asomers): Add Pull Request to the Subversion commit template Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D13178 MFC r333354 (by peter): Update svn-1.9.7 to 1.10.0. MFC r333355 (by peter): Update svn/svnlite from 1.9.7 to 1.10.0 MFC r333387 (by peter): Update svn_private_config.h - I misread an autoconf change. SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL -> SVN_LIBSVN_RA_LINKS_RA_LOCAL SVN_LIBSVN_CLIENT_LINKS_RA_SERF -> SVN_LIBSVN_RA_LINKS_RA_SERF SVN_LIBSVN_CLIENT_LINKS_RA_SVN -> SVN_LIBSVN_RA_LINKS_RA_SVN MFC r339256 (by jhb): Update Apache Serf to 1.3.9 to support OpenSSL 1.1.1. Approved by: re (rgrimes) MFC r352156 (by imp): Remove directory empty after r266735 MFC r357299 (by cem): contrib/apr: Remove scope leak UB In apr_vformatter, the variable buf was declared inside a limited scope region, but a pointer to it is leaked outside of that region and used later. This is undefined behavior. Fix by moving the buf variable to function scope. Reported by: Coverity CID: 1192541 MFC r357301 (by cem): contrib/apr: Rip out bogus [CS]PRNG implementation This construction used some relatively slow design involving SHA2; even if it were fed real entropy (unclear; external to the design), it did not handle fork in a safe way, and it was difficult to audit for correctness. So just rip it out and use the very simple and known-correct arc4random(3) interface in its place. MFC r361677: Change Makefiles under usr.bin/svn to make them easier to incrementally update. No functional change intended. MFC r361678: Update apr to 1.7.0. See contrib/apr/CHANGES for a summary of changes. MFC r361681: Change more Makefiles under usr.bin/svn to make them easier to incrementally update. No functional change intended. MFC r361684 (by kevans): apr: build some needed emulated 64-bit atomic bits after r361678 This should fix the build on armv{6,7}, mips, and mips64, which all need emulated 64-bit atomics for apr. MFC r361691: Follow-up r361678 (update apr to 1.7.0) by also regenerating the apr internal headers through the upstream configure script, with some minor custom tweaks. MFC r361692: Update apr-util to 1.6.1. See contrib/apr-util/CHANGES for a summary of changes. MFC r361693: Update Subversion to 1.14.0 LTS. See contrib/subversion/CHANGES for a summary of changes, or for a more thorough overview: https://subversion.apache.org/docs/release-notes/1.14 NOTE: there is no need to dump and reload repositories, and the working copy format is still the same as Subversion 1.8 through 1.13. Relnotes: yes Added: stable/11/contrib/apr-util/CMakeLists.txt - copied unchanged from r361692, head/contrib/apr-util/CMakeLists.txt stable/11/contrib/apr-util/README.FREETDS - copied unchanged from r361692, head/contrib/apr-util/README.FREETDS stable/11/contrib/apr-util/README.cmake - copied unchanged from r361692, head/contrib/apr-util/README.cmake stable/11/contrib/apr-util/crypto/apr_crypto_commoncrypto.c - copied unchanged from r361692, head/contrib/apr-util/crypto/apr_crypto_commoncrypto.c stable/11/contrib/apr-util/crypto/apr_siphash.c - copied unchanged from r361692, head/contrib/apr-util/crypto/apr_siphash.c stable/11/contrib/apr-util/dbd/unsupported/ - copied from r361692, head/contrib/apr-util/dbd/unsupported/ stable/11/contrib/apr-util/include/apr_ldap.hwc - copied unchanged from r361692, head/contrib/apr-util/include/apr_ldap.hwc stable/11/contrib/apr-util/include/apr_redis.h - copied unchanged from r361692, head/contrib/apr-util/include/apr_redis.h stable/11/contrib/apr-util/include/apr_siphash.h - copied unchanged from r361692, head/contrib/apr-util/include/apr_siphash.h stable/11/contrib/apr-util/include/apu.hwc - copied unchanged from r361692, head/contrib/apr-util/include/apu.hwc stable/11/contrib/apr-util/redis/ - copied from r361692, head/contrib/apr-util/redis/ stable/11/contrib/apr-util/test/testredis.c - copied unchanged from r361692, head/contrib/apr-util/test/testredis.c stable/11/contrib/apr-util/test/testsiphash.c - copied unchanged from r361692, head/contrib/apr-util/test/testsiphash.c stable/11/contrib/apr/atomic/unix/builtins64.c - copied unchanged from r361678, head/contrib/apr/atomic/unix/builtins64.c stable/11/contrib/apr/atomic/unix/mutex64.c - copied unchanged from r361678, head/contrib/apr/atomic/unix/mutex64.c stable/11/contrib/apr/encoding/apr_encode.c - copied unchanged from r361678, head/contrib/apr/encoding/apr_encode.c stable/11/contrib/apr/include/apr_cstr.h - copied unchanged from r361678, head/contrib/apr/include/apr_cstr.h stable/11/contrib/apr/include/apr_encode.h - copied unchanged from r361678, head/contrib/apr/include/apr_encode.h stable/11/contrib/apr/include/apr_perms_set.h - copied unchanged from r361678, head/contrib/apr/include/apr_perms_set.h stable/11/contrib/apr/poll/unix/wakeup.c - copied unchanged from r361678, head/contrib/apr/poll/unix/wakeup.c stable/11/contrib/apr/strings/apr_cstr.c - copied unchanged from r361678, head/contrib/apr/strings/apr_cstr.c stable/11/contrib/serf/STATUS - copied unchanged from r339256, head/contrib/serf/STATUS stable/11/contrib/subversion/.editorconfig - copied, changed from r333354, head/contrib/subversion/.editorconfig stable/11/contrib/subversion/.swig_pl_checked - copied unchanged from r361693, head/contrib/subversion/.swig_pl_checked stable/11/contrib/subversion/.swig_py_checked - copied unchanged from r361693, head/contrib/subversion/.swig_py_checked stable/11/contrib/subversion/.swig_rb_checked - copied unchanged from r361693, head/contrib/subversion/.swig_rb_checked stable/11/contrib/subversion/subversion/include/private/ra_svn_wrapped_sasl.h - copied unchanged from r333354, head/contrib/subversion/subversion/include/private/ra_svn_wrapped_sasl.h stable/11/contrib/subversion/subversion/include/private/svn_branch.h - copied, changed from r333354, head/contrib/subversion/subversion/include/private/svn_branch.h stable/11/contrib/subversion/subversion/include/private/svn_branch_compat.h - copied unchanged from r333354, head/contrib/subversion/subversion/include/private/svn_branch_compat.h stable/11/contrib/subversion/subversion/include/private/svn_branch_impl.h - copied unchanged from r333354, head/contrib/subversion/subversion/include/private/svn_branch_impl.h stable/11/contrib/subversion/subversion/include/private/svn_branch_nested.h - copied unchanged from r333354, head/contrib/subversion/subversion/include/private/svn_branch_nested.h stable/11/contrib/subversion/subversion/include/private/svn_branch_repos.h - copied unchanged from r333354, head/contrib/subversion/subversion/include/private/svn_branch_repos.h stable/11/contrib/subversion/subversion/include/private/svn_client_shelf.h - copied unchanged from r361693, head/contrib/subversion/subversion/include/private/svn_client_shelf.h stable/11/contrib/subversion/subversion/include/private/svn_client_shelf2.h - copied unchanged from r361693, head/contrib/subversion/subversion/include/private/svn_client_shelf2.h stable/11/contrib/subversion/subversion/include/private/svn_config_private.h - copied unchanged from r333354, head/contrib/subversion/subversion/include/private/svn_config_private.h stable/11/contrib/subversion/subversion/include/private/svn_dirent_uri_private.h - copied unchanged from r361693, head/contrib/subversion/subversion/include/private/svn_dirent_uri_private.h stable/11/contrib/subversion/subversion/include/private/svn_element.h - copied, changed from r333354, head/contrib/subversion/subversion/include/private/svn_element.h stable/11/contrib/subversion/subversion/include/svn_opt_impl.h - copied unchanged from r361693, head/contrib/subversion/subversion/include/svn_opt_impl.h stable/11/contrib/subversion/subversion/include/svn_types_impl.h - copied unchanged from r361693, head/contrib/subversion/subversion/include/svn_types_impl.h stable/11/contrib/subversion/subversion/libsvn_client/conflicts.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_client/conflicts.c stable/11/contrib/subversion/subversion/libsvn_client/layout.c - copied unchanged from r361693, head/contrib/subversion/subversion/libsvn_client/layout.c stable/11/contrib/subversion/subversion/libsvn_client/merge_elements.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_client/merge_elements.c stable/11/contrib/subversion/subversion/libsvn_client/shelf.c - copied unchanged from r361693, head/contrib/subversion/subversion/libsvn_client/shelf.c stable/11/contrib/subversion/subversion/libsvn_client/shelf2.c - copied unchanged from r361693, head/contrib/subversion/subversion/libsvn_client/shelf2.c stable/11/contrib/subversion/subversion/libsvn_client/wc_editor.c - copied unchanged from r361693, head/contrib/subversion/subversion/libsvn_client/wc_editor.c stable/11/contrib/subversion/subversion/libsvn_delta/branch.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_delta/branch.c stable/11/contrib/subversion/subversion/libsvn_delta/branch_compat.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_delta/branch_compat.c stable/11/contrib/subversion/subversion/libsvn_delta/branch_migrate.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_delta/branch_migrate.c stable/11/contrib/subversion/subversion/libsvn_delta/branch_nested.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_delta/branch_nested.c stable/11/contrib/subversion/subversion/libsvn_delta/branch_repos.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_delta/branch_repos.c stable/11/contrib/subversion/subversion/libsvn_delta/element.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_delta/element.c stable/11/contrib/subversion/subversion/libsvn_fs_base/fs_init.h - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_fs_base/fs_init.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/fs_init.h - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_fs_fs/fs_init.h stable/11/contrib/subversion/subversion/libsvn_fs_x/batch_fsync.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_fs_x/batch_fsync.c stable/11/contrib/subversion/subversion/libsvn_fs_x/batch_fsync.h - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_fs_x/batch_fsync.h stable/11/contrib/subversion/subversion/libsvn_fs_x/dag_cache.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_fs_x/dag_cache.c stable/11/contrib/subversion/subversion/libsvn_fs_x/dag_cache.h - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_fs_x/dag_cache.h stable/11/contrib/subversion/subversion/libsvn_fs_x/fs_init.h - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_fs_x/fs_init.h stable/11/contrib/subversion/subversion/libsvn_ra_serf/list.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_ra_serf/list.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/request_body.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_ra_serf/request_body.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/stream_bucket.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_ra_serf/stream_bucket.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/wrapped_sasl.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_ra_svn/wrapped_sasl.c stable/11/contrib/subversion/subversion/libsvn_repos/authz.h - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_repos/authz.h stable/11/contrib/subversion/subversion/libsvn_repos/authz_info.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_repos/authz_info.c stable/11/contrib/subversion/subversion/libsvn_repos/authz_parse.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_repos/authz_parse.c stable/11/contrib/subversion/subversion/libsvn_repos/compat.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_repos/compat.c stable/11/contrib/subversion/subversion/libsvn_repos/config_file.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_repos/config_file.c stable/11/contrib/subversion/subversion/libsvn_repos/config_file.h - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_repos/config_file.h stable/11/contrib/subversion/subversion/libsvn_repos/dump_editor.c - copied unchanged from r361693, head/contrib/subversion/subversion/libsvn_repos/dump_editor.c stable/11/contrib/subversion/subversion/libsvn_repos/list.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_repos/list.c stable/11/contrib/subversion/subversion/libsvn_subr/cache-null.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/cache-null.c stable/11/contrib/subversion/subversion/libsvn_subr/compress_lz4.c - copied, changed from r333354, head/contrib/subversion/subversion/libsvn_subr/compress_lz4.c stable/11/contrib/subversion/subversion/libsvn_subr/compress_zlib.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/compress_zlib.c stable/11/contrib/subversion/subversion/libsvn_subr/encode.c - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/encode.c stable/11/contrib/subversion/subversion/libsvn_subr/lz4/ - copied from r333354, head/contrib/subversion/subversion/libsvn_subr/lz4/ stable/11/contrib/subversion/subversion/libsvn_subr/pools.h - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/pools.h stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/LICENSE.md - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/utf8proc/LICENSE.md stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/NEWS.md - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/utf8proc/NEWS.md stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/README.md - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/utf8proc/README.md stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/lump.md - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/utf8proc/lump.md stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/utf8proc_internal.h - copied unchanged from r333354, head/contrib/subversion/subversion/libsvn_subr/utf8proc/utf8proc_internal.h stable/11/contrib/subversion/subversion/svn/filesize.c - copied unchanged from r361693, head/contrib/subversion/subversion/svn/filesize.c stable/11/contrib/subversion/subversion/svn/shelf-cmd.c - copied unchanged from r361693, head/contrib/subversion/subversion/svn/shelf-cmd.c stable/11/contrib/subversion/subversion/svn/shelf-cmd.h - copied unchanged from r361693, head/contrib/subversion/subversion/svn/shelf-cmd.h stable/11/contrib/subversion/subversion/svn/shelf2-cmd.c - copied unchanged from r361693, head/contrib/subversion/subversion/svn/shelf2-cmd.c stable/11/contrib/subversion/subversion/svn/shelf2-cmd.h - copied unchanged from r361693, head/contrib/subversion/subversion/svn/shelf2-cmd.h stable/11/usr.bin/svn/lib/libapr/apr_escape_test_char.h - copied unchanged from r361678, head/usr.bin/svn/lib/libapr/apr_escape_test_char.h Replaced: stable/11/contrib/apr/include/private/ - copied from r361678, head/contrib/apr/include/private/ Deleted: stable/11/contrib/apr-util/dbd/NWGNUdbdfreetds stable/11/contrib/apr-util/dbd/apr_dbd_freetds.c stable/11/contrib/subversion/doc/programmer/gtest-guide.txt stable/11/contrib/subversion/subversion/libsvn_client/copy_foreign.c stable/11/contrib/subversion/subversion/libsvn_delta/debug_editor.h stable/11/contrib/subversion/subversion/libsvn_ra_serf/README stable/11/contrib/subversion/subversion/libsvn_repos/authz_pool.c stable/11/contrib/subversion/subversion/libsvn_subr/compress.c stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/LICENSE stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/README stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/utf8proc.h Modified: stable/11/contrib/apr-util/CHANGES stable/11/contrib/apr-util/LICENSE stable/11/contrib/apr-util/Makefile.in stable/11/contrib/apr-util/Makefile.win stable/11/contrib/apr-util/NOTICE stable/11/contrib/apr-util/NWGNUmakefile stable/11/contrib/apr-util/README stable/11/contrib/apr-util/apr-util.spec stable/11/contrib/apr-util/aprutil.dsw stable/11/contrib/apr-util/apu-config.in stable/11/contrib/apr-util/buckets/apr_buckets_alloc.c stable/11/contrib/apr-util/buckets/apr_buckets_file.c stable/11/contrib/apr-util/build-outputs.mk stable/11/contrib/apr-util/build.conf stable/11/contrib/apr-util/buildconf stable/11/contrib/apr-util/configure stable/11/contrib/apr-util/configure.in stable/11/contrib/apr-util/crypto/apr_crypto.c stable/11/contrib/apr-util/crypto/apr_crypto_nss.c stable/11/contrib/apr-util/crypto/apr_crypto_openssl.c stable/11/contrib/apr-util/crypto/crypt_blowfish.c stable/11/contrib/apr-util/dbd/NWGNUmakefile stable/11/contrib/apr-util/dbd/apr_dbd.c stable/11/contrib/apr-util/dbm/sdbm/sdbm.c stable/11/contrib/apr-util/dbm/sdbm/sdbm_pair.c stable/11/contrib/apr-util/include/apr_buckets.h stable/11/contrib/apr-util/include/apr_crypto.h stable/11/contrib/apr-util/include/apr_dbd.h stable/11/contrib/apr-util/include/apr_xml.h stable/11/contrib/apr-util/include/apu.h.in stable/11/contrib/apr-util/include/apu.hnw stable/11/contrib/apr-util/include/apu.hw stable/11/contrib/apr-util/include/apu_version.h stable/11/contrib/apr-util/include/private/apr_crypto_internal.h stable/11/contrib/apr-util/include/private/apu_config.h.in stable/11/contrib/apr-util/memcache/apr_memcache.c stable/11/contrib/apr-util/test/Makefile.in stable/11/contrib/apr-util/test/Makefile.win stable/11/contrib/apr-util/test/NWGNUaputest stable/11/contrib/apr-util/test/abts_tests.h stable/11/contrib/apr-util/test/testall.dsw stable/11/contrib/apr-util/test/testcrypto.c stable/11/contrib/apr-util/test/testutil.h stable/11/contrib/apr-util/xml/apr_xml.c stable/11/contrib/apr/CHANGES stable/11/contrib/apr/CMakeLists.txt stable/11/contrib/apr/Makefile.in stable/11/contrib/apr/Makefile.win stable/11/contrib/apr/NOTICE stable/11/contrib/apr/NWGNUmakefile stable/11/contrib/apr/apr.dsp stable/11/contrib/apr/apr.mak stable/11/contrib/apr/apr.spec stable/11/contrib/apr/atomic/unix/ia32.c stable/11/contrib/apr/atomic/unix/mutex.c stable/11/contrib/apr/atomic/unix/ppc.c stable/11/contrib/apr/atomic/unix/s390.c stable/11/contrib/apr/atomic/unix/solaris.c stable/11/contrib/apr/build-outputs.mk stable/11/contrib/apr/buildconf stable/11/contrib/apr/config.layout stable/11/contrib/apr/configure stable/11/contrib/apr/configure.in stable/11/contrib/apr/docs/APRDesign.html stable/11/contrib/apr/docs/canonical_filenames.html stable/11/contrib/apr/docs/incomplete_types stable/11/contrib/apr/docs/pool-design.html stable/11/contrib/apr/encoding/apr_escape.c stable/11/contrib/apr/file_io/unix/copy.c stable/11/contrib/apr/file_io/unix/dir.c stable/11/contrib/apr/file_io/unix/flock.c stable/11/contrib/apr/file_io/unix/pipe.c stable/11/contrib/apr/file_io/unix/readwrite.c stable/11/contrib/apr/file_io/unix/seek.c stable/11/contrib/apr/include/apr.h.in stable/11/contrib/apr/include/apr.hnw stable/11/contrib/apr/include/apr.hw stable/11/contrib/apr/include/apr.hwc stable/11/contrib/apr/include/apr_allocator.h stable/11/contrib/apr/include/apr_atomic.h stable/11/contrib/apr/include/apr_errno.h stable/11/contrib/apr/include/apr_escape.h stable/11/contrib/apr/include/apr_file_info.h stable/11/contrib/apr/include/apr_file_io.h stable/11/contrib/apr/include/apr_general.h stable/11/contrib/apr/include/apr_global_mutex.h stable/11/contrib/apr/include/apr_hash.h stable/11/contrib/apr/include/apr_network_io.h stable/11/contrib/apr/include/apr_poll.h stable/11/contrib/apr/include/apr_portable.h stable/11/contrib/apr/include/apr_proc_mutex.h stable/11/contrib/apr/include/apr_shm.h stable/11/contrib/apr/include/apr_skiplist.h stable/11/contrib/apr/include/apr_strings.h stable/11/contrib/apr/include/apr_tables.h stable/11/contrib/apr/include/apr_thread_mutex.h stable/11/contrib/apr/include/apr_thread_proc.h stable/11/contrib/apr/include/apr_time.h stable/11/contrib/apr/include/apr_version.h stable/11/contrib/apr/include/arch/unix/apr_arch_atomic.h stable/11/contrib/apr/include/arch/unix/apr_arch_networkio.h stable/11/contrib/apr/include/arch/unix/apr_arch_poll_private.h stable/11/contrib/apr/include/arch/unix/apr_arch_proc_mutex.h stable/11/contrib/apr/include/arch/unix/apr_arch_shm.h stable/11/contrib/apr/include/arch/unix/apr_arch_thread_mutex.h stable/11/contrib/apr/include/arch/unix/apr_arch_threadproc.h stable/11/contrib/apr/include/arch/unix/apr_private.h.in stable/11/contrib/apr/libapr.dsp stable/11/contrib/apr/libapr.mak stable/11/contrib/apr/locks/unix/global_mutex.c stable/11/contrib/apr/locks/unix/proc_mutex.c stable/11/contrib/apr/locks/unix/thread_cond.c stable/11/contrib/apr/locks/unix/thread_mutex.c stable/11/contrib/apr/memory/unix/apr_pools.c stable/11/contrib/apr/misc/unix/errorcodes.c stable/11/contrib/apr/misc/unix/rand.c stable/11/contrib/apr/network_io/unix/multicast.c stable/11/contrib/apr/network_io/unix/sockaddr.c stable/11/contrib/apr/network_io/unix/sockets.c stable/11/contrib/apr/network_io/unix/sockopt.c stable/11/contrib/apr/poll/unix/epoll.c stable/11/contrib/apr/poll/unix/kqueue.c stable/11/contrib/apr/poll/unix/poll.c stable/11/contrib/apr/poll/unix/pollcb.c stable/11/contrib/apr/poll/unix/pollset.c stable/11/contrib/apr/poll/unix/port.c stable/11/contrib/apr/poll/unix/select.c stable/11/contrib/apr/poll/unix/z_asio.c stable/11/contrib/apr/random/unix/apr_random.c stable/11/contrib/apr/shmem/unix/shm.c stable/11/contrib/apr/strings/apr_cpystrn.c stable/11/contrib/apr/strings/apr_fnmatch.c stable/11/contrib/apr/strings/apr_snprintf.c stable/11/contrib/apr/tables/apr_skiplist.c stable/11/contrib/apr/tables/apr_tables.c stable/11/contrib/apr/threadproc/unix/proc.c stable/11/contrib/apr/threadproc/unix/signals.c stable/11/contrib/apr/tools/gen_test_char.c stable/11/contrib/serf/CHANGES stable/11/contrib/serf/NOTICE stable/11/contrib/serf/README stable/11/contrib/serf/SConstruct stable/11/contrib/serf/auth/auth.c stable/11/contrib/serf/auth/auth.h stable/11/contrib/serf/auth/auth_basic.c stable/11/contrib/serf/auth/auth_digest.c stable/11/contrib/serf/auth/auth_spnego.c stable/11/contrib/serf/auth/auth_spnego.h stable/11/contrib/serf/auth/auth_spnego_gss.c stable/11/contrib/serf/auth/auth_spnego_sspi.c stable/11/contrib/serf/buckets/aggregate_buckets.c stable/11/contrib/serf/buckets/allocator.c stable/11/contrib/serf/buckets/barrier_buckets.c stable/11/contrib/serf/buckets/buckets.c stable/11/contrib/serf/buckets/bwtp_buckets.c stable/11/contrib/serf/buckets/chunk_buckets.c stable/11/contrib/serf/buckets/dechunk_buckets.c stable/11/contrib/serf/buckets/deflate_buckets.c stable/11/contrib/serf/buckets/file_buckets.c stable/11/contrib/serf/buckets/headers_buckets.c stable/11/contrib/serf/buckets/iovec_buckets.c stable/11/contrib/serf/buckets/limit_buckets.c stable/11/contrib/serf/buckets/mmap_buckets.c stable/11/contrib/serf/buckets/request_buckets.c stable/11/contrib/serf/buckets/response_body_buckets.c stable/11/contrib/serf/buckets/response_buckets.c stable/11/contrib/serf/buckets/simple_buckets.c stable/11/contrib/serf/buckets/socket_buckets.c stable/11/contrib/serf/buckets/ssl_buckets.c stable/11/contrib/serf/build/check.py stable/11/contrib/serf/build/gen_def.py stable/11/contrib/serf/context.c stable/11/contrib/serf/incoming.c stable/11/contrib/serf/outgoing.c stable/11/contrib/serf/serf.h stable/11/contrib/serf/serf_bucket_types.h stable/11/contrib/serf/serf_bucket_util.h stable/11/contrib/serf/serf_private.h stable/11/contrib/serf/ssltunnel.c stable/11/contrib/subversion/CHANGES stable/11/contrib/subversion/COMMITTERS stable/11/contrib/subversion/INSTALL stable/11/contrib/subversion/LICENSE stable/11/contrib/subversion/Makefile.in stable/11/contrib/subversion/NOTICE stable/11/contrib/subversion/README stable/11/contrib/subversion/aclocal.m4 stable/11/contrib/subversion/autogen.sh stable/11/contrib/subversion/build-outputs.mk stable/11/contrib/subversion/build.conf stable/11/contrib/subversion/configure stable/11/contrib/subversion/configure.ac stable/11/contrib/subversion/doc/doxygen.conf stable/11/contrib/subversion/doc/user/svn-best-practices.html stable/11/contrib/subversion/gen-make.py stable/11/contrib/subversion/get-deps.sh stable/11/contrib/subversion/subversion/include/private/ra_svn_sasl.h stable/11/contrib/subversion/subversion/include/private/svn_atomic.h stable/11/contrib/subversion/subversion/include/private/svn_cache.h stable/11/contrib/subversion/subversion/include/private/svn_client_mtcc.h stable/11/contrib/subversion/subversion/include/private/svn_client_private.h stable/11/contrib/subversion/subversion/include/private/svn_cmdline_private.h stable/11/contrib/subversion/subversion/include/private/svn_delta_private.h stable/11/contrib/subversion/subversion/include/private/svn_dep_compat.h stable/11/contrib/subversion/subversion/include/private/svn_diff_private.h stable/11/contrib/subversion/subversion/include/private/svn_diff_tree.h stable/11/contrib/subversion/subversion/include/private/svn_fs_fs_private.h stable/11/contrib/subversion/subversion/include/private/svn_fs_private.h stable/11/contrib/subversion/subversion/include/private/svn_fs_util.h stable/11/contrib/subversion/subversion/include/private/svn_io_private.h stable/11/contrib/subversion/subversion/include/private/svn_log.h stable/11/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h stable/11/contrib/subversion/subversion/include/private/svn_mutex.h stable/11/contrib/subversion/subversion/include/private/svn_object_pool.h stable/11/contrib/subversion/subversion/include/private/svn_packed_data.h stable/11/contrib/subversion/subversion/include/private/svn_ra_svn_private.h stable/11/contrib/subversion/subversion/include/private/svn_repos_private.h stable/11/contrib/subversion/subversion/include/private/svn_sorts_private.h stable/11/contrib/subversion/subversion/include/private/svn_sqlite.h stable/11/contrib/subversion/subversion/include/private/svn_string_private.h stable/11/contrib/subversion/subversion/include/private/svn_subr_private.h stable/11/contrib/subversion/subversion/include/private/svn_temp_serializer.h stable/11/contrib/subversion/subversion/include/private/svn_utf_private.h stable/11/contrib/subversion/subversion/include/private/svn_wc_private.h stable/11/contrib/subversion/subversion/include/svn_auth.h stable/11/contrib/subversion/subversion/include/svn_base64.h stable/11/contrib/subversion/subversion/include/svn_checksum.h stable/11/contrib/subversion/subversion/include/svn_client.h stable/11/contrib/subversion/subversion/include/svn_cmdline.h stable/11/contrib/subversion/subversion/include/svn_config.h stable/11/contrib/subversion/subversion/include/svn_dav.h stable/11/contrib/subversion/subversion/include/svn_delta.h stable/11/contrib/subversion/subversion/include/svn_diff.h stable/11/contrib/subversion/subversion/include/svn_dirent_uri.h stable/11/contrib/subversion/subversion/include/svn_error.h stable/11/contrib/subversion/subversion/include/svn_error_codes.h stable/11/contrib/subversion/subversion/include/svn_fs.h stable/11/contrib/subversion/subversion/include/svn_hash.h stable/11/contrib/subversion/subversion/include/svn_io.h stable/11/contrib/subversion/subversion/include/svn_opt.h stable/11/contrib/subversion/subversion/include/svn_props.h stable/11/contrib/subversion/subversion/include/svn_ra.h stable/11/contrib/subversion/subversion/include/svn_ra_svn.h stable/11/contrib/subversion/subversion/include/svn_repos.h stable/11/contrib/subversion/subversion/include/svn_string.h stable/11/contrib/subversion/subversion/include/svn_time.h stable/11/contrib/subversion/subversion/include/svn_types.h stable/11/contrib/subversion/subversion/include/svn_user.h stable/11/contrib/subversion/subversion/include/svn_utf.h stable/11/contrib/subversion/subversion/include/svn_version.h stable/11/contrib/subversion/subversion/include/svn_wc.h stable/11/contrib/subversion/subversion/include/svn_x509.h stable/11/contrib/subversion/subversion/include/svn_xml.h stable/11/contrib/subversion/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c stable/11/contrib/subversion/subversion/libsvn_auth_gnome_keyring/libsvn_auth_gnome_keyring.pc.in stable/11/contrib/subversion/subversion/libsvn_auth_kwallet/kwallet.cpp stable/11/contrib/subversion/subversion/libsvn_auth_kwallet/libsvn_auth_kwallet.pc.in stable/11/contrib/subversion/subversion/libsvn_client/add.c stable/11/contrib/subversion/subversion/libsvn_client/blame.c stable/11/contrib/subversion/subversion/libsvn_client/checkout.c stable/11/contrib/subversion/subversion/libsvn_client/client.h stable/11/contrib/subversion/subversion/libsvn_client/commit.c stable/11/contrib/subversion/subversion/libsvn_client/commit_util.c stable/11/contrib/subversion/subversion/libsvn_client/copy.c stable/11/contrib/subversion/subversion/libsvn_client/delete.c stable/11/contrib/subversion/subversion/libsvn_client/deprecated.c stable/11/contrib/subversion/subversion/libsvn_client/diff.c stable/11/contrib/subversion/subversion/libsvn_client/diff_local.c stable/11/contrib/subversion/subversion/libsvn_client/diff_summarize.c stable/11/contrib/subversion/subversion/libsvn_client/export.c stable/11/contrib/subversion/subversion/libsvn_client/externals.c stable/11/contrib/subversion/subversion/libsvn_client/import.c stable/11/contrib/subversion/subversion/libsvn_client/info.c stable/11/contrib/subversion/subversion/libsvn_client/libsvn_client.pc.in stable/11/contrib/subversion/subversion/libsvn_client/list.c stable/11/contrib/subversion/subversion/libsvn_client/merge.c stable/11/contrib/subversion/subversion/libsvn_client/mergeinfo.c stable/11/contrib/subversion/subversion/libsvn_client/mtcc.c stable/11/contrib/subversion/subversion/libsvn_client/patch.c stable/11/contrib/subversion/subversion/libsvn_client/ra.c stable/11/contrib/subversion/subversion/libsvn_client/relocate.c stable/11/contrib/subversion/subversion/libsvn_client/repos_diff.c stable/11/contrib/subversion/subversion/libsvn_client/resolved.c stable/11/contrib/subversion/subversion/libsvn_client/revert.c stable/11/contrib/subversion/subversion/libsvn_client/revisions.c stable/11/contrib/subversion/subversion/libsvn_client/status.c stable/11/contrib/subversion/subversion/libsvn_client/update.c stable/11/contrib/subversion/subversion/libsvn_client/upgrade.c stable/11/contrib/subversion/subversion/libsvn_client/util.c stable/11/contrib/subversion/subversion/libsvn_delta/cancel.c stable/11/contrib/subversion/subversion/libsvn_delta/compat.c stable/11/contrib/subversion/subversion/libsvn_delta/debug_editor.c stable/11/contrib/subversion/subversion/libsvn_delta/default_editor.c stable/11/contrib/subversion/subversion/libsvn_delta/deprecated.c stable/11/contrib/subversion/subversion/libsvn_delta/libsvn_delta.pc.in stable/11/contrib/subversion/subversion/libsvn_delta/path_driver.c stable/11/contrib/subversion/subversion/libsvn_delta/svndiff.c stable/11/contrib/subversion/subversion/libsvn_delta/text_delta.c stable/11/contrib/subversion/subversion/libsvn_delta/xdelta.c stable/11/contrib/subversion/subversion/libsvn_diff/binary_diff.c stable/11/contrib/subversion/subversion/libsvn_diff/diff.h stable/11/contrib/subversion/subversion/libsvn_diff/diff3.c stable/11/contrib/subversion/subversion/libsvn_diff/diff_file.c stable/11/contrib/subversion/subversion/libsvn_diff/diff_memory.c stable/11/contrib/subversion/subversion/libsvn_diff/diff_tree.c stable/11/contrib/subversion/subversion/libsvn_diff/libsvn_diff.pc.in stable/11/contrib/subversion/subversion/libsvn_diff/parse-diff.c stable/11/contrib/subversion/subversion/libsvn_fs/deprecated.c stable/11/contrib/subversion/subversion/libsvn_fs/editor.c stable/11/contrib/subversion/subversion/libsvn_fs/fs-loader.c stable/11/contrib/subversion/subversion/libsvn_fs/fs-loader.h stable/11/contrib/subversion/subversion/libsvn_fs/libsvn_fs.pc.in stable/11/contrib/subversion/subversion/libsvn_fs_base/bdb/rev-table.c stable/11/contrib/subversion/subversion/libsvn_fs_base/fs.c stable/11/contrib/subversion/subversion/libsvn_fs_base/libsvn_fs_base.pc.in stable/11/contrib/subversion/subversion/libsvn_fs_base/lock.c stable/11/contrib/subversion/subversion/libsvn_fs_base/revs-txns.c stable/11/contrib/subversion/subversion/libsvn_fs_base/revs-txns.h stable/11/contrib/subversion/subversion/libsvn_fs_base/tree.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/cached_data.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/cached_data.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/caching.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/dag.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/dump-index.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/fs.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/fs.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/hotcopy.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/hotcopy.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/id.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/index.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/libsvn_fs_fs.pc.in stable/11/contrib/subversion/subversion/libsvn_fs_fs/load-index.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/lock.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/low_level.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/low_level.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/pack.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/recovery.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.sql stable/11/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/rev_file.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/revprops.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/revprops.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/stats.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/structure stable/11/contrib/subversion/subversion/libsvn_fs_fs/structure-indexes stable/11/contrib/subversion/subversion/libsvn_fs_fs/temp_serializer.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/temp_serializer.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/transaction.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/tree.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/util.c stable/11/contrib/subversion/subversion/libsvn_fs_fs/util.h stable/11/contrib/subversion/subversion/libsvn_fs_fs/verify.c stable/11/contrib/subversion/subversion/libsvn_fs_util/fs-util.c stable/11/contrib/subversion/subversion/libsvn_fs_util/libsvn_fs_util.pc.in stable/11/contrib/subversion/subversion/libsvn_fs_x/cached_data.c stable/11/contrib/subversion/subversion/libsvn_fs_x/cached_data.h stable/11/contrib/subversion/subversion/libsvn_fs_x/caching.c stable/11/contrib/subversion/subversion/libsvn_fs_x/changes.c stable/11/contrib/subversion/subversion/libsvn_fs_x/changes.h stable/11/contrib/subversion/subversion/libsvn_fs_x/dag.c stable/11/contrib/subversion/subversion/libsvn_fs_x/dag.h stable/11/contrib/subversion/subversion/libsvn_fs_x/fs.c stable/11/contrib/subversion/subversion/libsvn_fs_x/fs.h stable/11/contrib/subversion/subversion/libsvn_fs_x/fs_x.c stable/11/contrib/subversion/subversion/libsvn_fs_x/fs_x.h stable/11/contrib/subversion/subversion/libsvn_fs_x/hotcopy.c stable/11/contrib/subversion/subversion/libsvn_fs_x/hotcopy.h stable/11/contrib/subversion/subversion/libsvn_fs_x/index.c stable/11/contrib/subversion/subversion/libsvn_fs_x/index.h stable/11/contrib/subversion/subversion/libsvn_fs_x/libsvn_fs_x.pc.in stable/11/contrib/subversion/subversion/libsvn_fs_x/lock.c stable/11/contrib/subversion/subversion/libsvn_fs_x/lock.h stable/11/contrib/subversion/subversion/libsvn_fs_x/low_level.c stable/11/contrib/subversion/subversion/libsvn_fs_x/low_level.h stable/11/contrib/subversion/subversion/libsvn_fs_x/noderevs.c stable/11/contrib/subversion/subversion/libsvn_fs_x/noderevs.h stable/11/contrib/subversion/subversion/libsvn_fs_x/pack.c stable/11/contrib/subversion/subversion/libsvn_fs_x/pack.h stable/11/contrib/subversion/subversion/libsvn_fs_x/recovery.c stable/11/contrib/subversion/subversion/libsvn_fs_x/recovery.h stable/11/contrib/subversion/subversion/libsvn_fs_x/rep-cache-db.h stable/11/contrib/subversion/subversion/libsvn_fs_x/rep-cache.c stable/11/contrib/subversion/subversion/libsvn_fs_x/rep-cache.h stable/11/contrib/subversion/subversion/libsvn_fs_x/reps.c stable/11/contrib/subversion/subversion/libsvn_fs_x/reps.h stable/11/contrib/subversion/subversion/libsvn_fs_x/rev_file.c stable/11/contrib/subversion/subversion/libsvn_fs_x/rev_file.h stable/11/contrib/subversion/subversion/libsvn_fs_x/revprops.c stable/11/contrib/subversion/subversion/libsvn_fs_x/revprops.h stable/11/contrib/subversion/subversion/libsvn_fs_x/string_table.c stable/11/contrib/subversion/subversion/libsvn_fs_x/string_table.h stable/11/contrib/subversion/subversion/libsvn_fs_x/temp_serializer.c stable/11/contrib/subversion/subversion/libsvn_fs_x/temp_serializer.h stable/11/contrib/subversion/subversion/libsvn_fs_x/transaction.c stable/11/contrib/subversion/subversion/libsvn_fs_x/transaction.h stable/11/contrib/subversion/subversion/libsvn_fs_x/tree.c stable/11/contrib/subversion/subversion/libsvn_fs_x/tree.h stable/11/contrib/subversion/subversion/libsvn_fs_x/util.c stable/11/contrib/subversion/subversion/libsvn_fs_x/util.h stable/11/contrib/subversion/subversion/libsvn_fs_x/verify.c stable/11/contrib/subversion/subversion/libsvn_fs_x/verify.h stable/11/contrib/subversion/subversion/libsvn_ra/compat.c stable/11/contrib/subversion/subversion/libsvn_ra/deprecated.c stable/11/contrib/subversion/subversion/libsvn_ra/libsvn_ra.pc.in stable/11/contrib/subversion/subversion/libsvn_ra/ra_loader.c stable/11/contrib/subversion/subversion/libsvn_ra/ra_loader.h stable/11/contrib/subversion/subversion/libsvn_ra/wrapper_template.h stable/11/contrib/subversion/subversion/libsvn_ra_local/libsvn_ra_local.pc.in stable/11/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/blame.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/commit.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/eagain_bucket.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/get_file.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/getlocations.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/getlocationsegments.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/inherited_props.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/libsvn_ra_serf.pc.in stable/11/contrib/subversion/subversion/libsvn_ra_serf/lock.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/log.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/merge.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/mergeinfo.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/multistatus.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/options.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/property.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h stable/11/contrib/subversion/subversion/libsvn_ra_serf/replay.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/sb_bucket.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/serf.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/stat.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/update.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/util.c stable/11/contrib/subversion/subversion/libsvn_ra_serf/xml.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/client.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/cram.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/cyrus_auth.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/deprecated.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/editorp.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/internal_auth.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/libsvn_ra_svn.pc.in stable/11/contrib/subversion/subversion/libsvn_ra_svn/marshal.c stable/11/contrib/subversion/subversion/libsvn_ra_svn/protocol stable/11/contrib/subversion/subversion/libsvn_ra_svn/ra_svn.h stable/11/contrib/subversion/subversion/libsvn_repos/authz.c stable/11/contrib/subversion/subversion/libsvn_repos/commit.c stable/11/contrib/subversion/subversion/libsvn_repos/config_pool.c stable/11/contrib/subversion/subversion/libsvn_repos/delta.c stable/11/contrib/subversion/subversion/libsvn_repos/deprecated.c stable/11/contrib/subversion/subversion/libsvn_repos/dump.c stable/11/contrib/subversion/subversion/libsvn_repos/fs-wrap.c stable/11/contrib/subversion/subversion/libsvn_repos/hooks.c stable/11/contrib/subversion/subversion/libsvn_repos/libsvn_repos.pc.in stable/11/contrib/subversion/subversion/libsvn_repos/load-fs-vtable.c stable/11/contrib/subversion/subversion/libsvn_repos/load.c stable/11/contrib/subversion/subversion/libsvn_repos/log.c stable/11/contrib/subversion/subversion/libsvn_repos/replay.c stable/11/contrib/subversion/subversion/libsvn_repos/reporter.c stable/11/contrib/subversion/subversion/libsvn_repos/repos.c stable/11/contrib/subversion/subversion/libsvn_repos/repos.h stable/11/contrib/subversion/subversion/libsvn_repos/rev_hunt.c stable/11/contrib/subversion/subversion/libsvn_subr/atomic.c stable/11/contrib/subversion/subversion/libsvn_subr/auth.c stable/11/contrib/subversion/subversion/libsvn_subr/base64.c stable/11/contrib/subversion/subversion/libsvn_subr/cache-inprocess.c stable/11/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c stable/11/contrib/subversion/subversion/libsvn_subr/checksum.c stable/11/contrib/subversion/subversion/libsvn_subr/cmdline.c stable/11/contrib/subversion/subversion/libsvn_subr/config.c stable/11/contrib/subversion/subversion/libsvn_subr/config_auth.c stable/11/contrib/subversion/subversion/libsvn_subr/config_file.c stable/11/contrib/subversion/subversion/libsvn_subr/config_impl.h stable/11/contrib/subversion/subversion/libsvn_subr/config_keys.inc stable/11/contrib/subversion/subversion/libsvn_subr/config_win.c stable/11/contrib/subversion/subversion/libsvn_subr/deprecated.c stable/11/contrib/subversion/subversion/libsvn_subr/dirent_uri.c stable/11/contrib/subversion/subversion/libsvn_subr/dso.c stable/11/contrib/subversion/subversion/libsvn_subr/eol.c stable/11/contrib/subversion/subversion/libsvn_subr/error.c stable/11/contrib/subversion/subversion/libsvn_subr/errorcode.inc stable/11/contrib/subversion/subversion/libsvn_subr/fnv1a.c stable/11/contrib/subversion/subversion/libsvn_subr/fnv1a.h stable/11/contrib/subversion/subversion/libsvn_subr/gpg_agent.c stable/11/contrib/subversion/subversion/libsvn_subr/hash.c stable/11/contrib/subversion/subversion/libsvn_subr/internal_statements.h stable/11/contrib/subversion/subversion/libsvn_subr/io.c stable/11/contrib/subversion/subversion/libsvn_subr/iter.c stable/11/contrib/subversion/subversion/libsvn_subr/libsvn_subr.pc.in stable/11/contrib/subversion/subversion/libsvn_subr/log.c stable/11/contrib/subversion/subversion/libsvn_subr/lz4/lz4.c stable/11/contrib/subversion/subversion/libsvn_subr/lz4/lz4internal.h stable/11/contrib/subversion/subversion/libsvn_subr/mergeinfo.c stable/11/contrib/subversion/subversion/libsvn_subr/mutex.c stable/11/contrib/subversion/subversion/libsvn_subr/object_pool.c stable/11/contrib/subversion/subversion/libsvn_subr/opt.c stable/11/contrib/subversion/subversion/libsvn_subr/packed_data.c stable/11/contrib/subversion/subversion/libsvn_subr/path.c stable/11/contrib/subversion/subversion/libsvn_subr/pool.c stable/11/contrib/subversion/subversion/libsvn_subr/prefix_string.c stable/11/contrib/subversion/subversion/libsvn_subr/prompt.c stable/11/contrib/subversion/subversion/libsvn_subr/properties.c stable/11/contrib/subversion/subversion/libsvn_subr/skel.c stable/11/contrib/subversion/subversion/libsvn_subr/sorts.c stable/11/contrib/subversion/subversion/libsvn_subr/spillbuf.c stable/11/contrib/subversion/subversion/libsvn_subr/sqlite.c stable/11/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c stable/11/contrib/subversion/subversion/libsvn_subr/ssl_client_cert_pw_providers.c stable/11/contrib/subversion/subversion/libsvn_subr/stream.c stable/11/contrib/subversion/subversion/libsvn_subr/string.c stable/11/contrib/subversion/subversion/libsvn_subr/subst.c stable/11/contrib/subversion/subversion/libsvn_subr/sysinfo.c stable/11/contrib/subversion/subversion/libsvn_subr/temp_serializer.c stable/11/contrib/subversion/subversion/libsvn_subr/user.c stable/11/contrib/subversion/subversion/libsvn_subr/utf.c stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc.c stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/utf8proc.c stable/11/contrib/subversion/subversion/libsvn_subr/utf8proc/utf8proc_data.c stable/11/contrib/subversion/subversion/libsvn_subr/version.c stable/11/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c stable/11/contrib/subversion/subversion/libsvn_subr/win32_crashrpt_dll.h stable/11/contrib/subversion/subversion/libsvn_subr/win32_crypto.c stable/11/contrib/subversion/subversion/libsvn_subr/win32_xlate.c stable/11/contrib/subversion/subversion/libsvn_subr/x509info.c stable/11/contrib/subversion/subversion/libsvn_subr/x509parse.c stable/11/contrib/subversion/subversion/libsvn_subr/xml.c stable/11/contrib/subversion/subversion/libsvn_wc/README stable/11/contrib/subversion/subversion/libsvn_wc/adm_crawler.c stable/11/contrib/subversion/subversion/libsvn_wc/conflicts.c stable/11/contrib/subversion/subversion/libsvn_wc/conflicts.h stable/11/contrib/subversion/subversion/libsvn_wc/copy.c stable/11/contrib/subversion/subversion/libsvn_wc/crop.c stable/11/contrib/subversion/subversion/libsvn_wc/deprecated.c stable/11/contrib/subversion/subversion/libsvn_wc/diff.h stable/11/contrib/subversion/subversion/libsvn_wc/diff_editor.c stable/11/contrib/subversion/subversion/libsvn_wc/diff_local.c stable/11/contrib/subversion/subversion/libsvn_wc/entries.c stable/11/contrib/subversion/subversion/libsvn_wc/externals.c stable/11/contrib/subversion/subversion/libsvn_wc/libsvn_wc.pc.in stable/11/contrib/subversion/subversion/libsvn_wc/node.c stable/11/contrib/subversion/subversion/libsvn_wc/old-and-busted.c stable/11/contrib/subversion/subversion/libsvn_wc/props.c stable/11/contrib/subversion/subversion/libsvn_wc/questions.c stable/11/contrib/subversion/subversion/libsvn_wc/revert.c stable/11/contrib/subversion/subversion/libsvn_wc/status.c stable/11/contrib/subversion/subversion/libsvn_wc/translate.c stable/11/contrib/subversion/subversion/libsvn_wc/tree_conflicts.c stable/11/contrib/subversion/subversion/libsvn_wc/update_editor.c stable/11/contrib/subversion/subversion/libsvn_wc/upgrade.c stable/11/contrib/subversion/subversion/libsvn_wc/wc-checks.h stable/11/contrib/subversion/subversion/libsvn_wc/wc-metadata.h stable/11/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql stable/11/contrib/subversion/subversion/libsvn_wc/wc-queries.h stable/11/contrib/subversion/subversion/libsvn_wc/wc-queries.sql stable/11/contrib/subversion/subversion/libsvn_wc/wc.h stable/11/contrib/subversion/subversion/libsvn_wc/wc_db.c stable/11/contrib/subversion/subversion/libsvn_wc/wc_db.h stable/11/contrib/subversion/subversion/libsvn_wc/wc_db_pristine.c stable/11/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c stable/11/contrib/subversion/subversion/libsvn_wc/wc_db_util.c stable/11/contrib/subversion/subversion/libsvn_wc/wc_db_wcroot.c stable/11/contrib/subversion/subversion/libsvn_wc/wcroot_anchor.c stable/11/contrib/subversion/subversion/libsvn_wc/workqueue.c stable/11/contrib/subversion/subversion/svn/auth-cmd.c stable/11/contrib/subversion/subversion/svn/blame-cmd.c stable/11/contrib/subversion/subversion/svn/cl-conflicts.c stable/11/contrib/subversion/subversion/svn/cl-conflicts.h stable/11/contrib/subversion/subversion/svn/cl-log.h stable/11/contrib/subversion/subversion/svn/cl.h stable/11/contrib/subversion/subversion/svn/cleanup-cmd.c stable/11/contrib/subversion/subversion/svn/conflict-callbacks.c stable/11/contrib/subversion/subversion/svn/diff-cmd.c stable/11/contrib/subversion/subversion/svn/help-cmd.c stable/11/contrib/subversion/subversion/svn/info-cmd.c stable/11/contrib/subversion/subversion/svn/list-cmd.c stable/11/contrib/subversion/subversion/svn/log-cmd.c stable/11/contrib/subversion/subversion/svn/merge-cmd.c stable/11/contrib/subversion/subversion/svn/notify.c stable/11/contrib/subversion/subversion/svn/propdel-cmd.c stable/11/contrib/subversion/subversion/svn/propedit-cmd.c stable/11/contrib/subversion/subversion/svn/propget-cmd.c stable/11/contrib/subversion/subversion/svn/propset-cmd.c stable/11/contrib/subversion/subversion/svn/resolve-cmd.c stable/11/contrib/subversion/subversion/svn/revert-cmd.c stable/11/contrib/subversion/subversion/svn/status.c stable/11/contrib/subversion/subversion/svn/svn.c stable/11/contrib/subversion/subversion/svn/switch-cmd.c stable/11/contrib/subversion/subversion/svn/update-cmd.c stable/11/contrib/subversion/subversion/svn/util.c stable/11/contrib/subversion/subversion/svn_private_config.h.in stable/11/contrib/subversion/subversion/svn_private_config.hw stable/11/contrib/subversion/subversion/svnadmin/svnadmin.c stable/11/contrib/subversion/subversion/svnbench/cl.h stable/11/contrib/subversion/subversion/svnbench/help-cmd.c stable/11/contrib/subversion/subversion/svnbench/null-export-cmd.c stable/11/contrib/subversion/subversion/svnbench/null-list-cmd.c stable/11/contrib/subversion/subversion/svnbench/null-log-cmd.c stable/11/contrib/subversion/subversion/svnbench/svnbench.c stable/11/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c stable/11/contrib/subversion/subversion/svnfsfs/dump-index-cmd.c stable/11/contrib/subversion/subversion/svnfsfs/load-index-cmd.c stable/11/contrib/subversion/subversion/svnfsfs/stats-cmd.c stable/11/contrib/subversion/subversion/svnfsfs/svnfsfs.c stable/11/contrib/subversion/subversion/svnfsfs/svnfsfs.h stable/11/contrib/subversion/subversion/svnlook/svnlook.c stable/11/contrib/subversion/subversion/svnmucc/svnmucc.c stable/11/contrib/subversion/subversion/svnrdump/dump_editor.c stable/11/contrib/subversion/subversion/svnrdump/load_editor.c stable/11/contrib/subversion/subversion/svnrdump/svnrdump.c stable/11/contrib/subversion/subversion/svnrdump/svnrdump.h stable/11/contrib/subversion/subversion/svnrdump/util.c stable/11/contrib/subversion/subversion/svnserve/cyrus_auth.c stable/11/contrib/subversion/subversion/svnserve/logger.c stable/11/contrib/subversion/subversion/svnserve/logger.h stable/11/contrib/subversion/subversion/svnserve/serve.c stable/11/contrib/subversion/subversion/svnserve/server.h stable/11/contrib/subversion/subversion/svnserve/svnserve.c stable/11/contrib/subversion/subversion/svnsync/svnsync.c stable/11/contrib/subversion/subversion/svnversion/svnversion.c stable/11/contrib/subversion/win-tests.py stable/11/usr.bin/svn/Makefile stable/11/usr.bin/svn/lib/Makefile stable/11/usr.bin/svn/lib/libapr/Makefile stable/11/usr.bin/svn/lib/libapr/apr.h stable/11/usr.bin/svn/lib/libapr/apr_private.h stable/11/usr.bin/svn/lib/libapr_util/Makefile stable/11/usr.bin/svn/lib/libapr_util/apu.h stable/11/usr.bin/svn/lib/libapr_util/apu_config.h stable/11/usr.bin/svn/lib/libserf/Makefile stable/11/usr.bin/svn/lib/libsvn_client/Makefile stable/11/usr.bin/svn/lib/libsvn_delta/Makefile stable/11/usr.bin/svn/lib/libsvn_diff/Makefile stable/11/usr.bin/svn/lib/libsvn_fs/Makefile stable/11/usr.bin/svn/lib/libsvn_fs_fs/Makefile stable/11/usr.bin/svn/lib/libsvn_fs_util/Makefile stable/11/usr.bin/svn/lib/libsvn_fs_x/Makefile stable/11/usr.bin/svn/lib/libsvn_ra/Makefile stable/11/usr.bin/svn/lib/libsvn_ra_local/Makefile stable/11/usr.bin/svn/lib/libsvn_ra_serf/Makefile stable/11/usr.bin/svn/lib/libsvn_ra_svn/Makefile stable/11/usr.bin/svn/lib/libsvn_repos/Makefile stable/11/usr.bin/svn/lib/libsvn_subr/Makefile stable/11/usr.bin/svn/lib/libsvn_wc/Makefile stable/11/usr.bin/svn/svn/Makefile stable/11/usr.bin/svn/svn_private_config.h stable/11/usr.bin/svn/svnadmin/Makefile stable/11/usr.bin/svn/svnbench/Makefile stable/11/usr.bin/svn/svndumpfilter/Makefile stable/11/usr.bin/svn/svnfsfs/Makefile stable/11/usr.bin/svn/svnlook/Makefile stable/11/usr.bin/svn/svnmucc/Makefile stable/11/usr.bin/svn/svnrdump/Makefile stable/11/usr.bin/svn/svnserve/Makefile stable/11/usr.bin/svn/svnsync/Makefile stable/11/usr.bin/svn/svnversion/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/apr-util/CHANGES ============================================================================== --- stable/11/contrib/apr-util/CHANGES Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/CHANGES Sun Jun 14 18:49:06 2020 (r362181) @@ -1,141 +1,62 @@ -*- coding: utf-8 -*- -Changes with APR-util 1.5.4 +Changes with APR-util 1.6.1 - *) MySQL driver: Fix incorrect handling of bad parameter in the - driver support for apr_dbd_transaction_end(). PR 56330. - [Weiqiang Li ] + *) Win32: Add function exports from new apr_crypto API's missing in 1.6.0. - *) apr_crypto_get_driver(): Fix invalid storage reference on error path. - [Philip Martin ] + *) Win32: Introduce XML_PARSER build-time variable to select the expat + library name to be linked to libaprutil-1.dll. See Makefile.win - *) Fix compile failure for Android. PR 56627. [Fredrik Fornwall - , Jeff Trawick] + *) Win32: Removed lingering xml/xml.dsp project forked from the expat + Project in the 1.9x era. Use expat's maintained build schema instead, + prior to building apr-util. - *) Fix to let ODBC driver build with MSVC6, which does not have intptr_t - [Tom Donovan] + *) apr_crypto: Fix compatibility with LibreSSL. PR 61596. + [Bernard Spil , Yann Ylavic] - *) Windows cmake build: Fix incompatiblities with Visual Studio - generators with all cmake versions, and the NMake Makefile generator - with cmake 2.8.12 and later. PR 56616 and other bugs. [Jeff Trawick, - Bert Huijben] + *) sdbm: better database/page validation to fail cleanly when corrupted. + [Yann Ylavic] - *) Fix detection of Berkeley DB 6.0. PR 55277. - [Lars Wendler ] +Changes with APR-util 1.6.0 - *) Improve platform detection for bundled expat by updating - config.guess and config.sub. [Rainer Jung] + *) The expat dependency of apr-util is no longer built with apr-util. + Install expat (including development headers and libraries) first + before building apr-util. [https://libexpat.github.io/] -Changes with APR-util 1.5.3 + *) Mark apr_dbd_freetds as unsupported, and remove it from all builds + [Nick Kew] - *) Cygwin: Use correct file extension when loading APR DSOs. PR 55587. - [Carlo Bramini ] + *) Update MySQL build to stop using libmysqlclient_r. + [Petr Sumbera ] - *) Add experimental cmake-based build system for Windows. Refer to - README.cmake for more information. [Jeff Trawick, Tom Donovan] + *) apr_buckets: Add apr_bucket_file_set_buf_size() which allows to configure + the size of the buffer used to read files. [Yann Ylavic] - *) Fix warnings in odbc driver on 64bit systems. - PR 55197 [Tom Donovan] + *) apr_crypto: avoid excessive iteration in bcrypt hash. + [Hanno Böck ] - *) Add support to apr_memcache for unix domain sockets. PR 54573 [Remi - Gacogne ] + *) apr_siphash: Implement keyed hash function SipHash. [Yann Ylavic] - *) Add support for Berkeley DB 6.0. [Rainer Jung] + *) apr_crypto: Add apr_crypto_key() function which supports keys + generated from a passphrase or a raw secret provided by the caller. + Deprecate apr_crypto_passphrase(). [Graham Leggett] - *) Improve platform detection for bundled expat by updating - config.guess and config.sub. [Rainer Jung] + *) apr_crypto_nss: Ensure the SECItem returned by PK11_ParamFromIV + is properly freed. [Graham Leggett] -Changes with APR-util 1.5.2 + *) apr_crypto: Don't cache the driver if initialisation fails. This + stops the second and subsequent attempt to use the API from failing + claiming the library is not initialised. [Graham Leggett] - *) Windows: Add command line makefiles. [Gregg Smith] + *) apr_crypto: Add a native CommonCrypto implementation for iOS and OSX + where OpenSSL has been deprecated. [Graham Leggett] - *) apr_uri_parse(): Do not accept invalid characters in the scheme. - Per RFC 3986 3.3, enforce that the first segment of a relative path does - not contain a colon. PR 52479. [Stefan Fritsch] + *) apr_xml_to_text: Add style APR_XML_X2T_PARSED to maintain a + consistent namespace prefix. [Jari Urpalainen + ] - *) Fix memory leak in hook sorting function. PR 51256. - [] +Changes with APR-util 1.5.x and later: - *) Speedup md5 calculation by avoiding some copying on little endian - architectures. PR 49011. [Stefan Fritsch, Stefan Fuhrmann - ] - - *) Use heap memory for crypt in apr_password_validate(), to reduce stack - usage. PR 54572. [Stefan Fritsch] - - *) Fix password validation failure for all crypt and crypt_r based - algorithms. PR 54603. [Harvey Eneman ] - - *) Fix syntax error in crypto/apr_passwd.c on non-glibc systems. PR 54275. - [Stefan Fritsch] - - *) Fix potential data corruption in apr_brigade_write() and friends if - the last bucket of the brigade is a heap bucket that has been split, - and there are still references to the next part of the original bucket - in use. [Stefan Fritsch] - - *) Remove duplicated logic in apr_brigade_puts(). PR 53740. [Christophe - Jaillet ] - - *) apr_crypto: If --with-crypto is passed to configure but no crypto - libraries are enabled, autodetect available libraries. [Jeff Trawick] - - *) memcache: Fix dead server retry logic. [Gavin Shelley ] - -Changes with APR-util 1.5.1 - - *) testmemcache: Fix crash. PR 52705. [Peter Poeml ] - - *) MinGW: Support shared builds of apr-util when apr is shared. - PR 46175. [Carlo Bramini , Jeff Trawick] - - *) Add support for Berkeley DB 5.2 and 5.3. Simplify detection script. - PR 53684. [Rainer Jung] - - *) configure: Allow to specify library specific custom linker flags - via the LDADD_XXX variables. [Rainer Jung] - - *) apr_password_validate(): Fix intermittent errors on systems - such as FreeBSD where the crypt() function is used. - (Broken only in 1.5.0) [Jeff Trawick] - - *) Improve platform detection for bundled expat by updating - config.guess and config.sub. [Rainer Jung] - -Changes with APR-util 1.5.0 - - *) dbd_pgsql_escape: Use PQescapeStringConn. [Nick Kew] - - *) apr_password_validate, apr_bcrypt_encode: Add support for bcrypt encoded - passwords. The bcrypt implementation uses code from crypt_blowfish - written by Solar Designer . apr_bcrypt_encode creates - hashes with "$2y$" prefix, but apr_password_validate also accepts the old - prefix "$2a$". PR 49288. [Stefan Fritsch] - - *) APR dbd: Allow to use apr_dbd_get_row() with a different pool than - apr_dbd_select(). PR 53533. [] - - *) APR dbd FreeTDS support: Fix spurious API errors caused by uninitialized - fields. [TROY.LIU 劉春偉 ] - - *) apr_password_validate: Increase maximum hash string length to allow - more than 9999 rounds with sha512-crypt. PR 53410. [Stefan Fritsch] - - *) Fix segfaults in crypt() and crypt_r() failure modes. - PR 47272. [Arkadiusz Miskiewicz ] - - *) apr_crypto: Ensure that the if/else that governs the static - initialisation of each crypto driver works when the first driver - isn't in use. [Graham Leggett] - - *) apr_crypto: Ensure the *driver variable is initialised when a statically - compiled library is initialised for the first time. [Graham Leggett] - - *) apr_crypto: Ensure the *driver variable is initialised when the library - has already been loaded. Fix ported from apr_dbd. [Graham Leggett] - - *) apr_crypto: Move the static initialisation of DRIVER_LOAD from - apr_crypto_init() to apr_crypto_get_driver(), so that we don't lose - the parameters. [Graham Leggett] + *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.5.x/CHANGES?view=markup Changes with APR-util 1.4.x and later: Copied: stable/11/contrib/apr-util/CMakeLists.txt (from r361692, head/contrib/apr-util/CMakeLists.txt) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/contrib/apr-util/CMakeLists.txt Sun Jun 14 18:49:06 2020 (r362181, copy of r361692, head/contrib/apr-util/CMakeLists.txt) @@ -0,0 +1,355 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Read README.cmake before using this. + +PROJECT(APR-Util C) + +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) + +FIND_PACKAGE(OpenSSL) + +FIND_PACKAGE(expat) + +OPTION(APU_HAVE_CRYPTO "Crypto support" OFF) +OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON) +OPTION(APR_HAS_LDAP "LDAP support" ON) +OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON) +OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF) +OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF) +SET(APR_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with APR include files") +SET(APR_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib" CACHE STRING "APR library to link with") + +IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h") + MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.") +ENDIF() +FOREACH(onelib ${APR_LIBRARIES}) + IF(NOT EXISTS ${onelib}) + MESSAGE(FATAL_ERROR "APR library ${onelib} was not found.") + ENDIF() +ENDFOREACH() + +IF(APU_HAVE_CRYPTO) +IF(NOT OPENSSL_FOUND) + MESSAGE(FATAL_ERROR "OpenSSL is the only supported crypto implementation, and it wasn't found!") +ENDIF() +ENDIF() + +# create 1-or-0 representation of feature tests for apu.h + +SET(apu_have_crypto_10 0) +SET(apu_have_apr_iconv_10 0) # not yet implemented +SET(apr_has_ldap_10 0) + +IF(APU_HAVE_CRYPTO) + SET(apu_have_crypto_10 1) +ENDIF() + +IF(APR_HAS_LDAP) + SET(apr_has_ldap_10 1) +ENDIF() + +IF(NOT EXPAT_FOUND) + MESSAGE(FATAL_ERROR "Expat is required, and it wasn't found!") +ENDIF() + +SET(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS}) +SET(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES}) + +SET(LDAP_LIBRARIES) +IF(APR_HAS_LDAP) + SET(LDAP_LIBRARIES wldap32) +ENDIF() + +CONFIGURE_FILE(include/apu.hwc + ${PROJECT_BINARY_DIR}/apu.h) +CONFIGURE_FILE(include/apr_ldap.hwc + ${PROJECT_BINARY_DIR}/apr_ldap.h) +# "COPYONLY" just because anything else isn't implemented ;) +CONFIGURE_FILE(include/private/apu_config.hw + ${PROJECT_BINARY_DIR}/apu_config.h + COPYONLY) +CONFIGURE_FILE(include/private/apu_select_dbm.hw + ${PROJECT_BINARY_DIR}/apu_select_dbm.h + COPYONLY) +CONFIGURE_FILE(include/apu_want.hw + ${PROJECT_BINARY_DIR}/apu_want.h + COPYONLY) + +# Generated .h files are stored in PROJECT_BINARY_DIR, not the +# source tree. +# +# BROKEN: not searching PROJECT_BINARY_DIR first, so you have to +# manually delete apu.h in PROJECT_SOURCE_DIR/include if +# you've generated apu.h before using a different build + +SET(APR_INCLUDE_DIRECTORIES + ${PROJECT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include/private + ${APR_INCLUDE_DIR} +) + +INCLUDE_DIRECTORIES(${APR_INCLUDE_DIRECTORIES} ${XMLLIB_INCLUDE_DIR}) + +SET(APR_PUBLIC_HEADERS_STATIC + include/apr_anylock.h + include/apr_base64.h + include/apr_buckets.h + include/apr_crypto.h + include/apr_date.h + include/apr_dbd.h + include/apr_dbm.h + include/apr_hooks.h + include/apr_ldap_init.h + include/apr_ldap_option.h + include/apr_ldap_rebind.h + include/apr_ldap_url.h + include/apr_md4.h + include/apr_md5.h + include/apr_memcache.h + include/apr_optional.h + include/apr_optional_hooks.h + include/apr_queue.h + include/apr_redis.h + include/apr_reslist.h + include/apr_rmm.h + include/apr_sdbm.h + include/apr_sha1.h + include/apr_siphash.h + include/apr_strmatch.h + include/apr_thread_pool.h + include/apr_uri.h + include/apr_uuid.h + include/apr_xlate.h + include/apr_xml.h + include/apu_errno.h + include/apu_version.h +) + +# apu_config.h and apu_select_dbm.h are private +SET(APR_PUBLIC_HEADERS_GENERATED + ${PROJECT_BINARY_DIR}/apu.h + ${PROJECT_BINARY_DIR}/apr_ldap.h + ${PROJECT_BINARY_DIR}/apu_want.h +) + +SET(APR_SOURCES + buckets/apr_brigade.c + buckets/apr_buckets.c + buckets/apr_buckets_alloc.c + buckets/apr_buckets_eos.c + buckets/apr_buckets_file.c + buckets/apr_buckets_flush.c + buckets/apr_buckets_heap.c + buckets/apr_buckets_mmap.c + buckets/apr_buckets_pipe.c + buckets/apr_buckets_pool.c + buckets/apr_buckets_refcount.c + buckets/apr_buckets_simple.c + buckets/apr_buckets_socket.c + crypto/apr_crypto.c + crypto/apr_md4.c + crypto/apr_md5.c + crypto/apr_passwd.c + crypto/apr_sha1.c + crypto/apr_siphash.c + crypto/crypt_blowfish.c + crypto/getuuid.c + crypto/uuid.c + dbd/apr_dbd.c + dbm/apr_dbm.c + dbm/apr_dbm_sdbm.c + dbm/sdbm/sdbm.c + dbm/sdbm/sdbm_hash.c + dbm/sdbm/sdbm_lock.c + dbm/sdbm/sdbm_pair.c + encoding/apr_base64.c + hooks/apr_hooks.c + memcache/apr_memcache.c + misc/apr_date.c + misc/apr_queue.c + misc/apr_reslist.c + misc/apr_rmm.c + misc/apr_thread_pool.c + misc/apu_dso.c + misc/apu_version.c + redis/apr_redis.c + strmatch/apr_strmatch.c + uri/apr_uri.c + xlate/xlate.c + xml/apr_xml.c +) + +IF(APR_HAS_LDAP) + SET(APR_SOURCES ${APR_SOURCES} ldap/apr_ldap_stub.c ldap/apr_ldap_url.c) +ENDIF() + +SET(APR_TEST_SOURCES + test/abts.c + test/testbuckets.c + test/testcrypto.c + test/testdate.c + test/testdbd.c + test/testdbm.c + test/testldap.c + test/testmd4.c + test/testmd5.c + test/testmemcache.c + test/testpass.c + test/testqueue.c + test/testredis.c + test/testreslist.c + test/testrmm.c + test/testsiphash.c + test/teststrmatch.c + test/testuri.c + test/testutil.c + test/testuuid.c + test/testxlate.c + test/testxml.c +) + +SET(install_targets) +SET(install_bin_pdb) +SET(dbd_drivers) + +# Note: The WINNT definition on some targets is used only by libaprutil.rc. + +# libaprutil-1 is shared, aprutil-1 is static +ADD_LIBRARY(libaprutil-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libaprutil.rc) +SET(install_targets ${install_targets} libaprutil-1) +SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libaprutil-1.pdb) +TARGET_LINK_LIBRARIES(libaprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES}) +SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;XML_STATIC;WINNT") + +ADD_LIBRARY(aprutil-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) +SET(install_targets ${install_targets} aprutil-1) +TARGET_LINK_LIBRARIES(aprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES}) +SET_TARGET_PROPERTIES(aprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_STATIC;APR_DECLARE_STATIC;APU_DSO_MODULE_BUILD;XML_STATIC") + +IF(APU_HAVE_CRYPTO) + IF(NOT OPENSSL_FOUND) + MESSAGE(FATAL_ERROR "Only OpenSSL-based crypto is currently implemented in the cmake build") + ENDIF() + ADD_LIBRARY(apr_crypto_openssl-1 SHARED crypto/apr_crypto_openssl.c libaprutil.rc) + SET(install_targets ${install_targets} apr_crypto_openssl-1) + SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_crypto_openssl-1.pdb) + SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES INCLUDE_DIRECTORIES "${APR_INCLUDE_DIRECTORIES};${OPENSSL_INCLUDE_DIR}") + SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_DEFINITIONS "WINNT") + SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_crypto_openssl") + TARGET_LINK_LIBRARIES(apr_crypto_openssl-1 libaprutil-1 ${APR_LIBRARIES} ${OPENSSL_LIBRARIES}) +ENDIF() + +IF(APU_HAVE_ODBC) + ADD_LIBRARY(apr_dbd_odbc-1 SHARED dbd/apr_dbd_odbc.c libaprutil.rc) + SET(install_targets ${install_targets} apr_dbd_odbc-1) + SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_dbd_odbc-1.pdb) + SET(dbd_drivers ${dbd_drivers} odbc) + TARGET_LINK_LIBRARIES(apr_dbd_odbc-1 libaprutil-1 ${APR_LIBRARIES} odbc32 odbccp32) + SET_PROPERTY(TARGET apr_dbd_odbc-1 APPEND PROPERTY LINK_FLAGS /export:apr_dbd_odbc_driver) + SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;APU_DSO_MODULE_BUILD;WINNT") + SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_dbd_odbc") +ENDIF() + +IF(APR_HAS_LDAP) + ADD_LIBRARY(apr_ldap-1 SHARED ldap/apr_ldap_init.c ldap/apr_ldap_option.c + ldap/apr_ldap_rebind.c libaprutil.rc) + SET(install_targets ${install_targets} apr_ldap-1) + SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_ldap-1.pdb) + TARGET_LINK_LIBRARIES(apr_ldap-1 libaprutil-1 ${APR_LIBRARIES} ${LDAP_LIBRARIES}) + SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_DEFINITIONS "WINNT") + SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_ldap") + SET(apr_ldap_libraries apr_ldap-1) +ELSE() + SET(apr_ldap_libraries) +ENDIF() + +IF(APR_BUILD_TESTAPR) + ENABLE_TESTING() + # Create a "check" target that displays test program output to the console. + ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose) + + # copy data files to build directory so that we can run programs from there + EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory + ${PROJECT_BINARY_DIR}/data) + EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${PROJECT_SOURCE_DIR}/test/data/billion-laughs.xml + ${PROJECT_BINARY_DIR}/data/billion-laughs.xml) + + IF(TEST_STATIC_LIBS) + SET(whichapr aprutil-1) + SET(apiflag "-DAPR_DECLARE_STATIC -DAPU_DECLARE_STATIC") + ELSE() + SET(whichapr libaprutil-1) + SET(apiflag) + ENDIF() + + ADD_EXECUTABLE(testall ${APR_TEST_SOURCES}) + TARGET_LINK_LIBRARIES(testall ${whichapr} ${apr_ldap_libraries} ${XMLLIB_LIBRARIES} ${LDAP_LIBRARIES}) + IF(apiflag) + SET_TARGET_PROPERTIES(testall PROPERTIES COMPILE_FLAGS ${apiflag}) + ENDIF() + ADD_TEST(NAME testall COMMAND testall) + + ADD_EXECUTABLE(dbd test/dbd.c) + TARGET_LINK_LIBRARIES(dbd ${whichapr}) + IF(apiflag) + SET_TARGET_PROPERTIES(dbd PROPERTIES COMPILE_FLAGS ${apiflag}) + ENDIF() + + # dbd is run multiple times with different parameters. + FOREACH(somedbd ${dbd_drivers}) + ADD_TEST(NAME dbd-${somedbd} COMMAND dbd ${somedbd}) + ENDFOREACH() + +ENDIF (APR_BUILD_TESTAPR) + +# Installation + +INSTALL(TARGETS ${install_targets} + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) + +IF(INSTALL_PDB) + INSTALL(FILES ${install_bin_pdb} + DESTINATION bin + CONFIGURATIONS RelWithDebInfo Debug) +ENDIF() + +INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include) + +STRING(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype) +MESSAGE(STATUS "") +MESSAGE(STATUS "") +MESSAGE(STATUS "APR-Util configuration summary:") +MESSAGE(STATUS "") +MESSAGE(STATUS " Build type ...................... : ${CMAKE_BUILD_TYPE}") +MESSAGE(STATUS " Install .pdb (if available)...... : ${INSTALL_PDB}") +MESSAGE(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}") +MESSAGE(STATUS " C compiler ...................... : ${CMAKE_C_COMPILER}") +MESSAGE(STATUS " APR include directory ........... : ${APR_INCLUDE_DIR}") +MESSAGE(STATUS " APR libraries ................... : ${APR_LIBRARIES}") +MESSAGE(STATUS " DBD ODBC driver ................. : ${APU_HAVE_ODBC}") +MESSAGE(STATUS " APU_HAVE_CRYPTO ................. : ${APU_HAVE_CRYPTO}") +MESSAGE(STATUS " APR_HAS_LDAP .................... : ${APR_HAS_LDAP}") +MESSAGE(STATUS " Build test suite ................ : ${APR_BUILD_TESTAPR}") +IF(TEST_STATIC_LIBS) +MESSAGE(STATUS " (testing static libraries)") +ELSE() +MESSAGE(STATUS " (testing dynamic libraries)") +ENDIF() Modified: stable/11/contrib/apr-util/LICENSE ============================================================================== --- stable/11/contrib/apr-util/LICENSE Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/LICENSE Sun Jun 14 18:49:06 2020 (r362181) @@ -312,6 +312,22 @@ For the crypto\apr_md4.c component: * documentation and/or software. */ +For the crypto\crypt_blowfish.c(.h) component: + + * Written by Solar Designer in 1998-2011. + * No copyright is claimed, and the software is hereby placed in the public + * domain. In case this attempt to disclaim copyright and place the software + * in the public domain is deemed null and void, then the software is + * Copyright (c) 1998-2011 Solar Designer and it is hereby released to the + * general public under the following terms: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * There's ABSOLUTELY NO WARRANTY, express or implied. + + See crypto/crypt_blowfish.c for more information. + For the include\apr_md4.h component: * Modified: stable/11/contrib/apr-util/Makefile.in ============================================================================== --- stable/11/contrib/apr-util/Makefile.in Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/Makefile.in Sun Jun 14 18:49:06 2020 (r362181) @@ -15,8 +15,8 @@ APRUTIL_LDFLAGS = @APRUTIL_LDFLAGS@ APRUTIL_LIBS = @APRUTIL_LIBS@ TARGET_LIB = lib@APRUTIL_LIBNAME@.la -INSTALL_SUBDIRS = @APR_ICONV_DIR@ @APR_XML_DIR@ -EXTRA_SOURCE_DIRS = @APR_ICONV_DIR@ @APR_XML_DIR@ +INSTALL_SUBDIRS = @APR_ICONV_DIR@ +EXTRA_SOURCE_DIRS = @APR_ICONV_DIR@ APRUTIL_PCFILE = apr-util-$(APRUTIL_MAJOR_VERSION).pc APU_CONFIG = apu-$(APRUTIL_MAJOR_VERSION)-config INSTALL = @INSTALL@ @@ -35,7 +35,6 @@ LDADD_dbd_oracle = @LDADD_dbd_oracle@ LDADD_dbd_sqlite2 = @LDADD_dbd_sqlite2@ LDADD_dbd_sqlite3 = @LDADD_dbd_sqlite3@ LDADD_dbd_mysql = @LDADD_dbd_mysql@ -LDADD_dbd_freetds = @LDADD_dbd_freetds@ LDADD_dbd_odbc = @LDADD_dbd_odbc@ LDADD_dbm_db = @LDADD_dbm_db@ LDADD_dbm_gdbm = @LDADD_dbm_gdbm@ @@ -43,6 +42,7 @@ LDADD_dbm_ndbm = @LDADD_dbm_ndbm@ LDADD_ldap = @LDADD_ldap@ LDADD_crypto_openssl = @LDADD_crypto_openssl@ LDADD_crypto_nss = @LDADD_crypto_nss@ +LDADD_crypto_commoncrypto = @LDADD_crypto_commoncrypto@ TARGETS = $(TARGET_LIB) aprutil.exp apu-config.out $(APU_MODULES) @@ -50,7 +50,7 @@ TARGETS = $(TARGET_LIB) aprutil.exp apu-config.out $(A @INCLUDE_RULES@ @INCLUDE_OUTPUTS@ -CLEAN_SUBDIRS = test @APR_ICONV_DIR@ @APR_XML_DIR@ +CLEAN_SUBDIRS = test @APR_ICONV_DIR@ CLEAN_TARGETS = exports.c export_vars.c aprutil.exp .make.dirs apu-config.out DISTCLEAN_TARGETS = config.cache config.log config.status libtool \ Modified: stable/11/contrib/apr-util/Makefile.win ============================================================================== --- stable/11/contrib/apr-util/Makefile.win Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/Makefile.win Sun Jun 14 18:49:06 2020 (r362181) @@ -51,6 +51,13 @@ # # CRYPTO_LIST="nss openssl" # +# Provide the XML_PARSER argument after configuring LIB and INCLUDE with +# the expat path of the corresponding xml parser, e.g. libexpatMT to choose +# static, or libexpat (default) to choose the dynamic library for aprutil-1.dll +# (Static libaprutil-1.lib always presumes libexpatMT with XML_STATIC flag.) +# +# XML_PARSER="libexpat" +# # For example; # # nmake -f Makefile.win PREFIX=C:\APR buildall checkall installall clean @@ -73,6 +80,20 @@ USEDSW=1 PREFIX=..\apr-dist +!IF EXIST("..\openssl") +!IF EXIST("..\openssl\libcrypto.lib") +SSLOPT=_HAVE_OSSL110=1 +!ENDIF +!ENDIF + +# Legacy default (and unwise alternative) for libapr-1.dll is libexpatMT +XML_PARSER="libexpat" +!IF "$(XML_PARSER)" == "libexpat" +XMLOPT=XML_PARSER=$(XML_PARSER) +!ELSE +XMLOPT=XML_PARSER=$(XML_PARSER) XML_OPTIONS="/D XML_STATIC" +!ENDIF + !IF [$(COMSPEC) /c cl /nologo /? \ | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0 ARCH=x64 Release @@ -197,11 +218,9 @@ buildall: BUILD_MODE="$(ARCH)" BIND_MODE=shared cd .. !ENDIF - cd $(APU_PATH)\xml\expat\lib - $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - $(ARCH)" RECURSE=0 $(CTARGET) - cd ..\..\.. - $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - $(ARCH)" RECURSE=0 $(CTARGET) - $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - $(ARCH)" RECURSE=0 $(CTARGET) + cd $(APU_PATH) + $(MAKE) $(MAKEOPT) $(SSLOPT) $(XMLOPT) -f aprutil.mak CFG="aprutil - $(ARCH)" RECURSE=0 $(CTARGET) + $(MAKE) $(MAKEOPT) $(SSLOPT) $(XMLOPT) -f libaprutil.mak CFG="libaprutil - $(ARCH)" RECURSE=0 $(CTARGET) cd ldap $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - $(ARCH)" RECURSE=0 $(CTARGET) cd .. @@ -215,7 +234,7 @@ buildall: cd .. cd crypto for %d in ($(CRYPTO_LIST) x) do if not %d == x \ - $(MAKE) $(MAKEOPT) -f apr_crypto_%d.mak CFG="apr_crypto_%d - $(ARCH)" RECURSE=0 $(CTARGET) + $(MAKE) $(MAKEOPT) $(SSLOPT) -f apr_crypto_%d.mak CFG="apr_crypto_%d - $(ARCH)" RECURSE=0 $(CTARGET) cd .. !ELSEIF $(USESLN) == 1 @@ -306,7 +325,7 @@ checkapr: checkapu: cd $(APU_PATH) cd test - $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \ + $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \ OUTDIR=$(LIBSPATH) APROUTDIR=$(LIBSOSPATH) \ APR_PATH=..\$(APR_PATH) API_PATH=..\$(API_PATH) check $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=dynamic \ Modified: stable/11/contrib/apr-util/NOTICE ============================================================================== --- stable/11/contrib/apr-util/NOTICE Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/NOTICE Sun Jun 14 18:49:06 2020 (r362181) @@ -1,5 +1,5 @@ Apache Portable Runtime Utility Library -Copyright (c) 2000-2014 The Apache Software Foundation. +Copyright (c) 2000-2016 The Apache Software Foundation. This product includes software developed at The Apache Software Foundation (http://www.apache.org/). Modified: stable/11/contrib/apr-util/NWGNUmakefile ============================================================================== --- stable/11/contrib/apr-util/NWGNUmakefile Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/NWGNUmakefile Sun Jun 14 18:49:06 2020 (r362181) @@ -261,9 +261,11 @@ FILES_lib_objs = \ $(OBJDIR)/apr_memcache.o \ $(OBJDIR)/apr_passwd.o \ $(OBJDIR)/apr_queue.o \ + $(OBJDIR)/apr_redis.o \ $(OBJDIR)/apr_reslist.o \ $(OBJDIR)/apr_rmm.o \ $(OBJDIR)/apr_sha1.o \ + $(OBJDIR)/apr_siphash.o \ $(OBJDIR)/apu_version.o \ $(OBJDIR)/getuuid.o \ $(OBJDIR)/uuid.o \ @@ -296,7 +298,7 @@ install :: nlms FORCE # Any specialized rules here # -vpath %.c buckets:crypto:dbd:dbm:dbm/sdbm:encoding:hooks:ldap:memcache:misc:strmatch:uri:xlate:xml +vpath %.c buckets:crypto:dbd:dbm:dbm/sdbm:encoding:hooks:ldap:memcache:redis:misc:strmatch:uri:xlate:xml # # Include the 'tail' makefile that has targets that depend on variables defined Modified: stable/11/contrib/apr-util/README ============================================================================== --- stable/11/contrib/apr-util/README Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/README Sun Jun 14 18:49:06 2020 (r362181) @@ -34,7 +34,7 @@ Apache Portable Runtime Utility Library README String filename-style pattern matching URI Parsing Charset translation (iconv based) - XML parsing (expat based) + XML parsing (expat) For a more complete list, please refer to the following URLs: @@ -66,7 +66,7 @@ for your compiled code. Similarly, the bindings for p such as Oracle (--with-oracle option) must also be explicitly enabled. On windows, selection of supported drivers is via the environment values -DBD_LIST (for freetds, mysql, oracle, pgsql, sqlite2 and/or sqlite3) +DBD_LIST (for mysql, oracle, pgsql, sqlite2 and/or sqlite3) and DBM_LIST (db and/or gdbm). DBD odbc and DBM sdbm are unconditionally compiled and installed, do not include these in the list. Copied: stable/11/contrib/apr-util/README.FREETDS (from r361692, head/contrib/apr-util/README.FREETDS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/contrib/apr-util/README.FREETDS Sun Jun 14 18:49:06 2020 (r362181, copy of r361692, head/contrib/apr-util/README.FREETDS) @@ -0,0 +1,11 @@ +The APR DBD Driver for FreeTDS has been removed from the build. +It is known to have problems, and we are not able to maintain it. + +The source code is still available. If you want it and are able +to manage maintenance for yourself, you can patch the build and +work through issues that affect you, but you're on your own. + +We expect that for most users, the ODBC driver will serve as +an alternative. + +Sorry. Copied: stable/11/contrib/apr-util/README.cmake (from r361692, head/contrib/apr-util/README.cmake) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/contrib/apr-util/README.cmake Sun Jun 14 18:49:06 2020 (r362181, copy of r361692, head/contrib/apr-util/README.cmake) @@ -0,0 +1,139 @@ +Experimental cmake-based build support for APR-Util on Microsoft Windows + +Status +------ + +This build support is currently intended only for Microsoft Windows. +Only Windows NT-based systems can be targeted. (The traditional +Windows build support for APR can target Windows 9x as well.) + +This build support is experimental. Specifically, + +* It does not support all features of APR-Util. +* Some components may not be built correctly and/or in a manner + compatible with the previous Windows build support. +* Build interfaces, such as the mechanisms which are used to enable + optional functionality or specify prerequisites, may change from + release to release as feedback is received from users and bugs and + limitations are resolved. + +Important: Refer to the "Known Bugs and Limitations" section for further + information. + + It is beyond the scope of this document to document or explain + how to utilize the various cmake features, such as different + build backends or provisions for finding support libraries. + + Please refer to the cmake documentation for additional information + that applies to building any project with cmake. + +Prerequisites +------------- + +The following tools must be in PATH: + +* cmake, version 2.8 or later + cmake version 3.1.3 or later is required to work with current OpenSSL + releases. (OpenSSL is an optional prerequisite of APR-Util.) +* If using a command-line compiler: compiler and linker and related tools + (Refer to the cmake documentation for more information.) + +The following support libraries are mandatory: + +* APR 1.4.x or APR 1.5.x, built with cmake + +Optional support libraries allow optional features of APR to be enabled: + +* OpenSSL +* many others potentially, though the build support isn't currently + implemented + +How to build +------------ + +1. cd to a clean directory for building (i.e., don't build in your + source tree) + +2. Some cmake backends may want your compile tools in PATH. (Hint: "Visual + Studio Command Prompt") + +3. set CMAKE_LIBRARY_PATH=d:\path\to\prereq1\lib;d:\path\to\prereq2\lib;... + +4. set CMAKE_INCLUDE_PATH=d:\path\to\prereq1\include;d:\path\to\prereq2\include;... + +5. cmake -G "some backend, like 'NMake Makefiles'" + -DCMAKE_INSTALL_PREFIX=d:/path/to/aprinst + -DAPR-Util-specific-flags + d:/path/to/aprutilsource + + If APR 1.x was installed to a different directory than APR-Util, + also pass these additional arguments: + + -DAPR_INCLUDE_DIR=d:/path/to/apr1inst/include + -DAPR_LIBRARIES=d:/path/to/apr1inst/lib/libapr-1.lib + + Alternately, use cmake-gui and update settings in the GUI. + + APR-Util feature flags: + + APU_HAVE_CRYPTO Build crypt support (only the OpenSSL + implementation is currently supported) + Default: OFF + APU_HAVE_ODBC Build ODBC DBD driver + Default: ON + APR_BUILD_TESTAPR Build APR-Util test suite + Default: OFF + TEST_STATIC_LIBS Build the test suite to test the APR static + library instead of the APR dynamic library. + Default: OFF + In order to build the test suite against both + static and dynamic libraries, separate builds + will be required, one with TEST_STATIC_LIBS + set to ON. + INSTALL_PDB Install .pdb files if generated. + Default: ON + + CMAKE_C_FLAGS_RELEASE, _DEBUG, _RELWITHDEBINFO, _MINSIZEREL + + CMAKE_BUILD_TYPE + + For NMake Makefiles the choices are at least DEBUG, RELEASE, + RELWITHDEBINFO, and MINSIZEREL + Other backends make have other selections. + +6. build using chosen backend (e.g., "nmake install") + +Known Bugs and Limitations +-------------------------- + +* If include/apu.h or other generated files have been created in the source + directory by another build system, they will be used unexpectedly and + cause the build to fail. +* Options should be provided for remaining features, along with finding any + necessary libraries + + DBM: + . APU_HAVE_GDBM + . APU_HAVE_NDBM + . APU_HAVE_DB + + DBD: + . APU_HAVE_PGSQL + . APU_HAVE_MYSQL + . APU_HAVE_SQLITE3 + . APU_HAVE_SQLITE2 + . APU_HAVE_ORACLE + + CRYPTO: + . APU_HAVE_NSS + + XLATE, APU_HAVE_ICONV (no way to consume an apr-iconv build yet) +* Static builds of APR modules are not supported. +* CHANGES/LICENSE/NOTICE is not installed, unlike Makefile.win. + (But unlike Makefile.win we want to call them APR-Util-CHANGES.txt + and so on.) But perhaps that is a job for a higher-level script. + +Generally: + +* Many APR-Util features have not been tested with this build. +* Developers need to examine the existing Windows build in great detail and see + what is missing from the cmake-based build, whether a feature or some build + nuance. +* Any feedback you can provide on your experiences with this build will be + helpful. Modified: stable/11/contrib/apr-util/apr-util.spec ============================================================================== --- stable/11/contrib/apr-util/apr-util.spec Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/apr-util.spec Sun Jun 14 18:49:06 2020 (r362181) @@ -3,7 +3,7 @@ Summary: Apache Portable Runtime Utility library Name: apr-util -Version: 1.5.4 +Version: 1.6.1 Release: 1 License: Apache Software License Group: System Environment/Libraries @@ -70,16 +70,6 @@ Requires: apr-util = %{version}-%{release} This package provides the SQLite driver for the apr-util DBD (database abstraction) interface. -%package freetds -Group: Development/Libraries -Summary: APR utility library FreeTDS DBD driver -BuildRequires: freetds-devel -Requires: apr-util = %{version}-%{release} - -%description freetds -This package provides the FreeTDS driver for the apr-util DBD -(database abstraction) interface. - %package odbc Group: Development/Libraries Summary: APR utility library ODBC DBD driver @@ -124,7 +114,7 @@ This package provides crypto support for apr-util base %configure --with-apr=%{_prefix} \ --includedir=%{_includedir}/apr-%{apuver} \ --with-ldap --without-gdbm \ - --with-sqlite3 --with-pgsql --with-mysql --with-freetds --with-odbc \ + --with-sqlite3 --with-pgsql --with-mysql --with-odbc \ --with-berkeley-db \ --with-crypto --with-openssl --with-nss \ --without-sqlite2 @@ -176,10 +166,6 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %{_libdir}/apr-util-%{apuver}/apr_dbd_sqlite* -%files freetds -%defattr(-,root,root,-) -%{_libdir}/apr-util-%{apuver}/apr_dbd_freetds* - %files odbc %defattr(-,root,root,-) %{_libdir}/apr-util-%{apuver}/apr_dbd_odbc* @@ -203,7 +189,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libaprutil-%{apuver}.so %{_libdir}/pkgconfig/apr-util-%{apuver}.pc %{_includedir}/apr-%{apuver}/*.h -%doc --parents html +%doc html %changelog * Tue Jun 22 2004 Graham Leggett 1.0.0-1 Modified: stable/11/contrib/apr-util/aprutil.dsw ============================================================================== --- stable/11/contrib/apr-util/aprutil.dsw Sun Jun 14 17:36:43 2020 (r362180) +++ stable/11/contrib/apr-util/aprutil.dsw Sun Jun 14 18:49:06 2020 (r362181) @@ -51,24 +51,6 @@ Package=<4> ############################################################################### -Project: "apr_dbd_freetds"=".\dbd\apr_dbd_freetds.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name libapr - End Project Dependency - Begin Project Dependency - Project_Dep_Name libaprutil - End Project Dependency -}}} - -############################################################################### - Project: "apr_dbd_mysql"=".\dbd\apr_dbd_mysql.dsp" - Package Owner=<4> Package=<5> @@ -275,9 +257,6 @@ Package=<4> Begin Project Dependency Project_Dep_Name apriconv End Project Dependency - Begin Project Dependency - Project_Dep_Name xml - End Project Dependency }}} ############################################################################### @@ -383,9 +362,6 @@ Package=<4> Begin Project Dependency Project_Dep_Name libapriconv_ces_modules End Project Dependency - Begin Project Dependency - Project_Dep_Name xml - End Project Dependency }}} ############################################################################### @@ -449,18 +425,6 @@ Package=<4> Begin Project Dependency Project_Dep_Name libapr End Project Dependency -}}} - -############################################################################### - -Project: "xml"=".\xml\expat\lib\xml.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-11@freebsd.org Mon Jun 15 03:10:55 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E0EAE34CE6B; Mon, 15 Jun 2020 03:10:55 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49lbv35xs4z4153; Mon, 15 Jun 2020 03:10:55 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C6F1D16F3E; Mon, 15 Jun 2020 03:10:55 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05F3Ata4073295; Mon, 15 Jun 2020 03:10:55 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05F3AsGT072616; Mon, 15 Jun 2020 03:10:54 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202006150310.05F3AsGT072616@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Mon, 15 Jun 2020 03:10:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362190 - in stable: 11/contrib/sqlite3 11/contrib/sqlite3/tea 11/contrib/sqlite3/tea/generic 12/contrib/sqlite3 12/contrib/sqlite3/tea 12/contrib/sqlite3/tea/generic X-SVN-Group: stable-11 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/contrib/sqlite3 11/contrib/sqlite3/tea 11/contrib/sqlite3/tea/generic 12/contrib/sqlite3 12/contrib/sqlite3/tea 12/contrib/sqlite3/tea/generic X-SVN-Commit-Revision: 362190 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2020 03:10:55 -0000 Author: cy Date: Mon Jun 15 03:10:53 2020 New Revision: 362190 URL: https://svnweb.freebsd.org/changeset/base/362190 Log: MFC r362095, r362145 r362095: MFV r362082: Update sqlite3 3.31.1 --> 3.32.0. PR: 247149 Reported by: spam123@bitbert.com Reminded by: emaste Security: CVE-2020-11655, CVE-2020-13434, CVE-2020-13435, CVE-2020-13630, CVE-2020-13631, CVE-2020-13632 r362145: MFV r362143: Update sqlite3 to 3.32.2 (3320200). CVE-2020-11655: SQLite through 3.31.1 allows attackers to cause a denial of service (segmentation fault) via a malformed window-function query because the AggInfo object's initialization is mishandled. CVE-2020-13434: SQLite through 3.32.0 has an integer overflow in sqlite3_str_vappendf in printf.c. CVE-2020-13435: SQLite through 3.32.0 has a segmentation fault in sqlite3ExprCodeTarget in expr.c. CVE-2020-13630: ext/fts3/fts3.c in SQLite before 3.32.0 has a use-after-free in fts3EvalNextRow, related to the snippet feature CVE-2020-13631: SQLite before 3.32.0 allows a virtual table to be renamed to the name of one of its shadow tables, related to alter.c and build.c. CVE-2020-13632: ext/fts3/fts3_snippet.c in SQLite before 3.32.0 ha s a NULL pointer dereference via a crafted matchinfo() query. PR: 247149 Reported by: spam123@bitbert.com Security: vuxml: c4ac9c79-ab37-11ea-8b5e-b42e99a1b9c3 https://nvd.nist.gov/vuln/detail/CVE-2020-11655 https://nvd.nist.gov/vuln/detail/CVE-2020-13434 https://nvd.nist.gov/vuln/detail/CVE-2020-13435 https://nvd.nist.gov/vuln/detail/CVE-2020-13630 https://nvd.nist.gov/vuln/detail/CVE-2020-13631 https://nvd.nist.gov/vuln/detail/CVE-2020-13632 Modified: stable/11/contrib/sqlite3/Makefile.msc stable/11/contrib/sqlite3/configure stable/11/contrib/sqlite3/configure.ac stable/11/contrib/sqlite3/shell.c stable/11/contrib/sqlite3/sqlite3.c stable/11/contrib/sqlite3/sqlite3.h stable/11/contrib/sqlite3/sqlite3ext.h stable/11/contrib/sqlite3/tea/configure stable/11/contrib/sqlite3/tea/configure.ac stable/11/contrib/sqlite3/tea/generic/tclsqlite3.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/contrib/sqlite3/Makefile.msc stable/12/contrib/sqlite3/configure stable/12/contrib/sqlite3/configure.ac stable/12/contrib/sqlite3/shell.c stable/12/contrib/sqlite3/sqlite3.c stable/12/contrib/sqlite3/sqlite3.h stable/12/contrib/sqlite3/sqlite3ext.h stable/12/contrib/sqlite3/tea/configure stable/12/contrib/sqlite3/tea/configure.ac stable/12/contrib/sqlite3/tea/generic/tclsqlite3.c Directory Properties: stable/12/ (props changed) Modified: stable/11/contrib/sqlite3/Makefile.msc ============================================================================== --- stable/11/contrib/sqlite3/Makefile.msc Mon Jun 15 03:02:59 2020 (r362189) +++ stable/11/contrib/sqlite3/Makefile.msc Mon Jun 15 03:10:53 2020 (r362190) @@ -196,6 +196,7 @@ OSTRACE = 0 DEBUG = 0 !ENDIF + # Enable use of available compiler optimizations? Normally, this should be # non-zero. Setting this to zero, thus disabling all compiler optimizations, # can be useful for testing. @@ -288,6 +289,7 @@ OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENAB OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBSTAT_VTAB=1 +OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_BYTECODE_VTAB=1 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DESERIALIZE=1 !ENDIF OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1 Modified: stable/11/contrib/sqlite3/configure ============================================================================== --- stable/11/contrib/sqlite3/configure Mon Jun 15 03:02:59 2020 (r362189) +++ stable/11/contrib/sqlite3/configure Mon Jun 15 03:10:53 2020 (r362190) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.31.1. +# Generated by GNU Autoconf 2.69 for sqlite 3.32.2. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.31.1' -PACKAGE_STRING='sqlite 3.31.1' +PACKAGE_VERSION='3.32.2' +PACKAGE_STRING='sqlite 3.32.2' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1341,7 +1341,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.31.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.32.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1412,7 +1412,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.31.1:";; + short | recursive ) echo "Configuration of sqlite 3.32.2:";; esac cat <<\_ACEOF @@ -1537,7 +1537,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.31.1 +sqlite configure 3.32.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1952,7 +1952,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.31.1, which was +It was created by sqlite $as_me 3.32.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2818,7 +2818,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.31.1' + VERSION='3.32.2' cat >>confdefs.h <<_ACEOF @@ -14438,7 +14438,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.31.1, which was +This file was extended by sqlite $as_me 3.32.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14495,7 +14495,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.31.1 +sqlite config.status 3.32.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Modified: stable/11/contrib/sqlite3/configure.ac ============================================================================== --- stable/11/contrib/sqlite3/configure.ac Mon Jun 15 03:02:59 2020 (r362189) +++ stable/11/contrib/sqlite3/configure.ac Mon Jun 15 03:10:53 2020 (r362190) @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.31.1, http://www.sqlite.org) +AC_INIT(sqlite, 3.32.2, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) Modified: stable/11/contrib/sqlite3/shell.c ============================================================================== --- stable/11/contrib/sqlite3/shell.c Mon Jun 15 03:02:59 2020 (r362189) +++ stable/11/contrib/sqlite3/shell.c Mon Jun 15 03:10:53 2020 (r362190) @@ -36,6 +36,14 @@ #endif /* +** Determine if we are dealing with WinRT, which provides only a subset of +** the full Win32 API. +*/ +#if !defined(SQLITE_OS_WINRT) +# define SQLITE_OS_WINRT 0 +#endif + +/* ** Warning pragmas copied from msvc.h in the core. */ #if defined(_MSC_VER) @@ -147,22 +155,26 @@ typedef unsigned char u8; #if defined(_WIN32) || defined(WIN32) -# include -# include -# define isatty(h) _isatty(h) -# ifndef access -# define access(f,m) _access((f),(m)) +# if SQLITE_OS_WINRT +# define SQLITE_OMIT_POPEN 1 +# else +# include +# include +# define isatty(h) _isatty(h) +# ifndef access +# define access(f,m) _access((f),(m)) +# endif +# ifndef unlink +# define unlink _unlink +# endif +# ifndef strdup +# define strdup _strdup +# endif +# undef popen +# define popen _popen +# undef pclose +# define pclose _pclose # endif -# ifndef unlink -# define unlink _unlink -# endif -# ifndef strdup -# define strdup _strdup -# endif -# undef popen -# define popen _popen -# undef pclose -# define pclose _pclose #else /* Make sure isatty() has a prototype. */ extern int isatty(int); @@ -191,6 +203,9 @@ typedef unsigned char u8; #define ToLower(X) (char)tolower((unsigned char)X) #if defined(_WIN32) || defined(WIN32) +#if SQLITE_OS_WINRT +#include +#endif #include /* string conversion routines only needed on Win32 */ @@ -206,7 +221,7 @@ extern LPWSTR sqlite3_win32_utf8_to_unicode(const char ** rendering quoted strings that contain \n characters). The following ** routines take care of that. */ -#if defined(_WIN32) || defined(WIN32) +#if (defined(_WIN32) || defined(WIN32)) && !SQLITE_OS_WINRT static void setBinaryMode(FILE *file, int isOutput){ if( isOutput ) fflush(file); _setmode(_fileno(file), _O_BINARY); @@ -310,6 +325,7 @@ static int hasTimer(void){ if( getProcessTimesAddr ){ return 1; } else { +#if !SQLITE_OS_WINRT /* GetProcessTimes() isn't supported in WIN95 and some other Windows ** versions. See if the version we are running on has it, and if it ** does, save off a pointer to it and the current process handle. @@ -326,6 +342,7 @@ static int hasTimer(void){ FreeLibrary(hinstLib); } } +#endif } return 0; } @@ -415,7 +432,16 @@ static sqlite3 *globalDb = 0; */ static volatile int seenInterrupt = 0; +#ifdef SQLITE_DEBUG /* +** Out-of-memory simulator variables +*/ +static unsigned int oomCounter = 0; /* Simulate OOM when equals 1 */ +static unsigned int oomRepeat = 0; /* Number of OOMs in a row */ +static void*(*defaultMalloc)(int) = 0; /* The low-level malloc routine */ +#endif /* SQLITE_DEBUG */ + +/* ** This is the name of our program. It is set in main(), used ** in a number of other places, mostly for error messages. */ @@ -466,6 +492,49 @@ static void shell_out_of_memory(void){ exit(1); } +#ifdef SQLITE_DEBUG +/* This routine is called when a simulated OOM occurs. It is broken +** out as a separate routine to make it easy to set a breakpoint on +** the OOM +*/ +void shellOomFault(void){ + if( oomRepeat>0 ){ + oomRepeat--; + }else{ + oomCounter--; + } +} +#endif /* SQLITE_DEBUG */ + +#ifdef SQLITE_DEBUG +/* This routine is a replacement malloc() that is used to simulate +** Out-Of-Memory (OOM) errors for testing purposes. +*/ +static void *oomMalloc(int nByte){ + if( oomCounter ){ + if( oomCounter==1 ){ + shellOomFault(); + return 0; + }else{ + oomCounter--; + } + } + return defaultMalloc(nByte); +} +#endif /* SQLITE_DEBUG */ + +#ifdef SQLITE_DEBUG +/* Register the OOM simulator. This must occur before any memory +** allocations */ +static void registerOomSimulator(void){ + sqlite3_mem_methods mem; + sqlite3_config(SQLITE_CONFIG_GETMALLOC, &mem); + defaultMalloc = mem.xMalloc; + mem.xMalloc = oomMalloc; + sqlite3_config(SQLITE_CONFIG_MALLOC, &mem); +} +#endif + /* ** Write I/O traces to the following stream. */ @@ -2426,6 +2495,7 @@ static int writeFile( if( mtime>=0 ){ #if defined(_WIN32) +#if !SQLITE_OS_WINRT /* Windows */ FILETIME lastAccess; FILETIME lastWrite; @@ -2456,6 +2526,7 @@ static int writeFile( }else{ return 1; } +#endif #elif defined(AT_FDCWD) && 0 /* utimensat() is not universally available */ /* Recent unix */ struct timespec times[2]; @@ -4213,6 +4284,101 @@ int sqlite3MemTraceDeactivate(void){ } /************************* End ../ext/misc/memtrace.c ********************/ +/************************* Begin ../ext/misc/uint.c ******************/ +/* +** 2020-04-14 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** This SQLite extension implements the UINT collating sequence. +** +** UINT works like BINARY for text, except that embedded strings +** of digits compare in numeric order. +** +** * Leading zeros are handled properly, in the sense that +** they do not mess of the maginitude comparison of embedded +** strings of digits. "x00123y" is equal to "x123y". +** +** * Only unsigned integers are recognized. Plus and minus +** signs are ignored. Decimal points and exponential notation +** are ignored. +** +** * Embedded integers can be of arbitrary length. Comparison +** is *not* limited integers that can be expressed as a +** 64-bit machine integer. +*/ +/* #include "sqlite3ext.h" */ +SQLITE_EXTENSION_INIT1 +#include +#include +#include + +/* +** Compare text in lexicographic order, except strings of digits +** compare in numeric order. +*/ +static int uintCollFunc( + void *notUsed, + int nKey1, const void *pKey1, + int nKey2, const void *pKey2 +){ + const unsigned char *zA = (const unsigned char*)pKey1; + const unsigned char *zB = (const unsigned char*)pKey2; + int i=0, j=0, x; + (void)notUsed; + while( i +#include /* ** Implementation of the "sqlar_compress(X)" SQL function. @@ -7834,14 +8001,19 @@ int idxFindIndexes( /* int iParent = sqlite3_column_int(pExplain, 1); */ /* int iNotUsed = sqlite3_column_int(pExplain, 2); */ const char *zDetail = (const char*)sqlite3_column_text(pExplain, 3); - int nDetail = STRLEN(zDetail); + int nDetail; int i; + if( !zDetail ) continue; + nDetail = STRLEN(zDetail); + for(i=0; imodePrior = p->mode; + p->priorShFlgs = p->shellFlgs; memcpy(p->colSepPrior, p->colSeparator, sizeof(p->colSeparator)); memcpy(p->rowSepPrior, p->rowSeparator, sizeof(p->rowSeparator)); } static void outputModePop(ShellState *p){ p->mode = p->modePrior; + p->shellFlgs = p->priorShFlgs; memcpy(p->colSeparator, p->colSepPrior, sizeof(p->colSeparator)); memcpy(p->rowSeparator, p->rowSepPrior, sizeof(p->rowSeparator)); } @@ -10871,8 +11046,7 @@ static void set_table_name(ShellState *p, const char * */ static int run_table_dump_query( ShellState *p, /* Query context */ - const char *zSelect, /* SELECT statement to extract content */ - const char *zFirstRow /* Print before first row, if not NULL */ + const char *zSelect /* SELECT statement to extract content */ ){ sqlite3_stmt *pSelect; int rc; @@ -10889,10 +11063,6 @@ static int run_table_dump_query( rc = sqlite3_step(pSelect); nResult = sqlite3_column_count(pSelect); while( rc==SQLITE_ROW ){ - if( zFirstRow ){ - utf8_printf(p->out, "%s", zFirstRow); - zFirstRow = 0; - } z = (const char*)sqlite3_column_text(pSelect, 0); utf8_printf(p->out, "%s", z); for(i=1; idb, 0, 0); sqlite3_shathree_init(p->db, 0, 0); sqlite3_completion_init(p->db, 0, 0); + sqlite3_uint_init(p->db, 0, 0); #if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) sqlite3_dbdata_init(p->db, 0, 0); #endif @@ -13073,6 +13268,8 @@ struct ImportCtx { int n; /* Number of bytes in z */ int nAlloc; /* Space allocated for z[] */ int nLine; /* Current line number */ + int nRow; /* Number of rows imported */ + int nErr; /* Number of errors encountered */ int bNotFirst; /* True if one or more bytes already read */ int cTerm; /* Character that terminated the most recent field */ int cColSep; /* The column separator character. (Usually ",") */ @@ -13454,11 +13651,15 @@ static void output_reset(ShellState *p){ zCmd = sqlite3_mprintf("%s %s", zXdgOpenCmd, p->zTempFile); if( system(zCmd) ){ utf8_printf(stderr, "Failed: [%s]\n", zCmd); + }else{ + /* Give the start/open/xdg-open command some time to get + ** going before we continue, and potential delete the + ** p->zTempFile data file out from under it */ + sqlite3_sleep(2000); } sqlite3_free(zCmd); outputModePop(p); p->doXdgOpen = 0; - sqlite3_sleep(100); } #endif /* !defined(SQLITE_NOHAVE_SYSTEM) */ } @@ -13534,12 +13735,7 @@ static int shell_dbinfo_command(ShellState *p, int nAr "SELECT data FROM sqlite_dbpage(?1) WHERE pgno=1", -1, &pStmt, 0); if( rc ){ - if( !sqlite3_compileoption_used("ENABLE_DBPAGE_VTAB") ){ - utf8_printf(stderr, "the \".dbinfo\" command requires the " - "-DSQLITE_ENABLE_DBPAGE_VTAB compile-time options\n"); - }else{ - utf8_printf(stderr, "error: %s\n", sqlite3_errmsg(p->db)); - } + utf8_printf(stderr, "error: %s\n", sqlite3_errmsg(p->db)); sqlite3_finalize(pStmt); return 1; } @@ -13748,9 +13944,21 @@ static void newTempFile(ShellState *p, const char *zSu sqlite3_file_control(p->db, 0, SQLITE_FCNTL_TEMPFILENAME, &p->zTempFile); } if( p->zTempFile==0 ){ + /* If p->db is an in-memory database then the TEMPFILENAME file-control + ** will not work and we will need to fallback to guessing */ + char *zTemp; sqlite3_uint64 r; sqlite3_randomness(sizeof(r), &r); - p->zTempFile = sqlite3_mprintf("temp%llx.%s", r, zSuffix); + zTemp = getenv("TEMP"); + if( zTemp==0 ) zTemp = getenv("TMP"); + if( zTemp==0 ){ +#ifdef _WIN32 + zTemp = "\\tmp"; +#else + zTemp = "/tmp"; +#endif + } + p->zTempFile = sqlite3_mprintf("%s/temp%llx.%s", zTemp, r, zSuffix); }else{ p->zTempFile = sqlite3_mprintf("%z.%s", p->zTempFile, zSuffix); } @@ -15774,7 +15982,8 @@ static int do_meta_command(char *zLine, ShellState *p) #endif /* !(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) */ if( c=='d' && strncmp(azArg[0], "dump", n)==0 ){ - const char *zLike = 0; + char *zLike = 0; + char *zSql; int i; int savedShowHeader = p->showHeader; int savedShellFlags = p->shellFlgs; @@ -15802,12 +16011,10 @@ static int do_meta_command(char *zLine, ShellState *p) goto meta_command_exit; } }else if( zLike ){ - raw_printf(stderr, "Usage: .dump ?--preserve-rowids? " - "?--newlines? ?LIKE-PATTERN?\n"); - rc = 1; - goto meta_command_exit; + zLike = sqlite3_mprintf("%z OR name LIKE %Q ESCAPE '\\'", + zLike, azArg[i]); }else{ - zLike = azArg[i]; + zLike = sqlite3_mprintf("name LIKE %Q ESCAPE '\\'", azArg[i]); } } @@ -15825,35 +16032,25 @@ static int do_meta_command(char *zLine, ShellState *p) ** corrupt. */ sqlite3_exec(p->db, "SAVEPOINT dump; PRAGMA writable_schema=ON", 0, 0, 0); p->nErr = 0; - if( zLike==0 ){ - run_schema_dump_query(p, - "SELECT name, type, sql FROM sqlite_master " - "WHERE sql NOT NULL AND type=='table' AND name!='sqlite_sequence'" - ); - run_schema_dump_query(p, - "SELECT name, type, sql FROM sqlite_master " - "WHERE name=='sqlite_sequence'" - ); - run_table_dump_query(p, - "SELECT sql FROM sqlite_master " - "WHERE sql NOT NULL AND type IN ('index','trigger','view')", 0 - ); - }else{ - char *zSql; - zSql = sqlite3_mprintf( - "SELECT name, type, sql FROM sqlite_master " - "WHERE tbl_name LIKE %Q AND type=='table'" - " AND sql NOT NULL", zLike); - run_schema_dump_query(p,zSql); - sqlite3_free(zSql); - zSql = sqlite3_mprintf( - "SELECT sql FROM sqlite_master " - "WHERE sql NOT NULL" - " AND type IN ('index','trigger','view')" - " AND tbl_name LIKE %Q", zLike); - run_table_dump_query(p, zSql, 0); - sqlite3_free(zSql); - } + if( zLike==0 ) zLike = sqlite3_mprintf("true"); + zSql = sqlite3_mprintf( + "SELECT name, type, sql FROM sqlite_master " + "WHERE (%s) AND type=='table'" + " AND sql NOT NULL" + " ORDER BY tbl_name='sqlite_sequence', rowid", + zLike + ); + run_schema_dump_query(p,zSql); + sqlite3_free(zSql); + zSql = sqlite3_mprintf( + "SELECT sql FROM sqlite_master " + "WHERE (%s) AND sql NOT NULL" + " AND type IN ('index','trigger','view')", + zLike + ); + run_table_dump_query(p, zSql); + sqlite3_free(zSql); + sqlite3_free(zLike); if( p->writableSchema ){ raw_printf(p->out, "PRAGMA writable_schema=OFF;\n"); p->writableSchema = 0; @@ -15956,6 +16153,7 @@ static int do_meta_command(char *zLine, ShellState *p) { "tempfilename", SQLITE_FCNTL_TEMPFILENAME, "" }, { "has_moved", SQLITE_FCNTL_HAS_MOVED, "" }, { "lock_timeout", SQLITE_FCNTL_LOCK_TIMEOUT, "MILLISEC" }, + { "reserve_bytes", SQLITE_FCNTL_RESERVE_BYTES, "[N]" }, }; int filectrl = -1; int iCtrl = -1; @@ -15963,10 +16161,21 @@ static int do_meta_command(char *zLine, ShellState *p) int isOk = 0; /* 0: usage 1: %lld 2: no-result */ int n2, i; const char *zCmd = 0; + const char *zSchema = 0; open_db(p, 0); zCmd = nArg>=2 ? azArg[1] : "help"; + if( zCmd[0]=='-' + && (strcmp(zCmd,"--schema")==0 || strcmp(zCmd,"-schema")==0) + && nArg>=4 + ){ + zSchema = azArg[2]; + for(i=3; idb, 0, SQLITE_FCNTL_SIZE_LIMIT, &iRes); + sqlite3_file_control(p->db, zSchema, SQLITE_FCNTL_SIZE_LIMIT, &iRes); isOk = 1; break; } @@ -16017,7 +16226,7 @@ static int do_meta_command(char *zLine, ShellState *p) int x; if( nArg!=3 ) break; x = (int)integerValue(azArg[2]); - sqlite3_file_control(p->db, 0, filectrl, &x); + sqlite3_file_control(p->db, zSchema, filectrl, &x); isOk = 2; break; } @@ -16026,7 +16235,7 @@ static int do_meta_command(char *zLine, ShellState *p) int x; if( nArg!=2 && nArg!=3 ) break; x = nArg==3 ? booleanValue(azArg[2]) : -1; - sqlite3_file_control(p->db, 0, filectrl, &x); + sqlite3_file_control(p->db, zSchema, filectrl, &x); iRes = x; isOk = 1; break; @@ -16034,7 +16243,7 @@ static int do_meta_command(char *zLine, ShellState *p) case SQLITE_FCNTL_HAS_MOVED: { int x; if( nArg!=2 ) break; - sqlite3_file_control(p->db, 0, filectrl, &x); + sqlite3_file_control(p->db, zSchema, filectrl, &x); iRes = x; isOk = 1; break; @@ -16042,7 +16251,7 @@ static int do_meta_command(char *zLine, ShellState *p) case SQLITE_FCNTL_TEMPFILENAME: { char *z = 0; if( nArg!=2 ) break; - sqlite3_file_control(p->db, 0, filectrl, &z); + sqlite3_file_control(p->db, zSchema, filectrl, &z); if( z ){ utf8_printf(p->out, "%s\n", z); sqlite3_free(z); @@ -16050,6 +16259,18 @@ static int do_meta_command(char *zLine, ShellState *p) isOk = 2; break; } + case SQLITE_FCNTL_RESERVE_BYTES: { + int x; + if( nArg>=3 ){ + x = atoi(azArg[2]); + sqlite3_file_control(p->db, zSchema, filectrl, &x); + } + x = -1; + sqlite3_file_control(p->db, zSchema, filectrl, &x); + utf8_printf(p->out,"%d\n", x); + isOk = 2; + break; + } } } if( isOk==0 && iCtrl>=0 ){ @@ -16133,8 +16354,8 @@ static int do_meta_command(char *zLine, ShellState *p) }else if( c=='i' && strncmp(azArg[0], "import", n)==0 ){ - char *zTable; /* Insert data into this table */ - char *zFile; /* Name of file to extra content from */ + char *zTable = 0; /* Insert data into this table */ + char *zFile = 0; /* Name of file to extra content from */ sqlite3_stmt *pStmt = NULL; /* A statement */ int nCol; /* Number of columns in the table */ int nByte; /* Number of bytes in an SQL string */ @@ -16145,51 +16366,108 @@ static int do_meta_command(char *zLine, ShellState *p) ImportCtx sCtx; /* Reader context */ char *(SQLITE_CDECL *xRead)(ImportCtx*); /* Func to read one value */ int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close file */ + int eVerbose = 0; /* Larger for more console output */ + int nSkip = 0; /* Initial lines to skip */ + int useOutputMode = 1; /* Use output mode to determine separators */ - if( nArg!=3 ){ - raw_printf(stderr, "Usage: .import FILE TABLE\n"); - goto meta_command_exit; - } - zFile = azArg[1]; - zTable = azArg[2]; - seenInterrupt = 0; memset(&sCtx, 0, sizeof(sCtx)); - open_db(p, 0); - nSep = strlen30(p->colSeparator); - if( nSep==0 ){ - raw_printf(stderr, - "Error: non-null column separator required for import\n"); - return 1; + if( p->mode==MODE_Ascii ){ + xRead = ascii_read_one_field; + }else{ + xRead = csv_read_one_field; } - if( nSep>1 ){ - raw_printf(stderr, "Error: multi-character column separators not allowed" - " for import\n"); - return 1; + for(i=1; iout, "ERROR: extra argument: \"%s\". Usage:\n", z); + showHelp(p->out, "import"); + rc = 1; + goto meta_command_exit; + } + }else if( strcmp(z,"-v")==0 ){ + eVerbose++; + }else if( strcmp(z,"-skip")==0 && iout, "ERROR: unknown option: \"%s\". Usage:\n", z); + showHelp(p->out, "import"); + rc = 1; + goto meta_command_exit; + } } - nSep = strlen30(p->rowSeparator); - if( nSep==0 ){ - raw_printf(stderr, "Error: non-null row separator required for import\n"); - return 1; + if( zTable==0 ){ + utf8_printf(p->out, "ERROR: missing %s argument. Usage:\n", + zFile==0 ? "FILE" : "TABLE"); + showHelp(p->out, "import"); + rc = 1; + goto meta_command_exit; } - if( nSep==2 && p->mode==MODE_Csv && strcmp(p->rowSeparator, SEP_CrLf)==0 ){ - /* When importing CSV (only), if the row separator is set to the - ** default output row separator, change it to the default input - ** row separator. This avoids having to maintain different input - ** and output row separators. */ - sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); + seenInterrupt = 0; + open_db(p, 0); + if( useOutputMode ){ + /* If neither the --csv or --ascii options are specified, then set + ** the column and row separator characters from the output mode. */ + nSep = strlen30(p->colSeparator); + if( nSep==0 ){ + raw_printf(stderr, + "Error: non-null column separator required for import\n"); + rc = 1; + goto meta_command_exit; + } + if( nSep>1 ){ + raw_printf(stderr, + "Error: multi-character column separators not allowed" + " for import\n"); + rc = 1; + goto meta_command_exit; + } nSep = strlen30(p->rowSeparator); + if( nSep==0 ){ + raw_printf(stderr, + "Error: non-null row separator required for import\n"); + rc = 1; + goto meta_command_exit; + } + if( nSep==2 && p->mode==MODE_Csv && strcmp(p->rowSeparator,SEP_CrLf)==0 ){ + /* When importing CSV (only), if the row separator is set to the + ** default output row separator, change it to the default input + ** row separator. This avoids having to maintain different input + ** and output row separators. */ + sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); + nSep = strlen30(p->rowSeparator); + } + if( nSep>1 ){ + raw_printf(stderr, "Error: multi-character row separators not allowed" + " for import\n"); + rc = 1; + goto meta_command_exit; + } + sCtx.cColSep = p->colSeparator[0]; + sCtx.cRowSep = p->rowSeparator[0]; } - if( nSep>1 ){ - raw_printf(stderr, "Error: multi-character row separators not allowed" - " for import\n"); - return 1; - } sCtx.zFile = zFile; sCtx.nLine = 1; if( sCtx.zFile[0]=='|' ){ #ifdef SQLITE_OMIT_POPEN raw_printf(stderr, "Error: pipes are not supported in this OS\n"); - return 1; + rc = 1; + goto meta_command_exit; #else sCtx.in = popen(sCtx.zFile+1, "r"); sCtx.zFile = ""; @@ -16199,17 +16477,26 @@ static int do_meta_command(char *zLine, ShellState *p) sCtx.in = fopen(sCtx.zFile, "rb"); xCloser = fclose; } - if( p->mode==MODE_Ascii ){ - xRead = ascii_read_one_field; - }else{ - xRead = csv_read_one_field; - } if( sCtx.in==0 ){ utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile); - return 1; + rc = 1; + goto meta_command_exit; } - sCtx.cColSep = p->colSeparator[0]; - sCtx.cRowSep = p->rowSeparator[0]; + if( eVerbose>=2 || (eVerbose>=1 && useOutputMode) ){ + char zSep[2]; + zSep[1] = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-11@freebsd.org Mon Jun 15 22:35:41 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 011733451B8; Mon, 15 Jun 2020 22:35:41 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49m5l06BHGz3cwq; Mon, 15 Jun 2020 22:35:40 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CF9C524EBF; Mon, 15 Jun 2020 22:35:40 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05FMZemZ042537; Mon, 15 Jun 2020 22:35:40 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05FMZevU042534; Mon, 15 Jun 2020 22:35:40 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202006152235.05FMZevU042534@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 15 Jun 2020 22:35:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362207 - stable/11/sys/dev/evdev X-SVN-Group: stable-11 X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: stable/11/sys/dev/evdev X-SVN-Commit-Revision: 362207 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2020 22:35:41 -0000 Author: wulf Date: Mon Jun 15 22:35:39 2020 New Revision: 362207 URL: https://svnweb.freebsd.org/changeset/base/362207 Log: MFC r360624: [evdev] Add AT translated set1 scancodes for F-unlocked F1-12 keys. "F lock" is a switch between two sets of scancodes for function keys F1-F12 found on some Logitech and Microsoft PS/2 keyboards [1]. When "F lock" is pressed, then F1-F12 act as function keys and produce usual keyscans for these keys. When "F lock" is depressed, F1-F12 produced the same keyscans but prefixed with E0. Some laptops use [2] E0-prefixed F1-F12 scancodes for non-standard keys. [1] https://www.win.tue.nl/~aeb/linux/kbd/scancodes-6.html [2] https://reviews.freebsd.org/D21565 MFC r360625: [evdev] Sync event codes with Linux kernel 5.6 Modified: stable/11/sys/dev/evdev/evdev_utils.c stable/11/sys/dev/evdev/input-event-codes.h stable/11/sys/dev/evdev/input.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/evdev/evdev_utils.c ============================================================================== --- stable/11/sys/dev/evdev/evdev_utils.c Mon Jun 15 22:32:59 2020 (r362206) +++ stable/11/sys/dev/evdev/evdev_utils.c Mon Jun 15 22:35:39 2020 (r362207) @@ -168,16 +168,16 @@ static uint16_t evdev_at_set1_scancodes[] = { NONE, NONE, KEY_VOLUMEDOWN, NONE, KEY_VOLUMEUP, NONE, KEY_HOMEPAGE, NONE, NONE, KEY_KPSLASH, NONE, KEY_SYSRQ, - KEY_RIGHTALT, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, + KEY_RIGHTALT, NONE, NONE, KEY_F13, + KEY_F14, KEY_F15, KEY_F16, KEY_F17, /* 0x40 - 0x5f. 0xE0 prefixed */ - NONE, NONE, NONE, NONE, - NONE, NONE, KEY_PAUSE, KEY_HOME, + KEY_F18, KEY_F19, KEY_F20, KEY_F21, + KEY_F22, NONE, KEY_PAUSE, KEY_HOME, KEY_UP, KEY_PAGEUP, NONE, KEY_LEFT, NONE, KEY_RIGHT, NONE, KEY_END, KEY_DOWN, KEY_PAGEDOWN, KEY_INSERT, KEY_DELETE, - NONE, NONE, NONE, NONE, - NONE, NONE, NONE, KEY_LEFTMETA, + NONE, NONE, NONE, KEY_F23, + KEY_F24, NONE, NONE, KEY_LEFTMETA, KEY_RIGHTMETA, KEY_MENU, KEY_POWER, KEY_SLEEP, /* 0x60 - 0x7f. 0xE0 prefixed */ NONE, NONE, NONE, KEY_WAKEUP, Modified: stable/11/sys/dev/evdev/input-event-codes.h ============================================================================== --- stable/11/sys/dev/evdev/input-event-codes.h Mon Jun 15 22:32:59 2020 (r362206) +++ stable/11/sys/dev/evdev/input-event-codes.h Mon Jun 15 22:35:39 2020 (r362207) @@ -453,10 +453,12 @@ #define KEY_TITLE 0x171 #define KEY_SUBTITLE 0x172 #define KEY_ANGLE 0x173 -#define KEY_ZOOM 0x174 +#define KEY_FULL_SCREEN 0x174 /* AC View Toggle */ +#define KEY_ZOOM KEY_FULL_SCREEN #define KEY_MODE 0x175 #define KEY_KEYBOARD 0x176 -#define KEY_SCREEN 0x177 +#define KEY_ASPECT_RATIO 0x177 /* HUTRR37: Aspect */ +#define KEY_SCREEN KEY_ASPECT_RATIO #define KEY_PC 0x178 /* Media Select Computer */ #define KEY_TV 0x179 /* Media Select TV */ #define KEY_TV2 0x17a /* Media Select Cable */ @@ -618,6 +620,7 @@ #define KEY_SCREENSAVER 0x245 /* AL Screen Saver */ #define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */ #define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */ +#define KEY_KBD_LAYOUT_NEXT 0x248 /* AC Next Keyboard Layout Select */ #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ @@ -660,7 +663,87 @@ */ #define KEY_DATA 0x277 #define KEY_ONSCREEN_KEYBOARD 0x278 +/* Electronic privacy screen control */ +#define KEY_PRIVACY_SCREEN_TOGGLE 0x279 +/* Select an area of screen to be copied */ +#define KEY_SELECTIVE_SCREENSHOT 0x27a + +/* + * Some keyboards have keys which do not have a defined meaning, these keys + * are intended to be programmed / bound to macros by the user. For most + * keyboards with these macro-keys the key-sequence to inject, or action to + * take, is all handled by software on the host side. So from the kernel's + * point of view these are just normal keys. + * + * The KEY_MACRO# codes below are intended for such keys, which may be labeled + * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys + * where the marking on the key does indicate a defined meaning / purpose. + * + * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing + * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO + * define MUST be added. + */ +#define KEY_MACRO1 0x290 +#define KEY_MACRO2 0x291 +#define KEY_MACRO3 0x292 +#define KEY_MACRO4 0x293 +#define KEY_MACRO5 0x294 +#define KEY_MACRO6 0x295 +#define KEY_MACRO7 0x296 +#define KEY_MACRO8 0x297 +#define KEY_MACRO9 0x298 +#define KEY_MACRO10 0x299 +#define KEY_MACRO11 0x29a +#define KEY_MACRO12 0x29b +#define KEY_MACRO13 0x29c +#define KEY_MACRO14 0x29d +#define KEY_MACRO15 0x29e +#define KEY_MACRO16 0x29f +#define KEY_MACRO17 0x2a0 +#define KEY_MACRO18 0x2a1 +#define KEY_MACRO19 0x2a2 +#define KEY_MACRO20 0x2a3 +#define KEY_MACRO21 0x2a4 +#define KEY_MACRO22 0x2a5 +#define KEY_MACRO23 0x2a6 +#define KEY_MACRO24 0x2a7 +#define KEY_MACRO25 0x2a8 +#define KEY_MACRO26 0x2a9 +#define KEY_MACRO27 0x2aa +#define KEY_MACRO28 0x2ab +#define KEY_MACRO29 0x2ac +#define KEY_MACRO30 0x2ad + +/* + * Some keyboards with the macro-keys described above have some extra keys + * for controlling the host-side software responsible for the macro handling: + * -A macro recording start/stop key. Note that not all keyboards which emit + * KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if + * KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START + * should be interpreted as a recording start/stop toggle; + * -Keys for switching between different macro (pre)sets, either a key for + * cycling through the configured presets or keys to directly select a preset. + */ +#define KEY_MACRO_RECORD_START 0x2b0 +#define KEY_MACRO_RECORD_STOP 0x2b1 +#define KEY_MACRO_PRESET_CYCLE 0x2b2 +#define KEY_MACRO_PRESET1 0x2b3 +#define KEY_MACRO_PRESET2 0x2b4 +#define KEY_MACRO_PRESET3 0x2b5 + +/* + * Some keyboards have a buildin LCD panel where the contents are controlled + * by the host. Often these have a number of keys directly below the LCD + * intended for controlling a menu shown on the LCD. These keys often don't + * have any labeling so we just name them KEY_KBD_LCD_MENU# + */ +#define KEY_KBD_LCD_MENU1 0x2b8 +#define KEY_KBD_LCD_MENU2 0x2b9 +#define KEY_KBD_LCD_MENU3 0x2ba +#define KEY_KBD_LCD_MENU4 0x2bb +#define KEY_KBD_LCD_MENU5 0x2bc + #define BTN_TRIGGER_HAPPY 0x2c0 #define BTN_TRIGGER_HAPPY1 0x2c0 #define BTN_TRIGGER_HAPPY2 0x2c1 @@ -722,6 +805,16 @@ #define REL_DIAL 0x07 #define REL_WHEEL 0x08 #define REL_MISC 0x09 +/* + * 0x0a is reserved and should not be used in input drivers. + * It was used by HID as REL_MISC+1 and userspace needs to detect if + * the next REL_* event is correct or is just REL_MISC + n. + * We define here REL_RESERVED so userspace can rely on it and detect + * the situation described above. + */ +#define REL_RESERVED 0x0a +#define REL_WHEEL_HI_RES 0x0b +#define REL_HWHEEL_HI_RES 0x0c #define REL_MAX 0x0f #define REL_CNT (REL_MAX+1) @@ -757,6 +850,15 @@ #define ABS_VOLUME 0x20 #define ABS_MISC 0x28 + +/* + * 0x2e is reserved and should not be used in input drivers. + * It was used by HID as ABS_MISC+6 and userspace needs to detect if + * the next ABS_* event is correct or is just ABS_MISC + n. + * We define here ABS_RESERVED so userspace can rely on it and detect + * the situation described above. + */ +#define ABS_RESERVED 0x2e #define ABS_MT_SLOT 0x2f /* MT slot being modified */ #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ Modified: stable/11/sys/dev/evdev/input.h ============================================================================== --- stable/11/sys/dev/evdev/input.h Mon Jun 15 22:32:59 2020 (r362206) +++ stable/11/sys/dev/evdev/input.h Mon Jun 15 22:35:39 2020 (r362207) @@ -148,10 +148,11 @@ struct input_keymap_entry { /* * MT_TOOL types */ -#define MT_TOOL_FINGER 0 -#define MT_TOOL_PEN 1 -#define MT_TOOL_PALM 2 -#define MT_TOOL_MAX 2 +#define MT_TOOL_FINGER 0x00 +#define MT_TOOL_PEN 0x01 +#define MT_TOOL_PALM 0x02 +#define MT_TOOL_DIAL 0x0a +#define MT_TOOL_MAX 0x0f /* * Values describing the status of a force-feedback effect From owner-svn-src-stable-11@freebsd.org Mon Jun 15 22:43:46 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CBC253459B9; Mon, 15 Jun 2020 22:43:46 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49m5wL52pmz3dBw; Mon, 15 Jun 2020 22:43:46 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A842425198; Mon, 15 Jun 2020 22:43:46 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05FMhk8R048665; Mon, 15 Jun 2020 22:43:46 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05FMhkhX048663; Mon, 15 Jun 2020 22:43:46 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202006152243.05FMhkhX048663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 15 Jun 2020 22:43:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362209 - in stable/11: share/man/man4 sys/dev/atkbdc X-SVN-Group: stable-11 X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: in stable/11: share/man/man4 sys/dev/atkbdc X-SVN-Commit-Revision: 362209 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2020 22:43:46 -0000 Author: wulf Date: Mon Jun 15 22:43:46 2020 New Revision: 362209 URL: https://svnweb.freebsd.org/changeset/base/362209 Log: MFC r361715: [psm] Do not disable trackpoint when hw.psm.elantech.touchpad_off is enabled PR: 246117 Reported by: Alexander Sieg MFC r361718: [psm] Workaround active PS/2 multiplexor hang which happens on some laptops after returning to legacy multiplexing mode at initialization stage. PR: 242542 Reported by: Felix Palmen Modified: stable/11/share/man/man4/psm.4 stable/11/sys/dev/atkbdc/psm.c Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/psm.4 ============================================================================== --- stable/11/share/man/man4/psm.4 Mon Jun 15 22:41:28 2020 (r362208) +++ stable/11/share/man/man4/psm.4 Mon Jun 15 22:43:46 2020 (r362209) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 26, 2016 +.Dd June 2, 2020 .Dt PSM 4 .Os .Sh NAME @@ -361,6 +361,15 @@ the sysctl with the same name and by restarting .Xr moused 8 using .Pa /etc/rc.d/moused . +.Pp +Active multiplexing support can be disabled by setting +.Va hw.psm.mux_disabled +to +.Em 1 +at boot-time. +This will prevent +.Nm +from enabling active multiplexing mode needed for some Synaptics touchpads. .Sh IOCTLS There are a few .Xr ioctl 2 Modified: stable/11/sys/dev/atkbdc/psm.c ============================================================================== --- stable/11/sys/dev/atkbdc/psm.c Mon Jun 15 22:41:28 2020 (r362208) +++ stable/11/sys/dev/atkbdc/psm.c Mon Jun 15 22:43:46 2020 (r362209) @@ -515,6 +515,7 @@ static int verbose = PSM_DEBUG; static int synaptics_support = 0; static int trackpoint_support = 0; static int elantech_support = 0; +static int mux_disabled = 0; /* for backward compatibility */ #define OLD_MOUSE_GETHWINFO _IOR('M', 1, old_mousehw_t) @@ -2991,6 +2992,9 @@ SYSCTL_INT(_hw_psm, OID_AUTO, trackpoint_support, CTLF SYSCTL_INT(_hw_psm, OID_AUTO, elantech_support, CTLFLAG_RDTUN, &elantech_support, 0, "Enable support for Elantech touchpads"); +SYSCTL_INT(_hw_psm, OID_AUTO, mux_disabled, CTLFLAG_RDTUN, + &mux_disabled, 0, "Disable active multiplexing"); + static void psmintr(void *arg) { @@ -4439,7 +4443,7 @@ proc_elantech(struct psm_softc *sc, packetbuf_t *pb, m *x = *y = *z = 0; ms->button = ms->obutton; - if (sc->syninfo.touchpad_off) + if (sc->syninfo.touchpad_off && pkt != ELANTECH_PKT_TRACKPOINT) return (0); /* Common legend @@ -6246,6 +6250,9 @@ enable_synaptics_mux(struct psm_softc *sc, enum probea int active_ports_count = 0; int active_ports_mask = 0; + if (mux_disabled != 0) + return (FALSE); + version = enable_aux_mux(kbdc); if (version == -1) return (FALSE); @@ -6282,6 +6289,21 @@ enable_synaptics_mux(struct psm_softc *sc, enum probea /* IRQ handler does not support active multiplexing mode */ disable_aux_mux(kbdc); + + /* Is MUX still alive after switching back to legacy mode? */ + if (!enable_aux_dev(kbdc) || !disable_aux_dev(kbdc)) { + /* + * On some laptops e.g. Lenovo X121e dead AUX MUX can be + * brought back to life with resetting of keyboard. + */ + reset_kbd(kbdc); + if (!enable_aux_dev(kbdc) || !disable_aux_dev(kbdc)) { + printf("psm%d: AUX MUX hang detected!\n", sc->unit); + printf("Consider adding hw.psm.mux_disabled=1 to " + "loader tunables\n"); + } + } + empty_both_buffers(kbdc, 10); /* remove stray data if any */ return (probe); } From owner-svn-src-stable-11@freebsd.org Tue Jun 16 12:10:19 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8073F3358C4; Tue, 16 Jun 2020 12:10:19 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49mRpz2smRz3Yy0; Tue, 16 Jun 2020 12:10:19 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5DB3AED1E; Tue, 16 Jun 2020 12:10:19 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05GCAJwd042003; Tue, 16 Jun 2020 12:10:19 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05GCAJ5e042002; Tue, 16 Jun 2020 12:10:19 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202006161210.05GCAJ5e042002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 16 Jun 2020 12:10:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362221 - stable/11/release/doc/en_US.ISO8859-1/errata X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/release/doc/en_US.ISO8859-1/errata X-SVN-Commit-Revision: 362221 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2020 12:10:19 -0000 Author: gjb Date: Tue Jun 16 12:10:18 2020 New Revision: 362221 URL: https://svnweb.freebsd.org/changeset/base/362221 Log: Wrap long lines. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: stable/11/release/doc/en_US.ISO8859-1/errata/article.xml Modified: stable/11/release/doc/en_US.ISO8859-1/errata/article.xml ============================================================================== --- stable/11/release/doc/en_US.ISO8859-1/errata/article.xml Tue Jun 16 08:59:44 2020 (r362220) +++ stable/11/release/doc/en_US.ISO8859-1/errata/article.xml Tue Jun 16 12:10:18 2020 (r362221) @@ -96,15 +96,16 @@ - [2020-06-11] Source-based upgrades from &os; 11.2 on the - &arch.i386; architecture may fail to compile + [2020-06-11] Source-based upgrades from &os; 11.2 + on the &arch.i386; architecture may fail to compile clang due to the amount of RAM consumed. Adding CFLAGS+=-O1 to /etc/make.conf or /etc/src.conf has been observed to work - around the compile-time RAM exhaustion. + around the compile-time RAM + exhaustion. See Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B0E07336188; Tue, 16 Jun 2020 12:12:55 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49mRsz41mpz3ZDv; Tue, 16 Jun 2020 12:12:55 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8566EF1B5; Tue, 16 Jun 2020 12:12:55 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05GCCtq9047727; Tue, 16 Jun 2020 12:12:55 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05GCCtdh047726; Tue, 16 Jun 2020 12:12:55 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202006161212.05GCCtdh047726@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 16 Jun 2020 12:12:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362222 - stable/11/release/doc/en_US.ISO8859-1/errata X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/release/doc/en_US.ISO8859-1/errata X-SVN-Commit-Revision: 362222 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2020 12:12:55 -0000 Author: gjb Date: Tue Jun 16 12:12:55 2020 New Revision: 362222 URL: https://svnweb.freebsd.org/changeset/base/362222 Log: Add a note about a typo in a version number in the 11.4 release notes. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: stable/11/release/doc/en_US.ISO8859-1/errata/article.xml Modified: stable/11/release/doc/en_US.ISO8859-1/errata/article.xml ============================================================================== --- stable/11/release/doc/en_US.ISO8859-1/errata/article.xml Tue Jun 16 12:10:18 2020 (r362221) +++ stable/11/release/doc/en_US.ISO8859-1/errata/article.xml Tue Jun 16 12:12:55 2020 (r362222) @@ -112,6 +112,14 @@ xlink:href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246274">PR 246274 for additional details. + + + [2020-06-16] The &os; 11.4 release notes + erroneously state the KDE + desktop environment has been updated to version + 5.8.4.1.19.12.3. The correct version is + 5.18.4.1.19.12.3. + From owner-svn-src-stable-11@freebsd.org Tue Jun 16 12:16:36 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 315D9336276; Tue, 16 Jun 2020 12:16:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49mRyD0Vnbz3Zmj; Tue, 16 Jun 2020 12:16:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0C7A4EF3C; Tue, 16 Jun 2020 12:16:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05GCGZZq048356; Tue, 16 Jun 2020 12:16:35 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05GCGZxr048355; Tue, 16 Jun 2020 12:16:35 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202006161216.05GCGZxr048355@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 16 Jun 2020 12:16:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362223 - stable/11/release/doc/share/xml X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/release/doc/share/xml X-SVN-Commit-Revision: 362223 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2020 12:16:36 -0000 Author: gjb Date: Tue Jun 16 12:16:35 2020 New Revision: 362223 URL: https://svnweb.freebsd.org/changeset/base/362223 Log: Fix version number entities. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: stable/11/release/doc/share/xml/release.ent Modified: stable/11/release/doc/share/xml/release.ent ============================================================================== --- stable/11/release/doc/share/xml/release.ent Tue Jun 16 12:12:55 2020 (r362222) +++ stable/11/release/doc/share/xml/release.ent Tue Jun 16 12:16:35 2020 (r362223) @@ -6,7 +6,7 @@ - + - - + + From owner-svn-src-stable-11@freebsd.org Tue Jun 16 12:21:57 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F37A6336AB1; Tue, 16 Jun 2020 12:21:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49mS4P6DmFz3brB; Tue, 16 Jun 2020 12:21:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D15CDEEBD; Tue, 16 Jun 2020 12:21:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05GCLvMM052535; Tue, 16 Jun 2020 12:21:57 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05GCLvGn052531; Tue, 16 Jun 2020 12:21:57 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202006161221.05GCLvGn052531@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 16 Jun 2020 12:21:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362224 - in stable: 10/lib/libusb 11/lib/libusb 12/lib/libusb 9/lib/libusb X-SVN-Group: stable-11 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 10/lib/libusb 11/lib/libusb 12/lib/libusb 9/lib/libusb X-SVN-Commit-Revision: 362224 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2020 12:21:58 -0000 Author: kevans Date: Tue Jun 16 12:21:55 2020 New Revision: 362224 URL: https://svnweb.freebsd.org/changeset/base/362224 Log: MFC r361977: libusb: improve compatibility Specifically, add LIBUSB_CLASS_PHYSICAL and the libusb_has_capability API. Descriptions and functionality for these derived from the documentation at [0]. The current set of capabilities are all supported by libusb. These were detected as missing after updating net/freerdp to 2.1.1, which attempted to use both. [0] http://libusb.sourceforge.net/api-1.0/group__libusb__misc.html Modified: stable/11/lib/libusb/Makefile stable/11/lib/libusb/libusb.3 stable/11/lib/libusb/libusb.h stable/11/lib/libusb/libusb10.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/lib/libusb/Makefile stable/10/lib/libusb/libusb.3 stable/10/lib/libusb/libusb.h stable/10/lib/libusb/libusb10.c stable/12/lib/libusb/Makefile stable/12/lib/libusb/libusb.3 stable/12/lib/libusb/libusb.h stable/12/lib/libusb/libusb10.c stable/9/lib/libusb/Makefile stable/9/lib/libusb/libusb.3 stable/9/lib/libusb/libusb.h stable/9/lib/libusb/libusb10.c Directory Properties: stable/10/ (props changed) stable/12/ (props changed) stable/9/ (props changed) stable/9/lib/ (props changed) stable/9/lib/libusb/ (props changed) Modified: stable/11/lib/libusb/Makefile ============================================================================== --- stable/11/lib/libusb/Makefile Tue Jun 16 12:16:35 2020 (r362223) +++ stable/11/lib/libusb/Makefile Tue Jun 16 12:21:55 2020 (r362224) @@ -69,6 +69,7 @@ CFLAGS+= -I ../../sys MLINKS += libusb.3 libusb_get_version.3 MLINKS += libusb.3 libusb_init.3 MLINKS += libusb.3 libusb_exit.3 +MLINKS += libusb.3 libusb_has_capability.3 MLINKS += libusb.3 libusb_strerror.3 MLINKS += libusb.3 libusb_error_name.3 MLINKS += libusb.3 libusb_set_debug.3 Modified: stable/11/lib/libusb/libusb.3 ============================================================================== --- stable/11/lib/libusb/libusb.3 Tue Jun 16 12:16:35 2020 (r362223) +++ stable/11/lib/libusb/libusb.3 Tue Jun 16 12:21:55 2020 (r362224) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 23, 2016 +.Dd June 16, 2020 .Dt LIBUSB 3 .Os .Sh NAME @@ -60,6 +60,33 @@ failure. Deinitialise libusb. Must be called at the end of the application. Other libusb routines may not be called after this function. +.Pp +.Ft int +.Fn libusb_has_capability "uint32_t capability" +This function checks the runtime capabilities of +.Nm . +This function will return non-zero if the given +.Fa capability +is supported, 0 if it is not supported. +The valid values for +.Fa capability +are: +.Bl -tag -width LIBUSB_CAP -offset indent +.It Va LIBUSB_CAP_HAS_CAPABILITY +.Nm +supports +.Fn libusb_has_capability . +.It Va LIBUSB_CAP_HAS_HOTPLUG +.Nm +supports hotplug notifications. +.It Va LIBUSB_CAP_HAS_HID_ACCESS +.Nm +can access HID devices without requiring user intervention. +.It Va LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER +.Nm +supports detaching of the default USB driver with +.Fn libusb_detach_kernel_driver . +.El .Pp .Ft const char * .Fn libusb_strerror "int code" Modified: stable/11/lib/libusb/libusb.h ============================================================================== --- stable/11/lib/libusb/libusb.h Tue Jun 16 12:16:35 2020 (r362223) +++ stable/11/lib/libusb/libusb.h Tue Jun 16 12:21:55 2020 (r362224) @@ -52,6 +52,7 @@ enum libusb_class_code { LIBUSB_CLASS_AUDIO = 1, LIBUSB_CLASS_COMM = 2, LIBUSB_CLASS_HID = 3, + LIBUSB_CLASS_PHYSICAL = 5, LIBUSB_CLASS_PTP = 6, LIBUSB_CLASS_IMAGE = 6, LIBUSB_CLASS_PRINTER = 7, @@ -176,6 +177,21 @@ enum libusb_bos_type { LIBUSB_BT_CONTAINER_ID = 4, }; +enum libusb_capability { + /* libusb supports libusb_has_capability(). */ + LIBUSB_CAP_HAS_CAPABILITY = 0, + /* Hotplug support is available. */ + LIBUSB_CAP_HAS_HOTPLUG, + /* Can access HID devices without requiring user intervention. */ + LIBUSB_CAP_HAS_HID_ACCESS, + + /* + * Supports detaching of the default USB driver with + * libusb_detach_kernel_driver(). + */ + LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER, +}; + enum libusb_error { LIBUSB_SUCCESS = 0, LIBUSB_ERROR_IO = -1, @@ -448,6 +464,7 @@ const char *libusb_strerror(int code); const char *libusb_error_name(int code); int libusb_init(libusb_context ** context); void libusb_exit(struct libusb_context *ctx); +int libusb_has_capability(uint32_t capability); /* Device handling and enumeration */ Modified: stable/11/lib/libusb/libusb10.c ============================================================================== --- stable/11/lib/libusb/libusb10.c Tue Jun 16 12:16:35 2020 (r362223) +++ stable/11/lib/libusb/libusb10.c Tue Jun 16 12:21:55 2020 (r362224) @@ -1714,3 +1714,18 @@ libusb_error_name(int code) return ("LIBUSB_ERROR_UNKNOWN"); } } + +int +libusb_has_capability(uint32_t capability) +{ + + switch (capability) { + case LIBUSB_CAP_HAS_CAPABILITY: + case LIBUSB_CAP_HAS_HOTPLUG: + case LIBUSB_CAP_HAS_HID_ACCESS: + case LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER: + return (1); + default: + return (0); + } +} From owner-svn-src-stable-11@freebsd.org Tue Jun 16 14:02:52 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D8BC33A89E; Tue, 16 Jun 2020 14:02:52 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49mVJr0Rngz43H5; Tue, 16 Jun 2020 14:02:52 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0A419104B6; Tue, 16 Jun 2020 14:02:52 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05GE2p95015795; Tue, 16 Jun 2020 14:02:51 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05GE2pd4015793; Tue, 16 Jun 2020 14:02:51 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <202006161402.05GE2pd4015793@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 16 Jun 2020 14:02:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362228 - stable/11/release/doc/share/xml X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/release/doc/share/xml X-SVN-Commit-Revision: 362228 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2020 14:02:52 -0000 Author: gjb Date: Tue Jun 16 14:02:51 2020 New Revision: 362228 URL: https://svnweb.freebsd.org/changeset/base/362228 Log: Prune the SA/EN entries for the 11.4 errata page. Sponsored by: Rubicon Communications, LLC (netgate.com) Modified: stable/11/release/doc/share/xml/errata.xml stable/11/release/doc/share/xml/security.xml Modified: stable/11/release/doc/share/xml/errata.xml ============================================================================== --- stable/11/release/doc/share/xml/errata.xml Tue Jun 16 13:59:51 2020 (r362227) +++ stable/11/release/doc/share/xml/errata.xml Tue Jun 16 14:02:51 2020 (r362228) @@ -19,92 +19,9 @@ - FreeBSD-EN-19:13.mds - 24 July 2019 - System crash from Intel CPU vulnerability - mitigation - - - - FreeBSD-EN-19:15.libunwind - 6 August 2019 - Incorrect exception handling - - - - FreeBSD-EN-19:16.bhyve - 20 August 2019 - Instruction emulation improvements - - - - FreeBSD-EN-19:17.ipfw - 20 August 2019 - "jail" keyword fix - - - - FreeBSD-EN-19:18.tzdata - 23 October 2019 - Timezone database information - update - - - - FreeBSD-EN-20:01.ssp - 28 January 2020 - Imprecise orderring of canary - initialization - - - - FreeBSD-EN-20:02.nmount - 28 January 2020 - Invalid pointer dereference - - - - FreeBSD-EN-20:04.pfctl - 18 March 2020 - Missing &man.pfctl.8; tunable - - - - FreeBSD-EN-20:06.ipv6 - 18 March 2020 - Incorrect checksum calculations - - - - FreeBSD-EN-20:07.quotad - 21 April 2020 - Regression with certain NFS - servers - - - - FreeBSD-EN-20:08.tzdata - 12 May 2020 - Timezone database update - - - - FreeBSD-EN-20:10.build - 12 May 2020 - Incorrect build host clang version - detection + No notices. +   +   Modified: stable/11/release/doc/share/xml/security.xml ============================================================================== --- stable/11/release/doc/share/xml/security.xml Tue Jun 16 13:59:51 2020 (r362227) +++ stable/11/release/doc/share/xml/security.xml Tue Jun 16 14:02:51 2020 (r362228) @@ -19,209 +19,9 @@ - FreeBSD-SA-19:12.telnet - 24 July 2019 - Multiple vulnerabilities - - - - FreeBSD-SA-19:13.pts - 24 July 2019 - Write-after-free vulnerability - - - - FreeBSD-SA-19:14.freebsd32 - 24 July 2019 - Kernel memory disclosure - - - - FreeBSD-SA-19:15.mqueuefs - 24 July 2019 - Reference count overflow - - - - FreeBSD-SA-19:16.bhyve - 24 July 2019 - &man.xhci.4; out-of-bounds read - - - - FreeBSD-SA-19:17.fd - 24 July 2019 - Reference count leak - - - - FreeBSD-SA-19:18.bzip2 - 6 August 2019 - Multiple vulnerabilities - - - - FreeBSD-SA-19:19.mldv2 - 6 August 2019 - Out-of-bounds memory access - - - - FreeBSD-SA-19:20.bsnmp - 6 August 2019 - Insufficient message length - validation - - - - FreeBSD-SA-19:21.bhyve - 6 August 2019 - Insufficient validation of guest-supplied - data - - - - FreeBSD-SA-19:22.mbuf - 20 August 2019 - IPv6 remove denial-of-service - - - - FreeBSD-SA-19:23.midi - 20 August 2019 - Kernel memory disclosure - - - - FreeBSD-SA-19:24.mqueuefs - 20 August 2019 - Reference count overflow - - - - FreeBSD-SA-19:25.mcepce - 12 November 2019 - Machine Check Exception on Page Size - Change - - - - FreeBSD-SA-19:26.mcu - 12 November 2019 - Intel CPU Microcode Update - - - - FreeBSD-SA-20:01.libfetch - 28 January 2020 - &man.fetch.3; buffer overflow - - - - FreeBSD-SA-20:03.thrmisc - 28 January 2020 - Kernel stack data disclosure - - - - FreeBSD-SA-20:04.tcp - 18 March 2020 - TCP IPv6 SYN cache kernel information - disclosure - - - - FreeBSD-SA-20:05.if_oce_ioctl - 18 March 2020 - Insufficient &man.ioctl.2; privilege - checking - - - - FreeBSD-SA-20:07.epair - 18 March 2020 - Incorrect user-controlled pointer - use - - - - FreeBSD-SA-20:08.jail - 18 March 2020 - Kernel memory disclosure with nested - jails - - - - FreeBSD-SA-20:09.ntp - 18 March 2020 - Multiple denial of service - - - - FreeBSD-SA-20:10.ipfw - 21 April 2020 - Invalid &man.mbuf.9; handling - - - - FreeBSD-SA-20:12.libalias - 12 May 2020 - Insufficient packet length - validation - - - - FreeBSD-SA-20:13.libalias - 12 May 2020 - Memory disclosure vulnerability - - - - FreeBSD-SA-20:14.sctp - 12 May 2020 - Improper checking in shared key - update - - - - FreeBSD-SA-20:15.cryptodev - 12 May 2020 - Use-after-free condition - - - - FreeBSD-SA-20:17.usb - 9 June 2020 - HID descriptor parsing - error + No advisories. +   +   From owner-svn-src-stable-11@freebsd.org Wed Jun 17 16:22:09 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A4762352C51; Wed, 17 Jun 2020 16:22:09 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49n9M53qJnz41Lh; Wed, 17 Jun 2020 16:22:09 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6417222F10; Wed, 17 Jun 2020 16:22:09 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05HGM9qf094879; Wed, 17 Jun 2020 16:22:09 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05HGM80J094874; Wed, 17 Jun 2020 16:22:08 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202006171622.05HGM80J094874@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 17 Jun 2020 16:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362281 - in stable: 11/lib/libc/gen 11/lib/libc/tests/gen 12/lib/libc/gen 12/lib/libc/tests/gen X-SVN-Group: stable-11 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in stable: 11/lib/libc/gen 11/lib/libc/tests/gen 12/lib/libc/gen 12/lib/libc/tests/gen X-SVN-Commit-Revision: 362281 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2020 16:22:09 -0000 Author: kevans Date: Wed Jun 17 16:22:08 2020 New Revision: 362281 URL: https://svnweb.freebsd.org/changeset/base/362281 Log: MFC r361995-r361996, r361999, r362111: posix_spawnp fixes r361995: execvp: fix up the ENOEXEC fallback If execve fails with ENOEXEC, execvp is expected to rebuild the command with /bin/sh instead and try again. The previous version did this, but overlooked two details: argv[0] can conceivably be NULL, in which case memp would never get terminated. We must allocate no less than three * sizeof(char *) so we can properly terminate at all times. For the non-NULL argv standard case, we count all the non-NULL elements and actually skip the first argument, so we end up capturing the NULL terminator in our bcopy(). The second detail is that the spec is actually worded such that we should have been preserving argv[0] as passed to execvp: "[...] executed command shall be as if the process invoked the sh utility using execl() as follows: execl(, arg0, file, arg1, ..., (char *)0); where is an unspecified pathname for the sh utility, file is the process image file, and for execvp(), where arg0, arg1, and so on correspond to the values passed to execvp() in argv[0], argv[1], and so on." So we make this change at this time as well, while we're already touching it. We decidedly can't preserve a NULL argv[0] as this would be incredibly, incredibly fragile, so we retain our legacy behavior of using "sh" for argv[] in this specific instance. Some light tests are added to try and detect some components of handling the ENOEXEC fallback; posix_spawnp_enoexec_fallback_null_argv0 is likely not 100% reliable, but it at least won't raise false-alarms and it did result in useful failures with pre-change libc on my machine. This is a secondary change in D25038. r361996: execvPe: obviate the need for potentially large stack allocations Some environments in which execvPe may be called have a limited amount of stack available. Currently, it avoidably allocates a segment on the stack large enough to hold PATH so that it may be mutated and use strsep() for easy parsing. This logic is now rewritten to just operate on the immutable string passed in and do the necessary math to extract individual paths, since it will be copying out those segments to another buffer anyways and piecing them together with the name for a full path. Additional size is also needed for the stack in posix_spawnp(), because it may need to push all of argv to the stack and rebuild the command with sh in front of it. We'll make sure it's properly aligned for the new thread, but future work should likely make rfork_thread a little easier to use by ensuring proper alignment. Some trivial cleanup has been done with a couple of error writes, moving strings into char arrays for use with the less fragile sizeof(). r361999: Add missing shell script from r361995 r362111: posix_spawn: fix for some custom allocator setups libc cannot assume that aligned_alloc and free come from jemalloc, or that any application providing its own malloc and free is actually providing aligned_alloc. Switch back to malloc and just make sure we're passing a properly aligned stack into rfork_thread, as an application perhaps can't reasonably replace just malloc or just free without headaches. This unbreaks ksh93 after r361996, which provides malloc/free but no aligned_alloc. Added: stable/11/lib/libc/tests/gen/spawnp_enoexec.sh - copied unchanged from r361999, head/lib/libc/tests/gen/spawnp_enoexec.sh Modified: stable/11/lib/libc/gen/exec.c stable/11/lib/libc/gen/posix_spawn.c stable/11/lib/libc/tests/gen/Makefile stable/11/lib/libc/tests/gen/posix_spawn_test.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Added: stable/12/lib/libc/tests/gen/spawnp_enoexec.sh - copied unchanged from r361999, head/lib/libc/tests/gen/spawnp_enoexec.sh Modified: stable/12/lib/libc/gen/exec.c stable/12/lib/libc/gen/posix_spawn.c stable/12/lib/libc/tests/gen/Makefile stable/12/lib/libc/tests/gen/posix_spawn_test.c Directory Properties: stable/12/ (props changed) Modified: stable/11/lib/libc/gen/exec.c ============================================================================== --- stable/11/lib/libc/gen/exec.c Wed Jun 17 16:20:19 2020 (r362280) +++ stable/11/lib/libc/gen/exec.c Wed Jun 17 16:22:08 2020 (r362281) @@ -49,6 +49,9 @@ __FBSDID("$FreeBSD$"); extern char **environ; +static const char execvPe_err_preamble[] = "execvP: "; +static const char execvPe_err_trailer[] = ": path too long\n"; + int execl(const char *name, const char *arg, ...) { @@ -149,8 +152,8 @@ execvPe(const char *name, const char *path, char * con const char **memp; size_t cnt, lp, ln; int eacces, save_errno; - char *cur, buf[MAXPATHLEN]; - const char *p, *bp; + char buf[MAXPATHLEN]; + const char *bp, *np, *op, *p; struct stat sb; eacces = 0; @@ -158,7 +161,7 @@ execvPe(const char *name, const char *path, char * con /* If it's an absolute or relative path name, it's easy. */ if (strchr(name, '/')) { bp = name; - cur = NULL; + op = NULL; goto retry; } bp = buf; @@ -169,34 +172,42 @@ execvPe(const char *name, const char *path, char * con return (-1); } - cur = alloca(strlen(path) + 1); - if (cur == NULL) { - errno = ENOMEM; - return (-1); - } - strcpy(cur, path); - while ((p = strsep(&cur, ":")) != NULL) { + op = path; + ln = strlen(name); + while (op != NULL) { + np = strchrnul(op, ':'); + /* * It's a SHELL path -- double, leading and trailing colons * mean the current directory. */ - if (*p == '\0') { + if (np == op) { + /* Empty component. */ p = "."; lp = 1; - } else - lp = strlen(p); - ln = strlen(name); + } else { + /* Non-empty component. */ + p = op; + lp = np - op; + } + /* Advance to the next component or terminate after this. */ + if (*np == '\0') + op = NULL; + else + op = np + 1; + /* * If the path is too long complain. This is a possible * security issue; given a way to make the path too long * the user may execute the wrong program. */ if (lp + ln + 2 > sizeof(buf)) { - (void)_write(STDERR_FILENO, "execvP: ", 8); + (void)_write(STDERR_FILENO, execvPe_err_preamble, + sizeof(execvPe_err_preamble) - 1); (void)_write(STDERR_FILENO, p, lp); - (void)_write(STDERR_FILENO, ": path too long\n", - 16); + (void)_write(STDERR_FILENO, execvPe_err_trailer, + sizeof(execvPe_err_trailer) - 1); continue; } bcopy(p, buf, lp); @@ -215,14 +226,28 @@ retry: (void)_execve(bp, argv, envp); case ENOEXEC: for (cnt = 0; argv[cnt]; ++cnt) ; - memp = alloca((cnt + 2) * sizeof(char *)); + + /* + * cnt may be 0 above; always allocate at least + * 3 entries so that we can at least fit "sh", bp, and + * the NULL terminator. We can rely on cnt to take into + * account the NULL terminator in all other scenarios, + * as we drop argv[0]. + */ + memp = alloca(MAX(3, cnt + 2) * sizeof(char *)); if (memp == NULL) { /* errno = ENOMEM; XXX override ENOEXEC? */ goto done; } - memp[0] = "sh"; - memp[1] = bp; - bcopy(argv + 1, memp + 2, cnt * sizeof(char *)); + if (cnt > 0) { + memp[0] = argv[0]; + memp[1] = bp; + bcopy(argv + 1, memp + 2, cnt * sizeof(char *)); + } else { + memp[0] = "sh"; + memp[1] = bp; + memp[2] = NULL; + } (void)_execve(_PATH_BSHELL, __DECONST(char **, memp), envp); goto done; Modified: stable/11/lib/libc/gen/posix_spawn.c ============================================================================== --- stable/11/lib/libc/gen/posix_spawn.c Wed Jun 17 16:20:19 2020 (r362280) +++ stable/11/lib/libc/gen/posix_spawn.c Wed Jun 17 16:22:08 2020 (r362281) @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" +#include #include #include @@ -202,8 +203,20 @@ struct posix_spawn_args { volatile int error; }; +#define PSPAWN_STACK_ALIGNMENT 16 +#define PSPAWN_STACK_ALIGNBYTES (PSPAWN_STACK_ALIGNMENT - 1) +#define PSPAWN_STACK_ALIGN(sz) \ + (((sz) + PSPAWN_STACK_ALIGNBYTES) & ~PSPAWN_STACK_ALIGNBYTES) + #if defined(__i386__) || defined(__amd64__) +/* + * Below we'll assume that _RFORK_THREAD_STACK_SIZE is appropriately aligned for + * the posix_spawn() case where we do not end up calling _execvpe and won't ever + * try to allocate space on the stack for argv[]. + */ #define _RFORK_THREAD_STACK_SIZE 4096 +_Static_assert((_RFORK_THREAD_STACK_SIZE % PSPAWN_STACK_ALIGNMENT) == 0, + "Inappropriate stack size alignment"); #endif static int @@ -244,10 +257,36 @@ do_posix_spawn(pid_t *pid, const char *path, pid_t p; #ifdef _RFORK_THREAD_STACK_SIZE char *stack; + size_t cnt, stacksz; - stack = malloc(_RFORK_THREAD_STACK_SIZE); + stacksz = _RFORK_THREAD_STACK_SIZE; + if (use_env_path) { + /* + * We need to make sure we have enough room on the stack for the + * potential alloca() in execvPe if it gets kicked back an + * ENOEXEC from execve(2), plus the original buffer we gave + * ourselves; this protects us in the event that the caller + * intentionally or inadvertently supplies enough arguments to + * make us blow past the stack we've allocated from it. + */ + for (cnt = 0; argv[cnt] != NULL; ++cnt) + ; + stacksz += MAX(3, cnt + 2) * sizeof(char *); + stacksz = PSPAWN_STACK_ALIGN(stacksz); + } + + /* + * aligned_alloc is not safe to use here, because we can't guarantee + * that aligned_alloc and free will be provided by the same + * implementation. We've actively hit at least one application that + * will provide its own malloc/free but not aligned_alloc leading to + * a free by the wrong allocator. + */ + stack = malloc(stacksz); if (stack == NULL) return (ENOMEM); + stacksz = (((uintptr_t)stack + stacksz) & ~PSPAWN_STACK_ALIGNBYTES) - + (uintptr_t)stack; #endif psa.path = path; psa.fa = fa; @@ -271,8 +310,7 @@ do_posix_spawn(pid_t *pid, const char *path, * parent. Because of this, we must use rfork_thread instead while * almost every other arch stores the return address in a register. */ - p = rfork_thread(RFSPAWN, stack + _RFORK_THREAD_STACK_SIZE, - _posix_spawn_thr, &psa); + p = rfork_thread(RFSPAWN, stack + stacksz, _posix_spawn_thr, &psa); free(stack); #else p = rfork(RFSPAWN); Modified: stable/11/lib/libc/tests/gen/Makefile ============================================================================== --- stable/11/lib/libc/tests/gen/Makefile Wed Jun 17 16:20:19 2020 (r362280) +++ stable/11/lib/libc/tests/gen/Makefile Wed Jun 17 16:22:08 2020 (r362281) @@ -20,6 +20,15 @@ ATF_TESTS_C+= wordexp_test # TODO: t_siginfo (fixes require further inspection) # TODO: t_sethostname_test (consistently screws up the hostname) +FILESGROUPS+= posix_spawn_test_FILES + +posix_spawn_test_FILES= spawnp_enoexec.sh +posix_spawn_test_FILESDIR= ${TESTSDIR} +posix_spawn_test_FILESMODE= 0755 +posix_spawn_test_FILESOWN= root +posix_spawn_test_FILESGRP= wheel +posix_spawn_test_FILESPACKAGE= ${PACKAGE} + CFLAGS+= -DTEST_LONG_DOUBLE # Not sure why this isn't defined for all architectures, since most Modified: stable/11/lib/libc/tests/gen/posix_spawn_test.c ============================================================================== --- stable/11/lib/libc/tests/gen/posix_spawn_test.c Wed Jun 17 16:20:19 2020 (r362280) +++ stable/11/lib/libc/tests/gen/posix_spawn_test.c Wed Jun 17 16:22:08 2020 (r362281) @@ -93,11 +93,50 @@ ATF_TC_BODY(posix_spawn_no_such_command_negative_test, } } +ATF_TC_WITHOUT_HEAD(posix_spawnp_enoexec_fallback); +ATF_TC_BODY(posix_spawnp_enoexec_fallback, tc) +{ + char buf[FILENAME_MAX]; + char *myargs[2]; + int error, status; + pid_t pid, waitres; + + snprintf(buf, sizeof(buf), "%s/spawnp_enoexec.sh", + atf_tc_get_config_var(tc, "srcdir")); + myargs[0] = buf; + myargs[1] = NULL; + error = posix_spawnp(&pid, myargs[0], NULL, NULL, myargs, myenv); + ATF_REQUIRE(error == 0); + waitres = waitpid(pid, &status, 0); + ATF_REQUIRE(waitres == pid); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); +} + +ATF_TC_WITHOUT_HEAD(posix_spawnp_enoexec_fallback_null_argv0); +ATF_TC_BODY(posix_spawnp_enoexec_fallback_null_argv0, tc) +{ + char buf[FILENAME_MAX]; + char *myargs[1]; + int error, status; + pid_t pid, waitres; + + snprintf(buf, sizeof(buf), "%s/spawnp_enoexec.sh", + atf_tc_get_config_var(tc, "srcdir")); + myargs[0] = NULL; + error = posix_spawnp(&pid, buf, NULL, NULL, myargs, myenv); + ATF_REQUIRE(error == 0); + waitres = waitpid(pid, &status, 0); + ATF_REQUIRE(waitres == pid); + ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 42); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, posix_spawn_simple_test); ATF_TP_ADD_TC(tp, posix_spawn_no_such_command_negative_test); + ATF_TP_ADD_TC(tp, posix_spawnp_enoexec_fallback); + ATF_TP_ADD_TC(tp, posix_spawnp_enoexec_fallback_null_argv0); return (atf_no_error()); } Copied: stable/11/lib/libc/tests/gen/spawnp_enoexec.sh (from r361999, head/lib/libc/tests/gen/spawnp_enoexec.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/lib/libc/tests/gen/spawnp_enoexec.sh Wed Jun 17 16:22:08 2020 (r362281, copy of r361999, head/lib/libc/tests/gen/spawnp_enoexec.sh) @@ -0,0 +1,4 @@ +# $FreeBSD$ +# Intentionally no interpreter + +exit 42 From owner-svn-src-stable-11@freebsd.org Wed Jun 17 23:41:04 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B80A833A43C; Wed, 17 Jun 2020 23:41:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nM5X3mfSz3SfZ; Wed, 17 Jun 2020 23:41:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7CBC427EA7; Wed, 17 Jun 2020 23:41:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05HNf4jR068693; Wed, 17 Jun 2020 23:41:04 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05HNf45E068692; Wed, 17 Jun 2020 23:41:04 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202006172341.05HNf45E068692@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 17 Jun 2020 23:41:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362293 - stable/11/share/man/man5 X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/share/man/man5 X-SVN-Commit-Revision: 362293 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2020 23:41:04 -0000 Author: 0mp (doc,ports committer) Date: Wed Jun 17 23:41:04 2020 New Revision: 362293 URL: https://svnweb.freebsd.org/changeset/base/362293 Log: MFC 361920: Document that /lib is always in the list of shared library paths /lib was added to the list in r119011. Modified: stable/11/share/man/man5/rc.conf.5 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man5/rc.conf.5 ============================================================================== --- stable/11/share/man/man5/rc.conf.5 Wed Jun 17 23:39:52 2020 (r362292) +++ stable/11/share/man/man5/rc.conf.5 Wed Jun 17 23:41:04 2020 (r362293) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 25, 2020 +.Dd June 8, 2020 .Dt RC.CONF 5 .Os .Sh NAME @@ -3787,8 +3787,10 @@ related programs. Set to the list of shared library paths to use with .Xr ldconfig 8 . NOTE: +.Pa /lib +and .Pa /usr/lib -will always be added first, so it need not appear in this list. +will always be added first, so they need not appear in this list. .It Va ldconfig32_paths .Pq Vt str Set to the list of 32-bit compatibility shared library paths to From owner-svn-src-stable-11@freebsd.org Thu Jun 18 07:35:18 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A8E183475ED; Thu, 18 Jun 2020 07:35:18 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nYck43PGz4Fl5; Thu, 18 Jun 2020 07:35:18 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 866E32DB02; Thu, 18 Jun 2020 07:35:18 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05I7ZI3j064977; Thu, 18 Jun 2020 07:35:18 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05I7ZIcE064976; Thu, 18 Jun 2020 07:35:18 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202006180735.05I7ZIcE064976@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Thu, 18 Jun 2020 07:35:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362297 - stable/11/usr.bin/mkimg X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/usr.bin/mkimg X-SVN-Commit-Revision: 362297 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 07:35:18 -0000 Author: 0mp (doc,ports committer) Date: Thu Jun 18 07:35:18 2020 New Revision: 362297 URL: https://svnweb.freebsd.org/changeset/base/362297 Log: MFC 361940: Use Fl instead of Ar for long flags Also, bump date after r361935. Modified: stable/11/usr.bin/mkimg/mkimg.1 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/mkimg/mkimg.1 ============================================================================== --- stable/11/usr.bin/mkimg/mkimg.1 Thu Jun 18 07:34:30 2020 (r362296) +++ stable/11/usr.bin/mkimg/mkimg.1 Thu Jun 18 07:35:18 2020 (r362297) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 26, 2017 +.Dd June 8, 2020 .Dt MKIMG 1 .Os .Sh NAME @@ -47,7 +47,7 @@ .Op Fl y .Op Fl s Ar scheme Op Fl p Ar partition ... .Nm -.Ar --formats | --schemes | --version +.Fl -formats | Fl -schemes | Fl -version .Sh DESCRIPTION The .Nm @@ -183,13 +183,13 @@ utility exits immediately after providing the requeste The version of the .Nm utility is printed when the -.Ar --version +.Fl -version option is given. The list of supported output formats is printed when the -.Ar --formats +.Fl -formats option is given and the list of supported partitioning schemes is printed when the -.Ar --schemes +.Fl -schemes option is given. Both the format and scheme lists a space-separated lists for easy handling in scripts. From owner-svn-src-stable-11@freebsd.org Thu Jun 18 08:35:52 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B41A0348EA7; Thu, 18 Jun 2020 08:35:52 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nZyc4L2Pz4Jmq; Thu, 18 Jun 2020 08:35:52 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 900EB2E609; Thu, 18 Jun 2020 08:35:52 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05I8ZqZB002068; Thu, 18 Jun 2020 08:35:52 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05I8Zqko002066; Thu, 18 Jun 2020 08:35:52 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202006180835.05I8Zqko002066@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Thu, 18 Jun 2020 08:35:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362301 - stable/11/sbin/ifconfig X-SVN-Group: stable-11 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/11/sbin/ifconfig X-SVN-Commit-Revision: 362301 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 08:35:52 -0000 Author: eugen Date: Thu Jun 18 08:35:51 2020 New Revision: 362301 URL: https://svnweb.freebsd.org/changeset/base/362301 Log: MFC r361790: ifconfig(8): make it possible to filter output by interface group. Modified: stable/11/sbin/ifconfig/ifconfig.8 stable/11/sbin/ifconfig/ifconfig.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/ifconfig.8 ============================================================================== --- stable/11/sbin/ifconfig/ifconfig.8 Thu Jun 18 08:33:36 2020 (r362300) +++ stable/11/sbin/ifconfig/ifconfig.8 Thu Jun 18 08:35:51 2020 (r362301) @@ -56,6 +56,7 @@ .Fl a .Op Fl L .Op Fl d +.Op Fl [gG] Ar groupname .Op Fl m .Op Fl u .Op Fl v @@ -2842,9 +2843,26 @@ This flag instructs to display information about all interfaces in the system. The .Fl d -flag limits this to interfaces that are down, and +flag limits this to interfaces that are down, .Fl u -limits this to interfaces that are up. +limits this to interfaces that are up, +limits this to interfaces that are up, +.Fl g +limits this to members of the specified group of interfaces, and +.Fl G +excludes members of the specified group from the list. +Both +.Fl g +and +.Fl G +flags may be specified to apply both conditions. +Only one option +.Fl g +should be specified as later override previous ones +(same for +.Fl G ) . +.Sy groupname +may contain shell patterns in which case it should be quoted. When no arguments are given, .Fl a is implied. @@ -2968,6 +2986,9 @@ Display available wireless networks using .Pp Display inet and inet6 address subnet masks in CIDR notation .Dl # ifconfig -f inet:cidr,inet6:cidr +.Pp +Display interfaces that are up with the exception of loopback +.Dl # ifconfig -a -u -G lo .Sh DIAGNOSTICS Messages indicating the specified interface does not exist, the requested address is unknown, or the user is not privileged and Modified: stable/11/sbin/ifconfig/ifconfig.c ============================================================================== --- stable/11/sbin/ifconfig/ifconfig.c Thu Jun 18 08:33:36 2020 (r362300) +++ stable/11/sbin/ifconfig/ifconfig.c Thu Jun 18 08:35:51 2020 (r362301) @@ -61,6 +61,7 @@ static const char rcsid[] = #include #include +#include #include #include #include @@ -102,6 +103,8 @@ int printkeys = 0; /* Print keying material for inter /* Formatter Strings */ char *f_inet, *f_inet6, *f_ether, *f_addr; +static bool group_member(const char *ifname, const char *match, + const char *nomatch); static int ifconfig(int argc, char *const *argv, int iscreate, const struct afswtch *afp); static void status(const struct afswtch *afp, const struct sockaddr_dl *sdl, @@ -389,12 +392,13 @@ main(int argc, char *argv[]) char options[1024], *cp, *envformat, *namecp = NULL; struct ifa_queue q = TAILQ_HEAD_INITIALIZER(q); struct ifa_order_elt *cur, *tmp; - const char *ifname; + const char *ifname, *matchgroup, *nogroup; struct option *p; size_t iflen; all = downonly = uponly = namesonly = noload = verbose = 0; f_inet = f_inet6 = f_ether = f_addr = NULL; + matchgroup = nogroup = NULL; envformat = getenv("IFCONFIG_FORMAT"); if (envformat != NULL) @@ -407,7 +411,7 @@ main(int argc, char *argv[]) atexit(printifnamemaybe); /* Parse leading line options */ - strlcpy(options, "f:adklmnuv", sizeof(options)); + strlcpy(options, "G:adf:klmnuv", sizeof(options)); for (p = opts; p != NULL; p = p->next) strlcat(options, p->opt, sizeof(options)); while ((c = getopt(argc, argv, options)) != -1) { @@ -423,6 +427,11 @@ main(int argc, char *argv[]) usage(); setformat(optarg); break; + case 'G': + if (optarg == NULL || all == 0) + usage(); + nogroup = optarg; + break; case 'k': printkeys++; break; @@ -441,6 +450,14 @@ main(int argc, char *argv[]) case 'v': verbose++; break; + case 'g': + if (all) { + if (optarg == NULL) + usage(); + matchgroup = optarg; + break; + } + /* FALLTHROUGH */ default: for (p = opts; p != NULL; p = p->next) if (p->opt[0] == c) { @@ -593,6 +610,8 @@ main(int argc, char *argv[]) continue; if (uponly && (ifa->ifa_flags & IFF_UP) == 0) continue; + if (!group_member(ifa->ifa_name, matchgroup, nogroup)) + continue; /* * Are we just listing the interfaces? */ @@ -634,6 +653,73 @@ main(int argc, char *argv[]) freeformat(); exit(0); +} + +/* + * Returns true if an interface should be listed because any its groups + * matches shell pattern "match" and none of groups matches pattern "nomatch". + * If any pattern is NULL, corresponding condition is skipped. + */ +static bool +group_member(const char *ifname, const char *match, const char *nomatch) +{ + static int sock = -1; + + struct ifgroupreq ifgr; + struct ifg_req *ifg; + int len; + bool matched, nomatched; + + /* Sanity checks. */ + if (match == NULL && nomatch == NULL) + return (true); + if (ifname == NULL) + return (false); + + memset(&ifgr, 0, sizeof(ifgr)); + strlcpy(ifgr.ifgr_name, ifname, IFNAMSIZ); + + /* The socket is opened once. Let _exit() close it. */ + if (sock == -1) { + sock = socket(AF_LOCAL, SOCK_DGRAM, 0); + if (sock == -1) + errx(1, "%s: socket(AF_LOCAL,SOCK_DGRAM)", __func__); + } + + /* Determine amount of memory for the list of groups. */ + if (ioctl(sock, SIOCGIFGROUP, (caddr_t)&ifgr) == -1) { + if (errno == EINVAL || errno == ENOTTY) + return (false); + else + errx(1, "%s: SIOCGIFGROUP", __func__); + } + + /* Obtain the list of groups. */ + len = ifgr.ifgr_len; + ifgr.ifgr_groups = + (struct ifg_req *)calloc(len / sizeof(*ifg), sizeof(*ifg)); + + if (ifgr.ifgr_groups == NULL) + errx(1, "%s: no memory", __func__); + if (ioctl(sock, SIOCGIFGROUP, (caddr_t)&ifgr) == -1) + errx(1, "%s: SIOCGIFGROUP", __func__); + + /* Perform matching. */ + matched = false; + nomatched = true; + for (ifg = ifgr.ifgr_groups; ifg && len >= sizeof(*ifg); ifg++) { + len -= sizeof(struct ifg_req); + if (match) + matched |= !fnmatch(match, ifg->ifgrq_group, 0); + if (nomatch) + nomatched &= fnmatch(nomatch, ifg->ifgrq_group, 0); + } + + if (match && !nomatch) + return (matched); + if (!match && nomatch) + return (nomatched); + return (matched && nomatched); } static struct afswtch *afs = NULL; From owner-svn-src-stable-11@freebsd.org Thu Jun 18 08:38:54 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E88E7348F42; Thu, 18 Jun 2020 08:38:54 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nb265pdQz4K9p; Thu, 18 Jun 2020 08:38:54 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C28AC2E60A; Thu, 18 Jun 2020 08:38:54 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05I8csOE002323; Thu, 18 Jun 2020 08:38:54 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05I8cscG002322; Thu, 18 Jun 2020 08:38:54 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202006180838.05I8cscG002322@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Thu, 18 Jun 2020 08:38:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362303 - stable/11/sys/netpfil/ipfw X-SVN-Group: stable-11 X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: stable/11/sys/netpfil/ipfw X-SVN-Commit-Revision: 362303 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 08:38:55 -0000 Author: eugen Date: Thu Jun 18 08:38:54 2020 New Revision: 362303 URL: https://svnweb.freebsd.org/changeset/base/362303 Log: MFC r361789: ipfw: unbreak matching with big table type flow. Modified: stable/11/sys/netpfil/ipfw/ip_fw_table_algo.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netpfil/ipfw/ip_fw_table_algo.c ============================================================================== --- stable/11/sys/netpfil/ipfw/ip_fw_table_algo.c Thu Jun 18 08:37:56 2020 (r362302) +++ stable/11/sys/netpfil/ipfw/ip_fw_table_algo.c Thu Jun 18 08:38:54 2020 (r362303) @@ -3205,7 +3205,8 @@ ta_lookup_fhash(struct table_info *ti, void *key, uint struct fhashentry *ent; struct fhashentry4 *m4; struct ipfw_flow_id *id; - uint16_t hash, hsize; + uint32_t hsize; + uint16_t hash; id = (struct ipfw_flow_id *)key; head = (struct fhashbhead *)ti->state; From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:12:18 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D0F834AE5D; Thu, 18 Jun 2020 10:12:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nd5t1MC2z4RNR; Thu, 18 Jun 2020 10:12:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 115392FCD6; Thu, 18 Jun 2020 10:12:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IACHfH061492; Thu, 18 Jun 2020 10:12:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IACHh6061491; Thu, 18 Jun 2020 10:12:17 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181012.05IACHh6061491@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:12:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362306 - stable/11/sys/dev/mlx5/mlx5_en X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 362306 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:12:18 -0000 Author: hselasky Date: Thu Jun 18 10:12:17 2020 New Revision: 362306 URL: https://svnweb.freebsd.org/changeset/base/362306 Log: MFC r362043: Use const keyword when parsing the TCP/IP header in the fast path in mlx5en(4). When parsing the TCP/IP header in the fast path, make it clear by using the const keyword, no fields are to be modified inside the transmitted packet. No functional change. Sponsored by: Mellanox Technologies Modified: stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Jun 18 10:08:41 2020 (r362305) +++ stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Jun 18 10:12:17 2020 (r362306) @@ -173,18 +173,26 @@ max_inline: return (MIN(mb->m_pkthdr.len, sq->max_inline)); } +/* + * This function parse IPv4 and IPv6 packets looking for TCP and UDP + * headers. + * + * The return value indicates the number of bytes from the beginning + * of the packet until the first byte after the TCP or UDP header. If + * this function returns zero, the parsing failed. + */ static int -mlx5e_get_full_header_size(struct mbuf *mb) +mlx5e_get_full_header_size(const struct mbuf *mb) { - struct ether_vlan_header *eh; - struct tcphdr *th; - struct ip *ip; + const struct ether_vlan_header *eh; + const struct tcphdr *th; + const struct ip *ip; int ip_hlen, tcp_hlen; - struct ip6_hdr *ip6; + const struct ip6_hdr *ip6; uint16_t eth_type; int eth_hdr_len; - eh = mtod(mb, struct ether_vlan_header *); + eh = mtod(mb, const struct ether_vlan_header *); if (mb->m_len < ETHER_HDR_LEN) return (0); if (eh->evl_encap_proto == htons(ETHERTYPE_VLAN)) { @@ -198,7 +206,7 @@ mlx5e_get_full_header_size(struct mbuf *mb) } switch (eth_type) { case ETHERTYPE_IP: - ip = (struct ip *)(mb->m_data + eth_hdr_len); + ip = (const struct ip *)(mb->m_data + eth_hdr_len); if (mb->m_len < eth_hdr_len + sizeof(*ip)) return (0); switch (ip->ip_p) { @@ -215,7 +223,7 @@ mlx5e_get_full_header_size(struct mbuf *mb) } break; case ETHERTYPE_IPV6: - ip6 = (struct ip6_hdr *)(mb->m_data + eth_hdr_len); + ip6 = (const struct ip6_hdr *)(mb->m_data + eth_hdr_len); if (mb->m_len < eth_hdr_len + sizeof(*ip6)) return (0); switch (ip6->ip6_nxt) { @@ -234,7 +242,7 @@ mlx5e_get_full_header_size(struct mbuf *mb) } if (mb->m_len < eth_hdr_len + sizeof(*th)) return (0); - th = (struct tcphdr *)(mb->m_data + eth_hdr_len); + th = (const struct tcphdr *)(mb->m_data + eth_hdr_len); tcp_hlen = th->th_off << 2; eth_hdr_len += tcp_hlen; done: From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:20:16 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BC93834B409; Thu, 18 Jun 2020 10:20:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49ndH44YN7z4SKW; Thu, 18 Jun 2020 10:20:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9787A2FBCD; Thu, 18 Jun 2020 10:20:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IAKGUs063555; Thu, 18 Jun 2020 10:20:16 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IAKGr5063554; Thu, 18 Jun 2020 10:20:16 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181020.05IAKGr5063554@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:20:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362309 - stable/11/sys/dev/mlx5/mlx5_en X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 362309 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:20:16 -0000 Author: hselasky Date: Thu Jun 18 10:20:16 2020 New Revision: 362309 URL: https://svnweb.freebsd.org/changeset/base/362309 Log: MFC r362044: Extend use of unlikely() in the fast path, in mlx5en(4). Typically the TCP/IP headers fit within the first mbuf and should not trigger any of the error cases. Use unlikely() for these cases. No functional change. Sponsored by: Mellanox Technologies Modified: stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Jun 18 10:19:37 2020 (r362308) +++ stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Jun 18 10:20:16 2020 (r362309) @@ -193,10 +193,10 @@ mlx5e_get_full_header_size(const struct mbuf *mb) int eth_hdr_len; eh = mtod(mb, const struct ether_vlan_header *); - if (mb->m_len < ETHER_HDR_LEN) + if (unlikely(mb->m_len < ETHER_HDR_LEN)) return (0); if (eh->evl_encap_proto == htons(ETHERTYPE_VLAN)) { - if (mb->m_len < (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)) + if (unlikely(mb->m_len < (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN))) return (0); eth_type = ntohs(eh->evl_proto); eth_hdr_len = ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN; @@ -207,7 +207,7 @@ mlx5e_get_full_header_size(const struct mbuf *mb) switch (eth_type) { case ETHERTYPE_IP: ip = (const struct ip *)(mb->m_data + eth_hdr_len); - if (mb->m_len < eth_hdr_len + sizeof(*ip)) + if (unlikely(mb->m_len < eth_hdr_len + sizeof(*ip))) return (0); switch (ip->ip_p) { case IPPROTO_TCP: @@ -224,7 +224,7 @@ mlx5e_get_full_header_size(const struct mbuf *mb) break; case ETHERTYPE_IPV6: ip6 = (const struct ip6_hdr *)(mb->m_data + eth_hdr_len); - if (mb->m_len < eth_hdr_len + sizeof(*ip6)) + if (unlikely(mb->m_len < eth_hdr_len + sizeof(*ip6))) return (0); switch (ip6->ip6_nxt) { case IPPROTO_TCP: @@ -240,7 +240,7 @@ mlx5e_get_full_header_size(const struct mbuf *mb) default: return (0); } - if (mb->m_len < eth_hdr_len + sizeof(*th)) + if (unlikely(mb->m_len < eth_hdr_len + sizeof(*th))) return (0); th = (const struct tcphdr *)(mb->m_data + eth_hdr_len); tcp_hlen = th->th_off << 2; @@ -251,7 +251,7 @@ done: * does not need to reside within the first m_len bytes of * data: */ - if (mb->m_pkthdr.len < eth_hdr_len) + if (unlikely(mb->m_pkthdr.len < eth_hdr_len)) return (0); return (eth_hdr_len); } From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:40:16 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A85FD34BB30; Thu, 18 Jun 2020 10:40:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49ndk83qsSz4TVx; Thu, 18 Jun 2020 10:40:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7B47C8419; Thu, 18 Jun 2020 10:40:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IAeGjt075860; Thu, 18 Jun 2020 10:40:16 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IAeGfi075859; Thu, 18 Jun 2020 10:40:16 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181040.05IAeGfi075859@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:40:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362312 - stable/11/sys/dev/mlx5/mlx5_en X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/dev/mlx5/mlx5_en X-SVN-Commit-Revision: 362312 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:40:16 -0000 Author: hselasky Date: Thu Jun 18 10:40:16 2020 New Revision: 362312 URL: https://svnweb.freebsd.org/changeset/base/362312 Log: MFC r362045: Make sure packets generated by raw IP code is let through by mlx5en(4). Allow the TCP header to reside in the mbuf following the IP header. Else such packets will get dropped. Backtrace: mlx5e_sq_xmit() mlx5e_xmit() ether_output_frame() ether_output() ip_output_send() ip_output() rip_output() sosend_generic() sosend() kern_sendit() sendit() sys_sendto() amd64_syscall() fast_syscall_common() Sponsored by: Mellanox Technologies Modified: stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Jun 18 10:38:02 2020 (r362311) +++ stable/11/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Jun 18 10:40:16 2020 (r362312) @@ -240,9 +240,15 @@ mlx5e_get_full_header_size(const struct mbuf *mb) default: return (0); } - if (unlikely(mb->m_len < eth_hdr_len + sizeof(*th))) - return (0); - th = (const struct tcphdr *)(mb->m_data + eth_hdr_len); + if (unlikely(mb->m_len < eth_hdr_len + sizeof(*th))) { + const struct mbuf *m_th = mb->m_next; + if (unlikely(mb->m_len != eth_hdr_len || + m_th == NULL || m_th->m_len < sizeof(*th))) + return (0); + th = (const struct tcphdr *)(m_th->m_data); + } else { + th = (const struct tcphdr *)(mb->m_data + eth_hdr_len); + } tcp_hlen = th->th_off << 2; eth_hdr_len += tcp_hlen; done: From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:46:06 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3323234C02C; Thu, 18 Jun 2020 10:46:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49ndrt0Wd9z4VFS; Thu, 18 Jun 2020 10:46:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0AA2A85C4; Thu, 18 Jun 2020 10:46:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IAk53R081985; Thu, 18 Jun 2020 10:46:05 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IAk5nI081984; Thu, 18 Jun 2020 10:46:05 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181046.05IAk5nI081984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:46:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362315 - stable/11/sys/compat/linuxkpi/common/include/linux X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 362315 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:46:06 -0000 Author: hselasky Date: Thu Jun 18 10:46:05 2020 New Revision: 362315 URL: https://svnweb.freebsd.org/changeset/base/362315 Log: MFC r361722: Implement BUILD_BUG_ON_ZERO() in the LinuxKPI. Tested using gcc and clang. Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h ============================================================================== --- stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Thu Jun 18 10:45:30 2020 (r362314) +++ stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Thu Jun 18 10:46:05 2020 (r362315) @@ -94,6 +94,9 @@ #define BUILD_BUG_ON_NOT_POWER_OF_2(x) BUILD_BUG_ON(!powerof2(x)) #define BUILD_BUG_ON_INVALID(expr) while (0) { (void)(expr); } +extern const volatile int lkpi_build_bug_on_zero; +#define BUILD_BUG_ON_ZERO(x) ((x) ? lkpi_build_bug_on_zero : 0) + #define BUG() panic("BUG at %s:%d", __FILE__, __LINE__) #define BUG_ON(cond) do { \ if (cond) { \ From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:47:30 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 916FF34C065; Thu, 18 Jun 2020 10:47:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49ndtV3GHkz4VMy; Thu, 18 Jun 2020 10:47:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6B3802FF68; Thu, 18 Jun 2020 10:47:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IAlUaS082167; Thu, 18 Jun 2020 10:47:30 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IAlUKq082166; Thu, 18 Jun 2020 10:47:30 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181047.05IAlUKq082166@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:47:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362317 - stable/11/sys/compat/linuxkpi/common/include/linux X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 362317 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:47:30 -0000 Author: hselasky Date: Thu Jun 18 10:47:30 2020 New Revision: 362317 URL: https://svnweb.freebsd.org/changeset/base/362317 Log: MFC r361723: Implement struct_size() function macro in the LinuxKPI. Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h ============================================================================== --- stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Thu Jun 18 10:46:58 2020 (r362316) +++ stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Thu Jun 18 10:47:30 2020 (r362317) @@ -527,4 +527,10 @@ linux_ratelimited(linux_ratelimit_t *rl) return (ppsratecheck(&rl->lasttime, &rl->counter, 1)); } +#define struct_size(ptr, field, num) ({ \ + const size_t __size = offsetof(__typeof(*(ptr)), field); \ + const size_t __max = (SIZE_MAX - __size) / sizeof((ptr)->field[0]); \ + ((num) > __max) ? SIZE_MAX : (__size + sizeof((ptr)->field[0]) * (num)); \ +}) + #endif /* _LINUX_KERNEL_H_ */ From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:50:59 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DC85134C23D; Thu, 18 Jun 2020 10:50:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49ndyW5VB1z4Vk2; Thu, 18 Jun 2020 10:50:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B7AE486BC; Thu, 18 Jun 2020 10:50:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IAoxkZ082528; Thu, 18 Jun 2020 10:50:59 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IAoxJo082526; Thu, 18 Jun 2020 10:50:59 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181050.05IAoxJo082526@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:50:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362320 - in stable/11/sys: compat/linuxkpi/common/include/linux sys X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in stable/11/sys: compat/linuxkpi/common/include/linux sys X-SVN-Commit-Revision: 362320 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:50:59 -0000 Author: hselasky Date: Thu Jun 18 10:50:59 2020 New Revision: 362320 URL: https://svnweb.freebsd.org/changeset/base/362320 Log: MFC r361724: Implement __is_constexpr() function macro in the LinuxKPI. Bump the FreeBSD version. Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h stable/11/sys/sys/param.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h ============================================================================== --- stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Thu Jun 18 10:49:49 2020 (r362319) +++ stable/11/sys/compat/linuxkpi/common/include/linux/kernel.h Thu Jun 18 10:50:59 2020 (r362320) @@ -533,4 +533,7 @@ linux_ratelimited(linux_ratelimit_t *rl) ((num) > __max) ? SIZE_MAX : (__size + sizeof((ptr)->field[0]) * (num)); \ }) +#define __is_constexpr(x) \ + __builtin_constant_p(x) + #endif /* _LINUX_KERNEL_H_ */ Modified: stable/11/sys/sys/param.h ============================================================================== --- stable/11/sys/sys/param.h Thu Jun 18 10:49:49 2020 (r362319) +++ stable/11/sys/sys/param.h Thu Jun 18 10:50:59 2020 (r362320) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1104500 /* Master, propagated to newvers */ +#define __FreeBSD_version 1104501 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-stable-11@freebsd.org Thu Jun 18 10:55:47 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C29834C3F2; Thu, 18 Jun 2020 10:55:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nf430qbwz4WXH; Thu, 18 Jun 2020 10:55:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 17A9D888B; Thu, 18 Jun 2020 10:55:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IAtkvr088599; Thu, 18 Jun 2020 10:55:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IAtkr8088598; Thu, 18 Jun 2020 10:55:46 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202006181055.05IAtkr8088598@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 18 Jun 2020 10:55:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362323 - stable/11/sys/compat/linuxkpi/common/include/linux X-SVN-Group: stable-11 X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: stable/11/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 362323 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 10:55:47 -0000 Author: hselasky Date: Thu Jun 18 10:55:46 2020 New Revision: 362323 URL: https://svnweb.freebsd.org/changeset/base/362323 Log: MFC r361828: Ensure pci_channel_offline() actually queries the PCI register space, and not only the software cache of that register. Else pci_channel_offline() won't detect that the PCI device is gone when using the LinuxKPI. Sponsored by: Mellanox Technologies Modified: stable/11/sys/compat/linuxkpi/common/include/linux/pci.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/include/linux/pci.h ============================================================================== --- stable/11/sys/compat/linuxkpi/common/include/linux/pci.h Thu Jun 18 10:53:40 2020 (r362322) +++ stable/11/sys/compat/linuxkpi/common/include/linux/pci.h Thu Jun 18 10:55:46 2020 (r362323) @@ -664,7 +664,7 @@ static inline int pci_channel_offline(struct pci_dev *pdev) { - return (pci_get_vendor(pdev->dev.bsddev) == PCIV_INVALID); + return (pci_read_config(pdev->dev.bsddev, PCIR_VENDOR, 2) == PCIV_INVALID); } static inline int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn) From owner-svn-src-stable-11@freebsd.org Thu Jun 18 15:44:41 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6DE22353AC7; Thu, 18 Jun 2020 15:44:41 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49nmTP2H5Pz4sKk; Thu, 18 Jun 2020 15:44:41 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 49693C1B3; Thu, 18 Jun 2020 15:44:41 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05IFifYN067781; Thu, 18 Jun 2020 15:44:41 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05IFie34067776; Thu, 18 Jun 2020 15:44:40 GMT (envelope-from royger@FreeBSD.org) Message-Id: <202006181544.05IFie34067776@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Date: Thu, 18 Jun 2020 15:44:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362331 - in stable/11/sys: dev/xen/console dev/xen/control dev/xen/evtchn x86/xen X-SVN-Group: stable-11 X-SVN-Commit-Author: royger X-SVN-Commit-Paths: in stable/11/sys: dev/xen/console dev/xen/control dev/xen/evtchn x86/xen X-SVN-Commit-Revision: 362331 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 15:44:41 -0000 Author: royger Date: Thu Jun 18 15:44:40 2020 New Revision: 362331 URL: https://svnweb.freebsd.org/changeset/base/362331 Log: MFC r352925: xen/ctrl: acknowledge all control requests MFC r357616: xen/console: fix priority of Xen console MFC r361274: dev/xenstore: fix return with locks held Note this should be dev/evtchn not dev/xenstore. MFC r361578: xenpv: do not use low 1MB for Xen mappings on i386 MFC r361580: xen/control: short circuit xctrl_on_watch_event on spurious event Those are all Xen related fixes or minor improvements that have been sitting on current for a reasonable time without complaints. Sponsored by: Citrix Systems R&D Modified: stable/11/sys/dev/xen/console/xen_console.c stable/11/sys/dev/xen/control/control.c stable/11/sys/dev/xen/evtchn/evtchn_dev.c stable/11/sys/x86/xen/xenpv.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/xen/console/xen_console.c ============================================================================== --- stable/11/sys/dev/xen/console/xen_console.c Thu Jun 18 15:41:16 2020 (r362330) +++ stable/11/sys/dev/xen/console/xen_console.c Thu Jun 18 15:44:40 2020 (r362331) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -592,7 +593,7 @@ xencons_cnprobe(struct consdev *cp) if (!xen_pv_domain()) return; - cp->cn_pri = CN_REMOTE; + cp->cn_pri = (boothowto & RB_SERIAL) ? CN_REMOTE : CN_NORMAL; sprintf(cp->cn_name, "%s0", driver_name); } Modified: stable/11/sys/dev/xen/control/control.c ============================================================================== --- stable/11/sys/dev/xen/control/control.c Thu Jun 18 15:41:16 2020 (r362330) +++ stable/11/sys/dev/xen/control/control.c Thu Jun 18 15:44:40 2020 (r362331) @@ -219,12 +219,6 @@ xctrl_suspend() KASSERT((PCPU_GET(cpuid) == 0), ("Not running on CPU#0")); /* - * Clear our XenStore node so the toolstack knows we are - * responding to the suspend request. - */ - xs_write(XST_NIL, "control", "shutdown", ""); - - /* * Be sure to hold Giant across DEVICE_SUSPEND/RESUME since non-MPSAFE * drivers need this. */ @@ -364,8 +358,13 @@ xctrl_on_watch_event(struct xs_watch *watch, const cha error = xs_read(XST_NIL, "control", "shutdown", &result_len, (void **)&result); - if (error != 0) + if (error != 0 || result_len == 0) return; + + /* Acknowledge the request by writing back an empty string. */ + error = xs_write(XST_NIL, "control", "shutdown", ""); + if (error != 0) + printf("unable to ack shutdown request, proceeding anyway\n"); reason = xctrl_shutdown_reasons; last_reason = reason + nitems(xctrl_shutdown_reasons); Modified: stable/11/sys/dev/xen/evtchn/evtchn_dev.c ============================================================================== --- stable/11/sys/dev/xen/evtchn/evtchn_dev.c Thu Jun 18 15:41:16 2020 (r362330) +++ stable/11/sys/dev/xen/evtchn/evtchn_dev.c Thu Jun 18 15:44:40 2020 (r362331) @@ -261,9 +261,10 @@ evtchn_read(struct cdev *dev, struct uio *uio, int iof sx_xlock(&u->ring_cons_mutex); for (;;) { - error = EFBIG; - if (u->ring_overflow) + if (u->ring_overflow) { + error = EFBIG; goto unlock_out; + } c = u->ring_cons; p = u->ring_prod; @@ -271,13 +272,13 @@ evtchn_read(struct cdev *dev, struct uio *uio, int iof break; if (ioflag & IO_NDELAY) { - sx_xunlock(&u->ring_cons_mutex); - return (EWOULDBLOCK); + error = EWOULDBLOCK; + goto unlock_out; } error = sx_sleep(u, &u->ring_cons_mutex, PCATCH, "evtchw", 0); if ((error != 0) && (error != EWOULDBLOCK)) - return (error); + goto unlock_out; } /* Byte lengths of two chunks. Chunk split (if any) is at ring wrap. */ Modified: stable/11/sys/x86/xen/xenpv.c ============================================================================== --- stable/11/sys/x86/xen/xenpv.c Thu Jun 18 15:41:16 2020 (r362330) +++ stable/11/sys/x86/xen/xenpv.c Thu Jun 18 15:44:40 2020 (r362331) @@ -54,12 +54,14 @@ __FBSDID("$FreeBSD$"); * prevent clashes with MMIO/ACPI regions. * * Since this is not possible on i386 just use any available memory - * chunk and hope we don't clash with anything else. + * chunk above 1MB and hope we don't clash with anything else. */ #ifdef __amd64__ #define LOW_MEM_LIMIT 0x100000000ul +#elif defined(__i386__) +#define LOW_MEM_LIMIT 0x100000ul #else -#define LOW_MEM_LIMIT 0 +#error "Unsupported architecture" #endif static devclass_t xenpv_devclass; From owner-svn-src-stable-11@freebsd.org Fri Jun 19 06:35:58 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C9C803413FF; Fri, 19 Jun 2020 06:35:58 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49p8Fp4lNYz4cbN; Fri, 19 Jun 2020 06:35:58 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E12F16A77; Fri, 19 Jun 2020 06:35:58 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05J6ZwYu020018; Fri, 19 Jun 2020 06:35:58 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05J6Zwiu020015; Fri, 19 Jun 2020 06:35:58 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <202006190635.05J6Zwiu020015@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Fri, 19 Jun 2020 06:35:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362366 - in stable/11: sbin/ifconfig sys/net X-SVN-Group: stable-11 X-SVN-Commit-Author: rpokala X-SVN-Commit-Paths: in stable/11: sbin/ifconfig sys/net X-SVN-Commit-Revision: 362366 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 06:35:58 -0000 Author: rpokala Date: Fri Jun 19 06:35:57 2020 New Revision: 362366 URL: https://svnweb.freebsd.org/changeset/base/362366 Log: MFC r362078: Decode the "LACP Fast Timeout" LAGG option flag r286700 added the "lacp_fast_timeout" option to `ifconfig', but we forgot to include the new option in the string used to decode the option bits. Add "LACP_FAST_TIMO" to LAGG_OPT_BITS. Also, s/LAGG_OPT_LACP_TIMEOUT/LAGG_OPT_LACP_FAST_TIMO/g , to be clearer that the flag indicates "Fast Timeout" mode. Modified: stable/11/sbin/ifconfig/iflagg.c stable/11/sys/net/if_lagg.c stable/11/sys/net/if_lagg.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ifconfig/iflagg.c ============================================================================== --- stable/11/sbin/ifconfig/iflagg.c Fri Jun 19 06:23:55 2020 (r362365) +++ stable/11/sbin/ifconfig/iflagg.c Fri Jun 19 06:35:57 2020 (r362366) @@ -128,8 +128,8 @@ setlaggsetopt(const char *val, int d, int s, const str case -LAGG_OPT_LACP_TXTEST: case LAGG_OPT_LACP_RXTEST: case -LAGG_OPT_LACP_RXTEST: - case LAGG_OPT_LACP_TIMEOUT: - case -LAGG_OPT_LACP_TIMEOUT: + case LAGG_OPT_LACP_FAST_TIMO: + case -LAGG_OPT_LACP_FAST_TIMO: break; default: err(1, "Invalid lagg option"); @@ -301,8 +301,8 @@ static struct cmd lagg_cmds[] = { DEF_CMD("-lacp_txtest", -LAGG_OPT_LACP_TXTEST, setlaggsetopt), DEF_CMD("lacp_rxtest", LAGG_OPT_LACP_RXTEST, setlaggsetopt), DEF_CMD("-lacp_rxtest", -LAGG_OPT_LACP_RXTEST, setlaggsetopt), - DEF_CMD("lacp_fast_timeout", LAGG_OPT_LACP_TIMEOUT, setlaggsetopt), - DEF_CMD("-lacp_fast_timeout", -LAGG_OPT_LACP_TIMEOUT, setlaggsetopt), + DEF_CMD("lacp_fast_timeout", LAGG_OPT_LACP_FAST_TIMO, setlaggsetopt), + DEF_CMD("-lacp_fast_timeout", -LAGG_OPT_LACP_FAST_TIMO, setlaggsetopt), DEF_CMD_ARG("flowid_shift", setlaggflowidshift), DEF_CMD_ARG("rr_limit", setlaggrr_limit), }; Modified: stable/11/sys/net/if_lagg.c ============================================================================== --- stable/11/sys/net/if_lagg.c Fri Jun 19 06:23:55 2020 (r362365) +++ stable/11/sys/net/if_lagg.c Fri Jun 19 06:35:57 2020 (r362366) @@ -1194,7 +1194,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data if (lsc->lsc_strict_mode != 0) ro->ro_opts |= LAGG_OPT_LACP_STRICT; if (lsc->lsc_fast_timeout != 0) - ro->ro_opts |= LAGG_OPT_LACP_TIMEOUT; + ro->ro_opts |= LAGG_OPT_LACP_FAST_TIMO; ro->ro_active = sc->sc_active; } else { @@ -1238,8 +1238,8 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data case -LAGG_OPT_LACP_RXTEST: case LAGG_OPT_LACP_STRICT: case -LAGG_OPT_LACP_STRICT: - case LAGG_OPT_LACP_TIMEOUT: - case -LAGG_OPT_LACP_TIMEOUT: + case LAGG_OPT_LACP_FAST_TIMO: + case -LAGG_OPT_LACP_FAST_TIMO: valid = lacp = 1; break; default: @@ -1292,14 +1292,14 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data case -LAGG_OPT_LACP_STRICT: lsc->lsc_strict_mode = 0; break; - case LAGG_OPT_LACP_TIMEOUT: + case LAGG_OPT_LACP_FAST_TIMO: LACP_LOCK(lsc); LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) lp->lp_state |= LACP_STATE_TIMEOUT; LACP_UNLOCK(lsc); lsc->lsc_fast_timeout = 1; break; - case -LAGG_OPT_LACP_TIMEOUT: + case -LAGG_OPT_LACP_FAST_TIMO: LACP_LOCK(lsc); LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) lp->lp_state &= ~LACP_STATE_TIMEOUT; Modified: stable/11/sys/net/if_lagg.h ============================================================================== --- stable/11/sys/net/if_lagg.h Fri Jun 19 06:23:55 2020 (r362365) +++ stable/11/sys/net/if_lagg.h Fri Jun 19 06:35:57 2020 (r362366) @@ -148,7 +148,7 @@ struct lagg_reqopts { #define LAGG_OPT_LACP_STRICT 0x10 /* LACP strict mode */ #define LAGG_OPT_LACP_TXTEST 0x20 /* LACP debug: txtest */ #define LAGG_OPT_LACP_RXTEST 0x40 /* LACP debug: rxtest */ -#define LAGG_OPT_LACP_TIMEOUT 0x80 /* LACP timeout */ +#define LAGG_OPT_LACP_FAST_TIMO 0x80 /* LACP fast timeout */ u_int ro_count; /* number of ports */ u_int ro_active; /* active port count */ u_int ro_flapping; /* number of flapping */ @@ -160,7 +160,8 @@ struct lagg_reqopts { #define SIOCSLAGGOPTS _IOW('i', 153, struct lagg_reqopts) #define LAGG_OPT_BITS "\020\001USE_FLOWID\005LACP_STRICT" \ - "\006LACP_TXTEST\007LACP_RXTEST" + "\006LACP_TXTEST\007LACP_RXTEST" \ + "\010LACP_FAST_TIMO" #ifdef _KERNEL From owner-svn-src-stable-11@freebsd.org Fri Jun 19 11:45:13 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0BD18348669; Fri, 19 Jun 2020 11:45:13 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pH6c6X07z3yCg; Fri, 19 Jun 2020 11:45:12 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BCB001A8AC; Fri, 19 Jun 2020 11:45:12 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JBjCFu009865; Fri, 19 Jun 2020 11:45:12 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JBjCEQ009817; Fri, 19 Jun 2020 11:45:12 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202006191145.05JBjCEQ009817@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Fri, 19 Jun 2020 11:45:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362375 - in stable: 11/sys/kern 12/sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: in stable: 11/sys/kern 12/sys/kern X-SVN-Commit-Revision: 362375 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 11:45:13 -0000 Author: freqlabs Date: Fri Jun 19 11:45:12 2020 New Revision: 362375 URL: https://svnweb.freebsd.org/changeset/base/362375 Log: MFC r362252: Apply default security flavor in vfs_export Reported by: npn Reviewed by: rmacklem Approved by: mav (mentor) Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25300 Modified: stable/11/sys/kern/vfs_export.c stable/11/sys/kern/vfs_mount.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/sys/kern/vfs_export.c stable/12/sys/kern/vfs_mount.c Directory Properties: stable/12/ (props changed) Modified: stable/11/sys/kern/vfs_export.c ============================================================================== --- stable/11/sys/kern/vfs_export.c Fri Jun 19 11:32:42 2020 (r362374) +++ stable/11/sys/kern/vfs_export.c Fri Jun 19 11:45:12 2020 (r362375) @@ -59,6 +59,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); static struct radix_node_head *vfs_create_addrlist_af( @@ -303,7 +306,7 @@ vfs_export(struct mount *mp, struct export_args *argp) return (EINVAL); if ((argp->ex_flags & MNT_EXPORTED) != 0 && - (argp->ex_numsecflavors <= 0 + (argp->ex_numsecflavors < 0 || argp->ex_numsecflavors >= MAXSECFLAVORS)) return (EINVAL); @@ -340,6 +343,10 @@ vfs_export(struct mount *mp, struct export_args *argp) MNT_ILOCK(mp); mp->mnt_flag |= MNT_EXPUBLIC; MNT_IUNLOCK(mp); + } + if (argp->ex_numsecflavors == 0) { + argp->ex_numsecflavors = 1; + argp->ex_secflavors[0] = AUTH_SYS; } if ((error = vfs_hang_addrlist(mp, nep, argp))) goto out; Modified: stable/11/sys/kern/vfs_mount.c ============================================================================== --- stable/11/sys/kern/vfs_mount.c Fri Jun 19 11:32:42 2020 (r362374) +++ stable/11/sys/kern/vfs_mount.c Fri Jun 19 11:45:12 2020 (r362375) @@ -65,9 +65,6 @@ __FBSDID("$FreeBSD$"); #include -#include -#include - #include #include @@ -2056,18 +2053,13 @@ kernel_vmount(int flags, ...) * Convert the old export args format into new export args. * * The old export args struct does not have security flavors. Otherwise, the - * structs are identical. The default security flavor 'sys' is applied when - * the given args export the filesystem. + * structs are identical. The default security flavor 'sys' is applied by + * vfs_export when .ex_numsecflavors is 0. */ void vfs_oexport_conv(const struct oexport_args *oexp, struct export_args *exp) { bcopy(oexp, exp, sizeof(*oexp)); - if (exp->ex_flags & MNT_EXPORTED) { - exp->ex_numsecflavors = 1; - exp->ex_secflavors[0] = AUTH_SYS; - } else { - exp->ex_numsecflavors = 0; - } + exp->ex_numsecflavors = 0; } From owner-svn-src-stable-11@freebsd.org Fri Jun 19 12:38:28 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3ABD734A909; Fri, 19 Jun 2020 12:38:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pJJ40MD2z42QD; Fri, 19 Jun 2020 12:38:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 076381B228; Fri, 19 Jun 2020 12:38:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JCcRfn040755; Fri, 19 Jun 2020 12:38:27 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JCcRr5040754; Fri, 19 Jun 2020 12:38:27 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006191238.05JCcRr5040754@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 19 Jun 2020 12:38:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362378 - stable/11/libexec/rtld-elf X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/libexec/rtld-elf X-SVN-Commit-Revision: 362378 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 12:38:28 -0000 Author: kib Date: Fri Jun 19 12:38:27 2020 New Revision: 362378 URL: https://svnweb.freebsd.org/changeset/base/362378 Log: MFC r362128: rtld: set osrel when in the direct exec mode. Modified: stable/11/libexec/rtld-elf/rtld.c Directory Properties: stable/11/ (props changed) Modified: stable/11/libexec/rtld-elf/rtld.c ============================================================================== --- stable/11/libexec/rtld-elf/rtld.c Fri Jun 19 12:35:29 2020 (r362377) +++ stable/11/libexec/rtld-elf/rtld.c Fri Jun 19 12:38:27 2020 (r362378) @@ -366,9 +366,9 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entr const char *binpath; caddr_t imgentry; char buf[MAXPATHLEN]; - int argc, fd, i, mib[2], phnum, rtld_argc; - size_t len; - bool dir_enable, explicit_fd, search_in_path; + int argc, fd, i, mib[4], old_osrel, osrel, phnum, rtld_argc; + size_t len, sz; + bool dir_enable, direct_exec, explicit_fd, search_in_path; /* * On entry, the dynamic linker itself has not been relocated yet. @@ -427,6 +427,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entr } trust = !issetugid(); + direct_exec = false; md_abi_variant_hook(aux_info); @@ -442,6 +443,21 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entr argv0); rtld_die(); } + direct_exec = true; + + /* + * Set osrel for us, it is later reset to the binary' + * value before first instruction of code from the binary + * is executed. + */ + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_OSREL; + mib[3] = getpid(); + osrel = __FreeBSD_version; + sz = sizeof(old_osrel); + (void)sysctl(mib, 4, &old_osrel, &sz, &osrel, sizeof(osrel)); + dbg("opening main program in direct exec mode"); if (argc >= 2) { rtld_argc = parse_args(argv, argc, &search_in_path, &fd); @@ -772,6 +788,18 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entr * init functions. */ pre_init(); + + if (direct_exec) { + /* Set osrel for direct-execed binary */ + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_OSREL; + mib[3] = getpid(); + osrel = obj_main->osrel; + sz = sizeof(old_osrel); + dbg("setting osrel to %d", osrel); + (void)sysctl(mib, 4, &old_osrel, &sz, &osrel, sizeof(osrel)); + } wlock_acquire(rtld_bind_lock, &lockstate); From owner-svn-src-stable-11@freebsd.org Fri Jun 19 13:46:07 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CEE8334C0CA; Fri, 19 Jun 2020 13:46:07 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pKp741Y3z46Ch; Fri, 19 Jun 2020 13:46:07 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C7F61BAD9; Fri, 19 Jun 2020 13:46:07 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JDk7Es083462; Fri, 19 Jun 2020 13:46:07 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JDk7KW083461; Fri, 19 Jun 2020 13:46:07 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006191346.05JDk7KW083461@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 19 Jun 2020 13:46:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362380 - stable/11/sys/x86/include X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/sys/x86/include X-SVN-Commit-Revision: 362380 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 13:46:07 -0000 Author: kib Date: Fri Jun 19 13:46:06 2020 New Revision: 362380 URL: https://svnweb.freebsd.org/changeset/base/362380 Log: MFC r340716 (by bwidawsk): Add definitions for Intel Speed Shift. Modified: stable/11/sys/x86/include/specialreg.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/x86/include/specialreg.h ============================================================================== --- stable/11/sys/x86/include/specialreg.h Fri Jun 19 13:09:00 2020 (r362379) +++ stable/11/sys/x86/include/specialreg.h Fri Jun 19 13:46:06 2020 (r362380) @@ -187,6 +187,12 @@ #define CPUTPM1_SENSOR 0x00000001 #define CPUTPM1_TURBO 0x00000002 #define CPUTPM1_ARAT 0x00000004 +#define CPUTPM1_HWP 0x00000080 +#define CPUTPM1_HWP_NOTIFICATION 0x00000100 +#define CPUTPM1_HWP_ACTIVITY_WINDOW 0x00000200 +#define CPUTPM1_HWP_PERF_PREF 0x00000400 +#define CPUTPM1_HWP_PKG 0x00000800 +#define CPUTPM1_HWP_FLEXIBLE 0x00020000 #define CPUTPM2_EFFREQ 0x00000001 /* @@ -519,7 +525,14 @@ #define MSR_DRAM_ENERGY_STATUS 0x619 #define MSR_PP0_ENERGY_STATUS 0x639 #define MSR_PP1_ENERGY_STATUS 0x641 +#define MSR_PPERF 0x64e #define MSR_TSC_DEADLINE 0x6e0 /* Writes are not serializing */ +#define MSR_IA32_PM_ENABLE 0x770 +#define MSR_IA32_HWP_CAPABILITIES 0x771 +#define MSR_IA32_HWP_REQUEST_PKG 0x772 +#define MSR_IA32_HWP_INTERRUPT 0x773 +#define MSR_IA32_HWP_REQUEST 0x774 +#define MSR_IA32_HWP_STATUS 0x777 /* * VMX MSRs @@ -616,6 +629,25 @@ /* MSR IA32_FLUSH_CMD */ #define IA32_FLUSH_CMD_L1D 0x00000001 + +/* MSR IA32_HWP_CAPABILITIES */ +#define IA32_HWP_CAPABILITIES_HIGHEST_PERFORMANCE(x) (((x) >> 0) & 0xff) +#define IA32_HWP_CAPABILITIES_GUARANTEED_PERFORMANCE(x) (((x) >> 8) & 0xff) +#define IA32_HWP_CAPABILITIES_EFFICIENT_PERFORMANCE(x) (((x) >> 16) & 0xff) +#define IA32_HWP_CAPABILITIES_LOWEST_PERFORMANCE(x) (((x) >> 24) & 0xff) + +/* MSR IA32_HWP_REQUEST */ +#define IA32_HWP_REQUEST_MINIMUM_VALID (1ULL << 63) +#define IA32_HWP_REQUEST_MAXIMUM_VALID (1ULL << 62) +#define IA32_HWP_REQUEST_DESIRED_VALID (1ULL << 61) +#define IA32_HWP_REQUEST_EPP_VALID (1ULL << 60) +#define IA32_HWP_REQUEST_ACTIVITY_WINDOW_VALID (1ULL << 59) +#define IA32_HWP_REQUEST_PACKAGE_CONTROL (1ULL << 42) +#define IA32_HWP_ACTIVITY_WINDOW (0x3ffULL << 32) +#define IA32_HWP_REQUEST_ENERGY_PERFORMANCE_PREFERENCE (0xffULL << 24) +#define IA32_HWP_DESIRED_PERFORMANCE (0xffULL << 16) +#define IA32_HWP_REQUEST_MAXIMUM_PERFORMANCE (0xffULL << 8) +#define IA32_HWP_MINIMUM_PERFORMANCE (0xffULL << 0) /* * PAT modes. From owner-svn-src-stable-11@freebsd.org Fri Jun 19 13:46:46 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 97F4534C2B3; Fri, 19 Jun 2020 13:46:46 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pKpt3bnHz46Wv; Fri, 19 Jun 2020 13:46:46 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 76E651BFA6; Fri, 19 Jun 2020 13:46:46 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JDkkic083543; Fri, 19 Jun 2020 13:46:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JDkkdO083542; Fri, 19 Jun 2020 13:46:46 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006191346.05JDkkdO083542@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 19 Jun 2020 13:46:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362381 - in stable/11/sys/x86: include x86 X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in stable/11/sys/x86: include x86 X-SVN-Commit-Revision: 362381 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 13:46:46 -0000 Author: kib Date: Fri Jun 19 13:46:45 2020 New Revision: 362381 URL: https://svnweb.freebsd.org/changeset/base/362381 Log: MFC r348130 (by cem): Decode and name additional x86 feature bits. Modified: stable/11/sys/x86/include/specialreg.h stable/11/sys/x86/x86/identcpu.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/x86/include/specialreg.h ============================================================================== --- stable/11/sys/x86/include/specialreg.h Fri Jun 19 13:46:06 2020 (r362380) +++ stable/11/sys/x86/include/specialreg.h Fri Jun 19 13:46:45 2020 (r362381) @@ -381,29 +381,41 @@ /* * CPUID instruction 7 Structured Extended Features, leaf 0 ecx info */ -#define CPUID_STDEXT2_PREFETCHWT1 0x00000001 -#define CPUID_STDEXT2_UMIP 0x00000004 -#define CPUID_STDEXT2_PKU 0x00000008 -#define CPUID_STDEXT2_OSPKE 0x00000010 -#define CPUID_STDEXT2_WAITPKG 0x00000020 -#define CPUID_STDEXT2_GFNI 0x00000100 -#define CPUID_STDEXT2_RDPID 0x00400000 -#define CPUID_STDEXT2_CLDEMOTE 0x02000000 -#define CPUID_STDEXT2_MOVDIRI 0x08000000 +#define CPUID_STDEXT2_PREFETCHWT1 0x00000001 +#define CPUID_STDEXT2_AVX512VBMI 0x00000002 +#define CPUID_STDEXT2_UMIP 0x00000004 +#define CPUID_STDEXT2_PKU 0x00000008 +#define CPUID_STDEXT2_OSPKE 0x00000010 +#define CPUID_STDEXT2_WAITPKG 0x00000020 +#define CPUID_STDEXT2_AVX512VBMI2 0x00000040 +#define CPUID_STDEXT2_GFNI 0x00000100 +#define CPUID_STDEXT2_VAES 0x00000200 +#define CPUID_STDEXT2_VPCLMULQDQ 0x00000400 +#define CPUID_STDEXT2_AVX512VNNI 0x00000800 +#define CPUID_STDEXT2_AVX512BITALG 0x00001000 +#define CPUID_STDEXT2_AVX512VPOPCNTDQ 0x00004000 +#define CPUID_STDEXT2_RDPID 0x00400000 +#define CPUID_STDEXT2_CLDEMOTE 0x02000000 +#define CPUID_STDEXT2_MOVDIRI 0x08000000 #define CPUID_STDEXT2_MOVDIRI64B 0x10000000 -#define CPUID_STDEXT2_SGXLC 0x40000000 +#define CPUID_STDEXT2_ENQCMD 0x20000000 +#define CPUID_STDEXT2_SGXLC 0x40000000 /* * CPUID instruction 7 Structured Extended Features, leaf 0 edx info */ -#define CPUID_STDEXT3_MD_CLEAR 0x00000400 -#define CPUID_STDEXT3_TSXFA 0x00002000 -#define CPUID_STDEXT3_IBPB 0x04000000 -#define CPUID_STDEXT3_STIBP 0x08000000 -#define CPUID_STDEXT3_L1D_FLUSH 0x10000000 -#define CPUID_STDEXT3_ARCH_CAP 0x20000000 -#define CPUID_STDEXT3_CORE_CAP 0x40000000 -#define CPUID_STDEXT3_SSBD 0x80000000 +#define CPUID_STDEXT3_AVX5124VNNIW 0x00000004 +#define CPUID_STDEXT3_AVX5124FMAPS 0x00000008 +#define CPUID_STDEXT3_AVX512VP2INTERSECT 0x00000100 +#define CPUID_STDEXT3_MD_CLEAR 0x00000400 +#define CPUID_STDEXT3_TSXFA 0x00002000 +#define CPUID_STDEXT3_PCONFIG 0x00040000 +#define CPUID_STDEXT3_IBPB 0x04000000 +#define CPUID_STDEXT3_STIBP 0x08000000 +#define CPUID_STDEXT3_L1D_FLUSH 0x10000000 +#define CPUID_STDEXT3_ARCH_CAP 0x20000000 +#define CPUID_STDEXT3_CORE_CAP 0x40000000 +#define CPUID_STDEXT3_SSBD 0x80000000 /* MSR IA32_ARCH_CAP(ABILITIES) bits */ #define IA32_ARCH_CAP_RDCL_NO 0x00000001 Modified: stable/11/sys/x86/x86/identcpu.c ============================================================================== --- stable/11/sys/x86/x86/identcpu.c Fri Jun 19 13:46:06 2020 (r362380) +++ stable/11/sys/x86/x86/identcpu.c Fri Jun 19 13:46:45 2020 (r362381) @@ -978,11 +978,18 @@ printcpuinfo(void) "\004PKU" "\005OSPKE" "\006WAITPKG" + "\007AVX512VBMI2" "\011GFNI" + "\012VAES" + "\013VPCLMULQDQ" + "\014AVX512VNNI" + "\015AVX512BITALG" + "\016AVX512VPOPCNTDQ" "\027RDPID" "\032CLDEMOTE" "\034MOVDIRI" "\035MOVDIRI64B" + "\036ENQCMD" "\037SGXLC" ); } @@ -991,8 +998,12 @@ printcpuinfo(void) printf("\n Structured Extended Features3=0x%b", cpu_stdext_feature3, "\020" + "\003AVX512_4VNNIW" + "\004AVX512_4FMAPS" + "\011AVX512VP2INTERSECT" "\013MD_CLEAR" "\016TSXFA" + "\023PCONFIG" "\033IBPB" "\034STIBP" "\035L1DFL" From owner-svn-src-stable-11@freebsd.org Fri Jun 19 13:47:41 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3353F34C2BC; Fri, 19 Jun 2020 13:47:41 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pKqx0ZPTz46kB; Fri, 19 Jun 2020 13:47:41 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0EF741BC50; Fri, 19 Jun 2020 13:47:41 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JDleqD083640; Fri, 19 Jun 2020 13:47:40 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JDlemL083638; Fri, 19 Jun 2020 13:47:40 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006191347.05JDlemL083638@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 19 Jun 2020 13:47:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362382 - in stable/11/sys/x86: include x86 X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in stable/11/sys/x86: include x86 X-SVN-Commit-Revision: 362382 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 13:47:41 -0000 Author: kib Date: Fri Jun 19 13:47:40 2020 New Revision: 362382 URL: https://svnweb.freebsd.org/changeset/base/362382 Log: MFC r362129: x86: add bits definitions for SRBDS mitigation control. Modified: stable/11/sys/x86/include/specialreg.h stable/11/sys/x86/x86/identcpu.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/x86/include/specialreg.h ============================================================================== --- stable/11/sys/x86/include/specialreg.h Fri Jun 19 13:46:45 2020 (r362381) +++ stable/11/sys/x86/include/specialreg.h Fri Jun 19 13:47:40 2020 (r362382) @@ -407,6 +407,7 @@ #define CPUID_STDEXT3_AVX5124VNNIW 0x00000004 #define CPUID_STDEXT3_AVX5124FMAPS 0x00000008 #define CPUID_STDEXT3_AVX512VP2INTERSECT 0x00000100 +#define CPUID_STDEXT3_MCUOPT 0x00000200 #define CPUID_STDEXT3_MD_CLEAR 0x00000400 #define CPUID_STDEXT3_TSXFA 0x00002000 #define CPUID_STDEXT3_PCONFIG 0x00040000 @@ -484,6 +485,7 @@ #define MSR_BBL_CR_BUSY 0x11b #define MSR_BBL_CR_CTL3 0x11e #define MSR_IA32_TSX_CTRL 0x122 +#define MSR_IA32_MCU_OPT_CTRL 0x123 #define MSR_SYSENTER_CS_MSR 0x174 #define MSR_SYSENTER_ESP_MSR 0x175 #define MSR_SYSENTER_EIP_MSR 0x176 @@ -641,6 +643,9 @@ /* MSR IA32_FLUSH_CMD */ #define IA32_FLUSH_CMD_L1D 0x00000001 + +/* MSR IA32_MCU_OPT_CTRL */ +#define IA32_RNGDS_MITG_DIS 0x00000001 /* MSR IA32_HWP_CAPABILITIES */ #define IA32_HWP_CAPABILITIES_HIGHEST_PERFORMANCE(x) (((x) >> 0) & 0xff) Modified: stable/11/sys/x86/x86/identcpu.c ============================================================================== --- stable/11/sys/x86/x86/identcpu.c Fri Jun 19 13:46:45 2020 (r362381) +++ stable/11/sys/x86/x86/identcpu.c Fri Jun 19 13:47:40 2020 (r362382) @@ -1001,6 +1001,7 @@ printcpuinfo(void) "\003AVX512_4VNNIW" "\004AVX512_4FMAPS" "\011AVX512VP2INTERSECT" + "\012MCUOPT" "\013MD_CLEAR" "\016TSXFA" "\023PCONFIG" From owner-svn-src-stable-11@freebsd.org Fri Jun 19 13:48:24 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9C21C34C0F9; Fri, 19 Jun 2020 13:48:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pKrm3hkrz46f9; Fri, 19 Jun 2020 13:48:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 785591BDB9; Fri, 19 Jun 2020 13:48:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JDmOHL083742; Fri, 19 Jun 2020 13:48:24 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JDmNgx083737; Fri, 19 Jun 2020 13:48:23 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006191348.05JDmNgx083737@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 19 Jun 2020 13:48:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362383 - in stable/11/sys: amd64/amd64 dev/cpuctl x86/include x86/x86 X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in stable/11/sys: amd64/amd64 dev/cpuctl x86/include x86/x86 X-SVN-Commit-Revision: 362383 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 13:48:24 -0000 Author: kib Date: Fri Jun 19 13:48:23 2020 New Revision: 362383 URL: https://svnweb.freebsd.org/changeset/base/362383 Log: MFC r362130: Control for Special Register Buffer Data Sampling mitigation. Modified: stable/11/sys/amd64/amd64/initcpu.c stable/11/sys/amd64/amd64/machdep.c stable/11/sys/dev/cpuctl/cpuctl.c stable/11/sys/x86/include/x86_var.h stable/11/sys/x86/x86/cpu_machdep.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/initcpu.c ============================================================================== --- stable/11/sys/amd64/amd64/initcpu.c Fri Jun 19 13:47:40 2020 (r362382) +++ stable/11/sys/amd64/amd64/initcpu.c Fri Jun 19 13:48:23 2020 (r362383) @@ -261,6 +261,7 @@ initializecpu(void) } hw_ibrs_recalculate(false); hw_ssb_recalculate(false); + x86_rngds_mitg_recalculate(false); switch (cpu_vendor_id) { case CPU_VENDOR_AMD: init_amd(); Modified: stable/11/sys/amd64/amd64/machdep.c ============================================================================== --- stable/11/sys/amd64/amd64/machdep.c Fri Jun 19 13:47:40 2020 (r362382) +++ stable/11/sys/amd64/amd64/machdep.c Fri Jun 19 13:48:23 2020 (r362383) @@ -1727,6 +1727,9 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) TUNABLE_INT_FETCH("hw.mds_disable", &hw_mds_disable); TUNABLE_INT_FETCH("machdep.mitigations.taa.enable", &x86_taa_enable); + TUNABLE_INT_FETCH("machdep.mitigations.rndgs.enable", + &x86_rngds_mitg_enable); + finishidentcpu(); /* Final stage of CPU initialization */ initializecpu(); /* Initialize CPU registers */ initializecpucache(); Modified: stable/11/sys/dev/cpuctl/cpuctl.c ============================================================================== --- stable/11/sys/dev/cpuctl/cpuctl.c Fri Jun 19 13:47:40 2020 (r362382) +++ stable/11/sys/dev/cpuctl/cpuctl.c Fri Jun 19 13:48:23 2020 (r362383) @@ -544,6 +544,7 @@ cpuctl_do_eval_cpu_features(int cpu, struct thread *td #endif hw_mds_recalculate(); x86_taa_recalculate(); + x86_rngds_mitg_recalculate(true); printcpuinfo(); return (0); } Modified: stable/11/sys/x86/include/x86_var.h ============================================================================== --- stable/11/sys/x86/include/x86_var.h Fri Jun 19 13:47:40 2020 (r362382) +++ stable/11/sys/x86/include/x86_var.h Fri Jun 19 13:48:23 2020 (r362383) @@ -87,6 +87,7 @@ extern int hw_mds_disable; extern int hw_ssb_active; extern int x86_taa_enable; extern int cpu_flush_rsb_ctxsw; +extern int x86_rngds_mitg_enable; struct pcb; struct thread; @@ -140,6 +141,7 @@ void hw_ibrs_recalculate(bool all_cpus); void hw_mds_recalculate(void); void hw_ssb_recalculate(bool all_cpus); void x86_taa_recalculate(void); +void x86_rngds_mitg_recalculate(bool all_cpus); void nmi_call_kdb(u_int cpu, u_int type, struct trapframe *frame); void nmi_call_kdb_smp(u_int type, struct trapframe *frame); void nmi_handle_intr(u_int type, struct trapframe *frame); Modified: stable/11/sys/x86/x86/cpu_machdep.c ============================================================================== --- stable/11/sys/x86/x86/cpu_machdep.c Fri Jun 19 13:47:40 2020 (r362382) +++ stable/11/sys/x86/x86/cpu_machdep.c Fri Jun 19 13:48:23 2020 (r362383) @@ -1364,3 +1364,57 @@ int __read_frequently cpu_flush_rsb_ctxsw; SYSCTL_INT(_machdep_mitigations, OID_AUTO, flush_rsb_ctxsw, CTLFLAG_RW | CTLFLAG_NOFETCH, &cpu_flush_rsb_ctxsw, 0, "Flush Return Stack Buffer on context switch"); + +SYSCTL_NODE(_machdep_mitigations, OID_AUTO, rngds, + CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "MCU Optimization, disable RDSEED mitigation"); + +int x86_rngds_mitg_enable = 1; +void +x86_rngds_mitg_recalculate(bool all_cpus) +{ + if ((cpu_stdext_feature3 & CPUID_STDEXT3_MCUOPT) == 0) + return; + x86_msr_op(MSR_IA32_MCU_OPT_CTRL, + (x86_rngds_mitg_enable ? MSR_OP_OR : MSR_OP_ANDNOT) | + (all_cpus ? MSR_OP_RENDEZVOUS : MSR_OP_LOCAL), + IA32_RNGDS_MITG_DIS); +} + +static int +sysctl_rngds_mitg_enable_handler(SYSCTL_HANDLER_ARGS) +{ + int error, val; + + val = x86_rngds_mitg_enable; + error = sysctl_handle_int(oidp, &val, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + x86_rngds_mitg_enable = val; + x86_rngds_mitg_recalculate(true); + return (0); +} +SYSCTL_PROC(_machdep_mitigations_rngds, OID_AUTO, enable, CTLTYPE_INT | + CTLFLAG_RWTUN | CTLFLAG_NOFETCH | CTLFLAG_MPSAFE, NULL, 0, + sysctl_rngds_mitg_enable_handler, "I", + "MCU Optimization, disabling RDSEED mitigation control " + "(0 - mitigation disabled (RDSEED optimized), 1 - mitigation enabled"); + +static int +sysctl_rngds_state_handler(SYSCTL_HANDLER_ARGS) +{ + const char *state; + + if ((cpu_stdext_feature3 & CPUID_STDEXT3_MCUOPT) == 0) { + state = "Not applicable"; + } else if (x86_rngds_mitg_enable == 0) { + state = "RDSEED not serialized"; + } else { + state = "Mitigated"; + } + return (SYSCTL_OUT(req, state, strlen(state))); +} +SYSCTL_PROC(_machdep_mitigations_rngds, OID_AUTO, state, + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, + sysctl_rngds_state_handler, "A", + "MCU Optimization state"); From owner-svn-src-stable-11@freebsd.org Sat Jun 20 04:39:53 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 64D19346958; Sat, 20 Jun 2020 04:39:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pjdP1jT3z4Mm0; Sat, 20 Jun 2020 04:39:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2EF0C26942; Sat, 20 Jun 2020 04:39:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05K4dqt8041611; Sat, 20 Jun 2020 04:39:52 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05K4dqLQ041610; Sat, 20 Jun 2020 04:39:52 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006200439.05K4dqLQ041610@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 20 Jun 2020 04:39:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362426 - stable/11/sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/sys/kern X-SVN-Commit-Revision: 362426 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jun 2020 04:39:53 -0000 Author: kib Date: Sat Jun 20 04:39:52 2020 New Revision: 362426 URL: https://svnweb.freebsd.org/changeset/base/362426 Log: MFC r311286: The callers of kern_getfsstat(UIO_SYSSPACE) expect that *buf always returns memory which must be freed, regardless of the error. Assign NULL to *buf in case we are not going to allocate any memory due to invalid mode. Modified: stable/11/sys/kern/vfs_syscalls.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/vfs_syscalls.c ============================================================================== --- stable/11/sys/kern/vfs_syscalls.c Sat Jun 20 04:27:38 2020 (r362425) +++ stable/11/sys/kern/vfs_syscalls.c Sat Jun 20 04:39:52 2020 (r362426) @@ -409,6 +409,8 @@ kern_getfsstat(struct thread *td, struct statfs **buf, case MNT_NOWAIT: break; default: + if (bufseg == UIO_SYSSPACE) + *buf = NULL; return (EINVAL); } restart: From owner-svn-src-stable-11@freebsd.org Sat Jun 20 04:41:04 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E7C03346805; Sat, 20 Jun 2020 04:41:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pjfm5ZjDz4My0; Sat, 20 Jun 2020 04:41:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BAE9026AA4; Sat, 20 Jun 2020 04:41:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05K4f48N044816; Sat, 20 Jun 2020 04:41:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05K4f40C044815; Sat, 20 Jun 2020 04:41:04 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006200441.05K4f40C044815@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 20 Jun 2020 04:41:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362427 - stable/11/usr.bin/ldd X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/usr.bin/ldd X-SVN-Commit-Revision: 362427 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jun 2020 04:41:05 -0000 Author: kib Date: Sat Jun 20 04:41:04 2020 New Revision: 362427 URL: https://svnweb.freebsd.org/changeset/base/362427 Log: MFC r362152: Fix ldd for PIE binaries after rtld stopped accepting binaries for dlopen. Modified: stable/11/usr.bin/ldd/ldd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/ldd/ldd.c ============================================================================== --- stable/11/usr.bin/ldd/ldd.c Sat Jun 20 04:39:52 2020 (r362426) +++ stable/11/usr.bin/ldd/ldd.c Sat Jun 20 04:41:04 2020 (r362427) @@ -289,10 +289,18 @@ is_executable(const char *fname, int fd, int *is_shlib #endif Elf_Ehdr elf; } hdr; - int n; + Elf_Phdr phdr, dynphdr; + Elf_Dyn *dynp; + void *dyndata; +#if __ELF_WORD_SIZE > 32 && defined(ELF32_SUPPORTED) + Elf32_Phdr phdr32, dynphdr32; + Elf32_Dyn *dynp32; +#endif + int df1pie, dynamic, i, n; *is_shlib = 0; *type = TYPE_UNKNOWN; + df1pie = 0; if ((n = read(fd, &hdr, sizeof(hdr))) == -1) { warn("%s: can't read program header", fname); @@ -319,8 +327,6 @@ is_executable(const char *fname, int fd, int *is_shlib if ((size_t)n >= sizeof(hdr.elf32) && IS_ELF(hdr.elf32) && hdr.elf32.e_ident[EI_CLASS] == ELFCLASS32) { /* Handle 32 bit ELF objects */ - Elf32_Phdr phdr; - int dynamic, i; dynamic = 0; *type = TYPE_ELF32; @@ -330,13 +336,14 @@ is_executable(const char *fname, int fd, int *is_shlib return (0); } for (i = 0; i < hdr.elf32.e_phnum; i++) { - if (read(fd, &phdr, hdr.elf32.e_phentsize) != - sizeof(phdr)) { + if (read(fd, &phdr32, hdr.elf32.e_phentsize) != + sizeof(phdr32)) { warnx("%s: can't read program header", fname); return (0); } - if (phdr.p_type == PT_DYNAMIC) { + if (phdr32.p_type == PT_DYNAMIC) { dynamic = 1; + dynphdr32 = phdr32; break; } } @@ -345,9 +352,36 @@ is_executable(const char *fname, int fd, int *is_shlib warnx("%s: not a dynamic ELF executable", fname); return (0); } + if (hdr.elf32.e_type == ET_DYN) { + if (lseek(fd, dynphdr32.p_offset, SEEK_SET) == -1) { + warnx("%s: dynamic segment out of range", + fname); + return (0); + } + dyndata = malloc(dynphdr32.p_filesz); + if (dyndata == NULL) { + warn("malloc"); + return (0); + } + if (read(fd, dyndata, dynphdr32.p_filesz) != + (ssize_t)dynphdr32.p_filesz) { + free(dyndata); + warnx("%s: can't read dynamic segment", fname); + return (0); + } + for (dynp32 = dyndata; dynp32->d_tag != DT_NULL; + dynp32++) { + if (dynp32->d_tag != DT_FLAGS_1) + continue; + df1pie = (dynp32->d_un.d_val & DF_1_PIE) != 0; + break; + } + free(dyndata); + if (hdr.elf32.e_ident[EI_OSABI] == ELFOSABI_FREEBSD) { - *is_shlib = 1; + if (!df1pie) + *is_shlib = 1; return (1); } warnx("%s: not a FreeBSD ELF shared object", fname); @@ -361,8 +395,6 @@ is_executable(const char *fname, int fd, int *is_shlib if ((size_t)n >= sizeof(hdr.elf) && IS_ELF(hdr.elf) && hdr.elf.e_ident[EI_CLASS] == ELF_TARG_CLASS) { /* Handle default ELF objects on this architecture */ - Elf_Phdr phdr; - int dynamic, i; dynamic = 0; *type = TYPE_ELF; @@ -379,6 +411,7 @@ is_executable(const char *fname, int fd, int *is_shlib } if (phdr.p_type == PT_DYNAMIC) { dynamic = 1; + dynphdr = phdr; break; } } @@ -387,10 +420,36 @@ is_executable(const char *fname, int fd, int *is_shlib warnx("%s: not a dynamic ELF executable", fname); return (0); } + if (hdr.elf.e_type == ET_DYN) { + if (lseek(fd, dynphdr.p_offset, SEEK_SET) == -1) { + warnx("%s: dynamic segment out of range", + fname); + return (0); + } + dyndata = malloc(dynphdr.p_filesz); + if (dyndata == NULL) { + warn("malloc"); + return (0); + } + if (read(fd, dyndata, dynphdr.p_filesz) != + (ssize_t)dynphdr.p_filesz) { + free(dyndata); + warnx("%s: can't read dynamic segment", fname); + return (0); + } + for (dynp = dyndata; dynp->d_tag != DT_NULL; dynp++) { + if (dynp->d_tag != DT_FLAGS_1) + continue; + df1pie = (dynp->d_un.d_val & DF_1_PIE) != 0; + break; + } + free(dyndata); + switch (hdr.elf.e_ident[EI_OSABI]) { case ELFOSABI_FREEBSD: - *is_shlib = 1; + if (!df1pie) + *is_shlib = 1; return (1); #ifdef __ARM_EABI__ case ELFOSABI_NONE: From owner-svn-src-stable-11@freebsd.org Sat Jun 20 04:42:24 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B4633346E1E; Sat, 20 Jun 2020 04:42:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pjhJ4Hrpz4NJb; Sat, 20 Jun 2020 04:42:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8ED8326C3C; Sat, 20 Jun 2020 04:42:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05K4gOlb047664; Sat, 20 Jun 2020 04:42:24 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05K4gOZg047663; Sat, 20 Jun 2020 04:42:24 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202006200442.05K4gOZg047663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 20 Jun 2020 04:42:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r362428 - stable/11/lib/libc/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/lib/libc/sys X-SVN-Commit-Revision: 362428 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jun 2020 04:42:24 -0000 Author: kib Date: Sat Jun 20 04:42:24 2020 New Revision: 362428 URL: https://svnweb.freebsd.org/changeset/base/362428 Log: MFC r362150: procctl(2): consistently refer to the data pointer as 'data'. Modified: stable/11/lib/libc/sys/procctl.2 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/sys/procctl.2 ============================================================================== --- stable/11/lib/libc/sys/procctl.2 Sat Jun 20 04:41:04 2020 (r362427) +++ stable/11/lib/libc/sys/procctl.2 Sat Jun 20 04:42:24 2020 (r362428) @@ -40,7 +40,7 @@ .Sh SYNOPSIS .In sys/procctl.h .Ft int -.Fn procctl "idtype_t idtype" "id_t id" "int cmd" "void *arg" +.Fn procctl "idtype_t idtype" "id_t id" "int cmd" "void *data" .Sh DESCRIPTION The .Fn procctl @@ -77,7 +77,7 @@ Set process protection state. This is used to mark a process as protected from being killed if the system exhausts the available memory and swap. The -.Fa arg +.Fa data parameter must point to an integer containing an operation and zero or more optional flags. The following operations are supported: