This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git


The following commit(s) were added to refs/heads/master by this push:
     new fc14d02ae nshlib,fsutils: add Kconfig deps for NSH console login with 
PBKDF2
fc14d02ae is described below

commit fc14d02ae092b990ce68a6faad36449f4ecb4e0c
Author: Abhishek Mishra <[email protected]>
AuthorDate: Wed Jul 29 16:18:51 2026 +0000

    nshlib,fsutils: add Kconfig deps for NSH console login with PBKDF2
    
    Require a cryptodev backend for FSUTILS_PASSWD and tie NSH console/telnet
    login to ROMFS passwd generation when ETC_ROMFS is enabled.
    
    Fixes #19573
    
    Signed-off-by: Abhishek Mishra <[email protected]>
---
 fsutils/passwd/Kconfig |  7 +++++--
 nshlib/Kconfig         | 20 ++++++++++++++++----
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/fsutils/passwd/Kconfig b/fsutils/passwd/Kconfig
index 198bb2df0..9d6ba3944 100644
--- a/fsutils/passwd/Kconfig
+++ b/fsutils/passwd/Kconfig
@@ -7,14 +7,17 @@ config FSUTILS_PASSWD
        bool "Password file support"
        default n
        depends on CRYPTO_CRYPTODEV
+       depends on CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO || CRYPTO_CRYPTODEV_HARDWARE
        depends on NETUTILS_CODECS
        depends on CODECS_BASE64
        ---help---
                Enables support for /etc/passwd file access routines.
 
                Requires CONFIG_CRYPTO=y, CRYPTO_CRYPTODEV (and
-               ALLOW_BSD_COMPONENTS), plus NETUTILS_CODECS/CODECS_BASE64 for
-               base64url hash encoding.
+               ALLOW_BSD_COMPONENTS), a cryptodev backend
+               (CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO or
+               CONFIG_CRYPTO_CRYPTODEV_HARDWARE), plus 
NETUTILS_CODECS/CODECS_BASE64
+               for base64url hash encoding.
 
                NOTE: Password hashes use PBKDF2-HMAC-SHA256 (modular crypt 
format).
                Existing TEA-encrypted /etc/passwd entries are NOT compatible 
and
diff --git a/nshlib/Kconfig b/nshlib/Kconfig
index 499f09345..8f0cd36ee 100644
--- a/nshlib/Kconfig
+++ b/nshlib/Kconfig
@@ -1235,23 +1235,35 @@ config NSH_CONSOLE_LOGIN
        bool "Console Login"
        default n
        depends on FSUTILS_PASSWD
+       depends on !ETC_ROMFS || BOARD_ETC_ROMFS_PASSWD_ENABLE
        select NSH_LOGIN
        ---help---
                If defined, then the console user will be required to provide a
                username and password to start the NSH shell.  Requires
-               CONFIG_FSUTILS_PASSWD so credentials are verified against the
-               encrypted password file (for example ROMFS /etc/passwd).
+               CONFIG_FSUTILS_PASSWD (PBKDF2-HMAC-SHA256) so credentials are
+               verified against the encrypted password file.
+
+               When CONFIG_ETC_ROMFS is enabled, also enable
+               CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE so /etc/passwd is generated
+               at build time (or provide the passwd file by other means and 
leave
+               ETC_ROMFS disabled).
 
 config NSH_TELNET_LOGIN
        bool "Telnet Login"
        default n
        depends on NSH_TELNET && FSUTILS_PASSWD
+       depends on !ETC_ROMFS || BOARD_ETC_ROMFS_PASSWD_ENABLE
        select NSH_LOGIN
        ---help---
                If defined, then the Telnet user will be required to provide a
                username and password to start the NSH shell.  Requires
-               CONFIG_FSUTILS_PASSWD so credentials are verified against the
-               encrypted password file (for example ROMFS /etc/passwd).
+               CONFIG_FSUTILS_PASSWD (PBKDF2-HMAC-SHA256) so credentials are
+               verified against the encrypted password file.
+
+               When CONFIG_ETC_ROMFS is enabled, also enable
+               CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE so /etc/passwd is generated
+               at build time (or provide the passwd file by other means and 
leave
+               ETC_ROMFS disabled).
 
 if NSH_LOGIN
 

Reply via email to