#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

mainmenu_option next_comment
comment 'Login/Password Management Utilities'


bool 'Use internal password and group functions instead of the system functions'	CONFIG_USE_BB_PWD_GRP
bool 'addgroup'			CONFIG_ADDGROUP
bool 'delgroup'			CONFIG_DELGROUP
bool 'adduser'			CONFIG_ADDUSER
bool 'deluser'			CONFIG_DELUSER
bool 'getty'			CONFIG_GETTY
bool 'login'			CONFIG_LOGIN
if [ "$CONFIG_LOGIN" = "y" ]; then
	bool '  Support for /etc/securetty'		CONFIG_FEATURE_SECURETTY
fi
bool 'passwd'			CONFIG_PASSWD
bool 'su'			CONFIG_SU
if [ "$CONFIG_ADDUSER" = "y" -o "$CONFIG_DELUSER" = "y" -o "$CONFIG_LOGIN" = "y" -o "$CONFIG_SU" = "y" ]; then
    bool '  Support for shadow passwords'		CONFIG_FEATURE_SHADOWPASSWDS
    if [ "$CONFIG_USE_BB_PWD_GRP" = "y" -a  "$CONFIG_FEATURE_SHADOWPASSWDS" = "y" ]; then
       bool '  Use busybox shadow password functions'			CONFIG_USE_BB_SHADOW
    fi
fi
bool 'sulogin'			CONFIG_SULOGIN
bool 'vlock'			CONFIG_VLOCK

endmenu

