Dropbear defines its own default PATH for new sessions. When 500-set-default-path.patch was introduced by r32620, the goal was to match /etc/profile.
Adjust 500-set-default-path.patch to match the current default PATH as defined in https://dev.openwrt.org/changeset/47080/ PATH=/usr/sbin:/usr/bin:/sbin:/bin (In practice that PATH will be overridden by /etc/profile if that exists.) Reference also to: https://dev.openwrt.org/changeset/32620/ https://dev.openwrt.org/changeset/47590/ https://dev.openwrt.org/changeset/48235/ and http://git.openwrt.org/?p=project/procd.git;a=commit;h=45cb04fd85d788a37367a5385e5e90dd98a0a991 Signed-off-by: Hannu Nyman <hannu.ny...@iki.fi> --- (I am not bumping the PKG_REVISION as dropbear version was bumped up today.) After yesterday's fix to procd, I noticed that one process still had a different PATH. It took a while to realize that it was coming from hardcoded defaults in dropbear. Process 23582 has different PATH than other processes: root@OpenWrt:~# grep -r PATH /proc/*/environ /proc/1/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/1299/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin ... /proc/23582/environ:PATH=/bin:/sbin:/usr/bin:/usr/sbin /proc/2401/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/2415/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin ... /proc/516/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/self/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/thread-self/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin root@OpenWrt:~# ps | grep ash 516 root 896 S /sbin/askfirst /bin/ash --login 23582 root 1196 S -ash 23591 root 1192 S grep ash After this patch also the ash process has the same PATH as others: root@OpenWrt:~# grep -r PATH /proc/*/environ /proc/1/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/1288/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin ... /proc/4115/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/479/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/516/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/self/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin /proc/thread-self/environ:PATH=/usr/sbin:/usr/bin:/sbin:/bin root@OpenWrt:~# ps | grep ash 516 root 896 S /sbin/askfirst /bin/ash --login 4115 root 1196 S -ash 4126 root 1192 S grep ash package/network/services/dropbear/patches/500-set-default-path.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/network/services/dropbear/patches/500-set-default-path.patch b/package/network/services/dropbear/patches/500-set-default-path.patch index 648c391..7e8a4ff 100644 --- a/package/network/services/dropbear/patches/500-set-default-path.patch +++ b/package/network/services/dropbear/patches/500-set-default-path.patch @@ -5,7 +5,7 @@ /* The default path. This will often get replaced by the shell */ -#define DEFAULT_PATH "/usr/bin:/bin" -+#define DEFAULT_PATH "/bin:/sbin:/usr/bin:/usr/sbin" ++#define DEFAULT_PATH "/usr/sbin:/usr/bin:/sbin:/bin" /* Some other defines (that mostly should be left alone) are defined * in sysoptions.h */ -- 2.5.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel