From 809e8174c12e58ee5913e594a5548fe131240f71 Mon Sep 17 00:00:00 2001 From: Frank Sorenson Date: Mon, 17 Oct 2022 14:52:03 -0400 Subject: Allow 'debug' configuration option to accept '0' and '1' In the example /etc/nfs.conf file, most sections include a commented-out 'debug = 0' line, suggesting that '0' is the default. In addition, the manpages for some of the utilities state that debugging can be enabled by setting 'debug = 1' in the nfs.conf file. However, neither '0' nor '1' is accepted as a valid option for 'debug' while parsing the nfs.conf file. Add '0' and '1' to the valid strings when parsing 'debug', with '0' not changing any debugging settings, and '1' enabling all debugging. Signed-off-by: Frank Sorenson Signed-off-by: Steve Dickson --- support/nfs/xlog.c | 7 +++++-- systemd/nfs.conf.man | 6 ++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/support/nfs/xlog.c b/support/nfs/xlog.c index e5861b9..fa125ce 100644 --- a/support/nfs/xlog.c +++ b/support/nfs/xlog.c @@ -46,11 +46,13 @@ int export_errno = 0; static void xlog_toggle(int sig); static struct xlog_debugfac debugnames[] = { + { "0", 0, }, { "general", D_GENERAL, }, { "call", D_CALL, }, { "auth", D_AUTH, }, { "parse", D_PARSE, }, { "all", D_ALL, }, + { "1", D_ALL, }, { NULL, 0, }, }; @@ -119,13 +121,14 @@ xlog_sconfig(char *kind, int on) { struct xlog_debugfac *tbl = debugnames; - while (tbl->df_name != NULL && strcasecmp(tbl->df_name, kind)) + while (tbl->df_name != NULL && strcasecmp(tbl->df_name, kind)) tbl++; if (!tbl->df_name) { xlog (L_WARNING, "Invalid debug facility: %s\n", kind); return; } - xlog_config(tbl->df_fac, on); + if (tbl->df_fac) + xlog_config(tbl->df_fac, on); } void diff --git a/systemd/nfs.conf.man b/systemd/nfs.conf.man index e74083e..b95c05a 100644 --- a/systemd/nfs.conf.man +++ b/systemd/nfs.conf.man @@ -98,6 +98,12 @@ value, which can be one or more from the list .BR parse , .BR all . When a list is given, the members should be comma-separated. +The values +.BR 0 +and +.BR 1 +are also accepted, with '0' making no changes to the debug level, and '1' equivalent to specifying 'all'. + .TP .B general Recognized values: -- cgit v1.2.1