Accepting request 688258 from filesystems

OBS-URL: https://build.opensuse.org/request/show/688258
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openafs?expand=0&rev=10
This commit is contained in:
Dominique Leuenberger 2019-03-26 21:33:11 +00:00 committed by Git OBS Bridge
commit cb268a9a6c
18 changed files with 1259 additions and 685 deletions

1672
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@ -1,123 +0,0 @@
commit 3c454b39d04f4886536267c211171dae30dc0344
Author: Mark Vitale <mvitale@sinenomine.net>
Date: Tue Nov 13 11:20:09 2018 -0500
Linux 4.20: current_kernel_time is gone
With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038:
remove unused time interfaces' (4.20-rc1), current_kernel_time() has
been removed.
Many y2038-compliant time APIs were introduced with Linux commit
fb7fcc96a86cfaef0f6dcc0665516aa68611e736 'timekeeping: Standardize on
ktime_get_*() naming' (4.18). According to
Documentation/core-api/timekeeping.rst, a suitable replacement for:
struct timespec current_kernel_time(void)
would be:
void ktime_get_coarse_real_ts64(struct timespec64 *ts))
Add an autoconf test and equivalent logic to deal.
Change-Id: I4ff622ad40cc6d398267276d13493d819b877350
Reviewed-on: https://gerrit.openafs.org/13391
Tested-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h
index ce8cabf6e..a1a2f57c0 100644
--- a/src/afs/LINUX/osi_machdep.h
+++ b/src/afs/LINUX/osi_machdep.h
@@ -75,7 +75,14 @@
#if defined(HAVE_LINUX_CRED_H)
#include "h/cred.h"
#endif
-#if defined(HAVE_LINUX_CURRENT_KERNEL_TIME)
+
+#if defined(HAVE_LINUX_KTIME_GET_COARSE_REAL_TS64)
+static inline time_t osi_Time(void) {
+ struct timespec64 xtime;
+ ktime_get_coarse_real_ts64(&xtime);
+ return xtime.tv_sec;
+}
+#elif defined(HAVE_LINUX_CURRENT_KERNEL_TIME)
static inline time_t osi_Time(void) {
struct timespec xtime;
xtime = current_kernel_time();
diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4
index 0b17e172e..62fd528d6 100644
--- a/src/cf/linux-kernel-func.m4
+++ b/src/cf/linux-kernel-func.m4
@@ -72,6 +72,10 @@ AC_CHECK_LINUX_FUNC([iter_file_splice_write],
AC_CHECK_LINUX_FUNC([kernel_setsockopt],
[#include <linux/net.h>],
[kernel_setsockopt(NULL, 0, 0, NULL, 0);])
+AC_CHECK_LINUX_FUNC([ktime_get_coarse_real_ts64],
+ [#include <linux/time.h>],
+ [struct timespec64 *s;
+ ktime_get_coarse_real_ts64(s);])
AC_CHECK_LINUX_FUNC([locks_lock_file_wait],
[#include <linux/fs.h>],
[locks_lock_file_wait(NULL, NULL);])
commit aa80f892ec39e2984818090a6bb2047430836ee2
Author: Mark Vitale <mvitale@sinenomine.net>
Date: Thu Nov 15 15:31:37 2018 -0500
Linux 4.20: do_settimeofday is gone
With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038:
remove unused time interfaces', do_settimeofday() is gone.
However, OpenAFS only calls do_settimeofday() from afs_osi_SetTime(),
which has been dead code since -settime support was removed from afsd
with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove
-settime/RXAFS_GetTime client support'.
Instead of fixing afs_osi_SetTime() to use a current Linux API, remove
it as dead code.
No functional change is incurred by this commit. However, this change
is required in order to build OpenAFS on Linux 4.20.
Change-Id: I74913deb249de66b0da71539f2596c971f0fd99a
Reviewed-on: https://gerrit.openafs.org/13392
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c
index 077d4edfb..655076779 100644
--- a/src/afs/LINUX/osi_misc.c
+++ b/src/afs/LINUX/osi_misc.c
@@ -28,18 +28,6 @@
int afs_osicred_initialized = 0;
afs_ucred_t afs_osi_cred;
-void
-afs_osi_SetTime(osi_timeval_t * tvp)
-{
- struct timespec tv;
- tv.tv_sec = tvp->tv_sec;
- tv.tv_nsec = tvp->tv_usec * NSEC_PER_USEC;
-
- AFS_STATCNT(osi_SetTime);
-
- do_settimeofday(&tv);
-}
-
void
osi_linux_mask(void)
{
diff --git a/src/afs/LINUX/osi_prototypes.h b/src/afs/LINUX/osi_prototypes.h
index 438b07789..130b5660e 100644
--- a/src/afs/LINUX/osi_prototypes.h
+++ b/src/afs/LINUX/osi_prototypes.h
@@ -44,7 +44,6 @@ extern void osi_ioctl_init(void);
extern void osi_ioctl_clean(void);
/* osi_misc.c */
-extern void afs_osi_SetTime(osi_timeval_t * tvp);
extern int osi_lookupname_internal(char *aname, int followlink,
struct vfsmount **mnt, struct dentry **dpp);
extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,

View File

@ -1,34 +0,0 @@
User-Visible OpenAFS Changes
OpenAFS 1.8.2
All platforms
* Fix OPENAFS-SA-2018-002: information leakage in RPC output variables
Various RPC routines did not always initialize all output fields,
exposing memory contents to network attackers. The relevant RPCs include
an AFSCB_ RPC, so cache managers are affected as well as servers.
All server platforms
* Fix OPENAFS-SA-2018-003: denial of service due to excess resource consumption
Various RPCs were defined as allowing unbounded arrays as input, allowing
an unauthenticated attacker to cause excess memory allocation and tie up
network bandwidth by sending (or claiming to send) large input arrays.
* Fix OPENAFS-SA-2018-001: unauthenticated volume operations via butc
On systems using the in-tree backup system, the butc process was running
with administrative credentials, but accepted incoming RPCs over
unauthenticated connections; these incoming RPCs in turn triggered
outgoing RPCs using the administrative credentials. Unauthenticated
attackers could construct volue dumps containing arbitrary contents
and cause these dumps to be restored and overwrite arbitrary volume
contents; afterward, the backup database could be restored to its
initial state, hiding evidence of the unauthorized changes.
Running butc with -localauth now requires authenticated incoming
connections, and the backup utility makes authenticated connections to
the butc. Audit capabilities have been added to the butc RPC handlers.
Command-line arguments are provided to retain the (insecure) historical
behavior until all systems have been upgraded.

59
RELNOTES-1.8.3pre1 Normal file
View File

@ -0,0 +1,59 @@
User-Visible OpenAFS Changes
OpenAFS 1.8.3 (in progress)
All platforms
* Improved diagnostics and error messages (13186 13411 13417)
* Avoid sending RX packets with random garbage in the userStatus field
(13332)
* Fixed detection of the RX initialization status (13416)
* Assorted fixes to avoid segmentation faults and other potential problems
by detecting internal errors rather than letting them go unnoticed
(13329 13372)
All server platforms
* Fixed a build problem accidentally introduced in release 1.8.2 (13328)
* Assorted efficiency improvements in the ubik implementation (13153 13218
13188 13353)
* Fixed locking around transaction list processing in volserver to avoid
segmentation faults and other potential problems (13336 13337)
* When the volserver attempts to remove a temporary volume after a
transaction, but the volume was already removed, e.g., by the salvager,
this is no longer treated as an error (13235)
All client platforms
* Update the CellServDB to the latest version from grand.central.org from
May 14th 2018 (13409)
* Avoid a panic during cache initialization when allocating the required
memory fails (13307)
* Add back the packet counters and timestamps to "vos status" output
which had been missing since release 1.8.0 (13421)
* Correctly handle errors encountered while reading data from the server
and writing it to the cache, e.g., due to a full cache partition (13443)
* Avoid a panic due to a recoverable error while flushing cache items
(13503)
Linux clients
* Support mainline kernels 4.20 and 5.0 and distribution kernels with
backports from those (13405 13406 13440 13441 13442)
* DKMS-related fixes in Red Hat packaging (13438 13479)
macOS
* Support building and packaging on macOS 10.14 "Mojave" (13412 13413)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9b6ae396952b888192bc3e70d11b13779f8af16965ea8a003cb5f98abb7c826
size 3801937

View File

@ -1 +0,0 @@
3661375b0925446416c09a97c605acbf /home/kaduk/openafs/1.8.2/openafs-1.8.2-doc.tar.bz2

View File

@ -1 +0,0 @@
b9b6ae396952b888192bc3e70d11b13779f8af16965ea8a003cb5f98abb7c826 openafs-1.8.2-doc.tar.bz2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25fd3e4261a72a2cbdd40367e5f981895d80c32aaf309a5842aecc739dd3138e
size 15109003

View File

@ -1 +0,0 @@
19f97a11b13e6da51a6dac56d1c42289 /home/kaduk/openafs/1.8.2/openafs-1.8.2-src.tar.bz2

View File

@ -1 +0,0 @@
25fd3e4261a72a2cbdd40367e5f981895d80c32aaf309a5842aecc739dd3138e openafs-1.8.2-src.tar.bz2

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:495e09a585a63e645437ecf42d43d2cfde3874de6e9c1d90cc7e41deb6309acd
size 3846539

View File

@ -0,0 +1 @@
c0f7a24287d38d48445dac2d59abcd85 openafs-1.8.3pre1-doc.tar.bz2

View File

@ -0,0 +1 @@
495e09a585a63e645437ecf42d43d2cfde3874de6e9c1d90cc7e41deb6309acd openafs-1.8.3pre1-doc.tar.bz2

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:95aa3fa70117f34f52a03cdb8abdd99db84850c4fb1067ac7202b049e7f64c2e
size 15080848

View File

@ -0,0 +1 @@
f10b5048d256914d401c5b44f1533263 openafs-1.8.3pre1-src.tar.bz2

View File

@ -0,0 +1 @@
95aa3fa70117f34f52a03cdb8abdd99db84850c4fb1067ac7202b049e7f64c2e openafs-1.8.3pre1-src.tar.bz2

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Mar 25 11:32:32 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use source URLs.
-------------------------------------------------------------------
Thu Mar 14 08:37:04 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
- update to pre-release 1.8.3pre1
* fix builds for Linux-kernels 4.20 and 5.0
* other fixes, see RELNOTES-1.8.3pre1
* remove obsolete Linux-4.20.patch
-------------------------------------------------------------------
Wed Jan 16 11:28:27 UTC 2019 - christof.hanke@mpcdf.mpg.de

View File

@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# needssslcertforbuild
@ -56,27 +56,27 @@
# used for %setup only
# leave upstream tar-balls untouched for integrity checks.
%define upstream_version 1.8.2
%define upstream_version 1.8.3pre1
Name: openafs
Version: 1.8.2
Version: 1.8.3~pre1
Release: 0
Summary: OpenAFS Distributed File System
License: IPL-1.0
Group: System/Filesystems
Url: http://www.openafs.org/
Source0: openafs-%{version}-src.tar.bz2
Source1: openafs-%{version}-doc.tar.bz2
Source2: openafs-%{version}-src.tar.bz2.md5
Source3: openafs-%{version}-doc.tar.bz2.md5
Source4: openafs-%{version}-src.tar.bz2.sha256
Source5: openafs-%{version}-doc.tar.bz2.sha256
Source0: http://www.openafs.org/dl/openafs/candidate/%{upstream_version}/openafs-%{upstream_version}-src.tar.bz2
Source1: http://www.openafs.org/dl/openafs/candidate/%{upstream_version}/openafs-%{upstream_version}-doc.tar.bz2
Source2: http://www.openafs.org/dl/openafs/candidate/%{upstream_version}/openafs-%{upstream_version}-src.tar.bz2.md5
Source3: http://www.openafs.org/dl/openafs/candidate/%{upstream_version}/openafs-%{upstream_version}-doc.tar.bz2.md5
Source4: http://www.openafs.org/dl/openafs/candidate/%{upstream_version}/openafs-%{upstream_version}-src.tar.bz2.sha256
Source5: http://www.openafs.org/dl/openafs/candidate/%{upstream_version}/openafs-%{upstream_version}-doc.tar.bz2.sha256
Source10: README.SUSE.openafs
Source15: logrotate.openafs-server
Source16: ld.conf.openafs
Source18: RELNOTES-%{version}
Source18: RELNOTES-%{upstream_version}
Source19: ChangeLog
Source20: kernel-source.build-modules.sh
Source22: sysconfig.openafs-fuse-client
@ -98,8 +98,6 @@ Patch3: dir_layout.patch
Patch4: openafs-1.8.x.ncurses6.patch
# PATCH-SUSE-SPECIFIC make KMP work again
Patch5: add_arch_to_linux_kernel_make.patch
# PATCH-BACKPORT-FROM-UPSTREAM make KMP build for kernel 4.20
Patch6: Linux-4.20.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
@ -309,7 +307,6 @@ done
%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
%patch3 -p1
%patch5 -p1
%patch6 -p1
%if %{run_regen}
%patch4 -p1