]> granicus.if.org Git - shadow/commitdiff
* src/login.c, man/login.1.xml: the username is not an optional
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 20 Sep 2008 20:20:19 +0000 (20:20 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 20 Sep 2008 20:20:19 +0000 (20:20 +0000)
parameter of -f. Fix the getopt optstring, remove the parsing of
username in the -f processing block, and remove unnecessary checks
(username cannot be parsed twice anymore), better documentation of
the synopsis.

ChangeLog
man/login.1.xml
src/login.c

index 586a5be27f5d0ac954a94b00b3bbd1888deb2611..8cd811108bade6bbb90e0b9c27fbf590c5cab519 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        sections.
        * src/login.c: Erase the username later since it it used for the
        fake password check (in case of empty password).
+       * src/login.c, man/login.1.xml: the username is not an optional
+       parameter of -f. Fix the getopt optstring, remove the parsing of
+       username in the -f processing block, and remove unnecessary checks
+       (username cannot be parsed twice anymore), better documentation of
+       the synopsis.
 
 2008-09-20  Nicolas François  <nicolas.francois@centraliens.net>
 
index 2380f24238f5c3b6d744da60ff349164c5df34c4..a789f9a1b8e8a901c634238d136d04cf6196e9ac 100644 (file)
   <refsynopsisdiv id='synopsis'>
     <cmdsynopsis>
       <command>login</command>
-      <arg choice='opt'>-p </arg>
+      <arg choice='opt'>-p</arg>
+      <arg choice='opt'>-h <replaceable>host</replaceable></arg>
       <arg choice='opt'>
       <replaceable>username</replaceable></arg>
       <arg choice='opt' rep='repeat'> <replaceable>ENV=VAR</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
       <command>login</command>
-      <arg choice='opt'>-p </arg>
+      <arg choice='opt'>-p</arg>
       <arg choice='opt'>-h <replaceable>host</replaceable></arg>
-      <arg choice='opt'>-f <replaceable>username</replaceable></arg>
+      <arg choice='plain'>-f</arg>
+      <arg choice='plain'><replaceable>username</replaceable></arg>
     </cmdsynopsis>
     <cmdsynopsis>
       <command>login</command>
-      <arg choice='opt'>-p </arg>
+      <arg choice='opt'>-p</arg>
       <arg choice='plain'>-r <replaceable>host</replaceable></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
          <option>-f</option>
        </term>
        <listitem>
-         <para>Do not perform authentication, user is preauthenticated.
+         <para>
+           Do not perform authentication, user is preauthenticated.
+         </para>
+         <para>
+           Note: In that case, <replaceable>username</replaceable> is
+           mandatory.
          </para>
        </listitem>
       </varlistentry>
index eb50082510b3963360f0bef81deed22e56a9868e..2b4d8482e3ad437b9519f2d98c7344151f00e377 100644 (file)
@@ -265,27 +265,13 @@ static void process_flags (int argc, char *const *argv)
        /*
         * Process options.
         */
-       while ((flag = getopt (argc, argv, "d:f::h:pr:")) != EOF) {
+       while ((flag = getopt (argc, argv, "d:fh:pr:")) != EOF) {
                switch (flag) {
                case 'd':
                        /* "-d device" ignored for compatibility */
                        break;
                case 'f':
-                       /*
-                        * username must be a separate token
-                        * (-f root, *not* -froot).  --marekm
-                        *
-                        * if -f has an arg, use that, else use the
-                        * normal user name passed after all options
-                        * --benc
-                        */
-                       if (optarg != NULL && optarg != argv[optind - 1]) {
-                               usage ();
-                       }
                        fflg = true;
-                       if (optarg) {
-                               username = xstrdup (optarg);
-                       }
                        break;
                case 'h':
                        hflg = true;
@@ -330,10 +316,6 @@ static void process_flags (int argc, char *const *argv)
         *  Get the user name.
         */
        if (optind < argc) {
-               if (rflg || (fflg && (NULL != username))) {
-                       usage ();
-               }
-
                username = xstrdup (argv[optind]);
                strzero (argv[optind]);
                ++optind;