summaryrefslogtreecommitdiffstats
path: root/usr.sbin/makefs
diff options
context:
space:
mode:
authornatano <natano@openbsd.org>2016-10-17 08:13:24 +0000
committernatano <natano@openbsd.org>2016-10-17 08:13:24 +0000
commita435da44c07f2ca94720a754a9d316aadc00233e (patch)
tree71de02713898be75ad1620cd089fc96e1ebdeea8 /usr.sbin/makefs
parentRemove "feature" defines. This code won't try to be portable when we are (diff)
downloadwireguard-openbsd-a435da44c07f2ca94720a754a9d316aadc00233e.tar.xz
wireguard-openbsd-a435da44c07f2ca94720a754a9d316aadc00233e.zip
Remove cd9660's archimedes option, we won't need RISC OS metadata on our
ISO images.
Diffstat (limited to 'usr.sbin/makefs')
-rw-r--r--usr.sbin/makefs/Makefile4
-rw-r--r--usr.sbin/makefs/cd9660.c22
-rw-r--r--usr.sbin/makefs/cd9660.h3
-rw-r--r--usr.sbin/makefs/cd9660/cd9660_archimedes.c121
-rw-r--r--usr.sbin/makefs/cd9660/cd9660_archimedes.h49
-rw-r--r--usr.sbin/makefs/makefs.88
6 files changed, 6 insertions, 201 deletions
diff --git a/usr.sbin/makefs/Makefile b/usr.sbin/makefs/Makefile
index ef12b6b492f..b1f26968eec 100644
--- a/usr.sbin/makefs/Makefile
+++ b/usr.sbin/makefs/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.5 2016/10/17 06:16:55 natano Exp $
+# $OpenBSD: Makefile,v 1.6 2016/10/17 08:13:24 natano Exp $
# $NetBSD: Makefile,v 1.36 2013/08/05 14:41:57 reinoud Exp $
#
@@ -13,7 +13,7 @@ SRCS= cd9660.c ffs.c msdos.c \
# cd9660
SRCS+= cd9660_strings.c cd9660_debug.c cd9660_eltorito.c
-SRCS+= cd9660_write.c cd9660_conversion.c iso9660_rrip.c cd9660_archimedes.c
+SRCS+= cd9660_write.c cd9660_conversion.c iso9660_rrip.c
# ffs
SRCS+= ffs_alloc.c ffs_balloc.c ffs_subr.c ffs_tables.c ufs_bmap.c buf.c mkfs.c
diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c
index b21f62faaca..a85e801fceb 100644
--- a/usr.sbin/makefs/cd9660.c
+++ b/usr.sbin/makefs/cd9660.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd9660.c,v 1.5 2016/10/16 21:47:03 tedu Exp $ */
+/* $OpenBSD: cd9660.c,v 1.6 2016/10/17 08:13:24 natano Exp $ */
/* $NetBSD: cd9660.c,v 1.52 2015/12/24 15:52:37 christos Exp $ */
/*
@@ -105,7 +105,6 @@
#include "makefs.h"
#include "cd9660.h"
#include "cd9660/iso9660_rrip.h"
-#include "cd9660/cd9660_archimedes.h"
/*
* Global variables
@@ -204,7 +203,6 @@ cd9660_set_defaults(iso9660_disk *diskStructure)
diskStructure->rock_ridge_move_count = 0;
diskStructure->rr_moved_dir = 0;
- diskStructure->archimedes_enabled = 0;
diskStructure->chrp_boot = 0;
diskStructure->include_padding_areas = 1;
@@ -290,8 +288,6 @@ cd9660_prep_opts(fsinfo_t *fsopts)
"Omit trailing periods in filenames"),
OPT_BOOL('\0', "allow-lowercase", allow_lowercase,
"Allow lowercase characters in filenames"),
- OPT_BOOL('\0', "archimedes", archimedes_enabled,
- "Enable Archimedes structure"),
OPT_BOOL('\0', "no-trailing-padding", include_padding_areas,
"Include padding areas"),
@@ -544,10 +540,6 @@ cd9660_makefs(const char *image, const char *dir, fsnode *root,
if (diskStructure->verbose_level > 0)
printf("%s: done converting tree\n", __func__);
- /* non-SUSP extensions */
- if (diskStructure->archimedes_enabled)
- archimedes_convert_tree(diskStructure->rootNode);
-
/* Rock ridge / SUSP init pass */
if (diskStructure->rock_ridge_enabled) {
cd9660_susp_initialize(diskStructure, diskStructure->rootNode,
@@ -1628,11 +1620,6 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname,
found_ext = 1;
}
} else {
- /* cut RISC OS file type off ISO name */
- if (diskStructure->archimedes_enabled &&
- *oldname == ',' && strlen(oldname) == 4)
- break;
-
/* Enforce 12.3 / 8 */
if (namelen == 8 && !found_ext)
break;
@@ -1696,12 +1683,7 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname,
found_ext = 1;
}
} else {
- /* cut RISC OS file type off ISO name */
- if (diskStructure->archimedes_enabled &&
- *oldname == ',' && strlen(oldname) == 4)
- break;
-
- if (islower((unsigned char)*oldname))
+ if (islower((unsigned char)*oldname))
*newname++ = toupper((unsigned char)*oldname);
else if (isupper((unsigned char)*oldname) ||
isdigit((unsigned char)*oldname))
diff --git a/usr.sbin/makefs/cd9660.h b/usr.sbin/makefs/cd9660.h
index 8a6f8b97a17..1eb58a90c48 100644
--- a/usr.sbin/makefs/cd9660.h
+++ b/usr.sbin/makefs/cd9660.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd9660.h,v 1.2 2016/10/16 20:26:56 natano Exp $ */
+/* $OpenBSD: cd9660.h,v 1.3 2016/10/17 08:13:24 natano Exp $ */
/* $NetBSD: cd9660.h,v 1.21 2015/12/24 15:52:37 christos Exp $ */
/*
@@ -275,7 +275,6 @@ typedef struct _iso9660_disk {
int rock_ridge_move_count;
cd9660node *rr_moved_dir;
- int archimedes_enabled;
int chrp_boot;
/* Spec breaking options */
diff --git a/usr.sbin/makefs/cd9660/cd9660_archimedes.c b/usr.sbin/makefs/cd9660/cd9660_archimedes.c
deleted file mode 100644
index ffa7c04f659..00000000000
--- a/usr.sbin/makefs/cd9660/cd9660_archimedes.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* $OpenBSD: cd9660_archimedes.c,v 1.3 2016/10/16 20:26:56 natano Exp $ */
-/* $NetBSD: cd9660_archimedes.c,v 1.2 2013/01/28 21:03:28 christos Exp $ */
-
-/*-
- * Copyright (c) 1998, 2009 Ben Harris
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-/*
- * cd9660_archimedes.c - support for RISC OS "ARCHIMEDES" extension
- *
- * RISC OS CDFS looks for a special block at the end of the System Use
- * Field for each file. If present, this contains the RISC OS load
- * and exec address (used to hold the file timestamp and type), the
- * file attributes, and a flag indicating whether the first character
- * of the filename should be replaced with '!' (since many special
- * RISC OS filenames do).
- */
-
-#include <assert.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "makefs.h"
-#include "cd9660.h"
-#include "cd9660_archimedes.h"
-
-/*
- * Convert a Unix time_t (non-leap seconds since 1970-01-01) to a RISC
- * OS time (non-leap(?) centiseconds since 1900-01-01(?)).
- */
-
-static u_int64_t
-riscos_date(time_t unixtime)
-{
- u_int64_t base;
-
- base = 31536000ULL * 70 + 86400 * 17;
- return (((u_int64_t)unixtime) + base)*100;
-}
-
-/*
- * Add "ARCHIMEDES" metadata to a node if that seems appropriate.
- *
- * We touch regular files with names matching /,[0-9a-f]{3}$/ and
- * directories matching /^!/.
- */
-static void
-archimedes_convert_node(cd9660node *node)
-{
- struct ISO_ARCHIMEDES *arc;
- size_t len;
- int type = -1;
- uint64_t stamp;
-
- if (node->su_tail_data != NULL)
- /* Something else already has the tail. */
- return;
-
- len = strlen(node->node->name);
- if (len < 1) return;
-
- if (len >= 4 && node->node->name[len-4] == ',')
- /* XXX should support ,xxx and ,lxa */
- type = strtoul(node->node->name + len - 3, NULL, 16);
- if (type == -1 && node->node->name[0] != '!')
- return;
- if (type == -1) type = 0;
-
- assert(sizeof(*arc) == 32);
- arc = ecalloc(1, sizeof(*arc));
-
- stamp = riscos_date(node->node->inode->st.st_mtime);
-
- memcpy(arc->magic, "ARCHIMEDES", 10);
- cd9660_731(0xfff00000 | (type << 8) | (stamp >> 32), arc->loadaddr);
- cd9660_731(stamp & 0x00ffffffffULL, arc->execaddr);
- arc->ro_attr = RO_ACCESS_UR | RO_ACCESS_OR;
- arc->cdfs_attr = node->node->name[0] == '!' ? CDFS_PLING : 0;
- node->su_tail_data = (void *)arc;
- node->su_tail_size = sizeof(*arc);
-}
-
-/*
- * Add "ARCHIMEDES" metadata to an entire tree recursively.
- */
-void
-archimedes_convert_tree(cd9660node *node)
-{
- cd9660node *cn;
-
- assert(node != NULL);
-
- archimedes_convert_node(node);
-
- /* Recurse on children. */
- TAILQ_FOREACH(cn, &node->cn_children, cn_next_child)
- archimedes_convert_tree(cn);
-}
diff --git a/usr.sbin/makefs/cd9660/cd9660_archimedes.h b/usr.sbin/makefs/cd9660/cd9660_archimedes.h
deleted file mode 100644
index 6a8a28cd680..00000000000
--- a/usr.sbin/makefs/cd9660/cd9660_archimedes.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* $OpenBSD: cd9660_archimedes.h,v 1.2 2016/10/16 20:26:56 natano Exp $ */
-/* $NetBSD: cd9660_archimedes.h,v 1.1 2009/01/10 22:06:29 bjh21 Exp $ */
-
-/*-
- * Copyright (c) 1998, 2009 Ben Harris
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-/*
- * cd9660_archimedes.c - support for RISC OS "ARCHIMEDES" extension
- */
-
-struct ISO_ARCHIMEDES {
- char magic[10]; /* "ARCHIMEDES" */
- unsigned char loadaddr[4]; /* Load address, little-endian */
- unsigned char execaddr[4]; /* Exec address, little-endian */
- unsigned char ro_attr; /* RISC OS attributes */
-#define RO_ACCESS_UR 0x01 /* Owner read */
-#define RO_ACCESS_UW 0x02 /* Owner write */
-#define RO_ACCESS_L 0x04 /* Locked */
-#define RO_ACCESS_OR 0x10 /* Public read */
-#define RO_ACCESS_OW 0x20 /* Public write */
- unsigned char cdfs_attr; /* Extra attributes for CDFS */
-#define CDFS_PLING 0x01 /* Filename begins with '!' */
- char reserved[12];
-};
-
-extern void archimedes_convert_tree(cd9660node *);
diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8
index 143de8f1175..7a7e48bbf04 100644
--- a/usr.sbin/makefs/makefs.8
+++ b/usr.sbin/makefs/makefs.8
@@ -1,4 +1,4 @@
-.\" $OpenBSD: makefs.8,v 1.5 2016/10/17 07:45:32 natano Exp $
+.\" $OpenBSD: makefs.8,v 1.6 2016/10/17 08:13:24 natano Exp $
.\" $NetBSD: makefs.8,v 1.55 2015/11/25 16:32:00 wiz Exp $
.\"
.\" Copyright (c) 2001-2003 Wasabi Systems, Inc.
@@ -238,12 +238,6 @@ version id.
Allow multiple dots in a filename.
.It Sy applicationid
Application ID of the image.
-.It Sy archimedes
-Use the
-.Ql ARCHIMEDES
-extension to encode
-.Tn RISC OS
-metadata.
.It Sy chrp-boot
Write an MBR partition table to the image to allow older CHRP hardware to
boot.