make MKPASSWD a separate config option, not an automatic alias to cryptpw
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 30 Mar 2016 22:32:39 +0000 (00:32 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 30 Mar 2016 22:32:39 +0000 (00:32 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
loginutils/cryptpw.c

index 55dcc291447385ec8cc140b149aa38e84800b513..23a1884f4298b12585919a30c0baee5a52c9e8b3 100644 (file)
 //config:      default y
 //config:      help
 //config:        Encrypts the given password with the crypt(3) libc function
+//config:        using the given salt.
+//config:
+//config:config MKPASSWD
+//config:      bool "mkpasswd"
+//config:      default y
+//config:      help
+//config:        Encrypts the given password with the crypt(3) libc function
 //config:        using the given salt. Debian has this utility under mkpasswd
 //config:        name. Busybox provides mkpasswd as an alias for cryptpw.
 
 //applet:IF_CRYPTPW(APPLET(cryptpw, BB_DIR_USR_BIN, BB_SUID_DROP))
-//applet:IF_CRYPTPW(APPLET_ODDNAME(mkpasswd, cryptpw, BB_DIR_USR_BIN, BB_SUID_DROP, mkpasswd))
+//                   APPLET_ODDNAME:name      main     location        suid_type     help
+//applet:IF_MKPASSWD(APPLET_ODDNAME(mkpasswd, cryptpw, BB_DIR_USR_BIN, BB_SUID_DROP, cryptpw))
 
 //kbuild:lib-$(CONFIG_CRYPTPW) += cryptpw.o
+//kbuild:lib-$(CONFIG_MKPASSWD) += cryptpw.o
 
 //usage:#define cryptpw_trivial_usage
 //usage:       "[OPTIONS] [PASSWORD] [SALT]"
 //usage:     "\n       -S SALT"
 //usage:       )
 
-/* mkpasswd is an alias to cryptpw */
-//usage:#define mkpasswd_trivial_usage
-//usage:       "[OPTIONS] [PASSWORD] [SALT]"
-/* We do support -s, we just don't mention it */
-//usage:#define mkpasswd_full_usage "\n\n"
-//usage:       "Crypt PASSWORD using crypt(3)\n"
-//usage:       IF_LONG_OPTS(
-//usage:     "\n       -P,--password-fd=N      Read password from fd N"
-/* //usage:  "\n       -s,--stdin              Use stdin; like -P0" */
-//usage:     "\n       -m,--method=TYPE        Encryption method"
-//usage:     "\n       -S,--salt=SALT"
-//usage:       )
-//usage:       IF_NOT_LONG_OPTS(
-//usage:     "\n       -P N    Read password from fd N"
-/* //usage:  "\n       -s      Use stdin; like -P0" */
-//usage:     "\n       -m TYPE Encryption method TYPE"
-//usage:     "\n       -S SALT"
-//usage:       )
-
 #include "libbb.h"
 
 /* Debian has 'mkpasswd' utility, manpage says:
@@ -140,7 +130,7 @@ int cryptpw_main(int argc UNUSED_PARAM, char **argv)
        if (!password) {
                /* Only mkpasswd, and only from tty, prompts.
                 * Otherwise it is a plain read. */
-               password = (isatty(STDIN_FILENO) && applet_name[0] == 'm')
+               password = (ENABLE_MKPASSWD && isatty(STDIN_FILENO) && applet_name[0] == 'm')
                        ? bb_ask_stdin("Password: ")
                        : xmalloc_fgetline(stdin)
                ;