0017-Do-not-ignore-extra-fields-containing-Unix-Timestamp.patch (1966B)
- 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