diff options
author | natano <natano@openbsd.org> | 2016-10-17 08:13:24 +0000 |
---|---|---|
committer | natano <natano@openbsd.org> | 2016-10-17 08:13:24 +0000 |
commit | a435da44c07f2ca94720a754a9d316aadc00233e (patch) | |
tree | 71de02713898be75ad1620cd089fc96e1ebdeea8 /usr.sbin/makefs | |
parent | Remove "feature" defines. This code won't try to be portable when we are (diff) | |
download | wireguard-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/Makefile | 4 | ||||
-rw-r--r-- | usr.sbin/makefs/cd9660.c | 22 | ||||
-rw-r--r-- | usr.sbin/makefs/cd9660.h | 3 | ||||
-rw-r--r-- | usr.sbin/makefs/cd9660/cd9660_archimedes.c | 121 | ||||
-rw-r--r-- | usr.sbin/makefs/cd9660/cd9660_archimedes.h | 49 | ||||
-rw-r--r-- | usr.sbin/makefs/makefs.8 | 8 |
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. |