forked from pool/nfs-utils
0002-gssd-revert-commit-513630d720bd.patch, 0003-gssd-switch-to-using-rpc_gss_seccreate.patch, 0004-gssd-handle-KRB5_AP_ERR_BAD_INTEGRITY-for-machine-cr.patch, 0005-gssd-handle-KRB5_AP_ERR_BAD_INTEGRITY-for-user-crede.patch, 0006-configure-check-for-rpc_gss_seccreate.patch: fixes for libtirpc 1.3.5 - drop reenable-nfsv2.patch (poo#106679) Fix crash when rpc-gssd run with -v. - Replace references to /var/adm/fillup-templates with new options. - do not strip the binaries - mkinitrd-boot.sh: allow other mkinitrd-setup - nfs-utils-eperm-fallback.patch: mount.nfs Includes new config file: /etc/nfsmount.conf and - Kill processes on NFS mounts when unmounting bnc#442490 * fix typo in handling of "init.d/nfs status" - nfs.init: * unmount rpc_pipefs - fix sysconfig filename for changed fillup call services (gssd and idmpad have been rolled in to nfs/nfsserver). - remove svcinfo.d dir as it is provided now by filesystem - update to version 1.1.2 - uses libgssglue instead of libgssapi - add rpcbind support [fate#300607] - added gssapi to buildrequires (#116355) showmount has been removed there (#309782) - added README.NFSv4 (#182775) OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=285
180 lines
5.0 KiB
Diff
180 lines
5.0 KiB
Diff
From ed4dc834e1722b9217fae27da1adf29ab21d6a93 Mon Sep 17 00:00:00 2001
|
|
From: NeilBrown <neilb@suse.de>
|
|
Date: Mon, 27 Nov 2023 10:30:43 -0500
|
|
Subject: [PATCH] conffile: don't report error from conf_init_file()
|
|
|
|
conf_init_file() currently reports an error if the main config file
|
|
doesn't exist - even if there are conf files in the conf.d directory.
|
|
|
|
This is only used by nfsconfcli.c. However this is not needed. If
|
|
there is a real error, and error message is already logged.
|
|
If it is simply that the file doesn't exist, that isn't really an error.
|
|
|
|
So remove the error messages and change conf_init_file() to not return
|
|
any status.
|
|
|
|
Also fix up assorted nearby white-space issues.
|
|
|
|
Signed-off-by: NeilBrown <neilb@suse.de>
|
|
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
---
|
|
support/include/conffile.h | 2 +-
|
|
support/nfs/conffile.c | 32 ++++++++++++++------------------
|
|
tools/nfsconf/nfsconfcli.c | 15 ++-------------
|
|
3 files changed, 17 insertions(+), 32 deletions(-)
|
|
|
|
diff --git a/support/include/conffile.h b/support/include/conffile.h
|
|
index c4a3ca62860e..c04cd1ec5c0c 100644
|
|
--- a/support/include/conffile.h
|
|
+++ b/support/include/conffile.h
|
|
@@ -62,7 +62,7 @@ extern char *conf_get_str(const char *, const char *);
|
|
extern char *conf_get_str_with_def(const char *, const char *, char *);
|
|
extern char *conf_get_section(const char *, const char *, const char *);
|
|
extern char *conf_get_entry(const char *, const char *, const char *);
|
|
-extern int conf_init_file(const char *);
|
|
+extern void conf_init_file(const char *);
|
|
extern void conf_cleanup(void);
|
|
extern int conf_match_num(const char *, const char *, int);
|
|
extern int conf_remove(int, const char *, const char *);
|
|
diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
|
|
index fd4a17ad4293..6b813dd95147 100644
|
|
--- a/support/nfs/conffile.c
|
|
+++ b/support/nfs/conffile.c
|
|
@@ -658,7 +658,7 @@ conf_load_file(const char *conf_file)
|
|
return 0;
|
|
}
|
|
|
|
-static void
|
|
+static void
|
|
conf_init_dir(const char *conf_file)
|
|
{
|
|
struct dirent **namelist = NULL;
|
|
@@ -669,14 +669,14 @@ conf_init_dir(const char *conf_file)
|
|
dname = malloc(strlen(conf_file) + 3);
|
|
if (dname == NULL) {
|
|
xlog(L_WARNING, "conf_init_dir: malloc: %s", strerror(errno));
|
|
- return;
|
|
+ return;
|
|
}
|
|
sprintf(dname, "%s.d", conf_file);
|
|
|
|
n = scandir(dname, &namelist, NULL, versionsort);
|
|
if (n < 0) {
|
|
if (errno != ENOENT) {
|
|
- xlog(L_WARNING, "conf_init_dir: scandir %s: %s",
|
|
+ xlog(L_WARNING, "conf_init_dir: scandir %s: %s",
|
|
dname, strerror(errno));
|
|
}
|
|
free(dname);
|
|
@@ -691,7 +691,7 @@ conf_init_dir(const char *conf_file)
|
|
for (i = 0; i < n; i++ ) {
|
|
struct dirent *d = namelist[i];
|
|
|
|
- switch (d->d_type) {
|
|
+ switch (d->d_type) {
|
|
case DT_UNKNOWN:
|
|
case DT_REG:
|
|
case DT_LNK:
|
|
@@ -701,13 +701,13 @@ conf_init_dir(const char *conf_file)
|
|
}
|
|
if (*d->d_name == '.')
|
|
continue;
|
|
-
|
|
+
|
|
fname_len = strlen(d->d_name);
|
|
path_len = (fname_len + dname_len);
|
|
if (!fname_len || path_len > PATH_MAX) {
|
|
xlog(L_WARNING, "conf_init_dir: Too long file name: %s in %s",
|
|
d->d_name, dname);
|
|
- continue;
|
|
+ continue;
|
|
}
|
|
|
|
/*
|
|
@@ -715,7 +715,7 @@ conf_init_dir(const char *conf_file)
|
|
* that end with CONF_FILE_EXT
|
|
*/
|
|
if (fname_len <= CONF_FILE_EXT_LEN) {
|
|
- xlog(D_GENERAL, "conf_init_dir: %s: name too short",
|
|
+ xlog(D_GENERAL, "conf_init_dir: %s: name too short",
|
|
d->d_name);
|
|
continue;
|
|
}
|
|
@@ -746,31 +746,29 @@ conf_init_dir(const char *conf_file)
|
|
free(namelist[i]);
|
|
free(namelist);
|
|
free(dname);
|
|
-
|
|
+
|
|
return;
|
|
}
|
|
|
|
-int
|
|
+void
|
|
conf_init_file(const char *conf_file)
|
|
{
|
|
unsigned int i;
|
|
- int ret;
|
|
|
|
for (i = 0; i < sizeof conf_bindings / sizeof conf_bindings[0]; i++)
|
|
LIST_INIT (&conf_bindings[i]);
|
|
|
|
TAILQ_INIT (&conf_trans_queue);
|
|
|
|
- if (conf_file == NULL)
|
|
- conf_file=NFS_CONFFILE;
|
|
+ if (conf_file == NULL)
|
|
+ conf_file = NFS_CONFFILE;
|
|
|
|
/*
|
|
- * First parse the give config file
|
|
- * then parse the config.conf.d directory
|
|
+ * First parse the give config file
|
|
+ * then parse the config.conf.d directory
|
|
* (if it exists)
|
|
- *
|
|
*/
|
|
- ret = conf_load_file(conf_file);
|
|
+ conf_load_file(conf_file);
|
|
|
|
/*
|
|
* When the same variable is set in both files
|
|
@@ -779,8 +777,6 @@ conf_init_file(const char *conf_file)
|
|
* have the final say.
|
|
*/
|
|
conf_init_dir(conf_file);
|
|
-
|
|
- return ret;
|
|
}
|
|
|
|
/*
|
|
diff --git a/tools/nfsconf/nfsconfcli.c b/tools/nfsconf/nfsconfcli.c
|
|
index b2ef96d1c600..bd9d52701aa6 100644
|
|
--- a/tools/nfsconf/nfsconfcli.c
|
|
+++ b/tools/nfsconf/nfsconfcli.c
|
|
@@ -135,19 +135,8 @@ int main(int argc, char **argv)
|
|
return 1;
|
|
}
|
|
|
|
- if (mode != MODE_SET && mode != MODE_UNSET) {
|
|
- if (conf_init_file(confpath)) {
|
|
- /* config file was missing or had an error, warn about it */
|
|
- if (verbose || mode != MODE_ISSET) {
|
|
- fprintf(stderr, "Error loading config file %s\n",
|
|
- confpath);
|
|
- }
|
|
-
|
|
- /* this isnt fatal for --isset */
|
|
- if (mode != MODE_ISSET)
|
|
- return 1;
|
|
- }
|
|
- }
|
|
+ if (mode != MODE_SET && mode != MODE_UNSET)
|
|
+ conf_init_file(confpath);
|
|
|
|
/* --dump mode, output the current configuration */
|
|
if (mode == MODE_DUMP) {
|
|
--
|
|
2.43.0
|
|
|