[freeradius] Improve dhcpclient and rad_counter online help

Nikolai Kondrashov nkondras at fedoraproject.org
Mon Jan 19 17:00:51 UTC 2015


commit 7eb2ab3d96454ef02953743ecf469150c1a2f122
Author: Nikolai Kondrashov <Nikolai.Kondrashov at redhat.com>
Date:   Mon Dec 15 16:36:38 2014 +0200

    Improve dhcpclient and rad_counter online help
    
    Resolves: Bug:#1146966

 ...nt-Add-a-short-description-to-help-output.patch |   26 ++++++++
 freeradius-rad_counter-Refine-help-message.patch   |   64 ++++++++++++++++++++
 ...-rad_counter-use-heredoc-for-help-message.patch |   47 ++++++++++++++
 freeradius.spec                                    |    6 ++
 4 files changed, 143 insertions(+), 0 deletions(-)
---
diff --git a/freeradius-dhcpclient-Add-a-short-description-to-help-output.patch b/freeradius-dhcpclient-Add-a-short-description-to-help-output.patch
new file mode 100644
index 0000000..379c590
--- /dev/null
+++ b/freeradius-dhcpclient-Add-a-short-description-to-help-output.patch
@@ -0,0 +1,26 @@
+From 313d551547efa8493741ef1344e0629aab04dd70 Mon Sep 17 00:00:00 2001
+From: Nikolai Kondrashov <Nikolai.Kondrashov at redhat.com>
+Date: Fri, 5 Dec 2014 15:07:59 +0200
+Subject: [PATCH 3/3] dhcpclient: Add a short description to help output
+
+Add a short description of the program's function to the help output of
+dhcpclient.
+---
+ src/modules/proto_dhcp/dhcpclient.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/modules/proto_dhcp/dhcpclient.c b/src/modules/proto_dhcp/dhcpclient.c
+index 64debfe..5677588 100644
+--- a/src/modules/proto_dhcp/dhcpclient.c
++++ b/src/modules/proto_dhcp/dhcpclient.c
+@@ -70,6 +70,7 @@ char const *dhcpclient_version = "dhcpclient version " RADIUSD_VERSION_STRING
+ static void NEVER_RETURNS usage(void)
+ {
+ 	fprintf(stderr, "Usage: dhcpclient [options] server[:port] <command>\n");
++	fprintf(stderr, "Send a DHCP request with provided RADIUS attrs and output response.\n");
+ 
+ 	fprintf(stderr, "  <command>              One of discover, request, offer, decline, release, inform.\n");
+ 	fprintf(stderr, "  -d <directory>         Set the directory where the dictionaries are stored (defaults to " RADDBDIR ").\n");
+-- 
+2.1.3
+
diff --git a/freeradius-rad_counter-Refine-help-message.patch b/freeradius-rad_counter-Refine-help-message.patch
new file mode 100644
index 0000000..40d9b0c
--- /dev/null
+++ b/freeradius-rad_counter-Refine-help-message.patch
@@ -0,0 +1,64 @@
+From 68b1b158029501208d1c6a60aa2794d9589c2a08 Mon Sep 17 00:00:00 2001
+From: Nikolai Kondrashov <Nikolai.Kondrashov at redhat.com>
+Date: Fri, 5 Dec 2014 12:24:37 +0200
+Subject: [PATCH 2/3] rad_counter: Refine help message
+
+Refine rad_counter help message:
+
+* use executable name without path,
+* add program purpose,
+* shorten usage summary line for clarity,
+* separate arguments and options,
+* add full stops to sentences,
+* wrap a long line.
+---
+ src/modules/rlm_counter/rad_counter | 24 +++++++++++++++---------
+ 1 file changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/src/modules/rlm_counter/rad_counter b/src/modules/rlm_counter/rad_counter
+index b6c1159..1beef29 100755
+--- a/src/modules/rlm_counter/rad_counter
++++ b/src/modules/rlm_counter/rad_counter
+@@ -6,6 +6,7 @@ use warnings ;
+ use GDBM_File ;
+ use Fcntl ;
+ use Getopt::Long;
++use File::Basename;
+ 
+ my $user = '';
+ my $divisor = 1;
+@@ -19,17 +20,22 @@ my $help = 0;
+ $filename = '';
+ 
+ sub show_help {
+-    print <<"EOF";
+-Usage: $0 --file=<counter filename> [--reset=<seconds>] [--match=<regexp>]
+-[--user=<username>] [--help] [--hours|--minutes|--seconds]
++    my $progname = basename($0);
++    print <<EOF;
++Usage: $progname --file=<counter filename> [OPTION...]
++Query and maintain FreeRADIUS rlm_counter DB file.
+ 
+---user=<username>               Information for specific user
+---file=<filename>               Counter db filename
+---match=<regexp>                Information for matching users
++Arguments:
++--file=<filename>               Counter DB filename.
++
++Options:
++--user=<username>               Information for specific user.
++--match=<regexp>                Information for matching users.
+ --reset=<number>                Reset counter to <number>.
+-                                If divisor is set use it, else <number> means seconds
+---help                          Show this help screen
+---(hours|minutes|seconds)       Specify information divisor
++                                If divisor is set use it,
++                                else <number> means seconds.
++--help                          Show this help screen.
++--(hours|minutes|seconds)       Specify information divisor.
+ EOF
+     exit 0;
+ }
+-- 
+2.1.3
+
diff --git a/freeradius-rad_counter-use-heredoc-for-help-message.patch b/freeradius-rad_counter-use-heredoc-for-help-message.patch
new file mode 100644
index 0000000..d18fea7
--- /dev/null
+++ b/freeradius-rad_counter-use-heredoc-for-help-message.patch
@@ -0,0 +1,47 @@
+From 70686e8d2b400a804277ba0cdc664e71dd393dd5 Mon Sep 17 00:00:00 2001
+From: Nikolai Kondrashov <Nikolai.Kondrashov at redhat.com>
+Date: Fri, 5 Dec 2014 12:12:19 +0200
+Subject: [PATCH 1/3] rad_counter: Use heredoc for help message
+
+Use Perl's here document syntax for rad_counter's help message and
+replace tab escape sequences with spaces to make the source more
+readable and easier to modify.
+---
+ src/modules/rlm_counter/rad_counter | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/src/modules/rlm_counter/rad_counter b/src/modules/rlm_counter/rad_counter
+index be0a33a..b6c1159 100755
+--- a/src/modules/rlm_counter/rad_counter
++++ b/src/modules/rlm_counter/rad_counter
+@@ -19,15 +19,18 @@ my $help = 0;
+ $filename = '';
+ 
+ sub show_help {
+-    print "Usage: $0 --file=<counter filename> [--reset=<seconds>] [--match=<regexp>]\n";
+-    print "[--user=<username>] [--help] [--hours|--minutes|--seconds]\n\n";
+-    print "--user=<username>", "\t\t", "Information for specific user\n";
+-    print "--file=<filename>", "\t\t", "Counter db filename\n";
+-    print "--match=<regexp>", "\t\t", "Information for matching users\n";
+-    print "--reset=<number>", "\t\t", "Reset counter to <number>.\n";
+-    print "\t\t\t\t", "If divisor is set use it, else <number> means seconds\n";
+-    print "--help", "\t\t\t\t", "Show this help screen\n";
+-    print "--(hours|minutes|seconds)", "\t", "Specify information divisor\n";
++    print <<"EOF";
++Usage: $0 --file=<counter filename> [--reset=<seconds>] [--match=<regexp>]
++[--user=<username>] [--help] [--hours|--minutes|--seconds]
++
++--user=<username>               Information for specific user
++--file=<filename>               Counter db filename
++--match=<regexp>                Information for matching users
++--reset=<number>                Reset counter to <number>.
++                                If divisor is set use it, else <number> means seconds
++--help                          Show this help screen
++--(hours|minutes|seconds)       Specify information divisor
++EOF
+     exit 0;
+ }
+ 
+-- 
+2.1.3
+
diff --git a/freeradius.spec b/freeradius.spec
index 6b83416..9c23844 100644
--- a/freeradius.spec
+++ b/freeradius.spec
@@ -45,6 +45,9 @@ Patch21: freeradius-added-D-option-to-mirror-radclient.patch
 Patch22: freeradius-man-remove-client-attribute-description.patch
 Patch23: freeradius-man-remove-references-to-naslist-and-clients.patch
 Patch24: freeradius-valuepair-don-t-remove-unkown-backslash.patch
+Patch25: freeradius-rad_counter-use-heredoc-for-help-message.patch
+Patch26: freeradius-rad_counter-Refine-help-message.patch
+Patch27: freeradius-dhcpclient-Add-a-short-description-to-help-output.patch
 
 %global docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
 
@@ -225,6 +228,9 @@ This plugin provides the unixODBC support for the FreeRADIUS server project.
 %patch22 -p1
 %patch23 -p1
 %patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
 
 %build
 # Force compile/link options, extra security for network facing daemon


More information about the scm-commits mailing list