tags 837044 + pending patch tags 900409 + pending patch tags 900410 + pending patch thanks
Hi, After a few pings I've uploaded mtools 4.0.18-2.1 to DELAYED/10: mtools (4.0.18-2.1) unstable; urgency=medium * Non-maintainer upload. * Prevent an issue where mtools creates corrupted FAT entries for directories when copied to a filesystem. This issue was reported upstream at <https://lists.gnu.org/archive/html/info-mtools/2014-08/msg00000.html> and as the underlying issue is based on uninitialised memory also affects the reproducibility of the output of mtools which s required for reproducible Debian Installer images. (Closes: #837044, #900409) * Use the SOURCE_DATE_EPOCH environment variable if set instead of the current time of day as the default timestamp (such as when adding files to an existing file) to make its output reproducible. (Closes: #900410) * Use "Priority: extra" over "Priority: optional" for Debian Policy 2.0.5. The full debdiff is attached. Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
diffstat for mtools-4.0.18 mtools-4.0.18 changelog | 16 +++ control | 2 patches/02-837044-initialize-direntry.patch | 18 +++ patches/03-837044-corrupted-fat-entries-when-mcopy-copies-directory.patch | 47 ++++++++++ patches/series | 2 5 files changed, 84 insertions(+), 1 deletion(-) diff -Nru mtools-4.0.18/debian/changelog mtools-4.0.18/debian/changelog --- mtools-4.0.18/debian/changelog 2014-09-19 09:11:58.000000000 +0800 +++ mtools-4.0.18/debian/changelog 2018-07-25 20:23:59.000000000 +0800 @@ -1,3 +1,19 @@ +mtools (4.0.18-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Prevent an issue where mtools creates corrupted FAT entries for + directories when copied to a filesystem. This issue was reported upstream + at <https://lists.gnu.org/archive/html/info-mtools/2014-08/msg00000.html> + and as the underlying issue is based on uninitialised memory also affects + the reproducibility of the output of mtools which s required for + reproducible Debian Installer images. (Closes: #837044, #900409) + * Use the SOURCE_DATE_EPOCH environment variable if set instead of the + current time of day as the default timestamp (such as when adding files to + an existing file) to make its output reproducible. (Closes: #900410) + * Use "Priority: extra" over "Priority: optional" for Debian Policy § 2.0.5. + + -- Chris Lamb <la...@debian.org> Wed, 25 Jul 2018 20:23:59 +0800 + mtools (4.0.18-2) unstable; urgency=medium * Don't have autotools-dev listed twice in Build-depends. diff -Nru mtools-4.0.18/debian/control mtools-4.0.18/debian/control --- mtools-4.0.18/debian/control 2014-09-19 09:03:47.000000000 +0800 +++ mtools-4.0.18/debian/control 2018-07-25 20:23:59.000000000 +0800 @@ -1,6 +1,6 @@ Source: mtools Section: otherosfs -Priority: optional +Priority: extra Maintainer: Anibal Monsalve Salazar <ani...@debian.org> Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 9), autotools-dev, libxfont-dev, libxt-dev, texinfo Standards-Version: 3.9.6 diff -Nru mtools-4.0.18/debian/patches/02-837044-initialize-direntry.patch mtools-4.0.18/debian/patches/02-837044-initialize-direntry.patch --- mtools-4.0.18/debian/patches/02-837044-initialize-direntry.patch 1970-01-01 08:00:00.000000000 +0800 +++ mtools-4.0.18/debian/patches/02-837044-initialize-direntry.patch 2018-07-25 20:23:59.000000000 +0800 @@ -0,0 +1,18 @@ +Author: Ronny Nilsson <rln-mto...@arbetsmyra.dyndns.org> +Description: initialize direntry with memset to correct invalid bitfields + mcopy will create directory entries with invalid bitfields because of + uninitialized memory. Initialize this structure with memset() to avoid + corrupt filesystems. +Bug-Ubuntu: https://bugs.launchpad.net/bug/1619718 +Origin: https://lists.gnu.org/archive/html/info-mtools/2014-08/msg00000.html + +--- mtools-4.0.18.orig/direntry.c ++++ mtools-4.0.18/direntry.c +@@ -24,6 +24,7 @@ + + void initializeDirentry(direntry_t *entry, Stream_t *Dir) + { ++ memset(entry, 0, sizeof(direntry_t)); + entry->entry = -1; + /* entry->parent = getDirentry(Dir);*/ + entry->Dir = Dir; diff -Nru mtools-4.0.18/debian/patches/03-837044-corrupted-fat-entries-when-mcopy-copies-directory.patch mtools-4.0.18/debian/patches/03-837044-corrupted-fat-entries-when-mcopy-copies-directory.patch --- mtools-4.0.18/debian/patches/03-837044-corrupted-fat-entries-when-mcopy-copies-directory.patch 1970-01-01 08:00:00.000000000 +0800 +++ mtools-4.0.18/debian/patches/03-837044-corrupted-fat-entries-when-mcopy-copies-directory.patch 2018-07-25 20:23:59.000000000 +0800 @@ -0,0 +1,47 @@ +--- mtools-4.0.18.orig/misc.c ++++ mtools-4.0.18/misc.c +@@ -109,7 +109,8 @@ FILE *open_mcwd(const char *mode) + * Ignore the info, if the file is more than 6 hours old + */ + getTimeNow(&now); +- if (now - sbuf.st_mtime > 6 * 60 * 60) { ++ if (now - sbuf.st_mtime > 6 * 60 * 60 ++ && getenv("SOURCE_DATE_EPOCH") == NULL) { + fprintf(stderr, + "Warning: \"%s\" is out of date, removing it\n", + file); +@@ -159,11 +160,33 @@ void print_sector(const char *message, u + + time_t getTimeNow(time_t *now) + { ++ char *endptr; ++ char *source_date_epoch; ++ unsigned long long epoch; + static int haveTime = 0; + static time_t sharedNow; + + if(!haveTime) { +- time(&sharedNow); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ ++ if (endptr == source_date_epoch) ++ fprintf(stderr, "SOURCE_DATE_EPOCH invalid\n"); ++ else if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) ++ fprintf(stderr, "SOURCE_DATE_EPOCH: strtoull: %s: %llu\n", ++ strerror(errno), epoch); ++ else if (*endptr != '\0') ++ fprintf(stderr, "SOURCE_DATE_EPOCH has trailing garbage\n"); ++ else if (epoch > ULONG_MAX) ++ fprintf(stderr, "SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n", ULONG_MAX, epoch); ++ else { ++ sharedNow = epoch; ++ } ++ } else { ++ time(&sharedNow); ++ } + haveTime = 1; + } + if(now) diff -Nru mtools-4.0.18/debian/patches/series mtools-4.0.18/debian/patches/series --- mtools-4.0.18/debian/patches/series 2013-05-25 12:29:27.000000000 +0800 +++ mtools-4.0.18/debian/patches/series 2018-07-25 20:23:59.000000000 +0800 @@ -1 +1,3 @@ 01-607426-support-zip-files-in-uz.patch +02-837044-initialize-direntry.patch +03-837044-corrupted-fat-entries-when-mcopy-copies-directory.patch