krb5 commit [krb5-1.18]: Unify kvno option documentation

Greg Hudson <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.cvs
Message-ID <[email protected]>
https://github.com/krb5/krb5/commit/91d6b8eab875537805ac1d8e6013ed9c57f478ea
commit 91d6b8eab875537805ac1d8e6013ed9c57f478ea
Author: Robbie Harwood <[email protected]>
Date:   Thu Aug 20 17:49:29 2020 -0400

    Unify kvno option documentation
    
    Add missing kvno options to the kvno.rst synopsis and option
    descriptions, and to the kvno usage message.  Remove mention of '-h'
    (help text), from kvno.rst as it is an implicit option.
    
    Indicate the two exclusions (-u/-S and --u2u with the S4U2Self options)
    and dependency (-P on S4U2Self) where they are missing.
    
    Switch xusage() to print only a single localized string, rather than
    running each line of output through localization separately.
    
    Leave kvno -C undocumented for now, as the semantics of
    KRB5_GC_CANONICALIZE are minimally useful and likely to change.
    
    [[email protected]: edited documentation and commit message]
    
    (cherry picked from commit becd1ad6830b526d08ddaf5b2b6f213154c6446c)
    
    ticket: 7476
    tags: pullup
    target_version: 1.18-next

 doc/user/user_commands/kvno.rst |   17 +++++++++--------
 src/clients/kvno/kvno.c         |   12 ++++++++----
 src/man/kvno.man                |   17 +++++++++--------
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/doc/user/user_commands/kvno.rst b/doc/user/user_commands/kvno.rst
index 3892f0c..53e5696 100644
--- a/doc/user/user_commands/kvno.rst
+++ b/doc/user/user_commands/kvno.rst
@@ -10,13 +10,9 @@ SYNOPSIS
 [**-c** *ccache*]
 [**-e** *etype*]
 [**-q**]
-[**-h**]
+[**-u** | **-S** *sname*]
 [**-P**]
-[**-S** *sname*]
-[**-I** *for_user*]
-[**-U** *for_user*]
-[**-F** *cert_file*]
-[**--u2u** *ccache*]
+[[{**-F** *cert_file* | {**-I** | **-U**} *for_user*} [**-P**]] | **--u2u** *ccache*]
 *service1 service2* ...
 
 
@@ -39,13 +35,18 @@ OPTIONS
     of all the services named on the command line.  This is useful in
     certain backward compatibility situations.
 
+**-k** *keytab*
+    Decrypt the acquired tickets using *keytab* to confirm their
+    validity.
+
 **-q**
     Suppress printing output when successful.  If a service ticket
     cannot be obtained, an error message will still be printed and
     kvno will exit with nonzero status.
 
-**-h**
-    Prints a usage statement and exits.
+**-u**
+    Use the unknown name type in requested service principal names.
+    This option Cannot be used with *-S*.
 
 **-P**
     Specifies that the *service1 service2* ...  arguments are to be
diff --git a/src/clients/kvno/kvno.c b/src/clients/kvno/kvno.c
index 2472c0c..8edd973 100644
--- a/src/clients/kvno/kvno.c
+++ b/src/clients/kvno/kvno.c
@@ -38,13 +38,17 @@
 static char *prog;
 static int quiet = 0;
 
+#define XUSAGE_BREAK "\n\t"
+
 static void
 xusage()
 {
-    fprintf(stderr, _("usage: %s [-C] [-u] [-c ccache] [-e etype]\n"), prog);
-    fprintf(stderr, _("\t[-k keytab] [-S sname] [{-I | -U} for_user | "
-                      "[-F cert_file] [-P]]\n"));
-    fprintf(stderr, _("\t[--u2u ccache] service1 service2 ...\n"));
+    fprintf(stderr, _("usage: %s [-c ccache] [-e etype] [-k keytab] [-q] "
+                      "[-u | -S sname]" XUSAGE_BREAK
+                      "[[{-F cert_file | {-I | -U} for_user} [-P]] | "
+                      "--u2u ccache]" XUSAGE_BREAK
+                      "service1 service2 ...\n"),
+            prog);
     exit(1);
 }
 
diff --git a/src/man/kvno.man b/src/man/kvno.man
index 005a2ec..e156df7 100644
--- a/src/man/kvno.man
+++ b/src/man/kvno.man
@@ -36,13 +36,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 [\fB\-c\fP \fIccache\fP]
 [\fB\-e\fP \fIetype\fP]
 [\fB\-q\fP]
-[\fB\-h\fP]
+[\fB\-u\fP | \fB\-S\fP \fIsname\fP]
 [\fB\-P\fP]
-[\fB\-S\fP \fIsname\fP]
-[\fB\-I\fP \fIfor_user\fP]
-[\fB\-U\fP \fIfor_user\fP]
-[\fB\-F\fP \fIcert_file\fP]
-[\fB\-\-u2u\fP \fIccache\fP]
+[[{\fB\-F\fP \fIcert_file\fP | {\fB\-I\fP | \fB\-U\fP} \fIfor_user\fP} [\fB\-P\fP]] | \fB\-\-u2u\fP \fIccache\fP]
 \fIservice1 service2\fP ...
 .SH DESCRIPTION
 .sp
@@ -60,13 +56,18 @@ Specifies the enctype which will be requested for the session key
 of all the services named on the command line.  This is useful in
 certain backward compatibility situations.
 .TP
+\fB\-k\fP \fIkeytab\fP
+Decrypt the acquired tickets using \fIkeytab\fP to confirm their
+validity.
+.TP
 \fB\-q\fP
 Suppress printing output when successful.  If a service ticket
 cannot be obtained, an error message will still be printed and
 kvno will exit with nonzero status.
 .TP
-\fB\-h\fP
-Prints a usage statement and exits.
+\fB\-u\fP
+Use the unknown name type in requested service principal names.
+This option Cannot be used with \fI\-S\fP\&.
 .TP
 \fB\-P\fP
 Specifies that the \fIservice1 service2\fP ...  arguments are to be
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.