git: 0001406ae235 - stable/13 - makefs: set cd9660 Rock Ridge timestamps for . and ..

From: Ed Maste <emaste_at_FreeBSD.org>
Date: Thu, 27 Apr 2023 16:52:53 UTC
The branch stable/13 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=0001406ae235412745951ecf5832c688ee6079da

commit 0001406ae235412745951ecf5832c688ee6079da
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-04-18 13:57:29 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-04-27 16:45:37 +0000

    makefs: set cd9660 Rock Ridge timestamps for . and ..
    
    DOT and DOTDOT entries have special handling, and previously only Rock
    Ridge PX (POSIX attributes) entries were attached.  Add TF (timestamp)
    entries as well.
    
    PR:             203531
    Reported by:    Thomas Schmitt <scdbackup@gmx.net>
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D39662
    
    (cherry picked from commit dd9059b3e9a1711d54c1d511a2cbb23e6e23f556)
---
 usr.sbin/makefs/cd9660/iso9660_rrip.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/usr.sbin/makefs/cd9660/iso9660_rrip.c b/usr.sbin/makefs/cd9660/iso9660_rrip.c
index 1107688aa21e..e1b8fc993a3a 100644
--- a/usr.sbin/makefs/cd9660/iso9660_rrip.c
+++ b/usr.sbin/makefs/cd9660/iso9660_rrip.c
@@ -394,6 +394,12 @@ cd9660_rrip_initialize_node(iso9660_disk *diskStructure, cd9660node *node,
 				SUSP_ENTRY_RRIP_PX, "PX", SUSP_LOC_ENTRY);
 			cd9660node_rrip_px(current, parent->node);
 			TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
+
+			/* TF - timestamp */
+			current = cd9660node_susp_create_node(SUSP_TYPE_RRIP,
+				SUSP_ENTRY_RRIP_TF, "TF", SUSP_LOC_ENTRY);
+			cd9660node_rrip_tf(current, parent->node);
+			TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
 		}
 	} else if (node->type & CD9660_TYPE_DOTDOT) {
 		if (grandparent != NULL && grandparent->node != NULL &&
@@ -403,6 +409,12 @@ cd9660_rrip_initialize_node(iso9660_disk *diskStructure, cd9660node *node,
 				SUSP_ENTRY_RRIP_PX, "PX", SUSP_LOC_ENTRY);
 			cd9660node_rrip_px(current, grandparent->node);
 			TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
+
+			/* TF - timestamp */
+			current = cd9660node_susp_create_node(SUSP_TYPE_RRIP,
+				SUSP_ENTRY_RRIP_TF, "TF", SUSP_LOC_ENTRY);
+			cd9660node_rrip_tf(current, grandparent->node);
+			TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
 		}
 		/* Handle PL */
 		if (parent != NULL && parent->rr_real_parent != NULL) {