summaryrefslogtreecommitdiff
path: root/pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-06-15 18:15:50 -0700
committerMichael Forney <mforney@mforney.org>2019-06-15 18:20:20 -0700
commit52b1cb8097da659fc1fd84cb4d2e6868d8abee10 (patch)
tree46926a253eaac1a683f437fde6421acdef9e5151 /pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch
parentce9ba02aa51a3c0b1cfbb91b056e6075c8ded619 (diff)
unzip: Update to 6.0-23 patches from Debian
Diffstat (limited to 'pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch')
-rw-r--r--pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch b/pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch
new file mode 100644
index 00000000..9e7f9e95
--- /dev/null
+++ b/pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch
@@ -0,0 +1,50 @@
+From 528161b86e74c3afbe640c70761e6734119bea1c Mon Sep 17 00:00:00 2001
+From: "Steven M. Schweda" <sms@antinode.info>
+Date: Sat, 15 Jun 2019 18:13:11 -0700
+Subject: [PATCH] Do not ignore extra fields containing Unix Timestamps
+
+---
+ process.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/process.c b/process.c
+index df683ea..e4f2405 100644
+--- a/process.c
++++ b/process.c
+@@ -2914,10 +2914,13 @@ unsigned ef_scan_for_izux(ef_buf, ef_len, ef_is_c, dos_mdatetime,
+ break;
+
+ case EF_IZUNIX2:
+- if (have_new_type_eb == 0) {
+- flags &= ~0x0ff; /* ignore any previous IZUNIX field */
++ if (have_new_type_eb == 0) { /* (< 1) */
+ have_new_type_eb = 1;
+ }
++ if (have_new_type_eb <= 1) {
++ /* Ignore any prior (EF_IZUNIX/EF_PKUNIX) UID/GID. */
++ flags &= 0x0ff;
++ }
+ #ifdef IZ_HAVE_UXUIDGID
+ if (have_new_type_eb > 1)
+ break; /* IZUNIX3 overrides IZUNIX2 e.f. block ! */
+@@ -2933,6 +2936,8 @@ unsigned ef_scan_for_izux(ef_buf, ef_len, ef_is_c, dos_mdatetime,
+ /* new 3rd generation Unix ef */
+ have_new_type_eb = 2;
+
++ /* Ignore any prior EF_IZUNIX/EF_PKUNIX/EF_IZUNIX2 UID/GID. */
++ flags &= 0x0ff;
+ /*
+ Version 1 byte version of this extra field, currently 1
+ UIDSize 1 byte Size of UID field
+@@ -2953,8 +2958,6 @@ unsigned ef_scan_for_izux(ef_buf, ef_len, ef_is_c, dos_mdatetime,
+ uid_size = *((EB_HEADSIZE + 1) + ef_buf);
+ gid_size = *((EB_HEADSIZE + uid_size + 2) + ef_buf);
+
+- flags &= ~0x0ff; /* ignore any previous UNIX field */
+-
+ if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf,
+ uid_size, &z_uidgid[0])
+ &&
+--
+2.20.1
+