Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 2014 21:52:38 +0000 (UTC)
From:      Colin Percival <cperciva@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r276086 - head/usr.sbin/freebsd-update
Message-ID:  <201412222152.sBMLqc42085648@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cperciva
Date: Mon Dec 22 21:52:37 2014
New Revision: 276086
URL: https://svnweb.freebsd.org/changeset/base/276086

Log:
  Strip trailing / characters from paths in "not present" index entries, not
  just "directory" entries.
  
  Prior to this commit, if / was added as part of a security update (how? In
  the most recent case, because lib32 was accidentally omitted and was then
  re-added, and every installer distribution set gets its own paths) then
  the code which was supposed to filter out updates to deleted parts of the
  base system (if someone decides to delete / then we shouldn't re-create it
  for them) would instead get confused and decided that while / should exist,
  // should not exist and needs to be removed.
  
  This fixes the bug which caused freebsd-update to want to delete / (which is
  harmless, since `rm /` fails, but scary nonetheless).  A workaround is being
  applied to the update bits in order to avoid triggering the bug on unpatched
  systems.
  
  PR:		196055, 196091, 196147

Modified:
  head/usr.sbin/freebsd-update/freebsd-update.sh

Modified: head/usr.sbin/freebsd-update/freebsd-update.sh
==============================================================================
--- head/usr.sbin/freebsd-update/freebsd-update.sh	Mon Dec 22 21:46:35 2014	(r276085)
+++ head/usr.sbin/freebsd-update/freebsd-update.sh	Mon Dec 22 21:52:37 2014	(r276086)
@@ -1395,6 +1395,7 @@ fetch_filter_metadata () {
 	# matter, since we add a leading "/" when we use paths later.
 	cut -f 3- -d '|' $1 |
 	    sed -e 's,/|d|,|d|,' |
+	    sed -e 's,/|-|,|-|,' |
 	    sort -u > $1.tmp
 
 	# Figure out which lines to ignore and remove them.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412222152.sBMLqc42085648>