mirror of
https://github.com/oasislinux/oasis.git
synced 2026-10-02 11:03:30 +02:00
51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
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
|
|
|