dropbear: bump to 2024.85
[openwrt/openwrt.git] / package / network / services / dropbear / patches / 013-make-banner-reading-failure-non-fatal.patch
diff --git a/package/network/services/dropbear/patches/013-make-banner-reading-failure-non-fatal.patch b/package/network/services/dropbear/patches/013-make-banner-reading-failure-non-fatal.patch
deleted file mode 100644 (file)
index 531215c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From 62a06cd95f58060a59359f8769c3f35cd680d4fd Mon Sep 17 00:00:00 2001
-From: Matt Johnston <matt@ucc.asn.au>
-Date: Sun, 23 Jul 2023 21:01:48 +0800
-Subject: Make banner reading failure non-fatal
-
----
- svr-runopts.c | 45 ++++++++++++++++++++++++++++-----------------
- 1 file changed, 28 insertions(+), 17 deletions(-)
-
---- a/svr-runopts.c
-+++ b/svr-runopts.c
-@@ -38,6 +38,7 @@ static void printhelp(const char * progn
- static void addportandaddress(const char* spec);
- static void loadhostkey(const char *keyfile, int fatal_duplicate);
- static void addhostkey(const char *keyfile);
-+static void load_banner();
- static void printhelp(const char * progname) {
-@@ -382,23 +383,7 @@ void svr_getopts(int argc, char ** argv)
-       }
-       if (svr_opts.bannerfile) {
--              struct stat buf;
--              if (stat(svr_opts.bannerfile, &buf) != 0) {
--                      dropbear_exit("Error opening banner file '%s'",
--                                      svr_opts.bannerfile);
--              }
--              
--              if (buf.st_size > MAX_BANNER_SIZE) {
--                      dropbear_exit("Banner file too large, max is %d bytes",
--                                      MAX_BANNER_SIZE);
--              }
--
--              svr_opts.banner = buf_new(buf.st_size);
--              if (buf_readfile(svr_opts.banner, svr_opts.bannerfile)!=DROPBEAR_SUCCESS) {
--                      dropbear_exit("Error reading banner file '%s'",
--                                      svr_opts.bannerfile);
--              }
--              buf_setpos(svr_opts.banner, 0);
-+              load_banner();
-       }
- #ifdef HAVE_GETGROUPLIST
-@@ -715,3 +700,29 @@ void load_all_hostkeys() {
-               dropbear_exit("No hostkeys available. 'dropbear -R' may be useful or run dropbearkey.");
-       }
- }
-+
-+static void load_banner() {
-+      struct stat buf;
-+      if (stat(svr_opts.bannerfile, &buf) != 0) {
-+              dropbear_log(LOG_WARNING, "Error opening banner file '%s'",
-+                              svr_opts.bannerfile);
-+              return;
-+      }
-+
-+      if (buf.st_size > MAX_BANNER_SIZE) {
-+              dropbear_log(LOG_WARNING, "Banner file too large, max is %d bytes",
-+                              MAX_BANNER_SIZE);
-+              return;
-+      }
-+
-+      svr_opts.banner = buf_new(buf.st_size);
-+      if (buf_readfile(svr_opts.banner, svr_opts.bannerfile) != DROPBEAR_SUCCESS) {
-+              dropbear_log(LOG_WARNING, "Error reading banner file '%s'",
-+                              svr_opts.bannerfile);
-+              buf_free(svr_opts.banner);
-+              svr_opts.banner = NULL;
-+              return;
-+      }
-+      buf_setpos(svr_opts.banner, 0);
-+
-+}