From 5992c07d35177c7fac56676af789e1fd14b3a895 Mon Sep 17 00:00:00 2001 From: Rmys Date: Tue, 3 Sep 2024 11:32:43 +0300 Subject: [PATCH] zip rebuild --- system/base/zip/files/zip-3.0-currdir.patch | 12 +++++++++++ .../base/zip/files/zip-3.0-exec-shield.patch | 20 +++++++++++++++++++ .../zip/files/zip-3.0-format-security.patch | 20 +++++++++++++++++++ system/base/zip/files/zipnote.patch | 13 ++++++++++++ system/base/zip/pspec.xml | 13 ++++++++++++ 5 files changed, 78 insertions(+) create mode 100644 system/base/zip/files/zip-3.0-currdir.patch create mode 100644 system/base/zip/files/zip-3.0-exec-shield.patch create mode 100644 system/base/zip/files/zip-3.0-format-security.patch create mode 100644 system/base/zip/files/zipnote.patch diff --git a/system/base/zip/files/zip-3.0-currdir.patch b/system/base/zip/files/zip-3.0-currdir.patch new file mode 100644 index 00000000..40da32e7 --- /dev/null +++ b/system/base/zip/files/zip-3.0-currdir.patch @@ -0,0 +1,12 @@ +diff -up zip30/util.c.currdir zip30/util.c +--- zip30/util.c.currdir 2009-11-16 12:42:17.783961701 +0100 ++++ zip30/util.c 2009-11-16 12:42:58.185960707 +0100 +@@ -493,6 +493,8 @@ int cs; /* force case-se + /* Compare the sh pattern p with the string s and return true if they match, + false if they don't or if there is a syntax error in the pattern. */ + { ++ while (s[0] == '.' && s[1] == '/') ++ s += 2; /* strip redundant leading "./" sections */ + return recmatch(p, s, cs) == 1; + } + diff --git a/system/base/zip/files/zip-3.0-exec-shield.patch b/system/base/zip/files/zip-3.0-exec-shield.patch new file mode 100644 index 00000000..05c1a6c4 --- /dev/null +++ b/system/base/zip/files/zip-3.0-exec-shield.patch @@ -0,0 +1,20 @@ +diff -up zip30/crc_i386.S.exec_shield zip30/crc_i386.S +--- zip30/crc_i386.S.exec_shield 2009-11-13 18:37:45.000000000 +0100 ++++ zip30/crc_i386.S 2009-11-13 18:39:54.435390166 +0100 +@@ -302,3 +302,6 @@ _crc32: /* ulg c + #endif /* i386 || _i386 || _I386 || __i386 */ + + #endif /* !USE_ZLIB && !CRC_TABLE_ONLY */ ++ ++.section .note.GNU-stack, "", @progbits ++.previous +diff -up zip30/match.S.exec_shield zip30/match.S +--- zip30/match.S.exec_shield 2005-01-28 10:40:14.000000000 +0100 ++++ zip30/match.S 2009-11-13 18:39:48.570389058 +0100 +@@ -405,3 +405,6 @@ L__return: + #endif /* i386 || _I386 || _i386 || __i386 */ + + #endif /* !USE_ZLIB */ ++ ++.section .note.GNU-stack, "", @progbits ++.previous diff --git a/system/base/zip/files/zip-3.0-format-security.patch b/system/base/zip/files/zip-3.0-format-security.patch new file mode 100644 index 00000000..54ce2e66 --- /dev/null +++ b/system/base/zip/files/zip-3.0-format-security.patch @@ -0,0 +1,20 @@ +--- a/zip.c ++++ a/zip.c +@@ -1028,7 +1028,7 @@ local void help_extended() + + for (i = 0; i < sizeof(text)/sizeof(char *); i++) + { +- printf(text[i]); ++ printf("%s", text[i]); + putchar('\n'); + } + #ifdef DOS +@@ -1225,7 +1225,7 @@ local void version_info() + CR_MAJORVER, CR_MINORVER, CR_BETA_VER, CR_VERSION_DATE); + for (i = 0; i < sizeof(cryptnote)/sizeof(char *); i++) + { +- printf(cryptnote[i]); ++ printf("%s", cryptnote[i]); + putchar('\n'); + } + ++i; /* crypt support means there IS at least one compilation option */ diff --git a/system/base/zip/files/zipnote.patch b/system/base/zip/files/zipnote.patch new file mode 100644 index 00000000..4177a7df --- /dev/null +++ b/system/base/zip/files/zipnote.patch @@ -0,0 +1,13 @@ +diff --git a/zipnote.c b/zipnote.c +index 5e02cb6..996f012 100644 +--- a/zipnote.c ++++ b/zipnote.c +@@ -661,7 +661,7 @@ char **argv; /* command line tokens */ + if ((r = zipcopy(z)) != ZE_OK) + ziperr(r, "was copying an entry"); + } +- fclose(x); ++ fclose(in_file); + + /* Write central directory and end of central directory with new comments */ + if ((c = zftello(y)) == (zoff_t)-1) /* get start of central */ diff --git a/system/base/zip/pspec.xml b/system/base/zip/pspec.xml index bce91746..e887445b 100644 --- a/system/base/zip/pspec.xml +++ b/system/base/zip/pspec.xml @@ -13,6 +13,12 @@ Info ZIP (encryption support) Zip is a compression and file packaging/archive utility. Zip is useful for packaging a set of files for distribution, for archiving files, and for saving disk space by temporarily compressing unused files or directories. https://ftp.osuosl.org/pub/blfs/conglomeration/zip/zip30.tar.gz + + zip-3.0-currdir.patch + zip-3.0-exec-shield.patch + zip-3.0-format-security.patch + zipnote.patch + @@ -28,6 +34,13 @@ + + 2024-09-03 + 3.0 + Rebuild + PisiLinux Community + admin@pisilinux.org + 2020-12-09 3.0