Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.sbin/makefs `makefs -t cd9660' fix from FreeBSD:



details:   https://anonhg.NetBSD.org/src/rev/efd45b5567f2
branches:  trunk
changeset: 788948:efd45b5567f2
user:      reinoud <reinoud%NetBSD.org@localhost>
date:      Tue Jul 30 16:02:23 2013 +0000

description:
`makefs -t cd9660' fix from FreeBSD:
Submitted by:   Thomas Schmitt via marius%freebsd.org@localhost
Obtained from:  FreeBSD r253707

- Correctly set the Expiration Time in the Primary Volume Descriptor;
  according to ISO 9660 8.4.26.1 unspecified date and time are denoted by the
  digit 0 in RBP 1 to 16 but the number 0 in RBP 17.

- Rock Ridge TF entries should use a length of 5, because after the 4 bytes of
  generic SUSP header there is one byte of flags. See typedef of ISO_RRIP_TF
  in iso9660_rrip.h.

diffstat:

 usr.sbin/makefs/cd9660.c              |  7 ++++---
 usr.sbin/makefs/cd9660/iso9660_rrip.c |  6 +++---
 2 files changed, 7 insertions(+), 6 deletions(-)

diffs (56 lines):

diff -r cac378dd66d8 -r efd45b5567f2 usr.sbin/makefs/cd9660.c
--- a/usr.sbin/makefs/cd9660.c  Tue Jul 30 15:31:49 2013 +0000
+++ b/usr.sbin/makefs/cd9660.c  Tue Jul 30 16:02:23 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cd9660.c,v 1.43 2013/01/31 15:15:15 christos Exp $     */
+/*     $NetBSD: cd9660.c,v 1.44 2013/07/30 16:02:23 reinoud Exp $      */
 
 /*
  * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan
@@ -103,7 +103,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(__lint)
-__RCSID("$NetBSD: cd9660.c,v 1.43 2013/01/31 15:15:15 christos Exp $");
+__RCSID("$NetBSD: cd9660.c,v 1.44 2013/07/30 16:02:23 reinoud Exp $");
 #endif  /* !__lint */
 
 #include <string.h>
@@ -723,8 +723,9 @@
        /*
        cd9660_set_date(diskStructure->primaryDescriptor.expiration_date, now);
        */
+       memset(diskStructure->primaryDescriptor.expiration_date, '0' ,16);
+       diskStructure->primaryDescriptor.expiration_date[16] = 0;
 
-       memset(diskStructure->primaryDescriptor.expiration_date, '0' ,17);
        cd9660_time_8426(
            (unsigned char *)diskStructure->primaryDescriptor.effective_date,
            tim);
diff -r cac378dd66d8 -r efd45b5567f2 usr.sbin/makefs/cd9660/iso9660_rrip.c
--- a/usr.sbin/makefs/cd9660/iso9660_rrip.c     Tue Jul 30 15:31:49 2013 +0000
+++ b/usr.sbin/makefs/cd9660/iso9660_rrip.c     Tue Jul 30 16:02:23 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: iso9660_rrip.c,v 1.12 2013/01/28 21:03:28 christos Exp $       */
+/*     $NetBSD: iso9660_rrip.c,v 1.13 2013/07/30 16:02:23 reinoud Exp $        */
 
 /*
  * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan
@@ -44,7 +44,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(__lint)
-__RCSID("$NetBSD: iso9660_rrip.c,v 1.12 2013/01/28 21:03:28 christos Exp $");
+__RCSID("$NetBSD: iso9660_rrip.c,v 1.13 2013/07/30 16:02:23 reinoud Exp $");
 #endif  /* !__lint */
 
 static void cd9660_rrip_initialize_inode(cd9660node *);
@@ -687,7 +687,7 @@
 cd9660node_rrip_tf(struct ISO_SUSP_ATTRIBUTES *p, fsnode *_node)
 {
        p->attr.rr_entry.TF.flags[0] = TF_MODIFY | TF_ACCESS | TF_ATTRIBUTES;
-       p->attr.rr_entry.TF.h.length[0] = 4;
+       p->attr.rr_entry.TF.h.length[0] = 5;
        p->attr.rr_entry.TF.h.version[0] = 1;
 
        /*



Home | Main Index | Thread Index | Old Index