Permalink
Browse files

MFC: r253707

- Set the System Identifier in the Primary Volume Descriptor to FreeBSD
  rather than NetBSD.
- 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. [1]
- Merge iso9660_rrip.c rev. 1.11 from NetBSD: name_len should be read
  as unsigned byte. [2]
  Note: This is according to ISO 9660 9.1.10.
- 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. [1]

Submitted by:	Thomas Schmitt [1]
Approved by:	re (kib)
Obtained from:	NetBSD [2]
  • Loading branch information...
1 parent f354958 commit add953f4164fed4b42f7599857b2d5d3ebb6bd1a marius committed Jul 30, 2013
Showing with 7 additions and 6 deletions.
  1. +3 −2 usr.sbin/makefs/cd9660.c
  2. +4 −4 usr.sbin/makefs/cd9660/iso9660_rrip.c
@@ -230,7 +230,7 @@ cd9660_set_defaults(void)
memset(diskStructure.primaryDescriptor.abstract_file_id, 0x20,37);
memset(diskStructure.primaryDescriptor.bibliographic_file_id, 0x20,37);
- strcpy(diskStructure.primaryDescriptor.system_id,"NetBSD");
+ strcpy(diskStructure.primaryDescriptor.system_id, "FreeBSD");
cd9660_defaults_set = 1;
@@ -681,7 +681,8 @@ cd9660_finalize_PVD(void)
cd9660_set_date(diskStructure.primaryDescriptor.expiration_date, now);
*/
- memset(diskStructure.primaryDescriptor.expiration_date, '0' ,17);
+ memset(diskStructure.primaryDescriptor.expiration_date, '0', 16);
+ diskStructure.primaryDescriptor.expiration_date[16] = 0;
cd9660_time_8426(
(unsigned char *)diskStructure.primaryDescriptor.effective_date,
tim);
@@ -1,4 +1,4 @@
-/* $NetBSD: iso9660_rrip.c,v 1.10 2011/05/29 17:07:58 tsutsui Exp $ */
+/* $NetBSD: iso9660_rrip.c,v 1.11 2012/04/29 13:32:21 joerg Exp $ */
/*
* Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan
@@ -419,9 +419,9 @@ cd9660_rrip_initialize_node(cd9660node *node, cd9660node *parent,
}
else if ((node->node != NULL) &&
((strlen(node->node->name) !=
- (int)node->isoDirRecord->name_len[0]) ||
+ (uint8_t)node->isoDirRecord->name_len[0]) ||
(memcmp(node->node->name,node->isoDirRecord->name,
- (int) node->isoDirRecord->name_len[0]) != 0))) {
+ (uint8_t)node->isoDirRecord->name_len[0]) != 0))) {
cd9660_rrip_NM(node);
}
@@ -685,7 +685,7 @@ int
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;
/*

0 comments on commit add953f

Please sign in to comment.