commit 4e61e2f895cf869dcf01693ce1d41be85aed82c3 Author: Stephan Wiesand Date: Wed Aug 3 14:11:12 2016 +0200 Make OpenAFS 1.6.18.3 Update configure version strings for 1.6.18.2. Note that macos kext can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha, b beta, f final candidate so we have no way to represent 1.6.18.3. Switch to 1.6.19 dev 3 for macos. Change-Id: I30fed9209c101d290b8bd182c8f90efd83062caf Reviewed-on: https://gerrit.openafs.org/12356 Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand commit 01e28c75aff5e44f3e03363fe89d707a5368fb98 Author: Stephan Wiesand Date: Wed Aug 3 14:08:46 2016 +0200 Update NEWS for 1.6.18.3 Release notes for OpenAFS 1.6.18.3 Change-Id: I672d45d65db8bb133aa9f80394a86ccd68444975 Reviewed-on: https://gerrit.openafs.org/12355 Reviewed-by: Michael Meffie Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand commit ddb15e306727b79e3ee92f2bd465475d164d3d09 Author: Anders Kaseorg Date: Mon Jul 25 21:04:59 2016 -0400 Linux 4.7: Follow key_alloc API change Linux v4.7-rc1~124^2~2^2^2~9 adds an eighth optional argument restrict_link. The same commit adds a KEY_ALLOC_BYPASS_RESTRICTION macro, which we test so we can avoid adding another configure test. Reviewed-on: https://gerrit.openafs.org/12345 Tested-by: BuildBot Reviewed-by: Anders Kaseorg Reviewed-by: Benjamin Kaduk (cherry picked from commit 83a0f2a9ef88e63fbd300fbb436c17ca80c245b4) Change-Id: I1ba16468888e160fdedf90ff1a9007d90dce9c3b Reviewed-on: https://gerrit.openafs.org/12348 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Reviewed-by: Joe Gorse Tested-by: Joe Gorse Reviewed-by: Stephan Wiesand commit 30625e4c7365c03da07cec91c538ff2cd96fe0be Author: Mark Vitale Date: Fri May 27 16:44:17 2016 -0400 SOLARIS: corrupted content of mmap'd files over 4GiB Many Solaris programs and utilities (notably mdb and cp) use mmap() in their implementation. When AFS files exceeding 4GiB are mmap'd, the contents of the file will be incorrectly mapped into memory. Starting at 4GiB + 1, the first 4GiB will be repeated for the remainder of the file. If the mmap'd file is written back to storage (AFS or otherwise), the newly created file will also be corrupted. This is due to a bug in the afs_map() routine that supports mmap() of AFS files on Solaris. The segvn_crarg.offset passed to the Solaris virtual memory APIs is incorrectly cast to u_int, causing it to wrap at 4GiB. Although Solaris passes the offset from fop_map() to afs_map() as type offset_t, the destination segvn_crargs.offset is actually type u_offset_t. Existing examples of other Solaris filesystems (e.g. zfs_map() ) cast the offset from offset_t to u_offset_t when assigning to segvn_crargs.offset. If it's good enough for ZFS, it's good enough for AFS. Correctly cast the offset to u_offset_t. Thanks to Robert Milkowski for the report and diagnosis. Reviewed-on: https://gerrit.openafs.org/12292 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk (cherry picked from commit fa5af899319b69fa9542add78beca388521e3450) Change-Id: I9c00afeb88c089fe34d25015dbbe02c50b7e9437 Reviewed-on: https://gerrit.openafs.org/12350 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit 60e113d66d5c8d7b6b53055d541996550e3d29d4 Author: Mark Vitale Date: Thu May 26 16:53:47 2016 -0400 SOLARIS: support mmap() over 4GiB When mmap() is issued for exactly 4GiB of a large AFS-resident file, mmap() fails with ENOMEM. This is because the AFS code is handling the requested length as u_int instead of size_t, resulting in a 0 being passed back to the caller. When mmap() is issued for non-multiples of 4GiB, the subsequent mapping will not contain all the requested pages, and for the same reason - the mapped size has been truncated to 32 bits. This results in SIGSEGV when accessing the non-mapped page(s). Fix the signature of afs_map() to specify the correct type for the length. Thanks to Robert Milkowski for the report and diagnosis. Reviewed-on: https://gerrit.openafs.org/12291 Tested-by: BuildBot Tested-by: Mark Vitale Reviewed-by: Benjamin Kaduk (cherry picked from commit 75325fc9ab1cec4a338e1aaf1b32de1922492b12) Change-Id: I8677aebf3afa6a6c0596f7d9afc06fe36d728fd3 Reviewed-on: https://gerrit.openafs.org/12349 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit 9b9c10c1914739d19908b9745b13d7ddcf3575ff Author: Marcio Barbosa Date: Wed Jul 20 15:09:43 2016 -0400 macos: pkgbuild.sh should not be tracked by git The automatically generated pkgbuild.sh file should not be tracked by git. To fix this problem, add the name of this file to the proper .gitignore file. Reviewed-on: https://gerrit.openafs.org/12343 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk (cherry picked from commit 19ffa2b7f09bffea816dda4713ad53f4d8cb93cb) Change-Id: I581f09deea271dd26e065d35dbf12d6c8480bb8f Reviewed-on: https://gerrit.openafs.org/12351 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 64f6a1cb79360fda72cb26a738ad42ba4b129970 Author: Marcio Barbosa Date: Mon Jul 18 12:27:19 2016 -0300 macos: use pkgbuild to build the package on 10.10/10.11 PackageMaker is no longer part of OS X. As a result, it is not possible to build the package on OS X 10.10 and OS X 10.11 using the existing code. To solve this problem, a new script, along with a couple of new files, are provided. - pkgbuild.sh This script uses the command line tools pkgbuild and productbuild to build the package on OS X 10.10 and OS X 10.11. By default, the package built by this script will not be signed. Optionally, the package might be signed. - Distribution.xml This file is nothing more than an XML file used by productbuild. It is mainly used to configure how the installer will look and behave. - conclusion.txt Contains the text that is displayed by Installer at the end of the installation process. Only used by El Capitan and further. - Uninstall.14.15 This script can be used by OS X 10.10/10.11 users to uninstall OpenAFS. Notes: - This work is based on a patch made by Brandon Allbery with fixes and updates from Andrew Deason . - El Capitan and further prevent us from touching /usr/bin directly. As a result, /opt is used. - If the package is not signed, the user will have to disable the OS X security protections. Otherwise, the client will not work. - Now we have two different scripts to build the package on OS X. For OS X 10.10 and newer versions, pkgbuild.sh will be used. For older versions, the existing buildpkg.sh will be used. Reviewed-on: https://gerrit.openafs.org/12239 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 48ce41a447c354b8a20b769e4aa5b502ba5bcc09) Change-Id: I292dfc49cbc541badcda0c450c941f88a5fbf306 Reviewed-on: https://gerrit.openafs.org/12335 Tested-by: BuildBot Reviewed-by: Stephan Wiesand