[MKISOFS]

Update mkisofs to schily-2017-02-16, which comes with the following fixes:
- Fix null termination in libschily's Win32 implementation of opendir (submitted upstream by me).
  The bug was triggered when building an ISO from a directory instead of a graft-points (.lst) file.
- Prevent -duplicates-once from being used together with -cache-inodes. These options exclude each other.

svn path=/trunk/; revision=74112
This commit is contained in:
Colin Finck 2017-03-05 22:54:33 +00:00
parent bb24e3a5e4
commit 8e993c1a64
4 changed files with 40 additions and 27 deletions

View file

@ -1,6 +1,6 @@
/* @(#)version.h 1.92 16/01/26 Copyright 2007-2016 J. Schilling */ /* @(#)version.h 1.93 16/12/15 Copyright 2007-2016 J. Schilling */
/* /*
* The version for cdrtools programs * The version for cdrtools programs
*/ */
#define VERSION "3.02a06" #define VERSION "3.02a07"

View file

@ -1,4 +1,4 @@
/* @(#)schily.h 1.121 16/11/04 Copyright 1985-2016 J. Schilling */ /* @(#)schily.h 1.122 16/12/18 Copyright 1985-2016 J. Schilling */
/* /*
* Definitions for libschily * Definitions for libschily
* *
@ -543,7 +543,7 @@ extern int _openfd64 __PR((const char *, int));
#ifdef __never__ #ifdef __never__
#undef error #undef error
#define error js_error #define error js_error
#endif #endif /* __never__ */
#undef dprintf #undef dprintf
#define dprintf js_dprintf #define dprintf js_dprintf
#undef fprintf #undef fprintf
@ -558,9 +558,9 @@ extern int _openfd64 __PR((const char *, int));
#ifndef HAVE_SNPRINTF #ifndef HAVE_SNPRINTF
#undef snprintf #undef snprintf
#define snprintf js_snprintf #define snprintf js_snprintf
#endif #endif /* HAVE_SNPRINTF */
#endif #endif /* SCHILY_PRINT */
#endif #endif /* NO_SCHILY_PRINT */
#ifndef NO_SCHILY_GETLINE /* Define to disable *getline() redirect */ #ifndef NO_SCHILY_GETLINE /* Define to disable *getline() redirect */
#undef getline #undef getline

View file

