- update to latest git branch stable-1_8_x, includes security update 1.8.13
- change version to openafs-1.8.13.g... since the new stable release is 1.8.13 - remove patch handle_backports.diff, it is now included upstream - remove intermediate patches: * 03b280649f5e22ed74c217d7c98c3416a2fa9052: Linux-6.10: remove includes for asm/ia32_unistd.h * 0f6a3a402f4a66114da9231032bd68cdc4dee7bc: Linux-6.10: Use filemap_alloc_folio when avail * 658942f2791fad5e33ec7542158c16dfc66eed39: Linux-6.10: define a wrapper for vmalloc * d8b56f21994ce66d8daebb7d69e792f34c1a19ed: afs: avoid empty-body warning * 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7: Linux 6.10: Move 'inline' before func return type OBS-URL: https://build.opensuse.org/package/show/filesystems/openafs?expand=0&rev=129
This commit is contained in:
commit
d3db42d252
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
111
03b280649f5e22ed74c217d7c98c3416a2fa9052
Normal file
111
03b280649f5e22ed74c217d7c98c3416a2fa9052
Normal file
@ -0,0 +1,111 @@
|
||||
commit 03b280649f5e22ed74c217d7c98c3416a2fa9052
|
||||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Wed Jun 12 13:56:44 2024 -0600
|
||||
|
||||
Linux-6.10: remove includes for asm/ia32_unistd.h
|
||||
|
||||
The Linux 6.10 commit:
|
||||
"x86/syscall/compat: Remove ia32_unistd.h" (e2d168328e)
|
||||
|
||||
Removed the header ia32_unistd.h since it was just a wrapper for the
|
||||
unistd_32_ia32.h.
|
||||
|
||||
The commit:
|
||||
"linux-afs-translator-xen-20060731" (29dd792381)
|
||||
added an ia32_unistd.h include to several files; all were not needed
|
||||
(as they didn't reference any of the contents from the header file, e.g
|
||||
_NR_ia32_*).
|
||||
|
||||
The commit:
|
||||
"amd64-hook-ia32-table-20030519" (831e172463)
|
||||
added an include for ia32_unistd.h to osi_module.c.
|
||||
|
||||
A later commit:
|
||||
"osi-probe-syscall-20050129" (f126dbdbe2)
|
||||
removed many of the references to defines from ia32_unistd.h, but did
|
||||
not remove the include for the header.
|
||||
|
||||
Currently the only remaining files (linux-kernel-syscall-probe.m4,
|
||||
LINUX/osi_probe.c and LINUX/osi_syscall.c) continue to reference the
|
||||
items from ia32_unistd.h, but only when building older kernels that
|
||||
either don't have LINUX_KEYRING_SUPPORT or when
|
||||
ENABLE_LINUX_SYSCALL_PROBING is enabled (in both cases, these are only
|
||||
applicable for older kernels where the asm/ia32_unistd.h file would be
|
||||
present).
|
||||
|
||||
For the files that don't have references (i.e. _NR_ia32_*), we can
|
||||
simply remove the include for asm/ia32_unistd.h. For the remaining set
|
||||
of files, we can leave the include for asm/ia32_unistd.h since the code
|
||||
already has preprocessor conditionals so it's only included for older
|
||||
Linux kernels where the header file will be present.
|
||||
|
||||
We noted above, the include for asm/ia32_unistd.h is already conditional
|
||||
on the checks for LINUX_KEYRING_SUPPORT and ENABLE_LINUX_SYSCALL_PROBING
|
||||
so we do not need to add any additional configure checks.
|
||||
|
||||
Change-Id: I901b5c0f0ff86272b02f898f3951325533d22f4f
|
||||
Reviewed-on: https://gerrit.openafs.org/15763
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
|
||||
diff --git a/src/afs/LINUX/osi_ioctl.c b/src/afs/LINUX/osi_ioctl.c
|
||||
index 3e797745c..d964d8103 100644
|
||||
--- a/src/afs/LINUX/osi_ioctl.c
|
||||
+++ b/src/afs/LINUX/osi_ioctl.c
|
||||
@@ -21,10 +21,6 @@
|
||||
#include <linux/unistd.h> /* For syscall numbers. */
|
||||
#include <linux/mm.h>
|
||||
|
||||
-#ifdef AFS_AMD64_LINUX_ENV
|
||||
-#include <asm/ia32_unistd.h>
|
||||
-#endif
|
||||
-
|
||||
#include <linux/slab.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/sched.h>
|
||||
diff --git a/src/afs/LINUX/osi_module.c b/src/afs/LINUX/osi_module.c
|
||||
index 8ace127f4..499810cc6 100644
|
||||
--- a/src/afs/LINUX/osi_module.c
|
||||
+++ b/src/afs/LINUX/osi_module.c
|
||||
@@ -21,10 +21,6 @@
|
||||
#include <linux/unistd.h> /* For syscall numbers. */
|
||||
#include <linux/mm.h>
|
||||
|
||||
-#ifdef AFS_AMD64_LINUX_ENV
|
||||
-#include <asm/ia32_unistd.h>
|
||||
-#endif
|
||||
-
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/init.h>
|
||||
diff --git a/src/afs/LINUX/osi_pag_module.c b/src/afs/LINUX/osi_pag_module.c
|
||||
index ea3d1bd2c..346108489 100644
|
||||
--- a/src/afs/LINUX/osi_pag_module.c
|
||||
+++ b/src/afs/LINUX/osi_pag_module.c
|
||||
@@ -20,10 +20,6 @@
|
||||
#include <linux/unistd.h> /* For syscall numbers. */
|
||||
#include <linux/mm.h>
|
||||
|
||||
-#ifdef AFS_AMD64_LINUX_ENV
|
||||
-#include <asm/ia32_unistd.h>
|
||||
-#endif
|
||||
-
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/init.h>
|
||||
diff --git a/src/afs/LINUX/osi_proc.c b/src/afs/LINUX/osi_proc.c
|
||||
index 9c5a080f0..ad7c695b9 100644
|
||||
--- a/src/afs/LINUX/osi_proc.c
|
||||
+++ b/src/afs/LINUX/osi_proc.c
|
||||
@@ -25,10 +25,6 @@
|
||||
#include <linux/unistd.h> /* For syscall numbers. */
|
||||
#include <linux/mm.h>
|
||||
|
||||
-#ifdef AFS_AMD64_LINUX_ENV
|
||||
-# include <asm/ia32_unistd.h>
|
||||
-#endif
|
||||
-
|
||||
#include <linux/slab.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/sched.h>
|
96
0f6a3a402f4a66114da9231032bd68cdc4dee7bc
Normal file
96
0f6a3a402f4a66114da9231032bd68cdc4dee7bc
Normal file
@ -0,0 +1,96 @@
|
||||
commit 0f6a3a402f4a66114da9231032bd68cdc4dee7bc
|
||||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Wed Jun 12 14:13:59 2024 -0600
|
||||
|
||||
Linux-6.10: Use filemap_alloc_folio when avail
|
||||
|
||||
The Linux 6.10 commit:
|
||||
"mm: remove page_cache_alloc()" (3f2ae4ebd5)
|
||||
removed the page_cache_alloc(), with a note that callers would be using
|
||||
filemap_alloc_folio instead.
|
||||
|
||||
The function filemap_alloc_folio() was introduced in Linux 5.15 commit:
|
||||
"mm/filemap: Add filemap_alloc_folio" (bb3c579e25)
|
||||
|
||||
Add a configure check for filemap_alloc_folio and update the function
|
||||
afs_linux_read_cache() to use a wrapper that calls filemap_alloc_folio()
|
||||
if available otherwise calls page_cache_alloc().
|
||||
|
||||
Minor whitespace/style cleanup
|
||||
|
||||
Note: The function filemap_alloc_folio() was introduced in Linux 5.15,
|
||||
so this change affects builds using the Linux kernel 5.15 and later.
|
||||
|
||||
Change-Id: Ia17aefc38fe9787e54b315c864da726d610b8bb9
|
||||
Reviewed-on: https://gerrit.openafs.org/15764
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
|
||||
diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
|
||||
index 511b0838f..18809c89f 100644
|
||||
--- a/src/afs/LINUX/osi_vnodeops.c
|
||||
+++ b/src/afs/LINUX/osi_vnodeops.c
|
||||
@@ -2320,6 +2320,24 @@ mapping_read_page(struct address_space *mapping, struct page *page)
|
||||
#endif
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * small compat wrapper for filemap_alloc_folio/page_cache_alloc
|
||||
+ */
|
||||
+static struct page *
|
||||
+afs_page_cache_alloc(struct address_space *cachemapping)
|
||||
+{
|
||||
+#if defined(HAVE_LINUX_FILEMAP_ALLOC_FOLIO)
|
||||
+ struct folio *folio;
|
||||
+ folio = filemap_alloc_folio(mapping_gfp_mask(cachemapping), 0);
|
||||
+ if (folio == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ return &folio->page;
|
||||
+#else
|
||||
+ return page_cache_alloc(cachemapping);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
/* Populate a page by filling it from the cache file pointed at by cachefp
|
||||
* (which contains indicated chunk)
|
||||
* If task is NULL, the page copy occurs syncronously, and the routine
|
||||
@@ -2358,11 +2376,12 @@ afs_linux_read_cache(struct file *cachefp, struct page *page,
|
||||
pageindex = (offset - AFS_CHUNKTOBASE(chunk)) >> PAGE_SHIFT;
|
||||
|
||||
while (cachepage == NULL) {
|
||||
- cachepage = find_get_page(cachemapping, pageindex);
|
||||
+ cachepage = find_get_page(cachemapping, pageindex);
|
||||
if (!cachepage) {
|
||||
- if (!newpage)
|
||||
- newpage = page_cache_alloc(cachemapping);
|
||||
- if (!newpage) {
|
||||
+ if (newpage == NULL) {
|
||||
+ newpage = afs_page_cache_alloc(cachemapping);
|
||||
+ }
|
||||
+ if (newpage == NULL) {
|
||||
code = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4
|
||||
index 93f96f5ad..83ea354b0 100644
|
||||
--- a/src/cf/linux-kernel-func.m4
|
||||
+++ b/src/cf/linux-kernel-func.m4
|
||||
@@ -253,6 +253,16 @@ AC_CHECK_LINUX_FUNC([no_strlcpy],
|
||||
size_t s;
|
||||
s = strlcpy(buff);]])
|
||||
|
||||
+dnl Linux 5.15 introduced filemap_alloc_folio() as a replacement for
|
||||
+dnl page_cache_alloc(). page_cache_alloc() was updated to become just a
|
||||
+dnl wrapper for filemap_alloc_folio().
|
||||
+dnl Linux 6.10 removed page_cache_alloc().
|
||||
+AC_CHECK_LINUX_FUNC([filemap_alloc_folio],
|
||||
+ [#include <linux/kernel.h>
|
||||
+ #include <linux/pagemap.h>],
|
||||
+ [[static struct folio *folio;
|
||||
+ folio = filemap_alloc_folio(0, 0);]])
|
||||
+
|
||||
dnl Consequences - things which get set as a result of the
|
||||
dnl above tests
|
||||
AS_IF([test "x$ac_cv_linux_func_d_alloc_anon" = "xno"],
|
66
658942f2791fad5e33ec7542158c16dfc66eed39
Normal file
66
658942f2791fad5e33ec7542158c16dfc66eed39
Normal file
@ -0,0 +1,66 @@
|
||||
commit 658942f2791fad5e33ec7542158c16dfc66eed39
|
||||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Wed Jun 12 14:16:43 2024 -0600
|
||||
|
||||
Linux-6.10: define a wrapper for vmalloc
|
||||
|
||||
The Linux 6.10 commit:
|
||||
"mm: vmalloc: enable memory allocation profiling" (88ae5fb755)
|
||||
changed vmalloc from a function to a wrapper macro.
|
||||
|
||||
This change results in build errors:
|
||||
"error: implicit declaration of function ‘vmalloc’; did you mean
|
||||
‘kmalloc’? [-Werror=implicit-function-declaration]"
|
||||
|
||||
when vmalloc is passed as a parameter to the afs_atomlist_create() and
|
||||
afs_lhash_create() functions.
|
||||
|
||||
Add a little wrapper function around vmalloc() to use for the parameter
|
||||
to afs_atomlist_create() and afs_lhash_create().
|
||||
|
||||
Note: A configure test was not needed for this change since the name
|
||||
and functionality of Linux's vmalloc did not change.
|
||||
|
||||
Change-Id: I69c1da9eea5d1de11c1628bbcef427f81f5c01e1
|
||||
Reviewed-on: https://gerrit.openafs.org/15765
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
|
||||
diff --git a/src/afs/LINUX/osi_alloc.c b/src/afs/LINUX/osi_alloc.c
|
||||
index 86cd0e571..7c4b4a1ca 100644
|
||||
--- a/src/afs/LINUX/osi_alloc.c
|
||||
+++ b/src/afs/LINUX/osi_alloc.c
|
||||
@@ -196,6 +196,15 @@ local_free(void *p, size_t n)
|
||||
vfree(p);
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * wrapper for vmalloc(), since vmalloc() may be a macro
|
||||
+ */
|
||||
+static void *
|
||||
+local_vmalloc(size_t size)
|
||||
+{
|
||||
+ return vmalloc(size);
|
||||
+}
|
||||
+
|
||||
/* linux_alloc_init(): Initializes the kernel memory allocator. As part
|
||||
* of this process, it also initializes a pool of osi_linux_mem
|
||||
* structures as well as the hash table itself.
|
||||
@@ -209,14 +218,14 @@ linux_alloc_init(void)
|
||||
/* initiate our pool of osi_linux_mem structs */
|
||||
al_mem_pool =
|
||||
afs_atomlist_create(sizeof(struct osi_linux_mem), sizeof(long) * 1024,
|
||||
- (void *)vmalloc, local_free);
|
||||
+ local_vmalloc, local_free);
|
||||
if (!al_mem_pool) {
|
||||
printf("afs_osi_Alloc: Error in initialization(atomlist_create)\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* initialize the hash table to hold references to alloc'ed chunks */
|
||||
- lh_mem_htab = afs_lhash_create(hash_equal, (void *)vmalloc, local_free);
|
||||
+ lh_mem_htab = afs_lhash_create(hash_equal, local_vmalloc, local_free);
|
||||
if (!lh_mem_htab) {
|
||||
printf("afs_osi_Alloc: Error in initialization(lhash_create)\n");
|
||||
return 0;
|
51
7097eec17bc01bcfc12c4d299136b2d3b94ec3d7
Normal file
51
7097eec17bc01bcfc12c4d299136b2d3b94ec3d7
Normal file
@ -0,0 +1,51 @@
|
||||
commit 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7
|
||||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Thu Jun 6 10:42:57 2024 -0600
|
||||
|
||||
Linux 6.10: Move 'inline' before func return type
|
||||
|
||||
With Linux 6.10 commit:
|
||||
"kbuild: turn on -Wextra by default" (f5982cceb3)
|
||||
there are additional compiler warnings that can turn
|
||||
into build errors when --enable-checking is used.
|
||||
|
||||
"error: ‘inline’ is not at beginning of declaration
|
||||
[-Werror=old-style-declaration]"
|
||||
|
||||
The error is due to the return type preceding the "inline" keyword
|
||||
in function declarations.
|
||||
|
||||
Fix the declarations for file_can_read_pages() and
|
||||
afs_linux_readpage_fastpath() to have the proper ordering of the
|
||||
static/inline keywords attributes so they precede the return type.
|
||||
|
||||
Just a note that the `static` and `inline` keywords must precede a
|
||||
function's return type.
|
||||
|
||||
Change-Id: I3ff9d45c119e70a90faf18fbf6d49fb6b9adcf33
|
||||
Reviewed-on: https://gerrit.openafs.org/15768
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
Tested-by: Andrew Deason <adeason@sinenomine.net>
|
||||
|
||||
diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
|
||||
index 18809c89f..c6c3bfe39 100644
|
||||
--- a/src/afs/LINUX/osi_vnodeops.c
|
||||
+++ b/src/afs/LINUX/osi_vnodeops.c
|
||||
@@ -2443,7 +2443,7 @@ afs_linux_read_cache(struct file *cachefp, struct page *page,
|
||||
/*
|
||||
* Return true if the file has a mapping that can read pages
|
||||
*/
|
||||
-static int inline
|
||||
+static inline int
|
||||
file_can_read_pages(struct file *fp)
|
||||
{
|
||||
#if defined(STRUCT_ADDRESS_SPACE_OPERATIONS_HAS_READ_FOLIO)
|
||||
@@ -2456,7 +2456,7 @@ file_can_read_pages(struct file *fp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int inline
|
||||
+static inline int
|
||||
afs_linux_readpage_fastpath(struct file *fp, struct page *pp, int *codep)
|
||||
{
|
||||
loff_t offset = page_offset(pp);
|
956
ChangeLog
Normal file
956
ChangeLog
Normal file
@ -0,0 +1,956 @@
|
||||
commit b151451269ec41b5723484596e7dd40f9ab8824a (HEAD -> openafs-stable-1_8_x, origin/openafs-stable-1_8_x)
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Tue Nov 12 20:29:24 2024 -0600
|
||||
|
||||
ptserver: Add xdr_namelist to liboafs_prot.la.sym
|
||||
|
||||
Commit 1f5e1ef9e3 (OPENAFS-SA-2024-003: Run xdr_free for retried RPCs)
|
||||
added a couple of references to xdr_namelist, which currently causes a
|
||||
build failure on AIX:
|
||||
|
||||
/bin/sh ../../libtool --quiet --mode=link --tag=CC xlc_r [...] -o pts pts.o ../../src/ptserver/liboafs_prot.la [...]
|
||||
ld: 0711-317 ERROR: Undefined symbol: xdr_namelist
|
||||
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
|
||||
make: 1254-004 The error code from the last command is 8.
|
||||
|
||||
To avoid this, add xdr_namelist to liboafs_prot.la.sym.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15954
|
||||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
(cherry picked from commit 4f82b5bd49a3c83c990d64d06cb6389969826208)
|
||||
|
||||
Change-Id: I8a7272d1b94bd02295ef63b70a4247a4cf6e70f6
|
||||
Reviewed-on: https://gerrit.openafs.org/15955
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit c1beae2622fe6fbdda2353a7da2090fc23595617
|
||||
Author: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Date: Fri Nov 8 14:03:53 2024 -0800
|
||||
|
||||
Make OpenAFS 1.8.13
|
||||
|
||||
Update version strings for the 1.8.13 release.
|
||||
|
||||
Change-Id: Ic7f75226f3ba0f51f17c8e123c8cdbdab3ff6c7f
|
||||
Reviewed-on: https://gerrit.openafs.org/15949
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 7ad61adb706bd53be287f8620ac67720434b3c24
|
||||
Author: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Date: Fri Nov 8 13:57:28 2024 -0800
|
||||
|
||||
Update NEWS for OpenAFS 1.8.13
|
||||
|
||||
Change-Id: I8e25f6d4719f403b07a8faad733d858a8872620f
|
||||
Reviewed-on: https://gerrit.openafs.org/15948
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 37e585f0841803cdf3a1f99770034890ba162d7c
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Thu Oct 15 21:07:17 2020 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: xdr: Initialize memory for INOUT args
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
Currently, there are a few callers of RPCs that specify some data for
|
||||
an INOUT parameter, but do not initialize the memory for that data.
|
||||
This can result in the uninitialized memory being sent to the peer
|
||||
when the argument is processed as an IN argument. Simply clear the
|
||||
relevant data before running the RPC to avoid this.
|
||||
|
||||
The relevant RPCs and arguments are:
|
||||
|
||||
- For RMTSYS_Pioctl, the 'OutData' argument.
|
||||
|
||||
- For BUDB_GetVolumes, the 'volumes' argument.
|
||||
-- via DBLookupByVolume -> bcdb_LookupVolume -> ubik_BUDB_GetVolumes
|
||||
-- and via bc_Restorer -> bcdb_FindVolumes -> ubik_BUDB_GetVolumes
|
||||
|
||||
- For KAA_Authenticate_old / KAA_Authenticate, this can happen with
|
||||
the 'answer' argument in ka_Authenticate if KAA_AuthenticateV2 or
|
||||
KAA_Authenticate return RXGEN_OPCODE, but the server manages to
|
||||
populate oanswer.SeqLen with non-zero.
|
||||
|
||||
For all of these, make sure the memory is blanked before running the
|
||||
relevant RPC. For ka_Authenticate, reset oanswer.SeqLen to 0 to avoid
|
||||
sending any data, but still blank 'answer' and 'answer_old' just to be
|
||||
safe.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15925
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit c4e28c2afe743aa323be57ef3b0faec13027e678)
|
||||
|
||||
Change-Id: If44320c1efde98c53eed88099cd978ef89f4c0d8
|
||||
Reviewed-on: https://gerrit.openafs.org/15947
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 4871f8ad2775e97bb85ff7efc33a4ad8d3f6d9d1
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Fri Oct 16 10:55:15 2020 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: sys: Don't over-copy RMTSYS_Pioctl output data
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
Here, 'OutData' only has OutData.rmtbulk_len bytes in it. We know that
|
||||
OutData.rmtbulk_len is at most data->out_size, but it could be
|
||||
smaller. So, only copy OutData.rmtbulk_len bytes, not data->out_size,
|
||||
since data->out_size could be more than the number of bytes we have
|
||||
allocated in OutData.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15924
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit f31a79d749abc8e64a8d9ac748bb2b5457875099)
|
||||
|
||||
Change-Id: Ic05751d05c7c8862770188131110cc602c9b93b7
|
||||
Reviewed-on: https://gerrit.openafs.org/15946
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 25ad3931d5c03ead625a96e6b626febeb3e20453
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Fri Oct 16 10:52:03 2020 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: Run xdr_free for retried RPCs
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
A few areas of code retry the same RPC, like so:
|
||||
|
||||
do {
|
||||
code = VL_SomeRPC(rxconn, &array_out);
|
||||
} while (some_condition);
|
||||
xdr_free((xdrproc_t) xdr_foo, &array_out);
|
||||
|
||||
Or try a different version/variant of an RPC (e.g.
|
||||
VLDB_ListAttributesN2 -> VLDB_ListAttributes).
|
||||
|
||||
If the first RPC call causes the output array to be allocated with
|
||||
length N, then the subsequent RPC calls may fail if the server
|
||||
responds with an array larger than N.
|
||||
|
||||
Furthermore, if the subsequent call responds with an array smaller
|
||||
than N, then when we xdr_free the array, our length will be smaller
|
||||
than the actual number of allocated elements. That results in two
|
||||
potential issues:
|
||||
|
||||
- We'll fail to free the elements at the end of the array. This is
|
||||
only a problem if each element in the array also uses
|
||||
dynamically-allocated memory (e.g. each element contains a string or
|
||||
another array). Fortunately, there are only a few such structures in
|
||||
any of our RPC-L definitions: SysNameList and CredInfos. And neither
|
||||
of those are used in such a retry loop, so this isn't a problem.
|
||||
|
||||
- We'll give the wrong length to osi_free when freeing the array
|
||||
itself. This only matters for KERNEL, and only on some platforms
|
||||
(such as Solaris), since the length given to osi_free is ignored
|
||||
everywhere else.
|
||||
|
||||
To avoid these possible issues, change the relevant retry loops to
|
||||
free our xdr-allocated arrays on every iteration of the loop, like
|
||||
this:
|
||||
|
||||
do {
|
||||
xdr_free((xdrproc_t) xdr_foo, &array_out);
|
||||
code = VL_SomeRPC(rxconn, &array_out);
|
||||
} while (some_condition);
|
||||
xdr_free((xdrproc_t) xdr_foo, &array_out);
|
||||
|
||||
Or like this:
|
||||
|
||||
do {
|
||||
code = VL_SomeRPC(rxconn, &array_out);
|
||||
xdr_free((xdrproc_t) xdr_foo, &array_out);
|
||||
} while (some_condition);
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15923
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 1f5e1ef9e35f6b5e8693c91199c976d5e030c0d0)
|
||||
|
||||
Change-Id: I77ce3a904d502784cbf356e113972dfab838256e
|
||||
Reviewed-on: https://gerrit.openafs.org/15945
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit a82212ab20f0635a40c52648a52a1e9eaccc4937
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Thu Oct 15 20:30:14 2020 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: xdr: Ensure correct string length in xdr_string
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
Currently, if a caller calls an RPC with a string output argument,
|
||||
like so:
|
||||
|
||||
{
|
||||
char *str = NULL;
|
||||
code = RXAFS_SomeCall(&str);
|
||||
/* do something with 'str' */
|
||||
xdr_free((xdrproc_t) xdr_string, &str);
|
||||
}
|
||||
|
||||
Normally, xdr_free causes xdr_string to call osi_free, specifying the
|
||||
same size that we allocated for the string. However, since we only
|
||||
have a char*, the amount of space allocated for the string is not
|
||||
recorded separately, and so xdr_string calculates the size of the
|
||||
buffer to free by using strlen().
|
||||
|
||||
This works for well-formed strings, but if we fail to decode the
|
||||
payload of the string, or if our peer gave us a string with a NUL byte
|
||||
in the middle of it, then strlen() may be significantly less than the
|
||||
actual allocated size. And so in this case, the size given to osi_free
|
||||
will be wrong.
|
||||
|
||||
The size given to osi_free is ignored in userspace, and for KERNEL on
|
||||
many platforms like Linux and DARWIN. However, it is notably not
|
||||
ignored for KERNEL on Solaris and some other less supported platforms
|
||||
(HPUX, Irix, NetBSD). At least on Solaris, an incorrect size given to
|
||||
osi_free can cause a system panic or possibly memory corruption.
|
||||
|
||||
To avoid this, change xdr_string during XDR_DECODE to make sure that
|
||||
strlen() of the string always reflects the allocated size. If we fail
|
||||
to decode the string's payload, replace the payload with non-NUL bytes
|
||||
(fill it with 'z', an arbitrary choice). And if we do successfully
|
||||
decode the payload, check if the strlen() is wrong (that is, if the
|
||||
payload contains NUL '\0' bytes), and fail if so, also filling the
|
||||
payload with 'z'. This is only strictly needed in KERNEL on certain
|
||||
platforms, but do it everywhere so our behavior is consistent.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15922
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 7d0675e6c6a2f3200a3884fbe46b3ef8ef9ffd24)
|
||||
|
||||
Change-Id: Ieb8827474a7458ce80176b14ce87f3402aed7a86
|
||||
Reviewed-on: https://gerrit.openafs.org/15944
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 0ff2cd9e0f5656e8327c5fe47935998de3669678
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Thu Oct 15 23:18:53 2020 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: Check sanity on lengths of RPC returned arrays
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
Various RPCs return a variable-length array in an OUT argument, but
|
||||
are only supposed to return specific sizes. A few instances of this
|
||||
include the following (but this is not an exhaustive list):
|
||||
|
||||
- AFSVolListOneVolume should only return a single volintInfo.
|
||||
|
||||
- PR_NameToID should return the same number of IDs as names given.
|
||||
|
||||
- VL_GetAddrsU should return the same number of addresses as the
|
||||
'nentries' OUT argument.
|
||||
|
||||
Some callers of these RPCs just assume that the server has not
|
||||
violated these rules. If the server responds with a nonsensical array
|
||||
size, this could cause us to read beyond the end of the array, or
|
||||
cause a NULL dereference or other errors.
|
||||
|
||||
For example, some callers of VL_GetAddrsU will iterate over 'nentries'
|
||||
addresses, even if the 'blkaddrs' OUT argument contains fewer entries.
|
||||
Or with AFSVolListOneVolume, some callers assume that at least 1
|
||||
volintInfo has been returned; if 0 have been returned, we can try to
|
||||
access a NULL array.
|
||||
|
||||
To avoid all of this, add various sanity checks on the relevant
|
||||
returned lengths of these RPCs. For most cases, if the lengths are not
|
||||
sane, return an internal error from the appropriate subsystem (or
|
||||
RXGEN_CC_UNMARSHAL if there isn't one). For VL_GetAddrsU, if
|
||||
'nentries' is too long, just set it to the length of the returned
|
||||
array.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15921
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit c732715e4ee78ed1e2414c813ae5a4b3574107a0)
|
||||
|
||||
Change-Id: I2cfc0723f4c3a2692238fa1e59145aceee17e0d6
|
||||
Reviewed-on: https://gerrit.openafs.org/15943
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit d253a52d3b59bd691eae8863ea2f06d99ad18550
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Sun Oct 4 23:04:06 2020 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: xdr: Prevent XDR_DECODE buffer overruns
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
When making an RPC call from a client, output arguments that use
|
||||
arrays (or array-like objects like strings and opaques) can be
|
||||
allocated by XDR, like so:
|
||||
|
||||
{
|
||||
struct idlist ids;
|
||||
|
||||
ids.idlist_val = NULL;
|
||||
ids.idlist_len = 0;
|
||||
code = PR_NameToID(rxconn, names, &ids);
|
||||
/* data inside ids.idlist_val[...] */
|
||||
xdr_free((xdrproc_t) xdr_idlist, &ids);
|
||||
}
|
||||
|
||||
With this approach, during XDR_DECODE, xdr_array() reads in the number
|
||||
of array elements from the peer, then allocates enough memory to hold
|
||||
that many elements, and then reads in the array elements.
|
||||
|
||||
Alternatively, the caller can provide preallocated memory, like so:
|
||||
|
||||
{
|
||||
struct idlist ids;
|
||||
afs_int32 ids_buf[30];
|
||||
|
||||
ids.idlist_val = ids_buf;
|
||||
ids.idlist_len = 30;
|
||||
code = PR_NameToID(rxconn, names, &ids);
|
||||
/* data inside ids.idlist_val[...] */
|
||||
}
|
||||
|
||||
With this approach, during XDR_DECODE, xdr_array() reads in the number
|
||||
of array elements from the peer, and then reads in the array elements
|
||||
into the supplied buffer. However, in this case, xdr_array() never
|
||||
checks that the number of array elements will actually fit into the
|
||||
supplied buffer; the _len field provided by the caller is just ignored.
|
||||
In this example, if the ptserver responds with 50 elements for the 'ids'
|
||||
output argument, xdr_array() will write 50 afs_int32's into
|
||||
'ids.idlist_val', going beyond the end of the 30 elements that are
|
||||
actually allocated.
|
||||
|
||||
It's also possible, and in fact very easy, to use xdr-allocated
|
||||
buffers and then reuse them as a preallocated buffer, possibly
|
||||
accidentally. For example:
|
||||
|
||||
{
|
||||
struct idlist ids;
|
||||
|
||||
ids.idlist_val = NULL;
|
||||
ids.idlist_len = 0;
|
||||
while (some_condition) {
|
||||
code = PR_NameToID(rxconn, names, &ids);
|
||||
}
|
||||
}
|
||||
|
||||
In this case, the first call to PR_NameToID can cause the buffer for
|
||||
'ids' to be allocated by XDR, which will then be reused by the
|
||||
subsequent calls to PR_NameToId. Note that this can happen even if the
|
||||
first PR_NameToID call fails; the call can be aborted after the output
|
||||
array is allocated.
|
||||
|
||||
Retrying an RPC in this way is effectively what all ubik_Call*
|
||||
codepaths do (including all ubik_* wrappers, e.g. ubik_PR_NameToID).
|
||||
Or some callers retry effectively the same RPC when falling back to
|
||||
earlier versions (e.g. VL_ListAttributesN2 -> VL_ListAttributesN).
|
||||
|
||||
To prevent this for arrays and opaques, change xdr_array (and
|
||||
xdr_bytes) to check if the _len field for preallocated buffers is
|
||||
large enough, and return failure if it's not.
|
||||
|
||||
Also perform the same check for the ka_CBS and ka_BBS structures. These
|
||||
are mostly the same as opaques, but they have custom serialization
|
||||
functions in src/kauth/kaaux.c. ka_BBS also has two lengths: the actual
|
||||
length of bytes, and a 'max' length. ka_CBS isn't used for any RPC
|
||||
output arguments, but fix it for consistency.
|
||||
|
||||
For strings, the situation is complicated by the fact that callers
|
||||
cannot pass in how much space was allocated for the string, since
|
||||
callers only provide a char**. So for strings, just refuse to use a
|
||||
preallocated buffer at all, and return failure if one is provided.
|
||||
|
||||
Note that for some callers using preallocated arrays or strings, the
|
||||
described buffer overruns are not possible, since the preallocated
|
||||
buffers are larger than the max length specified in the relevant
|
||||
RPC-L. For example, afs_DoBulkStat() allocates AFSCBMAX entries for
|
||||
the output args for RXAFS_InlineBulkStatus, which is the max length
|
||||
specified in the RPC-L, so a buffer overrun is impossible. But since
|
||||
it is so easy to allow a buffer overrun, enforce the length checks for
|
||||
everyone.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15920
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 13413eceed80d106cbed5ffb91c4dfbc8cccf55c)
|
||||
|
||||
Change-Id: I1010d2fa309d4a441ebaf285168c2e7e887753b9
|
||||
Reviewed-on: https://gerrit.openafs.org/15942
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit c18640c6b98b10cd6f78c63195ff822689cb5348
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Thu Jun 13 15:30:50 2024 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: xdr: Set _len for prealloc'd opaque/array OUT args
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
Currently, a few RPCs with arrays or opaque OUT arguments are called
|
||||
with preallocated memory for the arg, but also provide a _len of 0 (or
|
||||
an uninitialized _len). This makes it impossible for the xdr routine to
|
||||
tell whether we have allocated enough space to actually hold the
|
||||
response from the server.
|
||||
|
||||
To help this situation, either specify an appropriate _len for the
|
||||
preallocated value (cm_IoctlGetACL, fsprobe_LWP), or don't provide a
|
||||
preallocated buffer at all and let xdr allocate a buffer for us
|
||||
(PGetAcl).
|
||||
|
||||
Note that this commit doesn't change xdr to actually check the value of
|
||||
the given _len; but now a future commit can do so without breaking
|
||||
callers.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15919
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit b2b1110ddd9e19670dbc6a3217dc2a74af432f82)
|
||||
|
||||
Change-Id: Ibdee49b79da1476c4e606bcad5fb3d08eb259ad7
|
||||
Reviewed-on: https://gerrit.openafs.org/15941
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 40440c3eb628ff1772588bdc99d7496292097bbd
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Thu Jun 13 15:28:38 2024 -0500
|
||||
|
||||
OPENAFS-SA-2024-003: xdr: Avoid prealloc'd string OUT args
|
||||
|
||||
CVE-2024-10397
|
||||
|
||||
Currently, several callers call RPCs with string OUT arguments, and
|
||||
provide preallocated memory for those arguments. This can easily allow a
|
||||
response from the server to overrun the allocated buffer, stomping over
|
||||
stack or heap memory.
|
||||
|
||||
We could simply make our preallocated buffers larger than the maximum
|
||||
size that the RPC allows, but relying on that is error prone, and
|
||||
there's no way for XDR to check if a string buffer is large enough.
|
||||
|
||||
Instead, to make sure we don't overrun a given preallocated buffer,
|
||||
avoid giving a preallocated buffer to such RPCs, and let XDR allocate
|
||||
the memory for us.
|
||||
|
||||
Specifically, this commit changes several callers to
|
||||
RXAFS_GetVolumeStatus(), and one caller of BOZO_GetInstanceParm(), to
|
||||
avoid passing in a preallocated string buffer.
|
||||
|
||||
All other callers of RPCs with string OUT args already let XDR allocate
|
||||
the buffers for them.
|
||||
|
||||
FIXES 135043
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15918
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 00a1b266af51a828a022c23e7bb006a39740eaad)
|
||||
|
||||
Change-Id: Ib174d008eaf1fd10d42702bcdb607e45b26acf58
|
||||
Reviewed-on: https://gerrit.openafs.org/15940
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit fec84e347768080e4370e5aeb05886bfe19ae54b
|
||||
Author: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Date: Fri Mar 10 17:51:17 2023 -0500
|
||||
|
||||
xdr: Avoid xdr_string maxsize check when freeing
|
||||
|
||||
The maxsize argument in xdr_string() is garbage when called by
|
||||
xdr_free(), since xdr_free() only passes the XDR handle and the xdr
|
||||
string to be freed. Sometimes the size check fails and xdr_string()
|
||||
returns early, without freeing the string and without setting the object
|
||||
pointer to NULL.
|
||||
|
||||
Usually this just results in leaking the string's memory. But since
|
||||
commit 9ae5b599c7 (bos: Let xdr allocate rpc output strings), many
|
||||
callers in bos.c rely on xdr_free(xdr_string) to set the given string
|
||||
to NULL; if this doesn't happen, subsequent calls to BOZO_ RPCs can
|
||||
corrupt memory, often causing the 'bos' process to segfault.
|
||||
|
||||
We only need the maxsize check when encoding or decoding, so avoid
|
||||
accessing the maxsize agument when the op mode is XDR_FREE.
|
||||
|
||||
In general, xdr_free() can only safely be used on xdr 2-argument xdr
|
||||
functions, so must be avoided when freeing xdr opaque, byte, and union
|
||||
types.
|
||||
|
||||
This change makes it safe to use xdr_free() to free xdr strings, but in
|
||||
the future, we should provide a typesafe and less fragile function for
|
||||
freeing xdr strings returned from RPCs. Currently, xdr_free(xdr_string)
|
||||
is only called by the bos client and the tests.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15343
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit bbb1e8adfed6804ac6fbae0a073dc6927096e16a)
|
||||
|
||||
Change-Id: I1f190d28acab5fa1621919f283571fcacb495ce4
|
||||
Reviewed-on: https://gerrit.openafs.org/15939
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 21941c0ab2d28fa3a074f46e4d448d518a7c1b8a
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Tue Nov 5 23:40:24 2024 -0600
|
||||
|
||||
OPENAFS-SA-2024-002: Avoid uninitialized memory when parsing ACLs
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Several places in the tree parse ACLs using sscanf() calls that look
|
||||
similar to this:
|
||||
|
||||
sscanf(str, "%d dfs:%d %s", &nplus, &dfs, cell);
|
||||
sscanf(str, "%100s %d", tname, &trights);
|
||||
|
||||
Some callers check whether the scanf() returns negative or 0, but some
|
||||
callers do not check the return code at all. If only some of the fields
|
||||
are present in the sscanf()'d string (because, for instance, the ACL is
|
||||
malformed), some of the arguments are left alone, and may be set to
|
||||
garbage if the relevant variable was never initialized.
|
||||
|
||||
If the parsed ACL is copied to another ACL, this can result in the
|
||||
copied ACL containing uninitialized memory.
|
||||
|
||||
To avoid this, make sure all of the variables passed to sscanf() and
|
||||
similar calls are initialized before parsing. This commit does not
|
||||
guarantee that the results make sense, but at least the results do not
|
||||
contain uninitialized memory.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15917
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit ac602a0a5624b0f0ab04df86f618d09f2a4ad063)
|
||||
|
||||
Change-Id: I00245c12993683eb3b58d51cf77742f758bac120
|
||||
Reviewed-on: https://gerrit.openafs.org/15938
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit a9ede52673b8c8abbfc2577ac6987a8a5686206f
|
||||
Author: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Date: Mon Nov 4 20:50:50 2024 -0800
|
||||
|
||||
OPENAFS-SA-2024-002: make VIOCGETAL consumers stay within string bounds
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
After the preceding commits, the data returned by the VIOCGETAL
|
||||
pioctl (a RXAFS_FetchAcl wrapper) will safely be NUL-terminated.
|
||||
However, the callers that attempt to parse the ACL string make
|
||||
assumptions that the returned data will be properly formatted,
|
||||
and implement a "skip to next line" functionality (under various
|
||||
names) that blindly increments a char* until it finds a newline
|
||||
character, which can read past the end of even a properly
|
||||
NUL-terminated string if there is not a newline where one is
|
||||
expected.
|
||||
|
||||
Adjust the various "skip to next line" functionality to keep
|
||||
the current string pointer at the trailing NUL if the end of the
|
||||
string is reached while searching for a newline.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15916
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit a4ecb050540528a1bff840ff08d21f99e6ef3fbf)
|
||||
|
||||
Change-Id: Id2d8c0164cfaa7d03a9e37b29ff58b88cf815483
|
||||
Reviewed-on: https://gerrit.openafs.org/15937
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit a96a3160f5425125588f39f5ac612df3ef9b9a8a
|
||||
Author: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Date: Mon Nov 4 20:50:50 2024 -0800
|
||||
|
||||
OPENAFS-SA-2024-002: verify FetchACL returned only a string
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Supplement the previous commit by additionally verifying that
|
||||
the returned ACL string occupies the entire XDR opaque, rejecting
|
||||
any values returned that have an internal NUL prior to the end
|
||||
of the opaque.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15915
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 7e13414e8ea995d438cde3e60988225f3ab4cbcd)
|
||||
|
||||
Change-Id: I107f89e3d8a5c3c5cd67f6296742bfca7cace0e1
|
||||
Reviewed-on: https://gerrit.openafs.org/15936
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 64068705b15661a8d4e0b9f9f2ad4aec34ed51a7
|
||||
Author: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Date: Mon Nov 4 20:33:16 2024 -0800
|
||||
|
||||
OPENAFS-SA-2024-002: verify FetchACL returned a valid string
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Analogously to how a call to RXAFS_StoreACL() with a malformed
|
||||
ACL string can cause a fileserver to perform invalid memory operations,
|
||||
a malformed ACL string returned in response to a call to RXAFS_FetchACL()
|
||||
can cause a client to perform invalid memory operations.
|
||||
|
||||
Modify all the in-tree callers of the RPC to verify that the ACL
|
||||
data, which is conveyed as an XDR 'opaque' but whose contents
|
||||
are actually expected to be a string, is a valid C string. If
|
||||
a zero-length opaque or one without a trailing NUL is received,
|
||||
treat that as an error response from the fileserver rather than
|
||||
returning success.
|
||||
|
||||
The Unix cache manager's pioctl handler already has logic to cope with a
|
||||
zero-length reply by emitting a single NUL byte to userspace. This
|
||||
special-casing seems to have been in place from the original IBM import,
|
||||
though it does so by confusingly "skipping over" a NUL byte already put
|
||||
in place. For historical compatibility, preserve that behavior rather
|
||||
than treating the zero-length reply as an error as we do for the other
|
||||
callers. It seems likely that this location should treat a zero-length
|
||||
reply as an error just as the other call sites do, but that can be done
|
||||
as a later change.
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15914
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 0b1ccb0dbc3b7673558eceff3d672971f5bb0197)
|
||||
|
||||
Change-Id: Ifbce762d76641f08b5fc5e79b4c8dad07c1a135a
|
||||
Reviewed-on: https://gerrit.openafs.org/15935
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit bb01d76a2095baa65880bdc5d504e7a198958265
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Wed Aug 21 00:41:49 2024 -0500
|
||||
|
||||
OPENAFS-SA-2024-002: viced: Avoid unchecked ACL in StoreACL audit log
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Currently in SRXAFS_StoreACL, if CallPreamble() or check_acl() fail, we
|
||||
will jump to Bad_StoreACL, which will pass the ACL string from the
|
||||
client to osi_auditU. Since check_acl() hasn't yet checked if the given
|
||||
ACL contains a NUL byte, the ACL may be an unterminated string. If
|
||||
auditing is enabled, this can cause garbage to be logged to the audit
|
||||
log, or cause the fileserver to crash.
|
||||
|
||||
To avoid this, set 'rawACL' to NULL at first, only setting it to the
|
||||
actual ACL string after check_acl() has succeeded. This ensures that all
|
||||
code accessing 'rawACL' is guaranteed to be using a terminated string.
|
||||
|
||||
This may mean that we pass a NULL AUD_ACL to osi_auditU. Our auditing
|
||||
code explicitly checks for and handles handles NULL strings, so this is
|
||||
fine.
|
||||
|
||||
FIXES 135445
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15913
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit c9eae1e8b26144063e5d1db23d47ee82c4b9ef3a)
|
||||
|
||||
Change-Id: Ieda6f910d875c4b5179011e5e93e5694d3f4ce47
|
||||
Reviewed-on: https://gerrit.openafs.org/15934
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit ee020f7cba7d82bc3d4b468210b5052af53c5db5
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Wed Aug 21 00:29:34 2024 -0500
|
||||
|
||||
OPENAFS-SA-2024-002: viced: Introduce 'rawACL' in StoreACL
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Change our StoreACL implementation to refer to the 'AccessList' argument
|
||||
via a new local variable called 'rawACL'. This makes it clearer to
|
||||
users that the data is a string, and makes it easier for future commits
|
||||
to make sure we don't access the 'AccessList' argument in certain
|
||||
situations.
|
||||
|
||||
Update almost all users in StoreACL to refer to 'rawACL' instead of
|
||||
'AccessList'. Change the name of 'AccessList' to 'uncheckedACL' to make
|
||||
sure we don't miss any users. Update our check_acl() call to use
|
||||
'uncheckedACL' (and not 'rawACL'), because it must use an AFSOpaque to
|
||||
check the ACL.
|
||||
|
||||
Change RXStore_AccessList() and printableACL() to accept a plain char*
|
||||
instead of a struct AFSOpaque.
|
||||
|
||||
This commit should not incur any noticeable behavior change. Technically
|
||||
printableACL() is changed to run strlen() on the given string, but this
|
||||
should not cause any noticeable change in behavior:
|
||||
|
||||
This change could cause printableACL() to process less of the string
|
||||
than before, if the string contains a NUL byte before the end of the
|
||||
AFSOpaque buffer. But this doesn't matter, since the all of our code
|
||||
after this treats the ACL as a plain string, and so doesn't look at any
|
||||
data beyond the first NUL. It's not possible for printableACL() to
|
||||
process more data than before, because check_acl() has already checked
|
||||
that the ACL string contains a NUL byte, so we must process
|
||||
AFSOpaque_len bytes or fewer.
|
||||
|
||||
FIXES 135445
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15912
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit eb8b93a971c6293cdfbf8cd3d9a6351a8cb76f81)
|
||||
|
||||
[1.8: printableACL() does not exist in this branch.]
|
||||
|
||||
Change-Id: I65b518acab26be0bb1854c29e46c90e5fee52d41
|
||||
Reviewed-on: https://gerrit.openafs.org/15933
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit d66caf8c04878724001839317637445708edef2c
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Tue Sep 19 15:55:42 2023 -0500
|
||||
|
||||
OPENAFS-SA-2024-002: acl: Error on missing newlines when parsing ACL
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
In acl_Internalize_pr(), each line in an ACL granting rights (positive
|
||||
or negative) is sscanf()'d with "%63s\t%d\n", and then we try to
|
||||
advance 'nextc' beyond the next newline character.
|
||||
|
||||
However, sscanf()'ing "%63s\t%d\n" does not guarantee that there is a
|
||||
newline in the given string. Whitespace characters in sscanf() are not
|
||||
matched exactly, and may match any amount of whitespace (including
|
||||
none at all). For example, a string like "foo 4" may be parsed by
|
||||
sscanf(), but does not contain any newlines.
|
||||
|
||||
If this happens, strchr(nextc, '\n') will return NULL, and we'll
|
||||
advance 'nextc' to 0x1, causing a segfault when we next try to
|
||||
dereference 'nextc'.
|
||||
|
||||
To avoid this, check if 'nextc' is NULL after the strchr() call, and
|
||||
return an error if so.
|
||||
|
||||
FIXES 135445
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15911
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 96ab2c6f8a614d597a523b45871c5f64a50a7040)
|
||||
|
||||
Change-Id: I666dfb2c401410865c1f98d9db1b342b52c8f628
|
||||
Reviewed-on: https://gerrit.openafs.org/15932
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 1e6e813188ecce62eb7af19385d911f63469bdb6
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Tue Sep 19 15:44:08 2023 -0500
|
||||
|
||||
OPENAFS-SA-2024-002: acl: Do not parse beyond end of ACL
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
The early parsing code in acl_Internalize_pr() tries to advance
|
||||
'nextc' to go beyond the first two newlines in the given ACL string.
|
||||
But if the given ACL string has no newlines, or only 1 newline, then
|
||||
'nextc' will point beyond the end of the ACL string, potentially
|
||||
pointing to garbage.
|
||||
|
||||
Intuitively, it may look like the ACL string must contain at least 2
|
||||
newlines because we have sscanf()'d the string with "%d\n%\d".
|
||||
However, whitespace characters in sscanf() are not matched exactly
|
||||
like non-whitespace characters are; a sequence of whitespace
|
||||
characters matches any amount of whitespace (including none). So, a
|
||||
string like "1 2" will be parsed by "%d\n%d\n", but will not contain
|
||||
any newline characters.
|
||||
|
||||
Usually this should result in a parse error from acl_Internalize_pr(),
|
||||
but if the garbage happens to parse successfully, this could result in
|
||||
unrelated memory getting stored to the ACL.
|
||||
|
||||
To fix this, don't advance 'nextc' if we're already at the end of the
|
||||
ACL string.
|
||||
|
||||
FIXES 135445
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15910
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 35d218c1d17973c1412ea5dff1e23d9aae50c4c7)
|
||||
|
||||
Change-Id: I7a7d136676e548adba5fa8d0003b5f8342332a86
|
||||
Reviewed-on: https://gerrit.openafs.org/15931
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit a07e50726df09c49dfe7b953c3e49eb98f310c09
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Mon Sep 18 16:14:07 2023 -0500
|
||||
|
||||
OPENAFS-SA-2024-002: viced: Free ACL on acl_Internalize_pr error
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Currently, we don't free 'newACL' if acl_Internalize_pr() fails. If
|
||||
acl_Internalize_pr() has already allocated 'newACL', then the memory
|
||||
associated with newACL will be leaked. This can happen if parsing the
|
||||
given ACL fails at any point after successfully parsing the first
|
||||
couple of lines in the ACL.
|
||||
|
||||
Change acl_FreeACL() to make freeing a NULL acl a no-op, to make it
|
||||
easier to make sure the acl has been freed.
|
||||
|
||||
FIXES 135445
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15909
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit f4dfc2d7183f126bc4a45b5cabc78c3de020925f)
|
||||
|
||||
Change-Id: If1554aa899542761ec6e6611394f2ee4f9379f22
|
||||
Reviewed-on: https://gerrit.openafs.org/15930
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit f74f960a18f559e683d6a1f5104e43c3ca93ecb8
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Mon Sep 18 16:13:57 2023 -0500
|
||||
|
||||
OPENAFS-SA-2024-002: viced: Refuse ACLs without '\0' in SRXAFS_StoreACL
|
||||
|
||||
CVE-2024-10396
|
||||
|
||||
Currently, the fileserver treats the ACL given in RXAFS_StoreACL as a
|
||||
string, even though it is technically an AFSOpaque and could be not
|
||||
NUL-terminated.
|
||||
|
||||
We give the ACL opaque/string to acl_Internalize_pr() to parse, which
|
||||
will run off the end of the allocated buffer if the given ACL does not
|
||||
contain a '\0' character. Usually this will result in a parse error
|
||||
since we'll encounter garbage, but if the partially-garbage ACL
|
||||
happens to parse successfully, some uninitialized data could make it
|
||||
into the stored ACL.
|
||||
|
||||
In addition, if the given ACL is an opaque of length 0, we'll still
|
||||
give the opaque pointer to acl_Internalize_pr(). In this case, the
|
||||
pointer will point to &memZero, which happens to contain a NUL byte,
|
||||
and so is treated like an empty string (which is not a valid ACL). But
|
||||
the fact that this causes no problems is somewhat a coincidence, and
|
||||
so should also be avoided.
|
||||
|
||||
To avoid both of these situations, just check if the given ACL string
|
||||
contains a NUL byte. If it doesn't, or if it has length 0, refuse to
|
||||
look at it and abort the call with EINVAL.
|
||||
|
||||
FIXES 135445
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15908
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit e15decb318797f1d471588dc669c3e3b26f1b8b3)
|
||||
|
||||
Change-Id: I0f447310db5a988b21e19bb5158bb564d4ea3d94
|
||||
Reviewed-on: https://gerrit.openafs.org/15929
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 57b655e4837d8660ebcc25d95efb09118adaff07
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Fri Jan 10 12:40:15 2020 -0600
|
||||
|
||||
OPENAFS-SA-2024-001: afs: Throttle PAG creation in afs_genpag()
|
||||
|
||||
CVE-2024-10394
|
||||
|
||||
Currently, we only throttle PAG creation in afs_setpag(). But there
|
||||
are several callers that call setpag() directly, not via afs_setpag;
|
||||
notably _settok_setParentPag in afs_pioctl.c. When setpag() is called
|
||||
with a PAG value of -1, it generates a new PAG internally without any
|
||||
throttling. So, those callers effectively bypass the PAG throttling
|
||||
mechanism, which allows a calling user to create PAGs without any
|
||||
delay.
|
||||
|
||||
To avoid this, move our afs_pag_wait call from afs_setpag() to
|
||||
afs_genpag(), which all code uses to generate a new PAG value. This
|
||||
ensures that PAG creation is always throttled for unprivileged users.
|
||||
|
||||
FIXES 135062
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/15907
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit 0358648dbed7656e7bda30f6f0ea6e8e01bf6527)
|
||||
|
||||
Change-Id: I7f8f475a913c6f62ca2c7a6fb00239e51a8a8c62
|
||||
Reviewed-on: https://gerrit.openafs.org/15928
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
|
||||
commit 20c22347b41eea2ebbdc0ab15f16c822af44df51
|
||||
Author: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Fri Jan 10 12:01:50 2020 -0600
|
||||
|
||||
OPENAFS-SA-2024-001: afs: Introduce afs_genpag()
|
||||
|
||||
CVE-2024-10394
|
||||
|
||||
Currently, several areas in the code call genpag() to generate a new
|
||||
PAG id, but the signature of genpag() is very limited. To allow for
|
||||
the code in genpag() to return errors and to examine the calling
|
||||
user's credentials, introduce a new function, afs_genpag(), that does
|
||||
the same thing as genpag(), but accepts creds and allows errors to be
|
||||
returned.
|
||||
|
||||
Convert all existing callers to use afs_genpag() and to handle any
|
||||
errors, though no errors are ever returned in this commit on its own.
|
||||
|
||||
To ensure there are no old callers of genpag() left around, change the
|
||||
existing genpag() to be called genpagval(), and declare it static.
|
||||
|
||||
FIXES 135062
|
||||
|
||||
Reviewed-on: https://gerrit.openafs.org/14090
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
(cherry picked from commit f701f704c7bc93cf5fd7cffaaa043cef6a99e77f)
|
||||
|
||||
Change-Id: I675d6cb111ca74638a3b856a3c989dcb2fe6d534
|
||||
Reviewed-on: https://gerrit.openafs.org/15927
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
109
README.SUSE.openafs
Normal file
109
README.SUSE.openafs
Normal file
@ -0,0 +1,109 @@
|
||||
Here is described installation of openafs server and client on SUSE linux.
|
||||
|
||||
This text is based on AFS Quick Start Guide. The differences are:
|
||||
- paths are adapted to SUSE installation
|
||||
- uses Kerberos 5 authentization
|
||||
|
||||
Complete OpenAFS documentation is at http://openafs.org
|
||||
|
||||
SERVER SETUP
|
||||
============
|
||||
|
||||
# choose an AFS cell name and a Kerberos realm name, the simplest setup is:
|
||||
# - AFS cell name equal to DNS domain name
|
||||
# - Kerberos realm name equal to uppercase AFS cell name
|
||||
|
||||
# create a partition for AFS filesystem and mount it under /vicepa
|
||||
|
||||
# start bosserver
|
||||
/usr/sbin/bosserver -noauth &
|
||||
|
||||
# setup basic cell information
|
||||
bos setcellname your.afs.server your.cell.name -noauth
|
||||
|
||||
# setup database servers processes
|
||||
bos create your.afs.server ptserver simple /usr/lib/openafs/ptserver -cell your.cell.name -noauth
|
||||
bos create your.afs.server buserver simple /usr/lib/openafs/buserver -cell your.cell.name -noauth
|
||||
bos create your.afs.server vlserver simple /usr/lib/openafs/vlserver -cell your.cell.name -noauth
|
||||
|
||||
# If you want to use the old afs authentization (not recommended):
|
||||
# bos addkey your.afs.server -kvno 0 -cell your.cell.name -noauth
|
||||
|
||||
# Authentication against heimdal krb5 server
|
||||
|
||||
# Here you can set up kerberos realm if you dont have any,
|
||||
# see documentation in package krb5-doc
|
||||
|
||||
# restart kdc
|
||||
rckrb5kdc restart
|
||||
rckrb524d restart
|
||||
|
||||
# create afs principal in kerberos database
|
||||
kadmin.local
|
||||
add_principal afs@YOUR.KERBEROS.REALM # create afs key, use random password
|
||||
ktremove -k /etc/krb5.keytab afs all # delete old afs key if any
|
||||
|
||||
# export the afs key to external keytab
|
||||
# note the key version number (kvno), you will need it later for asetkey
|
||||
ktadd -e des-cbc-crc:v4 afs@YOUR.KERBEROS.REALM
|
||||
|
||||
add_principal admin@YOUR.KERBEROS.REALM # create admin principal
|
||||
|
||||
quit # end kadmin.local
|
||||
|
||||
rm /etc/openafs/server/KeyFile # delete the old afs key file if any
|
||||
|
||||
# convert the afs key from /etc/krb5.keytab to /etc/openafs/server/KeyFile
|
||||
# use <kvno> displayed by ktadd
|
||||
asetkey add <kvno> /etc/krb5.keytab afs
|
||||
|
||||
# give admin the permissions to control bosserver
|
||||
bos adduser your.afs.server admin -cell your.cell.name -noauth
|
||||
|
||||
# add admin to group system:administrators
|
||||
pts createuser -name admin -id <user id> -cell your.cell.name -noauth
|
||||
pts adduser admin system:administrators -cell your.cell.name -noauth
|
||||
|
||||
# restart bos server
|
||||
bos restart your.afs.server -all -cell your.cell.name -noauth
|
||||
|
||||
# create fileserver processes
|
||||
bos create your.afs.server fs fs /usr/lib/openafs/fileserver /usr/lib/openafs/volserver /usr/lib/openafs/salvager -cell your.cell.name -noauth
|
||||
|
||||
# create root volume
|
||||
vos create your.afs.server /vicepa root.afs -cell your.cell.name -noauth
|
||||
|
||||
# restart bosserver with security enabled
|
||||
rcopenafs-fileserver restart
|
||||
|
||||
|
||||
CLIENT SETUP
|
||||
============
|
||||
|
||||
IMPORTANT: Unfortunately, openafs client for linux kernel 2.6 has not reached
|
||||
stable state yet. There may be problems.
|
||||
|
||||
edit /etc/sysconfig/openafs-client, set at least
|
||||
REGENERATE_CELL_INFO="yes"
|
||||
THIS_CELL="your.cell.name"
|
||||
THIS_CELL_SERVER="your.afs.server"
|
||||
|
||||
If you are configuring first afs server and the volume root.cell does not
|
||||
exist yet, you have to set also DYNROOT=no. After finishing the server
|
||||
installaton it is better to change DYNROOT back to 'yes' as the client
|
||||
behaves better on startup with network outage.
|
||||
|
||||
# start afs client
|
||||
rcopenafs-client start
|
||||
|
||||
# login as admin
|
||||
kinit admin
|
||||
aklog -d # convert Kerberos 5 ticket to AFS token
|
||||
|
||||
To enable transparent login via pam, install package pam_krb5
|
||||
and add 'call_modules=krb5afs' to /etc/security/pam_unix2.conf
|
||||
For details look at pam_krb5afs(5), pam_krb5afs(8) and pam_unix2(8) manpages.
|
||||
|
||||
Now you have working afs server and client. You can continue with chapter
|
||||
"Configuring the Top Levels of the AFS Filespace" of AFS Quick Start Guide.
|
||||
|
27
RELNOTES-stable-1_8_x
Normal file
27
RELNOTES-stable-1_8_x
Normal file
@ -0,0 +1,27 @@
|
||||
<!--NO-FRAMELESS-->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
|
||||
"http://www.w3c.org/TR/html4/frameset.dtd">
|
||||
<html><head>
|
||||
<meta name="verify-v1" content="I/X2Wfxkt50ZaXkdbfIow6iFQIZ71o0o2b6sPTOGmPE=" /><!-- shadow -->
|
||||
<META name="verify-v1" content="THAFicQcPIBMrawRwzaJg3JK8FArpvoecAy5Zx7v9DM=" /><!-- cg2v -->
|
||||
<META name="verify-v1" content="VMsthPusbXnedJuKjM0/lhH0uzVj79aQ/lPfk2FLXsA=" /><!-- jaltman -->
|
||||
<META name="verify-v1" content="fijqhqC5PvhJOATNi4e6h2uSK0v1deFiKXL+yItw/5w=" /><!-- jhutz -->
|
||||
<title>OpenAFS</title>
|
||||
<link href="/openafs.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript">
|
||||
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
||||
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
var pageTracker = _gat._getTracker("UA-5995928-1");
|
||||
pageTracker._trackPageview();
|
||||
</script>
|
||||
</head>
|
||||
<frameset cols="265,*" border=0>
|
||||
<frame src="/navbar.html" name="navbar">
|
||||
<frameset rows="170,*" border=0>
|
||||
<frame src="/top.html" scrolling=no name="top">
|
||||
<frame src="/dl/openafs/1.8.13/RELNOTES-1.8.13" name="openafs_main">
|
||||
</frameset>
|
||||
</frameset>
|
||||
</html>
|
6
afs3-bos.xml
Normal file
6
afs3-bos.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-bos</short>
|
||||
<description>OpenAFS basic overseer process (bosserver)</description>
|
||||
<port protocol="udp" port="7007"/>
|
||||
</service>
|
6
afs3-callback.xml
Normal file
6
afs3-callback.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-callback</short>
|
||||
<description>OpenAFS callbacks to cache managers (clients)</description>
|
||||
<port protocol="udp" port="7001"/>
|
||||
</service>
|
6
afs3-fileserver.xml
Normal file
6
afs3-fileserver.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-fileserver</short>
|
||||
<description>OpenAFS file server</description>
|
||||
<port protocol="udp" port="7000"/>
|
||||
</service>
|
6
afs3-prserver.xml
Normal file
6
afs3-prserver.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-prserver</short>
|
||||
<description>OpenAFS users and groups database</description>
|
||||
<port protocol="udp" port="7002"/>
|
||||
</service>
|
6
afs3-rmtsys.xml
Normal file
6
afs3-rmtsys.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-rmtsys</short>
|
||||
<description>OpenAFS remote cache manager service</description>
|
||||
<port protocol="udp" port="7009"/>
|
||||
</service>
|
6
afs3-update.xml
Normal file
6
afs3-update.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-update</short>
|
||||
<description>OpenAFS server-to-server updater</description>
|
||||
<port protocol="udp" port="7008"/>
|
||||
</service>
|
6
afs3-vlserver.xml
Normal file
6
afs3-vlserver.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-vlserver</short>
|
||||
<description>OpenAFS volume location database (VLDB)</description>
|
||||
<port protocol="udp" port="7003"/>
|
||||
</service>
|
6
afs3-volser.xml
Normal file
6
afs3-volser.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>afs3-volser</short>
|
||||
<description>OpenAFS volume managment server (volserver)</description>
|
||||
<port protocol="udp" port="7005"/>
|
||||
</service>
|
76
d8b56f21994ce66d8daebb7d69e792f34c1a19ed
Normal file
76
d8b56f21994ce66d8daebb7d69e792f34c1a19ed
Normal file
@ -0,0 +1,76 @@
|
||||
commit d8b56f21994ce66d8daebb7d69e792f34c1a19ed
|
||||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||||
Date: Wed Jun 12 14:24:01 2024 -0600
|
||||
|
||||
afs: avoid empty-body warning
|
||||
|
||||
With Linux 6.10 commit:
|
||||
"kbuild: turn on -Wextra by default" (f5982cceb3)
|
||||
there are additional compiler warnings that can turn
|
||||
into build errors when --enable-checking is used.
|
||||
|
||||
"error: suggest braces around empty body in an ‘if’
|
||||
statement [-Werror=empty-body]"
|
||||
|
||||
when there is an empty body, e.g.
|
||||
if (foo)
|
||||
;
|
||||
|
||||
Most cases are due to the macros afs_PutCell and afs_PutServer which are
|
||||
"empty" macros.
|
||||
|
||||
Update the afs_PutCell and afs_PutServer macros so they expand to
|
||||
do {} while(0)
|
||||
|
||||
Add a comment at the definitions for afs_PutCell and afs_PutServer to
|
||||
document the reason for keeping them.
|
||||
|
||||
Add braces to conditionals that have an empty body.
|
||||
|
||||
There are no functional changes with this commit.
|
||||
|
||||
Change-Id: I359723eb6a19d1c78449902b4f477da131b0fa18
|
||||
Reviewed-on: https://gerrit.openafs.org/15766
|
||||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||||
|
||||
diff --git a/src/afs/afs.h b/src/afs/afs.h
|
||||
index 4bde047e8..621a8a517 100644
|
||||
--- a/src/afs/afs.h
|
||||
+++ b/src/afs/afs.h
|
||||
@@ -349,7 +349,8 @@ struct cell_alias {
|
||||
char *cell;
|
||||
};
|
||||
|
||||
-#define afs_PutCell(cellp, locktype)
|
||||
+/* In case someday a counterpart for afs_GetCell is needed */
|
||||
+#define afs_PutCell(cellp, locktype) do {} while(0)
|
||||
|
||||
/* the unixuser flag bit definitions */
|
||||
#define UHasTokens 1 /* are the st and ct fields valid (ever set)? */
|
||||
@@ -537,7 +538,8 @@ struct server {
|
||||
afs_int32 capabilities;
|
||||
};
|
||||
|
||||
-#define afs_PutServer(servp, locktype)
|
||||
+/* In case someday a counterpart for afs_GetServer is needed */
|
||||
+#define afs_PutServer(servp, locktype) do {} while(0)
|
||||
|
||||
/* structs for some pioctls - these are (or should be)
|
||||
* also in venus.h
|
||||
diff --git a/src/afs/afs_cbqueue.c b/src/afs/afs_cbqueue.c
|
||||
index 2dd633588..11e3aa3f1 100644
|
||||
--- a/src/afs/afs_cbqueue.c
|
||||
+++ b/src/afs/afs_cbqueue.c
|
||||
@@ -139,7 +139,9 @@ afs_DequeueCallback(struct vcache *avc)
|
||||
debugvc = avc;
|
||||
if (avc->callsort.prev) {
|
||||
QRemove(&(avc->callsort));
|
||||
- } else; /* must have got dequeued in a race */
|
||||
+ } else {
|
||||
+ /* must have got dequeued in a race */
|
||||
+ }
|
||||
|
||||
return;
|
||||
} /* afs_DequeueCallback */
|
11
handle_backports.diff
Normal file
11
handle_backports.diff
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/afs/LINUX/osi_vnodeops.c
|
||||
+++ b/src/afs/LINUX/osi_vnodeops.c
|
||||
@@ -971,7 +971,7 @@
|
||||
# else
|
||||
.splice_write = generic_file_splice_write,
|
||||
# endif
|
||||
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0)
|
||||
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(6,4,0)
|
||||
.splice_read = filemap_splice_read,
|
||||
# else
|
||||
.splice_read = generic_file_splice_read,
|
64
kernel-source.build-modules.sh
Normal file
64
kernel-source.build-modules.sh
Normal file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo building a openafs-kernel module for the running kernel
|
||||
echo Need one of: build build_debug install
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rootdir=`cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd`
|
||||
|
||||
if [ -z "$rootdir" ]; then
|
||||
echo "failed to determine the dirname of this script"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$rootdir"
|
||||
|
||||
LOGFILE=libafs_tree/build.log
|
||||
kernel_flavour=`uname -r | awk -F- '{print $NF}'`
|
||||
kernel_version=`uname -r | sed "s/-$kernel_flavour//"`
|
||||
arch=`uname -m`
|
||||
|
||||
suse_flavour=`cat /etc/os-release | grep PRETTY_NAME | awk -F '=' '{print $2}'`
|
||||
suse_version=`cat /etc/os-release | grep VERSION_ID | awk -F '=' '{print $2}'`
|
||||
|
||||
echo This SUSE is version $suse_version of flavour $suse_flavour
|
||||
echo you are running the kernel \"$kernel_version\" of flavour \"$kernel_flavour\" on \"$arch\"
|
||||
echo all output is saved into $LOGFILE
|
||||
|
||||
if [ $1 == "build_debug" ]; then
|
||||
DEBUG_OPT="--enable-debug-kernel"
|
||||
fi
|
||||
|
||||
if [ $1 == "build" -o $1 == "build_debug" ]; then
|
||||
cd libafs_tree
|
||||
echo calling configure...
|
||||
./configure --with-linux-kernel-headers=/usr/src/linux/ --with-linux-kernel-build=/usr/src/linux-obj/$arch/$kernel_flavour $DEBUG_OPT > build.log 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
echo configure failed! See $LOGFILE for details
|
||||
exit $?
|
||||
fi
|
||||
echo calling make
|
||||
make >> build.log 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
echo make failed! See $LOGFILE for details
|
||||
exit $?
|
||||
fi
|
||||
echo
|
||||
echo build sucessfull!
|
||||
echo Now run $0 install to install the kernel-modules
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
if [ $1 == "install" ]; then
|
||||
module_files="afspag.ko libafs.ko"
|
||||
build_dir=libafs_tree/src/libafs/MODLOAD-$kernel_version-$kernel_flavour-MP/
|
||||
install_dir=/lib/modules/$kernel_version-$kernel_flavour
|
||||
echo installing kernel-modules into
|
||||
for mod in $module_files; do
|
||||
cp -v $build_dir/$mod $install_dir/$mod
|
||||
done
|
||||
/sbin/depmod -a
|
||||
fi
|
99
kmp_only.files
Normal file
99
kmp_only.files
Normal file
@ -0,0 +1,99 @@
|
||||
/usr/bin/aklog
|
||||
/usr/bin/fs
|
||||
/usr/bin/klog.krb5
|
||||
/usr/bin/pagsh
|
||||
/usr/bin/pagsh.krb
|
||||
/usr/bin/tokens
|
||||
/usr/bin/tokens.krb
|
||||
/usr/bin/unlog
|
||||
/usr/bin/up
|
||||
/usr/lib/firewalld/services/afs3-callback.xml
|
||||
/usr/lib/firewalld/services/afs3-rmtsys.xml
|
||||
/usr/sbin/afsd
|
||||
/usr/sbin/fstrace
|
||||
/usr/share/man/man1/aklog.1
|
||||
/usr/share/man/man1/copyauth.1
|
||||
/usr/share/man/man1/fs.1
|
||||
/usr/share/man/man1/fs_apropos.1
|
||||
/usr/share/man/man1/fs_bypassthreshold.1
|
||||
/usr/share/man/man1/fs_checkservers.1
|
||||
/usr/share/man/man1/fs_checkvolumes.1
|
||||
/usr/share/man/man1/fs_chgrp.1
|
||||
/usr/share/man/man1/fs_chown.1
|
||||
/usr/share/man/man1/fs_cleanacl.1
|
||||
/usr/share/man/man1/fs_copyacl.1
|
||||
/usr/share/man/man1/fs_cscpolicy.1
|
||||
/usr/share/man/man1/fs_discon.1
|
||||
/usr/share/man/man1/fs_diskfree.1
|
||||
/usr/share/man/man1/fs_examine.1
|
||||
/usr/share/man/man1/fs_exportafs.1
|
||||
/usr/share/man/man1/fs_flush.1
|
||||
/usr/share/man/man1/fs_flushall.1
|
||||
/usr/share/man/man1/fs_flushmount.1
|
||||
/usr/share/man/man1/fs_flushvolume.1
|
||||
/usr/share/man/man1/fs_getcacheparms.1
|
||||
/usr/share/man/man1/fs_getcalleraccess.1
|
||||
/usr/share/man/man1/fs_getcellstatus.1
|
||||
/usr/share/man/man1/fs_getclientaddrs.1
|
||||
/usr/share/man/man1/fs_getcrypt.1
|
||||
/usr/share/man/man1/fs_getfid.1
|
||||
/usr/share/man/man1/fs_getserverprefs.1
|
||||
/usr/share/man/man1/fs_getverify.1
|
||||
/usr/share/man/man1/fs_help.1
|
||||
/usr/share/man/man1/fs_listacl.1
|
||||
/usr/share/man/man1/fs_listaliases.1
|
||||
/usr/share/man/man1/fs_listcells.1
|
||||
/usr/share/man/man1/fs_listquota.1
|
||||
/usr/share/man/man1/fs_lsmount.1
|
||||
/usr/share/man/man1/fs_memdump.1
|
||||
/usr/share/man/man1/fs_messages.1
|
||||
/usr/share/man/man1/fs_minidump.1
|
||||
/usr/share/man/man1/fs_mkmount.1
|
||||
/usr/share/man/man1/fs_monitor.1
|
||||
/usr/share/man/man1/fs_newalias.1
|
||||
/usr/share/man/man1/fs_newcell.1
|
||||
/usr/share/man/man1/fs_nukenfscreds.1
|
||||
/usr/share/man/man1/fs_precache.1
|
||||
/usr/share/man/man1/fs_quota.1
|
||||
/usr/share/man/man1/fs_rmmount.1
|
||||
/usr/share/man/man1/fs_rxstatpeer.1
|
||||
/usr/share/man/man1/fs_rxstatproc.1
|
||||
/usr/share/man/man1/fs_setacl.1
|
||||
/usr/share/man/man1/fs_setcachesize.1
|
||||
/usr/share/man/man1/fs_setcbaddr.1
|
||||
/usr/share/man/man1/fs_setcell.1
|
||||
/usr/share/man/man1/fs_setclientaddrs.1
|
||||
/usr/share/man/man1/fs_setcrypt.1
|
||||
/usr/share/man/man1/fs_setquota.1
|
||||
/usr/share/man/man1/fs_setserverprefs.1
|
||||
/usr/share/man/man1/fs_setverify.1
|
||||
/usr/share/man/man1/fs_setvol.1
|
||||
/usr/share/man/man1/fs_storebehind.1
|
||||
/usr/share/man/man1/fs_sysname.1
|
||||
/usr/share/man/man1/fs_trace.1
|
||||
/usr/share/man/man1/fs_uuid.1
|
||||
/usr/share/man/man1/fs_whereis.1
|
||||
/usr/share/man/man1/fs_whichcell.1
|
||||
/usr/share/man/man1/fs_wscell.1
|
||||
/usr/share/man/man1/klog.krb5.1
|
||||
/usr/share/man/man1/pagsh.1
|
||||
/usr/share/man/man1/pagsh.krb.1
|
||||
/usr/share/man/man1/tokens.1
|
||||
/usr/share/man/man1/tokens.krb.1
|
||||
/usr/share/man/man1/unlog.1
|
||||
/usr/share/man/man1/up.1
|
||||
/usr/share/man/man5/afs_cache.5
|
||||
/usr/share/man/man5/afszcm.cat.5
|
||||
/usr/share/man/man5/cacheinfo.5
|
||||
/usr/share/man/man8/afsd.8
|
||||
/usr/share/man/man8/fstrace.8
|
||||
/usr/share/man/man8/fstrace_apropos.8
|
||||
/usr/share/man/man8/fstrace_clear.8
|
||||
/usr/share/man/man8/fstrace_dump.8
|
||||
/usr/share/man/man8/fstrace_help.8
|
||||
/usr/share/man/man8/fstrace_lslog.8
|
||||
/usr/share/man/man8/fstrace_lsset.8
|
||||
/usr/share/man/man8/fstrace_setlog.8
|
||||
/usr/share/man/man8/fstrace_setset.8
|
||||
/usr/share/openafs/C/afszcm.cat
|
||||
|
11
logrotate.openafs-server
Normal file
11
logrotate.openafs-server
Normal file
@ -0,0 +1,11 @@
|
||||
/var/log/openafs/*Log {
|
||||
daily
|
||||
compress
|
||||
dateext
|
||||
rotate 7
|
||||
olddir /var/log/openafs/old
|
||||
missingok
|
||||
notifempty
|
||||
create 640 root root
|
||||
copytruncate
|
||||
}
|
21
openafs-client.service
Normal file
21
openafs-client.service
Normal file
@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=OpenAFS Client
|
||||
Wants=network-online.target
|
||||
After=syslog.target network-online.target
|
||||
Before=remote-fs.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
RemainAfterExit=true
|
||||
EnvironmentFile=/etc/sysconfig/openafs-client
|
||||
ExecStartPre=/sbin/modprobe libafs
|
||||
ExecStart=/usr/sbin/afsd $AFSD_ARGS
|
||||
ExecStartPost=/usr/bin/fs sysname $SYSNAME
|
||||
ExecStartPost=/usr/bin/fs setcrypt $CRYPT
|
||||
ExecStop=/usr/bin/umount /afs
|
||||
ExecStop=/usr/sbin/afsd -shutdown
|
||||
ExecStop=/sbin/rmmod libafs
|
||||
KillMode=none
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target remote-fs.target
|
20
openafs-client.service.allow_unsupported
Normal file
20
openafs-client.service.allow_unsupported
Normal file
@ -0,0 +1,20 @@
|
||||
[Unit]
|
||||
Description=OpenAFS Client
|
||||
Wants=network-online.target
|
||||
After=syslog.target network-online.target
|
||||
Before=remote-fs.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
RemainAfterExit=true
|
||||
EnvironmentFile=/etc/sysconfig/openafs-client
|
||||
ExecStartPre=/sbin/modprobe libafs --allow-unsupported
|
||||
ExecStart=/usr/sbin/afsd $AFSD_ARGS
|
||||
ExecStartPost=/usr/bin/fs sysname $SYSNAME
|
||||
ExecStartPost=/usr/bin/fs setcrypt $CRYPT
|
||||
ExecStop=/usr/bin/umount /afs
|
||||
ExecStop=/usr/sbin/afsd -shutdown
|
||||
ExecStop=/sbin/rmmod libafs
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target remote-fs.target
|
19
openafs-fuse-client.service
Normal file
19
openafs-fuse-client.service
Normal file
@ -0,0 +1,19 @@
|
||||
[Unit]
|
||||
Description=OpenAFS Client Service
|
||||
Wants=network-online.target
|
||||
After=syslog.target network-online.target
|
||||
Before=remote-fs.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
RemainAfterExit=true
|
||||
EnvironmentFile=/etc/sysconfig/openafs-fuse-client
|
||||
ExecStart=/usr/sbin/afsd.fuse $AFSD_ARGS
|
||||
ExecStartPost=/usr/bin/fs sysname $SYSNAME
|
||||
ExecStartPost=/usr/bin/fs setcrypt $CRYPT
|
||||
ExecStop=/usr/bin/umount /afs
|
||||
ExecStop=/usr/sbin/afsd.fuse -shutdown
|
||||
KillMode=none
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target remote-fs.target
|
11
openafs-server.service
Normal file
11
openafs-server.service
Normal file
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=OpenAFS Server
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=-/etc/sysconfig/openafs-server
|
||||
ExecStart=/usr/sbin/bosserver -nofork $BOSSERVER_ARGS
|
||||
ExecStop=/usr/sbin/bos shutdown localhost -wait -localauth
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
3
openafs-stable-1_8_x-doc.tar.bz2
Normal file
3
openafs-stable-1_8_x-doc.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0bad0e50318ab238b67d7c28ef2a7bb4fb3f352a8f09d9d8e09ef8a11bed1d8a
|
||||
size 3374462
|
1
openafs-stable-1_8_x-doc.tar.bz2.md5
Normal file
1
openafs-stable-1_8_x-doc.tar.bz2.md5
Normal file
@ -0,0 +1 @@
|
||||
d4e455c3407696747aa54b456ecf5d56 /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2
|
1
openafs-stable-1_8_x-doc.tar.bz2.sha256
Normal file
1
openafs-stable-1_8_x-doc.tar.bz2.sha256
Normal file
@ -0,0 +1 @@
|
||||
0bad0e50318ab238b67d7c28ef2a7bb4fb3f352a8f09d9d8e09ef8a11bed1d8a /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2
|
3
openafs-stable-1_8_x-src.tar.bz2
Normal file
3
openafs-stable-1_8_x-src.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bf943e44b3d01b15f59e963f0ff2a4e4164deed600b70b493871cf1ed430dc00
|
||||
size 14642822
|
1
openafs-stable-1_8_x-src.tar.bz2.md5
Normal file
1
openafs-stable-1_8_x-src.tar.bz2.md5
Normal file
@ -0,0 +1 @@
|
||||
e4c0e018b69d0768abcd7942af57015a /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2
|
1
openafs-stable-1_8_x-src.tar.bz2.sha256
Normal file
1
openafs-stable-1_8_x-src.tar.bz2.sha256
Normal file
@ -0,0 +1 @@
|
||||
bf943e44b3d01b15f59e963f0ff2a4e4164deed600b70b493871cf1ed430dc00 /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2
|
1
openafs.CellAlias
Normal file
1
openafs.CellAlias
Normal file
@ -0,0 +1 @@
|
||||
openafs.org openafs
|
0
openafs.SuidCells
Normal file
0
openafs.SuidCells
Normal file
1
openafs.ThisCell
Normal file
1
openafs.ThisCell
Normal file
@ -0,0 +1 @@
|
||||
openafs.org
|
1
openafs.cacheinfo
Normal file
1
openafs.cacheinfo
Normal file
@ -0,0 +1 @@
|
||||
/afs:/var/cache/openafs:102400
|
923
openafs.changes
Normal file
923
openafs.changes
Normal file
@ -0,0 +1,923 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 25 10:54:35 UTC 2024 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to latest git branch stable-1_8_x, includes security update 1.8.13
|
||||
- change version to openafs-1.8.13.g... since the new stable release is 1.8.13
|
||||
- remove patch handle_backports.diff, it is now included upstream
|
||||
- remove intermediate patches:
|
||||
* 03b280649f5e22ed74c217d7c98c3416a2fa9052: Linux-6.10: remove includes for asm/ia32_unistd.h
|
||||
* 0f6a3a402f4a66114da9231032bd68cdc4dee7bc: Linux-6.10: Use filemap_alloc_folio when avail
|
||||
* 658942f2791fad5e33ec7542158c16dfc66eed39: Linux-6.10: define a wrapper for vmalloc
|
||||
* d8b56f21994ce66d8daebb7d69e792f34c1a19ed: afs: avoid empty-body warning
|
||||
* 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7: Linux 6.10: Move 'inline' before func return type
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 14 06:46:15 UTC 2024 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to latest git branch stable-1_8_x
|
||||
- change version to openafs-1.8.12-g... since the new stable release is 1.8.12
|
||||
- apply intermediate patches for kernel 6.10
|
||||
* 03b280649f5e22ed74c217d7c98c3416a2fa9052: Linux-6.10: remove includes for asm/ia32_unistd.h
|
||||
* 0f6a3a402f4a66114da9231032bd68cdc4dee7bc: Linux-6.10: Use filemap_alloc_folio when avail
|
||||
* 658942f2791fad5e33ec7542158c16dfc66eed39: Linux-6.10: define a wrapper for vmalloc
|
||||
* d8b56f21994ce66d8daebb7d69e792f34c1a19ed: afs: avoid empty-body warning
|
||||
* 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7: Linux 6.10: Move 'inline' before func return type
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 14 05:47:03 UTC 2024 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- change source-code base to git branch stable-1_8_x
|
||||
* required for keeping up with Linux kernel development.
|
||||
- new versioning scheme: openafs-$LAST_OFFICIAL_RELEASE.git$DATE_OF_NEWEST_COMMIT
|
||||
- add note in RELNOTES about this change
|
||||
- update ChangeLog from git
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 26 12:45:02 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Use %patch -P N instead of deprecated %patchN.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 29 09:56:45 UTC 2024 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to openafs-1.8.11~pre1
|
||||
- remove intermediate patches for newer Linux-kernels:
|
||||
* fef2457.diff
|
||||
* d15c7ab.diff
|
||||
* 63801cf.diff
|
||||
* 538f450.diff
|
||||
* 6de0a64.diff
|
||||
* 5b647bf.diff
|
||||
* 6413fdb.diff
|
||||
* 4f1d810.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 11 04:58:30 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- patch upstream patch fef2457.diff for 6.5 to handle backport by SUSE
|
||||
* handle_backports.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 10 08:53:16 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply upstream-patches for kernel 6.6:
|
||||
* 5b647bf.diff
|
||||
* 6413fdb.diff
|
||||
* 4f1d810.diff
|
||||
|
||||
- replace upstream-patch for kernel 6.5 474750a.diff by correct commit
|
||||
6de0a64.diff for branch openafs-stable-1_8_x
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 2 07:29:50 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply upstream-patches for kernel 6.5:
|
||||
* 63801cf.diff
|
||||
* d15c7ab.diff
|
||||
* fef2457.diff
|
||||
* 538f450.diff
|
||||
* 474750a.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 10 10:24:31 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to official openafs-1.8.10
|
||||
- remove obsolete patches:
|
||||
* 7a3ad3bc.diff
|
||||
* b885159.diff
|
||||
* f6fbb85.diff
|
||||
* 4cf7a9a.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 12:21:37 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- remove obsolete macro-call %{stop_on_removal} from spec-file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 15 06:48:21 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply upstream-patches for kernel 6.3:
|
||||
* f6fbb85.diff
|
||||
* 7a3ad3bc.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 2 14:01:53 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply patch from upstream for kernel 6.2:
|
||||
* b885159.diff
|
||||
- change BuildArch for subpackage kernel-source to noarch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 4 08:14:39 UTC 2023 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to offical openafs-1.8.9
|
||||
* all changes as openafs-1.8.9pre2
|
||||
* fix possible DoS attack
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 12 07:40:28 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to openafs-1.8.9pre2
|
||||
* Support mainline kernels up to 6.0
|
||||
* Support for building with more recent compilers
|
||||
* some bugfixes, more see RELNOTES
|
||||
- remove obsolete patches:
|
||||
* 79f03c2.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 12 16:19:20 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to openafs-1.8.9pre1
|
||||
- remove obsolete patches:
|
||||
* 05b722d.diff
|
||||
* cc8edf7.diff
|
||||
* 6348262.diff
|
||||
- apply patch for kernel 6.0:
|
||||
* 79f03c2.diff
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 16 09:54:58 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to current of upstream-branch openafs-stable-1_8_x
|
||||
- apply patches for 15.9:
|
||||
* 05b722d.diff 6348262.diff cc8edf7.diff
|
||||
- remove patches now in openafs-stable-1_8_x
|
||||
* fix_gcc_12_linux_5.18.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 22 16:13:18 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply patches adressing:
|
||||
* Linux-5.17 and 5.18, gcc-11 and 12: fix_gcc_12_linux_5.18.diff
|
||||
- remove patches from previous commit:
|
||||
* a714e86.diff and 449d1fa.diff
|
||||
* gcc-11.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 20 06:24:41 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- apply patches marked for upcoming release:
|
||||
* kernel 5.17: a714e86.diff and 449d1fa.diff
|
||||
* gcc-11: gcc-11.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 28 20:27:18 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- do not create client-package without KMP
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 21 10:48:51 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- remove patch dir_layout.patch
|
||||
this can be done via environment-variables
|
||||
- replace openafs-1.8.x.ncurses6.patch with patch 4cf7a9a.diff.
|
||||
4cf7a9a.diff is coming from upstream and will be incorporated at some point.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 23 15:48:09 UTC 2022 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- Update to new upstream release 1.8.8.1
|
||||
* Support mainline kernels 5.14, 5.15 and 5.16
|
||||
- remove local patch linux-kmp.patch:
|
||||
* it supported mainline kernels only up to 5.15
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 29 15:08:46 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- re-add linux-kmp.patch. Required for 5.15
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 1 09:08:58 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Fix %ifarch for 32-bit arm
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 3 22:32:14 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to openafs version 1.8.8
|
||||
- remove linux-kmp.patch. Not required at the minute.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 29 07:01:26 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- add patches for kernel 5.12 to linux-kmp.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 4 14:57:26 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- add patches for kernel 5.11 to linux-kmp.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 22 16:38:07 UTC 2021 - Michael Meffie <mmeffie@sinenomine.net>
|
||||
|
||||
- fix building of perl module AFS::ukernel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 22 11:44:25 UTC 2021 - Matthias Gerstner <matthias.gerstner@suse.com>
|
||||
|
||||
- kernel-source.build-modules.sh: choose safe CWD while executing the build to
|
||||
prevent files being created in unsafe locations. Use new SUSE naming
|
||||
convention and rely on /etc/os-release, since /etc/SuSE-release no longer
|
||||
exists.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 5 08:41:48 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- use stock 1.8.7 from openafs.org
|
||||
* git-version might contain experimental code
|
||||
* add linux-kmp.patch for newer kernels
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 16 23:01:13 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to HEAD of git branch openafs-stable-1_8_x
|
||||
* fix critical bug described in
|
||||
https://lists.openafs.org/pipermail/openafs-info/2021-January/043026.html
|
||||
* remove remove-get_ds-usage.patch
|
||||
* remove add_arch_to_linux_kernel_make.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 11 10:01:15 UTC 2021 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- cleanup spec-file
|
||||
* do not include firewalld-stuff for SLE_12
|
||||
* use %ifarch instead of %if %{_arch}
|
||||
* enable retpol line for TW x86_64 again
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 2 09:20:37 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to HEAD of git branch openafs-stable-1_8_x
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 12 15:15:08 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- add firewalld-configuration files
|
||||
- enable loading of unsupported kernel-module on SLES15
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 17 12:49:33 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to HEAD of git branch openafs-stable-1_8_x
|
||||
* kernel 5.8 not supported by 1.8.6
|
||||
and no official package-upates out yet.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 10 08:43:10 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- add patch remove-get_ds-usage.patch to fix building KMP on aarch64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 1 08:53:44 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to official 1.8.6
|
||||
* remove patch 4c4bdde.diff
|
||||
* remove patch d3c7f75.diff
|
||||
* use source URLs again
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 16 12:56:21 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- remove fix_timeval_i586.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 16 12:55:14 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- disable retpol line for TW x86_64. It does not compile.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 15 08:24:17 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to HEAD of git branch openafs-stable-1_8_x.
|
||||
* 1.8.6pre3 is not out yet.
|
||||
* disable source URLs, none are present
|
||||
- Fix build with GCC-10
|
||||
* add patch 4c4bdde.diff
|
||||
* add patch d3c7f75.diff
|
||||
- create ld.so.conf-file dynamically
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 18 07:07:48 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to 1.8.6pre2
|
||||
- disable fix_timeval_i586.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 10 06:36:58 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to HEAD of git branch openafs-stable-1_8_x.
|
||||
* 1.8.6pre2 is not out yet.
|
||||
* disable source URLs, none are present
|
||||
* remove patch forward-to-1.8.6.pre1.patch
|
||||
- fix build of i586 with fix_timeval_i586.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 2 06:08:09 UTC 2020 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to pre-release 1.8.6pre1: forward-to-1.8.6.pre1.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 23 13:48:04 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to security-release 1.8.5, adresses:
|
||||
* OPENAFS-SA-2019-001: Skip server OUT args on error
|
||||
* OPENAFS-SA-2019-002: Zero all server RPC args
|
||||
* OPENAFS-SA-2019-003: ubik: Avoid unlocked ubik_currentTrans deref
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 10 09:10:27 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to official version 1.8.4
|
||||
- support Linux-kernel 5.3
|
||||
- Avoid non-dir ENOENT errors in afs_lookup
|
||||
- fix parsing of fileservers with -vlruthresh, etc.
|
||||
- other bugfixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 26 20:56:05 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to pre-release 1.8.4pre2
|
||||
* fix builds for Linux-kernels 5.3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 28 18:34:40 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- disable compilation with LTO, does not work yet.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 30 10:17:44 UTC 2019 - Christof Hanke <christof.hanke@mpcdf.mpg.de>
|
||||
|
||||
- update to 1.8.3
|
||||
- Require krb5-client for package openafs-client
|
||||
- fix broken directory layout
|
||||
- fix broken post-install script
|
||||
- allow crypt to be set/unset on startup of client
|
||||
- clean up source-filenames
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
|
||||
- Fix build for Lunux-4.20: Linux-4.20.patch
|
||||
- use proper log-directory: dir_layout.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 28 12:47:02 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Fix build for aarch64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 12 12:37:15 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Quote "*.c", and avoid unnecessary pass through xargs.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 12 10:41:43 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- update to security-release 1.8.2
|
||||
* fix CVE-2018-16947 (OPENAFS-SA-2018-001)
|
||||
* fix CVE-2018-16948 (OPENAFS-SA-2018-002)
|
||||
* fix CVE-2018-16949 (OPENAFS-SA-2018-003)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 12 05:46:01 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- add retpoline support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 9 08:14:26 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- update to version 1.8.1.1
|
||||
- Remove use_timespec64_for_kernel_4.18.patch. It is now integrated.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 16 14:02:44 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- Fix 32Bit build by adding
|
||||
commit 554176bd236d772d670df9bdd2496facd5a4209a as
|
||||
use_timespec64_for_kernel_4.18.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 16 07:53:42 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- Update to 1.8.1
|
||||
- Remove backporting patches for AArch64 build:
|
||||
* add_support_fo_arm64_linux26.patch
|
||||
* dont_require_AFS_SYSCALL.patch
|
||||
* add_AFS_STRINGIZE_macro.patch
|
||||
* avoid_double_param_in_arm64_kernel.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 27 19:09:41 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- adjust building of KMP to new kernels (see boo 1098050)
|
||||
add patch add_arch_to_linux_kernel_make.patch for this
|
||||
- add libtirpc-devel to BuildRequires:
|
||||
- minor cleanups
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 4 07:29:15 UTC 2018 - guillaume.gardet@opensuse.org
|
||||
|
||||
- Update to 1.8.0
|
||||
- Fix AArch64 build by updating spec and backporting patches:
|
||||
* add_support_fo_arm64_linux26.patch
|
||||
* dont_require_AFS_SYSCALL.patch
|
||||
* add_AFS_STRINGIZE_macro.patch
|
||||
* avoid_double_param_in_arm64_kernel.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 19 16:53:21 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- remove package krb5-mit. It contained binaries for server and client.
|
||||
Besides, client and server already had an implicit dependency on krb5.
|
||||
Put the binaries to client and server-package respectively.
|
||||
- Remove openafs-1.8.x.heimdal.patch and everything heimdal-related.
|
||||
SUSE does not provide a proper heimdal and it's untested for a long
|
||||
time.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 16 15:35:15 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- fdupes: use symlinks instead of hardlinks. Do not fdupe
|
||||
/etc and /var
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 6 10:53:13 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- fix dependencies between packages, so that fuse-client
|
||||
can be installed.
|
||||
- cleanup old sys-v sysconfig files and other minor fixes
|
||||
- fix unit file for fuse-client
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 2 20:59:53 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- build fuse-client unconditionally.
|
||||
- do not build KMP on unsupported architectures so that overall
|
||||
build succeeds.
|
||||
|
||||
Wed Mar 28 05:39:53 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- rename binary backup to afs_backup.
|
||||
- rename man pages and prefix "backup" in content
|
||||
- prefix "scout" by "afs_" in man-page
|
||||
- remove unnecessary macro indirection %ARCH
|
||||
- replace hard-coded paths by macros
|
||||
- make whitespace more consistent
|
||||
- minor syntax and typo fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 18 23:34:56 UTC 2018 - jengelh@inai.de
|
||||
|
||||
- Replace old $RPM_* vars (most of them) by macros.
|
||||
- Replace unnecessary macro indirections like %bindir by %_bindir.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 15 08:28:10 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- cleanup last cleanup: also remove rc.* files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 10:03:44 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- cleanup package for Factory:
|
||||
- rename package to openafs.
|
||||
- remove sys-v init stuff.
|
||||
- apply recommendations given in Request 581009
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 28 09:25:52 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- add compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 28 08:30:33 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- update to 1.8.0pre5
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 7 08:31:00 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- update to 1.8.0pre4
|
||||
- add patch for ncurses detection
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 7 11:07:30 UTC 2017 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- update to 1.8.0pre3
|
||||
- add integrity check of tar-balls
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 1 20:07:48 UTC 2017 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- do not strip binaries on install
|
||||
- fix %postun server
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 1 11:51:03 UTC 2017 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- update to 1.8.0pre2
|
||||
- use a preamble-file for KMP
|
||||
- sort/cleanup/beautify spec-file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 1 07:05:21 UTC 2017 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- spec-file:
|
||||
+ use hardlinks for fdupes to provide correct header files in
|
||||
kernel-source
|
||||
+ minor bugfixes, reorganization
|
||||
- rename changes file to openafs18.changes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 9 14:41:57 UTC 2017 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- rename package to openafs18-* so they don't override
|
||||
stable openafs-1.6 ones
|
||||
- move ld.so to main package -- was in server-packages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 7 11:23:22 UTC 2017 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
- enable building of KMP
|
||||
- make openafs-krb5-mit package dependend on openafs-client package
|
||||
- add ld.so - config to main package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 27 21:15:12 UTC 2017 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- remove pam, is not build on x86_64 and i596
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 26 18:59:09 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- first version of 1.8
|
||||
- remove docs package, put man pages in induvidual packets
|
||||
- remove layout-patch, deal with this in spec file directly
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 3 14:56:56 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- add new ChangeLog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 1 04:35:39 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.20
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 16 09:21:52 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- add missing RemainAfterExit=true to client-systemd unit.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 15 09:28:55 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.19
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 4 11:19:50 UTC 2016 - aj@suse.com
|
||||
|
||||
- Update README: Change SuSE to SUSE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 21 07:52:14 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.18.2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 24 04:42:48 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.18.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 10 15:19:28 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.18
|
||||
|
||||
Thu Mar 17 06:35:21 UTC 2016 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.17
|
||||
- cleanup
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 18 06:53:08 UTC 2015 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- update to version 1.6.16
|
||||
- remove fix for configure for new ncurses, now dealt with in
|
||||
shipped package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 21 04:47:46 UTC 2015 - christof.hanke@rzg.mpg.de
|
||||
|
||||
- start using change.log again
|
||||
- fix configure test for new ncurses
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 17 17:04:25 UTC 2010 - cseader@novell.com
|
||||
|
||||
- update to version 1.4.12.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 25 21:39:00 CET 2006 - mls@suse.de
|
||||
|
||||
- converted neededforbuild to BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 23 15:58:43 CET 2006 - nadvornik@suse.cz
|
||||
|
||||
- fixed kernel module to compile
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 11 05:30:18 CET 2006 - mge@suse.de
|
||||
- add openafs.SuidCells and openafs.CellServDB
|
||||
- cleanup SPEC-file(s)
|
||||
- finally adopt
|
||||
sysconfig.transarcmode.openafs-client
|
||||
rc.transarcmode.afs-server
|
||||
rc.transarcmode.afs-client
|
||||
to transarc mode; and fix a small typo in
|
||||
rc.defaultmode.afs-client
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 6 01:12:31 CET 2006 - mge@suse.de
|
||||
- set "%defattr(-,root,root)" for transarcmode-file-lists
|
||||
- fix lib64 build problem in transarcmode
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 5 13:40:42 CET 2006 - mge@suse.de
|
||||
- introduce transarc-mode and default-mode
|
||||
- introduce "options"
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 29 16:07:00 CET 2005 - mge@suse.de
|
||||
- build for SLES 9
|
||||
- with heimdal krb5 support
|
||||
- enable-largefile-fileserver
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 21 16:09:26 CET 2005 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.4.0
|
||||
- fixed dangerous compiler warnings
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 31 12:37:05 CET 2005 - dmueller@suse.de
|
||||
|
||||
- don't build as root
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 26 12:51:02 CEST 2005 - nadvornik@suse.cz
|
||||
|
||||
- fixed kernel module to build
|
||||
- fixed sysconfig file name
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 14 17:25:25 CEST 2005 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.3.85
|
||||
- used LSB conforming init script names
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 5 10:44:32 CEST 2005 - hare@suse.de
|
||||
|
||||
- Update for linux 2.6.13.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 12 12:27:01 CEST 2005 - nadvornik@suse.cz
|
||||
|
||||
- gcc4 fixes in kernel module
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 12 17:02:34 CEST 2005 - nadvornik@suse.cz
|
||||
|
||||
- fixed to compile with gcc4
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 23 12:08:07 CET 2005 - nadvornik@suse.cz
|
||||
|
||||
- fixed memory leaks and 64bit fixes backported from 1.3.79
|
||||
- updated README.SUSE
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 3 13:19:05 CET 2005 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.3.78
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 31 15:58:33 CET 2005 - nadvornik@suse.cz
|
||||
|
||||
- fixed afs.h to be usable from userspace [#50283]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 25 10:57:09 CET 2005 - nadvornik@suse.cz
|
||||
|
||||
- updated to latest snapshot
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 15 12:37:04 CEST 2004 - nadvornik@suse.cz
|
||||
|
||||
- added requres: kernel-nongpl [#45167]
|
||||
- fixed kernel module oops [#44618]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 11 15:51:03 CEST 2004 - nadvornik@suse.cz
|
||||
|
||||
- use kernel module from openafs 1.3.70 to support kernel 2.6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 08 17:18:49 CET 2004 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.2.11
|
||||
- added note that client for kernel 2.6 is not available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 20 18:48:21 CET 2004 - ro@suse.de
|
||||
|
||||
- added pam-devel to neededforbuild
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 13 00:23:45 CET 2003 - meissner@suse.de
|
||||
|
||||
- Added hack if no MTU came from userspace.
|
||||
- Removed superflous ppc64 patch part.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 11 09:29:31 CET 2003 - meissner@suse.de
|
||||
|
||||
- ppc64 port added (status: no longer crashes, talks to the network,
|
||||
but not successfully).
|
||||
- Change headerfiles to make it possible to do a ppc -> ppc64 crosscompile.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 6 17:30:17 CEST 2003 - olh@suse.de
|
||||
|
||||
- build with -fPIC on ppc32
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 16 17:37:34 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- patch from cvs to use AllocLargeSpace for struct osi_file to prevent
|
||||
oopses with some kernel configurations
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 11 12:58:57 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- added option DYNROOT to sysconfig and enabled it by default [#27205]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 10 17:07:51 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- added cleanup before module build [#29649]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 09 18:33:38 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- fixed possible segfault
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 04 12:30:00 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- set permissions of /var/lib/openafs to 700
|
||||
- README.SuSE fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 28 17:11:47 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- use ghost for /afs, the directory is created by init-script
|
||||
- fixed README.SuSE
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 21 14:32:58 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- moved all static libraries to /usr/lib/afs, fixes conflict with libdes
|
||||
- used default value for THIS_CELL_SERVER_NAME
|
||||
- removed old patches
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 12 11:10:46 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- fixed a bug in init script
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 11 18:26:28 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- updated to final 1.2.10
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 30 19:34:34 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.2.10-rc4
|
||||
- do not destroy CellServDB even if REGENERATE_CELL_INFO=yes
|
||||
- fixed to compile on x86_64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 30 14:25:46 CEST 2003 - sf@suse.de
|
||||
|
||||
- use %_lib where it was missing
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 09 19:20:55 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- fixed conflicts in filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 20 14:59:23 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- improved init scripts
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 19 14:40:52 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- added README.SuSE
|
||||
- fixed init scripts [#27426]
|
||||
- installed man pages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 12 17:45:39 CEST 2003 - poeml@suse.de
|
||||
|
||||
- add /usr/src/kernel-modules to the file list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 4 21:26:09 CEST 2003 - schwab@suse.de
|
||||
|
||||
- Fix SMP configuration detection.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 14 12:28:04 CEST 2003 - poeml@suse.de
|
||||
|
||||
- rework filelists:
|
||||
- package/remove unpackaged files
|
||||
- move some files into the server & client subpackages
|
||||
- use %defattr
|
||||
- fix deprecated tail -1 syntax (fixes building the kernel module)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 12 14:50:05 CEST 2003 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.2.9
|
||||
- added DATA_ENCRYPTION option to sysconfig
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 10 18:43:26 CET 2003 - poeml@suse.de
|
||||
|
||||
- x86_64: add -lresolv, -fPIC
|
||||
- fix lib path on all 64 bit platforms
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 06 10:39:27 CET 2003 - nadvornik@suse.cz
|
||||
|
||||
- added sysconfig metadata
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 24 17:28:44 CET 2003 - nadvornik@suse.cz
|
||||
|
||||
- added dirs /afs, /etc/openafs, /var/lib/openafs to filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 16 18:28:44 CET 2003 - olh@suse.de
|
||||
|
||||
- workaround broken -lresolv detection, lib64 fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 12 16:42:07 CET 2003 - nadvornik@suse.cz
|
||||
|
||||
- fixed multiline strings in kernel module
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 24 11:11:23 CET 2003 - nadvornik@suse.cz
|
||||
|
||||
- updated to 1.2.8
|
||||
- improved init script
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 29 10:21:04 CET 2002 - nadvornik@suse.cz
|
||||
|
||||
- included errno.h
|
||||
- fixed multiline strings
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 22 16:47:51 CET 2002 - nadvornik@suse.cz
|
||||
|
||||
- first version of init scripts
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 20 19:20:53 CET 2002 - poeml@suse.de
|
||||
|
||||
- initial draft of a package. Lots of stuff missing, like init
|
||||
scripts, or the kerberos 5 migration toolkit.
|
||||
|
996
openafs.spec
Normal file
996
openafs.spec
Normal file
@ -0,0 +1,996 @@
|
||||
#
|
||||
# spec file for package openafs
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
# needssslcertforbuild
|
||||
|
||||
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir /var/adm/fillup-templates
|
||||
%endif
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
#
|
||||
# TUNABLES
|
||||
#
|
||||
|
||||
# package-wide definitions here
|
||||
|
||||
# build authlibs
|
||||
%define build_authlibs 1
|
||||
|
||||
# build kernel modules
|
||||
%define build_kernel_modules 1
|
||||
|
||||
# flag for firewalld, only required for SLE-12
|
||||
%if 0%{?sle_version} <= 120500 && !0%{?is_opensuse}
|
||||
%define have_firewalld 0
|
||||
%else
|
||||
%define have_firewalld 1
|
||||
%endif
|
||||
|
||||
#
|
||||
# package internal directories
|
||||
#
|
||||
%define afslogsdir /var/log/openafs
|
||||
%define afsconfdir /etc/openafs/server
|
||||
%define viceetcdir /etc/openafs
|
||||
%define vicecachedir /var/cache/openafs
|
||||
%define afslocaldir /var/lib/openafs
|
||||
|
||||
%ifarch ppc64le ppc64 %{arm}
|
||||
%define build_kernel_modules 0
|
||||
%endif
|
||||
|
||||
# used for %setup only
|
||||
# leave upstream tar-balls untouched for integrity checks.
|
||||
%define upstream_version stable-1_8_x
|
||||
|
||||
Name: openafs
|
||||
|
||||
Version: 1.8.13.g20241112
|
||||
Release: 0
|
||||
Summary: OpenAFS Distributed File System
|
||||
License: IPL-1.0
|
||||
Group: System/Filesystems
|
||||
URL: http://www.openafs.org/
|
||||
|
||||
Source0: openafs-%{upstream_version}-src.tar.bz2
|
||||
Source1: openafs-%{upstream_version}-doc.tar.bz2
|
||||
Source2: openafs-%{upstream_version}-src.tar.bz2.md5
|
||||
Source3: openafs-%{upstream_version}-doc.tar.bz2.md5
|
||||
Source4: openafs-%{upstream_version}-src.tar.bz2.sha256
|
||||
Source5: openafs-%{upstream_version}-doc.tar.bz2.sha256
|
||||
|
||||
Source10: README.SUSE.openafs
|
||||
Source15: logrotate.openafs-server
|
||||
Source18: RELNOTES-%{upstream_version}
|
||||
Source19: ChangeLog
|
||||
Source20: kernel-source.build-modules.sh
|
||||
Source23: openafs-client.service
|
||||
Source24: openafs-client.service.allow_unsupported
|
||||
Source25: openafs-server.service
|
||||
Source26: openafs-fuse-client.service
|
||||
Source27: sysconfig.openafs-client
|
||||
Source28: sysconfig.openafs-server
|
||||
Source29: sysconfig.openafs-fuse-client
|
||||
Source30: preamble
|
||||
Source40: afs3-bos.xml
|
||||
Source41: afs3-callback.xml
|
||||
Source42: afs3-fileserver.xml
|
||||
Source43: afs3-prserver.xml
|
||||
Source44: afs3-rmtsys.xml
|
||||
Source45: afs3-update.xml
|
||||
Source46: afs3-vlserver.xml
|
||||
Source47: afs3-volser.xml
|
||||
Source55: openafs.SuidCells
|
||||
Source56: openafs.CellAlias
|
||||
Source57: openafs.ThisCell
|
||||
Source58: openafs.cacheinfo
|
||||
Source98: kmp_only.files
|
||||
Source99: openafs.changes
|
||||
|
||||
# GENERAL BuildRequires and Requires
|
||||
#
|
||||
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: automake
|
||||
BuildRequires: bison
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: hostname
|
||||
%if %{have_firewalld}
|
||||
BuildRequires: firewall-macros
|
||||
%endif
|
||||
BuildRequires: flex
|
||||
BuildRequires: fuse-devel
|
||||
BuildRequires: git
|
||||
BuildRequires: krb5-devel
|
||||
BuildRequires: libtirpc-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: swig
|
||||
|
||||
Requires(post): %fillup_prereq
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
BuildRequires: %{kernel_module_package_buildreqs}
|
||||
%endif
|
||||
|
||||
%description
|
||||
AFS is a cross-platform distributed file system product pioneered at
|
||||
Carnegie Mellon University and supported and developed as a product by
|
||||
Transarc Corporation (now IBM Pittsburgh Labs). It offers a
|
||||
client-server architecture for file sharing, providing location
|
||||
independence, scalability, and transparent migration capabilities for
|
||||
data.
|
||||
|
||||
In addition, among its features are authentication, encryption,
|
||||
caching, disconnected operations, replication for higher availability
|
||||
and load balancing, and ACLs.
|
||||
|
||||
%package server
|
||||
Summary: OpenAFS File System Server
|
||||
Group: System/Filesystems
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description server
|
||||
AFS is a cross-platform distributed file system product pioneered at
|
||||
Carnegie Mellon University and supported and developed as a product by
|
||||
Transarc Corporation (now IBM Pittsburgh Labs). It offers a
|
||||
client-server architecture for file sharing, providing location
|
||||
independence, scalability, and transparent migration capabilities for
|
||||
data.
|
||||
|
||||
In addition, among its features are authentication, encryption,
|
||||
caching, disconnected operations, replication for higher availability
|
||||
and load balancing, and ACLs. This package contains the static
|
||||
libraries and header files needed to develop applications for OpenAFS.
|
||||
|
||||
%if %{build_authlibs}
|
||||
%package authlibs
|
||||
Summary: OpenAFS authentication shared libraries
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description authlibs
|
||||
The AFS distributed filesystem. AFS is a distributed filesystem
|
||||
allowing cross-platform sharing of files among multiple computers.
|
||||
Facilities are provided for access control, authentication, backup and
|
||||
administrative management.
|
||||
|
||||
This package provides a shared version of libafsrpc and libafsauthent.
|
||||
None of the programs included with OpenAFS currently use these shared
|
||||
libraries; however, third-party software that wishes to perform AFS
|
||||
authentication may link against them.
|
||||
|
||||
%package authlibs-devel
|
||||
Summary: OpenAFS shared library development
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{name}-authlibs = %{version}
|
||||
Requires: %{name}-devel = %{version}
|
||||
|
||||
%description authlibs-devel
|
||||
The AFS distributed filesystem. AFS is a distributed filesystem
|
||||
allowing cross-platform sharing of files among multiple computers.
|
||||
Facilities are provided for access control, authentication, backup and
|
||||
administrative management.
|
||||
|
||||
This package includes the static versions of libafsrpc and
|
||||
libafsauthent, and symlinks required for building against the dynamic
|
||||
libraries.
|
||||
|
||||
%endif
|
||||
|
||||
%package devel
|
||||
Summary: OpenAFS Static Libraries and Header Files
|
||||
Group: Development/Libraries/Other
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
AFS is a cross-platform distributed file system product pioneered at
|
||||
Carnegie Mellon University and supported and developed as a product by
|
||||
Transarc Corporation (now IBM Pittsburgh Labs). It offers a
|
||||
client-server architecture for file sharing, providing location
|
||||
independence, scalability, and transparent migration capabilities for
|
||||
data.
|
||||
|
||||
In addition, among its features are authentication, encryption,
|
||||
caching, disconnected operations, replication for higher availability
|
||||
and load balancing, and ACLs. This package contains the OpenAFS server.
|
||||
|
||||
%package kernel-source
|
||||
BuildArch: noarch
|
||||
Summary: OpenAFS Kernel Module source tree
|
||||
Group: System/Filesystems
|
||||
Requires: bison
|
||||
Requires: flex
|
||||
Requires: gcc
|
||||
Requires: kernel-devel
|
||||
Provides: openafs-kernel = %{version}
|
||||
|
||||
%description kernel-source
|
||||
The AFS distributed filesystem. AFS is a distributed filesystem
|
||||
allowing cross-platform sharing of files among multiple computers.
|
||||
Facilities are provided for access control, authentication, backup and
|
||||
administrative management.
|
||||
|
||||
This package provides the source code to build your own AFS kernel
|
||||
module.
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%package KMP
|
||||
Summary: OpenAFS Distributed File System - kernel module
|
||||
Group: System/Kernel
|
||||
|
||||
%kernel_module_package -x lockdep um pae -p %{S:30}
|
||||
|
||||
%description KMP
|
||||
This package contains the kernel module for OpenAFS. For details see
|
||||
the openafs package.
|
||||
|
||||
%endif
|
||||
|
||||
%package fuse_client
|
||||
Summary: OpenAFS FUSE File System Client
|
||||
Group: System/Filesystems
|
||||
Conflicts: %{name}-client
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description fuse_client
|
||||
AFS is a cross-platform distributed file system product pioneered at
|
||||
Carnegie Mellon University and supported and developed as a product by
|
||||
Transarc Corporation (now IBM Pittsburgh Labs). It offers a
|
||||
client-server architecture for file sharing, providing location
|
||||
independence, scalability, and transparent migration capabilities for
|
||||
data.
|
||||
|
||||
This client is using the EXPERIMENTAL FUSE interface on LINUX.
|
||||
It does not offer authentication etc.
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%package client
|
||||
Summary: OpenAFS File System Client
|
||||
Group: System/Filesystems
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-kmp
|
||||
Requires: krb5-client
|
||||
|
||||
%description client
|
||||
AFS is a cross-platform distributed file system product pioneered at
|
||||
Carnegie Mellon University and supported and developed as a product by
|
||||
Transarc Corporation (now IBM Pittsburgh Labs). It offers a
|
||||
client-server architecture for file sharing, providing location
|
||||
independence, scalability, and transparent migration capabilities for
|
||||
data.
|
||||
|
||||
In addition, among its features are authentication, encryption,
|
||||
caching, disconnected operations, replication for higher availability
|
||||
and load balancing, and ACLs. This package contains the OpenAFS client.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
|
||||
: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
: @@@
|
||||
: @@@ package-name: %{name}
|
||||
: @@@ file-layout: fsh
|
||||
: @@@ lib dir: %{_libdir}
|
||||
: @@@ libexec dir: %{libexecdir}
|
||||
: @@@ bin dir: %{_bindir}
|
||||
: @@@ sbin dir: %{_sbindir}
|
||||
: @@@ include dir: %{includedir}
|
||||
: @@@ sysconf dir: %{_sysconfdir}
|
||||
: @@@ man dir: %{_mandir}
|
||||
: @@@ build modules: %{build_kernel_modules}
|
||||
: @@@ architecture: %{_arch}
|
||||
: @@@ target cpu: %{_target_cpu}
|
||||
: @@@
|
||||
: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
for src_file in %{S:0} %{S:1}; do
|
||||
if [ "`md5sum $src_file | awk '{print $1}'`" != "`cat $src_file.md5 | awk '{print $1}'`" ]; then
|
||||
echo "ERROR: MD5-Integrity check for $src_file failed.";
|
||||
exit 1
|
||||
fi
|
||||
if [ "`sha256sum $src_file | awk '{print $1}'`" != "`cat $src_file.sha256 | awk '{print $1}'`" ]; then
|
||||
echo "ERROR: SHA256-Integrity check for $src_file failed.";
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
|
||||
|
||||
./regen.sh
|
||||
|
||||
%build
|
||||
# architecture specific settings
|
||||
sysbase=%{_arch}
|
||||
|
||||
%ifarch ppc
|
||||
perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.ppc_linux24.in
|
||||
%endif
|
||||
%ifarch ppc64 ppc64le
|
||||
sysbase=ppc64
|
||||
export LDFLAGS="$LDFLAGS -m64"
|
||||
%endif
|
||||
%ifarch %{arm}
|
||||
sysbase=arm
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
sysbase=arm64
|
||||
%define _arch arm64
|
||||
%endif
|
||||
%ifarch s390x
|
||||
sysbase=s390
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
sysbase=amd64
|
||||
perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.amd64_linux24.in
|
||||
perl -pi -e 's,^(XLIBS.*),\1 -lresolv,' src/config/Makefile.amd64_linux24.in
|
||||
%endif
|
||||
|
||||
afs_sysname=${sysbase}_linux26
|
||||
|
||||
RPM_OPT_FLAGS=`echo ${RPM_OPT_FLAGS} | sed s/-D_FORTIFY_SOURCE=2//`
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC -fcommon"
|
||||
|
||||
export KRB5LIBS='-lcom_err -lkrb5'
|
||||
export PATH_KRB5_CONFIG=%{krb5_config}
|
||||
export afsdbdir='/var/lib/openafs/db'
|
||||
export afslocaldir='/var/lib/openafs'
|
||||
export afslogsdir='/var/log/openafs'
|
||||
export afsdbdir='/var/lib/openafs/db'
|
||||
%configure \
|
||||
--disable-transarc-paths \
|
||||
--disable-strip-binaries \
|
||||
--includedir=%{_includedir}/openafs \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--mandir=%{_mandir} \
|
||||
--with-afs-sysname=$afs_sysname \
|
||||
--disable-kernel-module \
|
||||
--with-swig
|
||||
|
||||
make CCFLAGS="$CFLAGS" XCFLAGS="$CFLAGS" PAM_CFLAGS="$CFLAGS" KOPTS="$CFLAGS" all_nolibafs
|
||||
make CCFLAGS="$CFLAGS" XCFLAGS="$CFLAGS" PAM_CFLAGS="$CFLAGS" KOPTS="$CFLAGS" only_libafs_tree
|
||||
|
||||
# the test suite need a configured KDC
|
||||
#make -C src/tests all
|
||||
|
||||
# Kernel-module
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
mkdir obj
|
||||
|
||||
for flavor in %flavors_to_build; do
|
||||
rm -rf obj/$flavor
|
||||
cp -a libafs_tree obj/$flavor
|
||||
pushd obj/$flavor
|
||||
find . -name "*.c" -exec sed -i '/MODULE_LICENSE(/a MODULE_INFO(retpoline, "Y");' "{}" "+"
|
||||
./configure --with-linux-kernel-build=/usr/src/linux-obj/%{_target_cpu}/$flavor --with-linux-kernel-headers=/usr/src/linux \
|
||||
--disable-transarc-paths --without-swig
|
||||
export EXTRA_CFLAGS='-DVERSION=\"%version\"'
|
||||
export LINUX_MAKE_ARCH="ARCH=%{_arch}"
|
||||
make
|
||||
popd
|
||||
done
|
||||
%endif
|
||||
# build_kernel_modules
|
||||
|
||||
%install
|
||||
|
||||
#
|
||||
# install build binaries using make
|
||||
|
||||
make DESTDIR=%{buildroot} install_nolibafs
|
||||
|
||||
#
|
||||
# man-pages
|
||||
|
||||
OLD_PWD=`pwd`
|
||||
cd doc/man-pages
|
||||
%make_install
|
||||
cd $OLD_PWD
|
||||
|
||||
#
|
||||
# create directories
|
||||
mkdir -p %{buildroot}/%_unitdir
|
||||
mkdir -p %{buildroot}/%{afslogsdir}/old
|
||||
mkdir -p %{buildroot}/%{_fillupdir}
|
||||
mkdir -p %{buildroot}/%{vicecachedir}
|
||||
mkdir -p %{buildroot}/%{viceetcdir}
|
||||
mkdir -p %{buildroot}%{_datadir}/openafs/C
|
||||
mkdir -p %{buildroot}/%{afsconfdir}
|
||||
mkdir -p %{buildroot}/%{afslocaldir}
|
||||
mkdir -p %{buildroot}/%{_sbindir}
|
||||
|
||||
#
|
||||
# client
|
||||
# also used by others
|
||||
cp -a %{S:56} %{buildroot}/%{viceetcdir}/CellAlias
|
||||
cp -a %{S:57} %{buildroot}/%{viceetcdir}/ThisCell
|
||||
cp -a src/afsd/CellServDB %{buildroot}/%{viceetcdir}/CellServDB
|
||||
cp -a %{S:55} %{buildroot}/%{viceetcdir}/SuidCells
|
||||
cp -a %{S:58} %{buildroot}/%{viceetcdir}/cacheinfo
|
||||
|
||||
# kmp-only
|
||||
%if %{build_kernel_modules}
|
||||
cp -a src/afs/afszcm.cat %{buildroot}%{_datadir}/openafs/C
|
||||
install -m 644 %{S:27} %{buildroot}/%{_fillupdir}/sysconfig.openafs-client
|
||||
%if 0%{?sle_version} > 150000
|
||||
install -m 644 %{S:24} %{buildroot}/%_unitdir/openafs-client.service
|
||||
%else
|
||||
install -m 644 %{S:23} %{buildroot}/%_unitdir
|
||||
%endif
|
||||
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-client
|
||||
%endif
|
||||
|
||||
#
|
||||
# fuse client package
|
||||
|
||||
install -m 644 %{S:29} %{buildroot}/%{_fillupdir}/sysconfig.openafs-fuse-client
|
||||
install -m 644 %{S:26} %{buildroot}/%_unitdir
|
||||
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-fuse-client
|
||||
|
||||
#
|
||||
# server
|
||||
install -m 644 %{S:28} %{buildroot}/%{_fillupdir}/sysconfig.openafs-server
|
||||
install -m 644 %{S:25} %{buildroot}/%_unitdir
|
||||
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-server
|
||||
|
||||
#
|
||||
# kernel-source
|
||||
mkdir -p %{buildroot}/usr/src/kernel-modules/openafs
|
||||
chmod -R o-w src/libafs
|
||||
chmod -R o-w libafs_tree
|
||||
cp -a libafs_tree %{buildroot}/usr/src/kernel-modules/openafs
|
||||
install -m 755 %{S:20} %{buildroot}/usr/src/kernel-modules/openafs/build-modules.sh
|
||||
install -m 644 LICENSE %{buildroot}/usr/src/kernel-modules/openafs/LICENSE
|
||||
|
||||
# KMP
|
||||
%if %{build_kernel_modules}
|
||||
export INSTALL_MOD_PATH=%{buildroot}
|
||||
export INSTALL_MOD_DIR=updates
|
||||
|
||||
for flavor in %flavors_to_build; do
|
||||
make -C /usr/src/linux-obj/%{_arch}/$flavor %{?linux_make_arch} modules_install \
|
||||
M=$PWD/`find obj/$flavor/ -name MODLOAD-\* -type d`
|
||||
done
|
||||
%endif
|
||||
|
||||
#
|
||||
# main package
|
||||
cp -a %{S:10} README.SUSE
|
||||
cp -a %{S:18} RELNOTES
|
||||
cp -a %{S:19} ChangeLog
|
||||
|
||||
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||
echo %{_libdir}/openafs > %{buildroot}/etc/ld.so.conf.d/openafs.conf
|
||||
|
||||
# move some bin to sbin
|
||||
mv %{buildroot}/%{_bindir}/asetkey %{buildroot}/%{_sbindir}/asetkey
|
||||
mv %{buildroot}/%{_bindir}/bos %{buildroot}/%{_sbindir}/bos
|
||||
mv %{buildroot}/%{_bindir}/akeyconvert %{buildroot}/%{_sbindir}/akeyconvert
|
||||
mv %{buildroot}/%{_bindir}/udebug %{buildroot}/%{_sbindir}/udebug
|
||||
|
||||
# avoid conflicts with other packages by adding the prefix afs_ to filenames
|
||||
mv %{buildroot}%{_bindir}/scout %{buildroot}%{_bindir}/afs_scout
|
||||
cat %{buildroot}/%{_mandir}/man1/scout.1 | sed 's/\<scout\>/afs_scout/g' > %{buildroot}/%{_mandir}/man1/afs_scout.1
|
||||
rm %{buildroot}/%{_mandir}/man1/scout.1
|
||||
mv %{buildroot}%{_sbindir}/backup %{buildroot}%{_sbindir}/afs_backup
|
||||
OLD_PWD=`pwd`
|
||||
cd %{buildroot}/%{_mandir}/man8/
|
||||
for f in $(ls backup*); do
|
||||
cat $f | sed 's/\<backup\>/afs_backup/g' > afs_"$f"
|
||||
rm $f
|
||||
done
|
||||
cd $OLD_PWD
|
||||
|
||||
# create manpage for afsd.fuse as a real file
|
||||
rm %{buildroot}/%{_mandir}/man8/afsd.fuse.8
|
||||
cp -p %{buildroot}/%{_mandir}/man8/afsd.8 %{buildroot}/%{_mandir}/man8/afsd.fuse.8
|
||||
|
||||
# move %%{_libdir}/afs-stuff to %%{_libdir}/openafs
|
||||
mv %{buildroot}/%{_libdir}/afs/* %{buildroot}/%{_libdir}/openafs
|
||||
mv %{buildroot}/%{_libdir}/*.* %{buildroot}/%{_libdir}/openafs
|
||||
rm -rf %{buildroot}/%{_libdir}/afs
|
||||
|
||||
# move perl module to perl vendor library path
|
||||
mkdir -p %{buildroot}/%{perl_vendorlib}/AFS
|
||||
mv %{buildroot}/%{_libdir}/perl/AFS/ukernel.pm %{buildroot}/%{perl_vendorlib}/AFS/ukernel.pm
|
||||
mkdir -p %{buildroot}%{perl_vendorarch}
|
||||
mv %{buildroot}/%{_libdir}/perl/ukernel.so %{buildroot}/%{perl_vendorarch}/ukernel.so
|
||||
|
||||
# firewalld
|
||||
|
||||
%if %{have_firewalld}
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:40} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:41} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:42} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:43} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:44} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:45} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:46} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
install -D -m 644 %{S:47} %{buildroot}%{_prefix}/lib/firewalld/services/
|
||||
%endif
|
||||
|
||||
#
|
||||
# general cleanup
|
||||
#
|
||||
|
||||
# we supposedly don't need this on linux
|
||||
rm %{buildroot}/%{_sbindir}/rmtsysd
|
||||
|
||||
%if ! %{build_authlibs}
|
||||
rm %{buildroot}/%{_libdir}/libafsauthent.so.*
|
||||
rm %{buildroot}/%{_libdir}/libafsrpc.so.*
|
||||
rm %{buildroot}/%{_libdir}/libkopenafs.so.*
|
||||
rm %{buildroot}/%{_libdir}/libafsauthent.so
|
||||
rm %{buildroot}/%{_libdir}/libafsrpc.so
|
||||
rm %{buildroot}/%{_libdir}/libkopenafs.so
|
||||
%endif
|
||||
%if ! %{build_kernel_modules}
|
||||
for f in $(cat %{S:98}); do
|
||||
rm -f %{buildroot}/$f
|
||||
done
|
||||
%endif
|
||||
|
||||
# remove all static libraries
|
||||
find %{buildroot} -type f -name "*.a" -delete
|
||||
|
||||
# remove unused man pages
|
||||
for x in dlog symlink symlink_list symlink_make symlink_remove; do
|
||||
rm %{buildroot}/%{_mandir}/man1/${x}.1
|
||||
done
|
||||
for x in rmtsysd xfs_size_check aklog_dynamic_auth; do
|
||||
rm %{buildroot}/%{_mandir}/man8/${x}.8
|
||||
done
|
||||
|
||||
# compress man pages
|
||||
OLD_PWD=`pwd`
|
||||
for d in %{buildroot}%{_mandir}/man*; do
|
||||
cd $d
|
||||
for f in *; do
|
||||
if [ -h $f ]; then
|
||||
mv $f $f.gz
|
||||
elif [ -f $f ];then
|
||||
gzip -9 $f
|
||||
else
|
||||
echo "Unknown thing to compress : $f"
|
||||
fi
|
||||
done
|
||||
done
|
||||
cd $OLD_PWD
|
||||
|
||||
# replace duplicates by symlinks
|
||||
%fdupes -s %{buildroot}/usr
|
||||
|
||||
#
|
||||
# main
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%post kernel-source
|
||||
echo To install the kernel-module, do:
|
||||
echo cd /usr/src/kernel-modules/openafs
|
||||
echo sh ./build-modules.sh build
|
||||
echo sh ./build-modules.sh install
|
||||
|
||||
#
|
||||
# fuse client
|
||||
|
||||
%pre fuse_client
|
||||
%service_add_pre openafs-fuse-client.service
|
||||
|
||||
%preun fuse_client
|
||||
%service_del_preun openafs-fuse-client.service
|
||||
|
||||
%post fuse_client
|
||||
if [ ! -d /afs ]; then
|
||||
mkdir /afs
|
||||
fi
|
||||
%{fillup_only -n openafs-fuse-client}
|
||||
%service_add_post openafs-fuse-client.service
|
||||
/sbin/ldconfig
|
||||
|
||||
if [ "x$1" = "x" ]; then
|
||||
my_operation=0
|
||||
else
|
||||
my_operation=$1
|
||||
fi
|
||||
|
||||
if [ $my_operation -gt 1 ]; then
|
||||
echo Not stopping the possibly running client.
|
||||
echo You must restart the client to put the upgrade into effect.
|
||||
else
|
||||
echo This is the experimental FUSE implementation of the openafs-client
|
||||
echo Please configure your cell like with the in-kernel openafs-client
|
||||
echo authentication etc. is not implemented yet in this version.
|
||||
fi
|
||||
|
||||
%postun fuse_client
|
||||
%service_del_postun openafs-fuse-client.service
|
||||
if [ -d /afs ]; then
|
||||
echo make sure to remove directory /afs if unwanted.
|
||||
fi
|
||||
/sbin/ldconfig
|
||||
|
||||
#
|
||||
# client
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%pre client
|
||||
%service_add_pre openafs-client.service
|
||||
|
||||
%post client
|
||||
if [ ! -d /afs ]; then
|
||||
mkdir /afs
|
||||
fi
|
||||
/sbin/ldconfig
|
||||
%{fillup_only -n openafs-client}
|
||||
%service_add_post openafs-client.service
|
||||
%if %{have_firewalld}
|
||||
%firewalld_reload
|
||||
%endif
|
||||
|
||||
if [ "x$1" = "x" ]; then
|
||||
my_operation=0
|
||||
else
|
||||
my_operation=$1
|
||||
fi
|
||||
if [ $my_operation -gt 1 ]; then
|
||||
echo Not stopping the possibly running client.
|
||||
echo You must restart the client to put the upgrade into effect.
|
||||
else
|
||||
echo For configuring the client, please check /etc/sysconfig/openafs-client
|
||||
echo and/or follow the instructions found on http://www.openafs.org how to install an openafs-client.
|
||||
fi
|
||||
|
||||
%preun client
|
||||
%service_del_preun openafs-client.service
|
||||
|
||||
%postun client
|
||||
if [ -d /afs ]; then
|
||||
echo make sure to remove directory /afs if unwanted.
|
||||
fi
|
||||
/sbin/ldconfig
|
||||
%service_del_postun openafs-client.service
|
||||
%endif
|
||||
|
||||
#
|
||||
# server
|
||||
|
||||
%pre server
|
||||
%service_add_pre openafs-server.service
|
||||
|
||||
%post server
|
||||
/sbin/ldconfig
|
||||
%{fillup_only -n openafs-server}
|
||||
%service_add_post openafs-server.service
|
||||
|
||||
if [ "$FIRST_ARG" -gt 1 ]; then
|
||||
# update no new install
|
||||
echo Not stopping the possibly running services.
|
||||
echo You must restart the service to put the upgrade into effect.
|
||||
if [ -d /var/openafs ]; then
|
||||
echo To upgrade, stop the server, copy the contents of /var/openafs to /var/lib/openafs,
|
||||
echo remove the empty directory /var/openafs and then start the server again.
|
||||
fi
|
||||
else
|
||||
echo For configuring the server, please check /etc/sysconfig/openafs-server
|
||||
echo and/or follow the instructions found on http://www.openafs.org to install an openafs-client.
|
||||
fi
|
||||
|
||||
%preun server
|
||||
%service_del_preun openafs-server.service
|
||||
|
||||
%postun server
|
||||
/sbin/ldconfig
|
||||
%service_del_postun openafs-server.service
|
||||
|
||||
#
|
||||
# devel
|
||||
|
||||
%post devel
|
||||
|
||||
%postun devel
|
||||
|
||||
#
|
||||
# authlibs
|
||||
|
||||
%if %{build_authlibs}
|
||||
%post authlibs
|
||||
|
||||
%postun authlibs
|
||||
%endif
|
||||
|
||||
#
|
||||
# FILES
|
||||
#
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%config /etc/ld.so.conf.d/openafs.conf
|
||||
%config(noreplace) %{viceetcdir}/CellAlias
|
||||
%config(noreplace) %{viceetcdir}/CellServDB
|
||||
%config(noreplace) %{viceetcdir}/ThisCell
|
||||
%dir %{viceetcdir}
|
||||
%doc %{_mandir}/man5/afsmonitor.5.gz
|
||||
%doc %{_mandir}/man1/afs.1.gz
|
||||
%doc %{_mandir}/man1/afs_compile_et.1.gz
|
||||
%doc %{_mandir}/man1/afs_scout.1.gz
|
||||
%doc %{_mandir}/man1/afsmonitor.1.gz
|
||||
%doc %{_mandir}/man1/cmdebug.1.gz
|
||||
%doc %{_mandir}/man1/pts.1.gz
|
||||
%doc %{_mandir}/man1/pts_*.gz
|
||||
%doc %{_mandir}/man1/restorevol.1.gz
|
||||
%doc %{_mandir}/man1/rxdebug.1.gz
|
||||
%doc %{_mandir}/man1/sys.1.gz
|
||||
%doc %{_mandir}/man1/translate_et.1.gz
|
||||
%doc %{_mandir}/man1/udebug.1.gz
|
||||
%doc %{_mandir}/man1/vos.1.gz
|
||||
%doc %{_mandir}/man1/vos_*gz
|
||||
%doc %{_mandir}/man1/xstat_cm_test.1.gz
|
||||
%doc %{_mandir}/man1/xstat_fs_test.1.gz
|
||||
%doc %{_mandir}/man5/CellAlias.5.gz
|
||||
%doc %{_mandir}/man5/CellServDB.5.gz
|
||||
%doc %{_mandir}/man5/NetInfo.5.gz
|
||||
%doc %{_mandir}/man5/NetRestrict.5.gz
|
||||
%doc %{_mandir}/man5/ThisCell.5.gz
|
||||
%doc %{_mandir}/man5/afs.5.gz
|
||||
%doc %{_mandir}/man5/butc.5.gz
|
||||
%doc %{_mandir}/man5/butc_logs.5.gz
|
||||
%doc %{_mandir}/man5/fms.log.5.gz
|
||||
%doc %{_mandir}/man5/sysid.5.gz
|
||||
%doc %{_mandir}/man5/uss.5.gz
|
||||
%doc %{_mandir}/man5/uss_*.5.gz
|
||||
%doc %{_mandir}/man8/afs_backup.8.gz
|
||||
%doc %{_mandir}/man8/afs_backup_*.8.gz
|
||||
%doc %{_mandir}/man8/bos.8.gz
|
||||
%doc %{_mandir}/man8/bos_[a-t]*.8.gz
|
||||
%doc %{_mandir}/man8/bos_uninstall.8.gz
|
||||
%doc %{_mandir}/man8/butc.8.gz
|
||||
%doc %{_mandir}/man8/fms.8.gz
|
||||
%doc %{_mandir}/man8/read_tape.8.gz
|
||||
%doc %{_mandir}/man8/uss.8.gz
|
||||
%doc %{_mandir}/man8/uss_*.8.gz
|
||||
%doc %{_mandir}/man8/vsys.8.gz
|
||||
%doc NEWS README* RELNOTES ChangeLog
|
||||
%{_bindir}/afs_compile_et
|
||||
%{_bindir}/afs_scout
|
||||
%{_bindir}/afsio
|
||||
%{_bindir}/afsmonitor
|
||||
%{_bindir}/cmdebug
|
||||
%{_bindir}/pts
|
||||
%{_bindir}/restorevol
|
||||
%{_bindir}/sys
|
||||
%{_bindir}/translate_et
|
||||
%{_bindir}/xstat_cm_test
|
||||
%{_bindir}/xstat_fs_test
|
||||
%{_libdir}/openafs/libafshcrypto.so.*
|
||||
%{_libdir}/openafs/librokenafs.so.*
|
||||
%{_sbindir}/afs_backup
|
||||
%{_sbindir}/bos
|
||||
%{_sbindir}/butc
|
||||
%{_sbindir}/fms
|
||||
%{_sbindir}/read_tape
|
||||
%{_sbindir}/rxdebug
|
||||
%{_sbindir}/udebug
|
||||
%{_sbindir}/uss
|
||||
%{_sbindir}/vos
|
||||
%{_sbindir}/vsys
|
||||
|
||||
%files fuse_client
|
||||
%defattr(-,root,root)
|
||||
%{_sbindir}/afsd.fuse
|
||||
%{_sbindir}/rcopenafs-fuse-client
|
||||
%config(noreplace) %{viceetcdir}/SuidCells
|
||||
%config(noreplace) %{viceetcdir}/cacheinfo
|
||||
%doc %{_mandir}/man8/afsd.fuse.8.gz
|
||||
%_unitdir/openafs-fuse-client.service
|
||||
%{_fillupdir}/sysconfig.openafs-fuse-client
|
||||
%{vicecachedir}
|
||||
|
||||
%if %{build_kernel_modules}
|
||||
%files client
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/fs
|
||||
%{_bindir}/aklog
|
||||
%{_bindir}/klog.krb5
|
||||
%{_bindir}/pagsh
|
||||
%{_bindir}/pagsh.krb
|
||||
%{_bindir}/tokens
|
||||
%{_bindir}/tokens.krb
|
||||
%{_bindir}/unlog
|
||||
%{_bindir}/up
|
||||
%{_sbindir}/afsd
|
||||
%{_sbindir}/fstrace
|
||||
%doc %{_mandir}/man1/fs.1.gz
|
||||
%doc %{_mandir}/man1/fs_*.1.gz
|
||||
%doc %{_mandir}/man1/aklog.1.gz
|
||||
%doc %{_mandir}/man1/klog.krb5.1.gz
|
||||
%doc %{_mandir}/man1/pagsh.1.gz
|
||||
%doc %{_mandir}/man1/pagsh.krb.1.gz
|
||||
%doc %{_mandir}/man1/tokens.1.gz
|
||||
%doc %{_mandir}/man1/tokens.krb.1.gz
|
||||
%doc %{_mandir}/man1/unlog.1.gz
|
||||
%doc %{_mandir}/man1/up.1.gz
|
||||
%doc %{_mandir}/man8/afsd.8.gz
|
||||
%doc %{_mandir}/man8/fstrace.8.gz
|
||||
%doc %{_mandir}/man8/fstrace_*.8.gz
|
||||
%_unitdir/openafs-client.service
|
||||
%doc %{_mandir}/man1/copyauth.1.gz
|
||||
%doc %{_mandir}/man5/cacheinfo.5.gz
|
||||
%doc %{_mandir}/man5/afs_cache.5.gz
|
||||
%dir %{_datadir}/openafs
|
||||
%dir %{_datadir}/openafs/C
|
||||
%{_datadir}/openafs/C/afszcm.cat
|
||||
%doc %{_mandir}/man5/afszcm.cat.5.gz
|
||||
%config(noreplace) %{viceetcdir}/SuidCells
|
||||
%config(noreplace) %{viceetcdir}/cacheinfo
|
||||
%{_sbindir}/rcopenafs-client
|
||||
%{_fillupdir}/sysconfig.openafs-client
|
||||
%{vicecachedir}
|
||||
%if %{have_firewalld}
|
||||
%dir %{_prefix}/lib/firewalld
|
||||
%dir %{_prefix}/lib/firewalld/services
|
||||
%{_prefix}/lib/firewalld/services/afs3-callback.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-rmtsys.xml
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files server
|
||||
%defattr(-,root,root)
|
||||
%attr(770,root,root) %dir %{afslocaldir}
|
||||
%attr(775,root,root) %dir %{afslogsdir}
|
||||
%config %{viceetcdir}/server
|
||||
%doc %{_mandir}/man5/AuthLog.5.gz
|
||||
%doc %{_mandir}/man5/AuthLog.dir.5.gz
|
||||
%doc %{_mandir}/man5/BackupLog.5.gz
|
||||
%doc %{_mandir}/man5/BosConfig.5.gz
|
||||
%doc %{_mandir}/man5/BosLog.5.gz
|
||||
%doc %{_mandir}/man5/FORCESALVAGE.5.gz
|
||||
%doc %{_mandir}/man5/FileLog.5.gz
|
||||
%doc %{_mandir}/man5/KeyFile.5.gz
|
||||
%doc %{_mandir}/man5/KeyFileExt.5.gz
|
||||
%doc %{_mandir}/man5/NoAuth.5.gz
|
||||
%doc %{_mandir}/man5/PtLog.5.gz
|
||||
%doc %{_mandir}/man5/SALVAGE.fs.5.gz
|
||||
%doc %{_mandir}/man5/SalvageLog.5.gz
|
||||
%doc %{_mandir}/man5/UserList.5.gz
|
||||
%doc %{_mandir}/man5/VLLog.5.gz
|
||||
%doc %{_mandir}/man5/VolserLog.5.gz
|
||||
%doc %{_mandir}/man5/afs_volume_header.5.gz
|
||||
%doc %{_mandir}/man5/bdb.DB0.5.gz
|
||||
%doc %{_mandir}/man5/krb.conf.5.gz
|
||||
%doc %{_mandir}/man5/krb.excl.5.gz
|
||||
%doc %{_mandir}/man5/prdb.DB0.5.gz
|
||||
%doc %{_mandir}/man5/salvage.lock.5.gz
|
||||
%doc %{_mandir}/man5/tapeconfig.5.gz
|
||||
%doc %{_mandir}/man5/vldb.DB0.5.gz
|
||||
%doc %{_mandir}/man8/akeyconvert.8.gz
|
||||
%doc %{_mandir}/man8/asetkey.8.gz
|
||||
%doc %{_mandir}/man8/bos_util.8.gz
|
||||
%doc %{_mandir}/man8/bosserver.8.gz
|
||||
%doc %{_mandir}/man8/buserver.8.gz
|
||||
%doc %{_mandir}/man8/dafileserver.8.gz
|
||||
%doc %{_mandir}/man8/dafssync-debug.8.gz
|
||||
%doc %{_mandir}/man8/dafssync-debug_*.8.gz
|
||||
%doc %{_mandir}/man8/dasalvager.8.gz
|
||||
%doc %{_mandir}/man8/davolserver.8.gz
|
||||
%doc %{_mandir}/man8/fileserver.8.gz
|
||||
%doc %{_mandir}/man8/fssync-debug.8.gz
|
||||
%doc %{_mandir}/man8/fssync-debug_*.8.gz
|
||||
%doc %{_mandir}/man8/prdb_check.8.gz
|
||||
%doc %{_mandir}/man8/pt_util.8.gz
|
||||
%doc %{_mandir}/man8/ptserver.8.gz
|
||||
%doc %{_mandir}/man8/salvager.8.gz
|
||||
%doc %{_mandir}/man8/salvageserver.8.gz
|
||||
%doc %{_mandir}/man8/state_analyzer.8.gz
|
||||
%doc %{_mandir}/man8/upclient.8.gz
|
||||
%doc %{_mandir}/man8/upserver.8.gz
|
||||
%doc %{_mandir}/man8/vldb_check.8.gz
|
||||
%doc %{_mandir}/man8/vldb_convert.8.gz
|
||||
%doc %{_mandir}/man8/vlserver.8.gz
|
||||
%doc %{_mandir}/man8/voldump.8.gz
|
||||
%doc %{_mandir}/man8/volinfo.8.gz
|
||||
%doc %{_mandir}/man8/volscan.8.gz
|
||||
%doc %{_mandir}/man8/volserver.8.gz
|
||||
%dir %{_libexecdir}/openafs
|
||||
%{_libexecdir}/openafs/buserver
|
||||
%{_libexecdir}/openafs/dafileserver
|
||||
%{_libexecdir}/openafs/dasalvager
|
||||
%{_libexecdir}/openafs/davolserver
|
||||
%{_libexecdir}/openafs/fileserver
|
||||
%{_libexecdir}/openafs/ptserver
|
||||
%{_libexecdir}/openafs/salvager
|
||||
%{_libexecdir}/openafs/salvageserver
|
||||
%{_libexecdir}/openafs/upclient
|
||||
%{_libexecdir}/openafs/upserver
|
||||
%{_libexecdir}/openafs/vlserver
|
||||
%{_libexecdir}/openafs/volserver
|
||||
%{_sbindir}/asetkey
|
||||
%{_sbindir}/akeyconvert
|
||||
%{_sbindir}/bos_util
|
||||
%{_sbindir}/bosserver
|
||||
%{_sbindir}/dafssync-debug
|
||||
%{_sbindir}/fssync-debug
|
||||
%{_sbindir}/prdb_check
|
||||
%{_sbindir}/pt_util
|
||||
%{_sbindir}/salvsync-debug
|
||||
%{_sbindir}/state_analyzer
|
||||
%{_sbindir}/vldb_check
|
||||
%{_sbindir}/vldb_convert
|
||||
%{_sbindir}/voldump
|
||||
%{_sbindir}/volinfo
|
||||
%{_sbindir}/volscan
|
||||
%_unitdir/openafs-server.service
|
||||
%{_sbindir}/rcopenafs-server
|
||||
/%{_fillupdir}/sysconfig.openafs-server
|
||||
%if %{have_firewalld}
|
||||
%dir %{_prefix}/lib/firewalld
|
||||
%dir %{_prefix}/lib/firewalld/services
|
||||
%{_prefix}/lib/firewalld/services/afs3-bos.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-fileserver.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-prserver.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-update.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-vlserver.xml
|
||||
%{_prefix}/lib/firewalld/services/afs3-volser.xml
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_libdir}/openafs
|
||||
%doc %{_mandir}/man1/livesys.1.gz
|
||||
%doc %{_mandir}/man1/rxgen.1.gz
|
||||
%doc %{_mandir}/man3/AFS::ukernel.3.gz
|
||||
%{_bindir}/livesys
|
||||
%{_bindir}/rxgen
|
||||
%{_includedir}/openafs/
|
||||
%{_libdir}/openafs/libafshcrypto.so
|
||||
%{_libdir}/openafs/librokenafs.so
|
||||
%{perl_vendorarch}/ukernel.so
|
||||
%dir %{perl_vendorlib}/AFS
|
||||
%{perl_vendorlib}/AFS/ukernel.pm
|
||||
|
||||
%files kernel-source
|
||||
%defattr(-,root,root)
|
||||
%dir /usr/src/kernel-modules
|
||||
%dir /usr/src/kernel-modules/openafs
|
||||
/usr/src/kernel-modules/openafs/*
|
||||
|
||||
%if %{build_authlibs}
|
||||
%files authlibs
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/openafs/libafsauthent.so.*
|
||||
%{_libdir}/openafs/libafsrpc.so.*
|
||||
%{_libdir}/openafs/libkopenafs.so.*
|
||||
|
||||
%files authlibs-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/openafs/libafsauthent.so
|
||||
%{_libdir}/openafs/libafsrpc.so
|
||||
%{_libdir}/openafs/libkopenafs.so
|
||||
%endif
|
||||
|
||||
#
|
||||
# CHANGELOG
|
||||
#
|
||||
|
||||
%changelog
|
3
preamble
Normal file
3
preamble
Normal file
@ -0,0 +1,3 @@
|
||||
Requires: kernel-%1
|
||||
Requires: %{name}-client = %{version}
|
||||
Conflicts: %{name}-fuse-client = %{version}
|
17
sysconfig.openafs-client
Normal file
17
sysconfig.openafs-client
Normal file
@ -0,0 +1,17 @@
|
||||
#
|
||||
# startup options for the openAFS client.
|
||||
# see man afsd for details
|
||||
|
||||
AFSD_ARGS="-fakestat -memcache -blocks 102400 -dynroot -afsdb"
|
||||
|
||||
#
|
||||
# sysname to set after startup
|
||||
# leave empty for default setting.
|
||||
|
||||
SYSNAME=""
|
||||
|
||||
#
|
||||
# switch for encryption to be set after startup
|
||||
# must be one of "on" or "off"
|
||||
|
||||
CRYPT="on"
|
17
sysconfig.openafs-fuse-client
Normal file
17
sysconfig.openafs-fuse-client
Normal file
@ -0,0 +1,17 @@
|
||||
#
|
||||
# startup options for the openAFS FUSE client.
|
||||
# see man afsd for details
|
||||
|
||||
AFSD_ARGS="-fakestat -memcache -blocks 102400 -dynroot -afsdb"
|
||||
|
||||
#
|
||||
# sysname to set after startup
|
||||
# leave empty for default setting.
|
||||
|
||||
SYSNAME=""
|
||||
|
||||
#
|
||||
# switch for encryption to be set after startup
|
||||
# must be one of "on" or "off"
|
||||
|
||||
CRYPT="on"
|
4
sysconfig.openafs-server
Normal file
4
sysconfig.openafs-server
Normal file
@ -0,0 +1,4 @@
|
||||
## Path: Network/File systems/AFS server
|
||||
## Description: AFS server configuration, default mode
|
||||
|
||||
# all is set in /etc/openafs/BosConfig
|
Loading…
Reference in New Issue
Block a user