dropbear: 'rsakeyfile' -> 'keyfile' transition
authorKonstantin Demin <rockdrilla@gmail.com>
Tue, 9 Jan 2024 00:40:02 +0000 (03:40 +0300)
committerRui Salvaterra <rsalvaterra@gmail.com>
Fri, 9 Feb 2024 09:13:05 +0000 (09:13 +0000)
end users should have done this since OpenWrt 19.07.
if they didn't do this yet - perform auto-transition.

schedule 'rsakeyfile' removal for next year release.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
package/network/services/dropbear/files/dropbear.init

index a40b5f7baeea0f3a1e258f1a74aba0eb1ca3adcb..18273e63d0e9085918d66a30cef5c3a9366aa943 100755 (executable)
@@ -168,13 +168,16 @@ dropbear_instance()
        [ -n "${ForceCommand}" ] && procd_append_param command -c "${ForceCommand}"
        [ "${RootPasswordAuth}" -eq 0 ] && procd_append_param command -g
        [ "${RootLogin}" -eq 0 ] && procd_append_param command -w
+       config_list_foreach "$1" 'keyfile' hk_config__keyfile
        if [ -n "${rsakeyfile}" ]; then
-               logger -t ${NAME} -p daemon.warn \
-                       "option 'rsakeyfile' is considered to be deprecated and" \
-                       "will be removed in future releases, use 'keyfile' instead"
+               logger -s -t "${NAME}" -p daemon.crit \
+                 "Option 'rsakeyfile' is considered to be DEPRECATED and will be REMOVED in future releases, use 'keyfile' list instead"
+               sed -i.before-upgrade -E -e 's/option(\s+)rsakeyfile/list keyfile/' \
+                 "/etc/config/${NAME}"
+               logger -s -t "${NAME}" -p daemon.crit \
+                 "Auto-transition 'option rsakeyfile' => 'list keyfile' in /etc/config/${NAME} is done, please verify your configuration"
                hk_config 'rsakeyfile' "${rsakeyfile}"
        fi
-       config_list_foreach "$1" "keyfile" hk_config__keyfile
        [ -n "${BannerFile}" ] && procd_append_param command -b "${BannerFile}"
        append_ports "${ipaddrs}" "${Port}"
        [ "${IdleTimeout}" -ne 0 ] && procd_append_param command -I "${IdleTimeout}"