Browse Source

shadowsocksr-libev: Fix openssl 3.0.x version run failure problem.

zxlhhyccc 9 months ago
parent
commit
cc4db899ed

+ 1 - 1
shadowsocksr-libev/Makefile

@@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/shadowsocksrr/shadowsocksr-libev
 PKG_SOURCE_DATE:=2018-03-07
 PKG_SOURCE_VERSION:=d63ff863800a5645aca4309d5dd5962bd1e95543
-PKG_MIRROR_HASH:=34308ed827a5dd4f4e35619914102d55b00604faa44fda051d1d25fb4a319325
+PKG_MIRROR_HASH:=6ab6a32880ee913fb3264f0237b1b5a6d9475585209f6df60b062d7c4901362f
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=LICENSE

+ 20 - 0
shadowsocksr-libev/patches/104-fix-use-after-free.patch

@@ -0,0 +1,20 @@
+From 445a484de9c9bf801572d970f45ad0e11a18e35d Mon Sep 17 00:00:00 2001
+From: MoetaYuko <[email protected]>
+Date: Sun, 31 Mar 2024 19:06:59 +0800
+Subject: [PATCH] shadowsocksr-libev: fix use-after-free due to a typo (#193)
+
+---
+ shadowsocksr-libev/src/server/server.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/server/server.c
++++ b/server/server.c
+@@ -1943,7 +1943,7 @@ main(int argc, char **argv)
+             memcpy(text, protocol, strlen(protocol) - 11);
+             int length = strlen(protocol) - 11;
+             free(protocol);
+-            obfs = (char*)malloc(length);
++            protocol = (char*)malloc(length);
+             memset(protocol, 0x00, length);
+             memcpy(protocol, text, length);
+             LOGI("protocol compatible enable, %s", protocol);

+ 0 - 16
shadowsocksr-libev/patches/104-pointer-used-after-free.patch

@@ -1,16 +0,0 @@
---- a/server/server.c
-+++ b/server/server.c
-@@ -1942,12 +1942,12 @@
-             text = (char*)malloc(strlen(protocol) - 11);
-             memcpy(text, protocol, strlen(protocol) - 11);
-             int length = strlen(protocol) - 11;
--            free(protocol);
-             obfs = (char*)malloc(length);
-             memset(protocol, 0x00, length);
-             memcpy(protocol, text, length);
-             LOGI("protocol compatible enable, %s", protocol);
-             free(text);
-+            free(protocol);
-             protocol_compatible = 1;
-         }
-     }

+ 1 - 16
shadowsocksr-libev/patches/105-Upgrade-PCRE-to-PCRE2.patch

@@ -14,8 +14,6 @@ Signed-off-by: sbwml <[email protected]>
  delete mode 100644 m4/pcre.m4
  create mode 100644 m4/pcre2.m4
 
-diff --git a/configure.ac b/configure.ac
-index f9c51ab..0513db0 100755
 --- a/configure.ac
 +++ b/configure.ac
 @@ -20,10 +20,10 @@ AC_DISABLE_STATIC
@@ -33,9 +31,6 @@ index f9c51ab..0513db0 100755
  fi
  
  dnl Checks for using shared libraries from system
-diff --git a/m4/pcre.m4 b/m4/pcre.m4
-deleted file mode 100644
-index 4d965bc..0000000
 --- a/m4/pcre.m4
 +++ /dev/null
 @@ -1,152 +0,0 @@
@@ -191,9 +186,6 @@ index 4d965bc..0000000
 -AC_SUBST(pcreh)
 -AC_SUBST(pcre_pcreh)
 -])
-diff --git a/m4/pcre2.m4 b/m4/pcre2.m4
-new file mode 100644
-index 0000000..fcec4b7
 --- /dev/null
 +++ b/m4/pcre2.m4
 @@ -0,0 +1,181 @@
@@ -378,8 +370,6 @@ index 0000000..fcec4b7
 +AC_SUBST(pcre2h)
 +AC_SUBST(pcre2_pcre2h)
 +])
-diff --git a/src/rule.c b/src/rule.c
-index 8aae04e..41ba5e7 100644
 --- a/src/rule.c
 +++ b/src/rule.c
 @@ -82,14 +82,28 @@ int
