Date: Thu, 8 Jul 2004 05:24:48 +0000 (UTC) From: Tim Kientzle <kientzle@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/libarchive archive_read_extract.c Message-ID: <200407080524.i685Omoa096806@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kientzle 2004-07-08 05:24:48 UTC FreeBSD src repository Modified files: lib/libarchive archive_read_extract.c Log: I think this is my fourth complete rewrite of the dir-creation code. <whew!> This version handles all of the following edge cases: * Restoring explicit dirs with 000 permissions (star fails this test) * Restore of implicit or explicit dirs when umask=777 (gtar and star both fail this test) * Restoring dir paths containing "." and ".." components This version initially creates all dirs with permission 700 (ignoring umask), then does a post-extract "fixup" pass to set the correct permissions (which may or may not depend on umask, depending on the restore flags and whether it's an explicit or implicit dir). Permissions are restored depth-first so that permissions within non-writable dirs can be correctly restored. (The depth-sorting does correctly account for dirs with ".." components.) Revision Changes Path 1.29 +212 -138 src/lib/libarchive/archive_read_extract.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407080524.i685Omoa096806>