From nobody Wed Sep 20 11:37:52 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RrGjr322Tz4tXMn; Wed, 20 Sep 2023 11:37:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RrGjr2SWpz3CgT; Wed, 20 Sep 2023 11:37:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695209872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vRSNrAtV0v/btheq/uyQLP4bYifL4wmtWJj6ByX1uy0=; b=a7+Y1+x9tqKLe8u0/2iC/Czg47mu2hCfgAoH7lVBq7xx/fPKcHxADKK87uP7bMqbxze7nE zv1ExlaTsFz4xiug78AcARkDIWf76dFmHteD3n3bRxJmQYrTonzlc/z0GTUoZzWPcaXSwf 0TqCLfAeyfoVoqmlrkLu7YdnLr634aWJHJPyN+zWA1cXX2bRQYqIqYXw7+5mmBkXN16t3R x7R6+PAi8+GKetlN8Rpv0TPZu0ukVftKkEUayeUicSNrOBR5H18BrsQvyk2LySPTErKMoM Q0IdFRz/dV6Yd1ew9RHTGJJiKjAQ2scJ2a97pJd6FDVl/EMilT4C1OHnE9LIqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695209872; a=rsa-sha256; cv=none; b=YXsKBW4ycBzY8TsbCQ5tvuNatsV0UfgHidI4VOXraGm4FpZDhF8cB7dJDNMWtZLdtT+rJX y4D6T4ft7t5ytZRRQRqsfL5QbHHIcA2HUXUdY3CaXzNPbITRdrRbM2K93cLv31mEWIySux CvZmpChaubrcxJMrG/DPcRBCCLtFmz2QQGpWPCkXLlejBQQ4VTnWMiT5lc8r0AkVGDPm6t gGLpfWFSye//IUxRCgeVSrloJPqy4psgXzAqCqKQRpsYKH5ZdS3fp5pGPRWqD70JLeabjd YKRb3uCH/NVsGyFNhUXSd3ic+xxfyi9KahvX/lxbbnd8EYS5b0f88q0jvIl/GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695209872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vRSNrAtV0v/btheq/uyQLP4bYifL4wmtWJj6ByX1uy0=; b=DDyo0PG2L8LFXURKCgbpptojAYvfSVchImoyQj2RoMtavNqyQ0ICkuxBqeE/+xjtFQeo7U 0gIuuLZAIZMHzFsubzVmoZointORN4hWVOh24HWf2nLiqPB3vdquGnVJHWr8OOGMEOBNgO gj8LfH3D4WAGElA+LFY/I0NUXExWyiiUeQkpGkLQ1vWIWsF4O+ONwm7ru3OqE1dDfskmO/ fROSHBwgSmSL1h/7KtSEBK6cZgAY79i7K780EIpYUAzMc3FTfWF3t4xWkgriXNKBxP3NKu yYg3UMlofkFE7wAevZQVpvOHCS0C1+OnKOdL2YMffSRAi4Fbf0m0vMKOEwKbDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RrGjr1W3dzvB1; Wed, 20 Sep 2023 11:37:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38KBbqiL003503; Wed, 20 Sep 2023 11:37:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38KBbqRl003500; Wed, 20 Sep 2023 11:37:52 GMT (envelope-from git) Date: Wed, 20 Sep 2023 11:37:52 GMT Message-Id: <202309201137.38KBbqRl003500@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 84696cf10c73 - main - makefs: remove ISO9660 Archimedes extension support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 84696cf10c7391651198294676e9227ec01440bb Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=84696cf10c7391651198294676e9227ec01440bb commit 84696cf10c7391651198294676e9227ec01440bb Author: Ed Maste AuthorDate: 2023-03-30 16:30:44 +0000 Commit: Ed Maste CommitDate: 2023-09-20 11:37:19 +0000 makefs: remove ISO9660 Archimedes extension support We have no need to create ISO images with RISC OS specific metadata. Reviewed by: imp Relnotes: yes Obtained from: OpenBSD a435da44c07f Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39344 --- usr.sbin/makefs/cd9660.c | 20 +---- usr.sbin/makefs/cd9660.h | 1 - usr.sbin/makefs/cd9660/Makefile.inc | 2 +- usr.sbin/makefs/cd9660/cd9660_archimedes.c | 124 ----------------------------- usr.sbin/makefs/cd9660/cd9660_archimedes.h | 50 ------------ usr.sbin/makefs/makefs.8 | 9 +-- 6 files changed, 4 insertions(+), 202 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index cc56421a873c..3429e2a33b4c 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -108,7 +108,6 @@ #include "makefs.h" #include "cd9660.h" #include "cd9660/iso9660_rrip.h" -#include "cd9660/cd9660_archimedes.h" static void cd9660_finalize_PVD(iso9660_disk *); static cd9660node *cd9660_allocate_cd9660node(void); @@ -201,7 +200,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; @@ -281,8 +279,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"), @@ -528,10 +524,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, @@ -1599,11 +1591,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; @@ -1666,12 +1653,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 b7324322d383..bc826a414a6d 100644 --- a/usr.sbin/makefs/cd9660.h +++ b/usr.sbin/makefs/cd9660.h @@ -250,7 +250,6 @@ typedef struct _iso9660_disk { unsigned rock_ridge_move_count; cd9660node *rr_moved_dir; - int archimedes_enabled; int chrp_boot; /* Spec breaking options */ diff --git a/usr.sbin/makefs/cd9660/Makefile.inc b/usr.sbin/makefs/cd9660/Makefile.inc index e596309a6243..ec949f1413dc 100644 --- a/usr.sbin/makefs/cd9660/Makefile.inc +++ b/usr.sbin/makefs/cd9660/Makefile.inc @@ -3,4 +3,4 @@ CFLAGS+=-I${SRCTOP}/sys/fs/cd9660/ SRCS+= cd9660_strings.c cd9660_debug.c cd9660_eltorito.c \ - cd9660_write.c cd9660_conversion.c iso9660_rrip.c cd9660_archimedes.c + cd9660_write.c cd9660_conversion.c iso9660_rrip.c diff --git a/usr.sbin/makefs/cd9660/cd9660_archimedes.c b/usr.sbin/makefs/cd9660/cd9660_archimedes.c deleted file mode 100644 index 93560da40d54..000000000000 --- a/usr.sbin/makefs/cd9660/cd9660_archimedes.c +++ /dev/null @@ -1,124 +0,0 @@ -/* $NetBSD: cd9660_archimedes.c,v 1.1 2009/01/10 22:06:29 bjh21 Exp $ */ - -/*- - * SPDX-License-Identifier: BSD-3-Clause - * - * 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 -#include -#include -#include -#include -#include - -#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 0766a940bb35..000000000000 --- a/usr.sbin/makefs/cd9660/cd9660_archimedes.h +++ /dev/null @@ -1,50 +0,0 @@ -/* $NetBSD: cd9660_archimedes.h,v 1.1 2009/01/10 22:06:29 bjh21 Exp $ */ - -/*- - * SPDX-License-Identifier: BSD-3-Clause - * - * 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 2ffa512a3b9e..eaa0ab2955df 100644 --- a/usr.sbin/makefs/makefs.8 +++ b/usr.sbin/makefs/makefs.8 @@ -33,7 +33,8 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 5, 2022 +.Dd March 31, 2023 + .Dt MAKEFS 8 .Os .Sh NAME @@ -365,12 +366,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 bootimagedir Boot image directory. This option is not implemented.