@@ -417,7 +407,7 @@ index 8aae04e..41ba5e7 100644
              return 0;
          }
      }
-@@ -109,8 +123,15 @@ lookup_rule(const struct cork_dllist *rules, const char *name, size_t name_len)
+@@ -109,8 +123,15 @@ lookup_rule(const struct cork_dllist *ru
  
      cork_dllist_foreach_void(rules, curr, next) {
          rule_t *rule = cork_container_of(curr, rule_t, entries);
@@ -451,8 +441,6 @@ index 8aae04e..41ba5e7 100644
 +    }
      ss_free(rule);
  }
-diff --git a/src/rule.h b/src/rule.h
-index 015bc42..84a89af 100644
 --- a/src/rule.h
 +++ b/src/rule.h
 @@ -33,17 +33,27 @@
@@ -489,6 +477,3 @@ index 015bc42..84a89af 100644
  
      struct cork_dllist_item entries;
  } rule_t;
--- 
-2.42.0
-

+ 9 - 9
shadowsocksr-libev/src/server/Makefile.in

@@ -128,7 +128,7 @@ ss_check_DEPENDENCIES = $(am__DEPENDENCIES_2)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
-am__v_lt_1 = 
+am__v_lt_1 =
 ss_check_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(ss_check_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -153,11 +153,11 @@ am__v_P_1 = :
 AM_V_GEN = $(am__v_GEN_@AM_V@)
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
+am__v_GEN_1 =
 AM_V_at = $(am__v_at_@AM_V@)
 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
-am__v_at_1 = 
+am__v_at_1 =
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/auto/depcomp
 am__depfiles_maybe = depfiles
@@ -171,7 +171,7 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 AM_V_CC = $(am__v_CC_@AM_V@)
 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
+am__v_CC_1 =
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@@ -179,7 +179,7 @@ LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
+am__v_CCLD_1 =
 SOURCES = $(ss_check_SOURCES) $(ss_server_SOURCES)
 DIST_SOURCES = $(ss_check_SOURCES) $(ss_server_SOURCES)
 am__can_run_installinfo = \
@@ -351,7 +351,7 @@ sni_src = http.c \
           tls.c \
           rule.c
 
-ss_check_SOURCES = check.c 
+ss_check_SOURCES = check.c
 ss_server_SOURCES = utils.c \
                     netutils.c \
                     jconf.c \
@@ -366,7 +366,7 @@ ss_server_SOURCES = utils.c \
 
 ss_check_LDADD = $(SS_COMMON_LIBS)
 ss_server_LDADD = $(SS_COMMON_LIBS) $(am__append_4) $(am__append_5)
-ss_check_CFLAGS = $(AM_CFLAGS) 
+ss_check_CFLAGS = $(AM_CFLAGS)
 ss_server_CFLAGS = $(AM_CFLAGS) -DMODULE_REMOTE
 all: all-am
 
@@ -451,11 +451,11 @@ clean-binPROGRAMS:
 	echo " rm -f" $$list; \
 	rm -f $$list
 
-ss-check$(EXEEXT): $(ss_check_OBJECTS) $(ss_check_DEPENDENCIES) $(EXTRA_ss_check_DEPENDENCIES) 
+ss-check$(EXEEXT): $(ss_check_OBJECTS) $(ss_check_DEPENDENCIES) $(EXTRA_ss_check_DEPENDENCIES)
 	@rm -f ss-check$(EXEEXT)
 	$(AM_V_CCLD)$(ss_check_LINK) $(ss_check_OBJECTS) $(ss_check_LDADD) $(LIBS)
 
-ss-server$(EXEEXT): $(ss_server_OBJECTS) $(ss_server_DEPENDENCIES) $(EXTRA_ss_server_DEPENDENCIES) 
+ss-server$(EXEEXT): $(ss_server_OBJECTS) $(ss_server_DEPENDENCIES) $(EXTRA_ss_server_DEPENDENCIES)
 	@rm -f ss-server$(EXEEXT)
 	$(AM_V_CCLD)$(ss_server_LINK) $(ss_server_OBJECTS) $(ss_server_LDADD) $(LIBS)