diff options
| author | Michael Forney <mforney@mforney.org> | 2019-06-15 18:15:50 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2019-06-15 18:20:20 -0700 |
| commit | 52b1cb8097da659fc1fd84cb4d2e6868d8abee10 (patch) | |
| tree | 46926a253eaac1a683f437fde6421acdef9e5151 /pkg/unzip/patch/0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch | |
| parent | ce9ba02aa51a3c0b1cfbb91b056e6075c8ded619 (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.patch | 50 |
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 + |