@ -1,11 +1,11 @@
/* @(#)dirent.c 1.3 12/03/20 Copyright 2011 J. Schilling */ /* @(#)dirent.c 1.4 17/02/02 Copyright 2011-2017 J. Schilling */
#include <schily/mconfig.h> #include <schily/mconfig.h>
#ifndef lint #ifndef lint
static UConst char sccsid[] = static UConst char sccsid[] =
"@(#)dirent.c 1.3 12/03/20 Copyright 2011 J. Schilling"; "@(#)dirent.c 1.4 17/02/02 Copyright 2011-2017 J. Schilling";
#endif #endif
/* /*
* Copyright (c) 2011 J. Schilling * Copyright (c) 2011-2017 J. Schilling
*/ */
/* /*
* The contents of this file are subject to the terms of the * The contents of this file are subject to the terms of the
@ -14,6 +14,8 @@ static UConst char sccsid[] =
* with the License. * with the License.
* *
* See the file CDDL.Schily.txt in this distribution for details. * See the file CDDL.Schily.txt in this distribution for details.
* A copy of the CDDL is also available via the Internet at
* http://www.opensource.org/licenses/cddl1.txt
* *
* When distributing Covered Code, include this CDDL HEADER in each * When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file CDDL.Schily.txt from this distribution. * file and include the License file CDDL.Schily.txt from this distribution.
@ -84,7 +86,8 @@ opendir(dname)
dp->dd_dirname[len] = '\\'; dp->dd_dirname[len] = '\\';
len++; len++;
} }
dp->dd_dirname[len] = '*'; dp->dd_dirname[len++] = '*';
dp->dd_dirname[len] = '\0';
dp->dd_handle = -1; dp->dd_handle = -1;
dp->dd_state = 0; dp->dd_state = 0;

View file

@ -1,8 +1,8 @@
/* @(#)mkisofs.c 1.288 16/12/13 joerg */ /* @(#)mkisofs.c 1.289 17/01/05 joerg */
#include <schily/mconfig.h> #include <schily/mconfig.h>
#ifndef lint #ifndef lint
static UConst char sccsid[] = static UConst char sccsid[] =
"@(#)mkisofs.c 1.288 16/12/13 joerg"; "@(#)mkisofs.c 1.289 17/01/05 joerg";
#endif #endif
/* /*
* Program mkisofs.c - generate iso9660 filesystem based upon directory * Program mkisofs.c - generate iso9660 filesystem based upon directory
@ -11,7 +11,7 @@ static UConst char sccsid[] =
* Written by Eric Youngdale (1993). * Written by Eric Youngdale (1993).
* *
* Copyright 1993 Yggdrasil Computing, Incorporated * Copyright 1993 Yggdrasil Computing, Incorporated
* Copyright (c) 1997-2016 J. Schilling * Copyright (c) 1997-2017 J. Schilling
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -132,14 +132,13 @@ BOOL legacy = FALSE; /* Implement legacy support for historic CLI */
int all_files = 1; /* New default is to include all files */ int all_files = 1; /* New default is to include all files */
BOOL Hflag = FALSE; /* Follow links on cmdline (-H) */ BOOL Hflag = FALSE; /* Follow links on cmdline (-H) */
BOOL follow_links = FALSE; /* Follow all links (-L) */ BOOL follow_links = FALSE; /* Follow all links (-L) */
#if defined(IS_CYGWIN) || defined(__MINGW32__) || defined(_MSC_VER) #if defined(__MINGW32__) || defined(_MSC_VER)
/* /*
* Do not cache inodes on Cygwin by default * Never cache inodes on DOS or Win-DOS.
* See below in main(), cache for 64bit ino_t
*/ */
int cache_inodes = 0; int cache_inodes = 0;
#else #else
int cache_inodes = 1; /* Cache inodes if OS has unique inodes */ int cache_inodes = -1; /* Cache inodes if OS has unique inodes */
#endif #endif
int rationalize = 0; /* Need to call stat_fix() */ int rationalize = 0; /* Need to call stat_fix() */
int rationalize_uid = 0; int rationalize_uid = 0;
@ -2088,14 +2087,6 @@ main(argc, argv)
modification_date.l_usec = tv_begun.tv_usec; modification_date.l_usec = tv_begun.tv_usec;
modification_date.l_gmtoff = -100; modification_date.l_gmtoff = -100;
#if defined(IS_CYGWIN)
/*
* If we have 64 bit inode numbers, Cygwin should be able to work
* correctly on NTFS.
*/
if (sizeof (ino_t) >= 8)
cache_inodes = 1;
#endif
cac--; cac--;
cav++; cav++;
c = getvargs(&cac, &cav, GA_NO_PROPS, flags); c = getvargs(&cac, &cav, GA_NO_PROPS, flags);
@ -2119,7 +2110,7 @@ args_ok:
if (pversion) { if (pversion) {
printf(_("mkisofs %s (%s-%s-%s)\n\n\ printf(_("mkisofs %s (%s-%s-%s)\n\n\
Copyright (C) 1993-1997 %s\n\ Copyright (C) 1993-1997 %s\n\
Copyright (C) 1997-2016 %s\n"), Copyright (C) 1997-2017 %s\n"),
version_string, version_string,
HOST_CPU, HOST_VENDOR, HOST_OS, HOST_CPU, HOST_VENDOR, HOST_OS,
_("Eric Youngdale"), _("Eric Youngdale"),
@ -2212,6 +2203,25 @@ Copyright (C) 1997-2016 %s\n"),
(Llong)strlen(biblio)); (Llong)strlen(biblio));
} }
} }
#ifdef DUPLICATES_ONCE
/*
* If -duplicates-once was specified, do not implicitly enable
* -cache-inodes.
*/
if (cache_inodes < 0 && duplicates_once)
cache_inodes = 0;
#endif
#if defined(IS_CYGWIN)
/*
* If we have 64 bit inode numbers, Cygwin should be able to work
* correctly on NTFS, otherwise disable caching unless it has
* been enforced via -cache-inodes.
*/
if (cache_inodes < 0 && sizeof (ino_t) < 8)
cache_inodes = 0;
#endif
if (cache_inodes < 0)
cache_inodes = 1;
#ifdef DUPLICATES_ONCE #ifdef DUPLICATES_ONCE
if (!cache_inodes && !duplicates_once) { if (!cache_inodes && !duplicates_once) {
#else #else