diff --git a/make/dropbear/files/root/etc/init.d/rc.dropbear b/make/dropbear/files/root/etc/init.d/rc.dropbear index eb321cf8cd..b35ec124f9 100755 --- a/make/dropbear/files/root/etc/init.d/rc.dropbear +++ b/make/dropbear/files/root/etc/init.d/rc.dropbear @@ -9,7 +9,7 @@ pre_config() { mkdir -p /tmp/flash/dropbear local alg do_save=false - for alg in rsa dss ecdsa; do + for alg in rsa dss ecdsa ed25519; do local key_file=/tmp/flash/dropbear/${alg}_host_key if [ ! -e "${key_file}" ]; then do_save=true @@ -22,7 +22,7 @@ pre_config() { if [ ! -d "/mod/etc/ssh" ]; then mkdir -p /mod/etc/ssh - for alg in rsa dss ecdsa; do + for alg in rsa dss ecdsa ed25519; do ln -sf /tmp/flash/dropbear/${alg}_host_key /mod/etc/ssh/${alg}_host_key done fi diff --git a/make/dropbear/patches/110-freetz_defaults.patch b/make/dropbear/patches/110-freetz_defaults.patch index 3cb9f828dd..5ceeb4df79 100644 --- a/make/dropbear/patches/110-freetz_defaults.patch +++ b/make/dropbear/patches/110-freetz_defaults.patch @@ -1,12 +1,13 @@ --- /dev/null +++ localoptions.h -@@ -0,0 +1,12 @@ +@@ -0,0 +1,13 @@ +#ifndef DROPBEAR_LOCALOPTIONS_H_ +#define DROPBEAR_LOCALOPTIONS_H_ + +#define DSS_PRIV_FILENAME "/mod/etc/ssh/dss_host_key" +#define RSA_PRIV_FILENAME "/mod/etc/ssh/rsa_host_key" +#define ECDSA_PRIV_FILENAME "/mod/etc/ssh/ecdsa_host_key" ++#define ED25519_PRIV_FILENAME "/mod/etc/ssh/ed25519_host_key" + +#define SFTPSERVER_PATH "/usr/lib/sftp-server" + diff --git a/make/dropbear/patches/130-standalone.patch b/make/dropbear/patches/130-standalone.patch index 79ba8dbfae..1d03312f7a 100644 --- a/make/dropbear/patches/130-standalone.patch +++ b/make/dropbear/patches/130-standalone.patch @@ -22,7 +22,7 @@ } --- localoptions.h +++ localoptions.h -@@ -1,12 +1,23 @@ +@@ -1,13 +1,25 @@ #ifndef DROPBEAR_LOCALOPTIONS_H_ #define DROPBEAR_LOCALOPTIONS_H_ @@ -30,10 +30,12 @@ #define DSS_PRIV_FILENAME "/mod/etc/ssh/dss_host_key" #define RSA_PRIV_FILENAME "/mod/etc/ssh/rsa_host_key" #define ECDSA_PRIV_FILENAME "/mod/etc/ssh/ecdsa_host_key" + #define ED25519_PRIV_FILENAME "/mod/etc/ssh/ed25519_host_key" +#else +#define DSS_PRIV_FILENAME "/var/tmp/dss_host_key" +#define RSA_PRIV_FILENAME "/var/tmp/rsa_host_key" +#define ECDSA_PRIV_FILENAME "/var/tmp/ecdsa_host_key" ++#define ED25519_PRIV_FILENAME "/var/tmp/ed25519_host_key" +#endif #define SFTPSERVER_PATH "/usr/lib/sftp-server" diff --git a/make/dropbear/patches/250-login-limits.patch b/make/dropbear/patches/250-login-limits.patch index 031fac17f7..e76e871134 100644 --- a/make/dropbear/patches/250-login-limits.patch +++ b/make/dropbear/patches/250-login-limits.patch @@ -1,6 +1,6 @@ --- localoptions.h +++ localoptions.h -@@ -20,4 +20,9 @@ +@@ -22,4 +22,9 @@ #define DROPBEAR_PATH_SSH_PROGRAM "ssh" #endif diff --git a/make/dropbear/patches/360-PATH_option.patch b/make/dropbear/patches/360-PATH_option.patch index 79f989dfcb..33f5b0d7d3 100644 --- a/make/dropbear/patches/360-PATH_option.patch +++ b/make/dropbear/patches/360-PATH_option.patch @@ -1,6 +1,6 @@ --- localoptions.h +++ localoptions.h -@@ -25,4 +25,6 @@ +@@ -27,4 +27,6 @@ #define MAX_AUTH_TRIES 2 /* limited by freetz, default 10 */ #define AUTH_TIMEOUT 60 /* limited by freetz down to 60 seconds, default 300 */