diff options
author | kientzle <kientzle@FreeBSD.org> | 2004-06-27 23:27:28 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2004-06-27 23:27:28 +0000 |
commit | ab5ccb718d67cdeea503246228144bdd0066dcd1 (patch) | |
tree | f1e8ec8eb639b9b51d3967c4223be4a9068a83e5 /lib/libarchive/archive.h | |
parent | 36a1ffc19fdb2f673d50d56144bf6e6e177efdc4 (diff) | |
download | FreeBSD-src-ab5ccb718d67cdeea503246228144bdd0066dcd1.zip FreeBSD-src-ab5ccb718d67cdeea503246228144bdd0066dcd1.tar.gz |
More cleanup work on permissions restore:
* Rename some variables/functions/etc to try to make things clearer.
* Add separate flags to control fflag/acl restore
* Collect metadata restore into a single function for clarity
* Propagate errors in metadata restore back out to the client
* Fix some places where errors were being returned when they
shouldn't and vice-versa
* Modes are now always restored; ARCHIVE_EXTRACT_PERM just controls
whether or not umask is obeyed.
* Restore suid/sgid bits only if user/group matches archive
* Cache the last stat results to try to reduce the number of stat calls
Diffstat (limited to 'lib/libarchive/archive.h')
-rw-r--r-- | lib/libarchive/archive.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libarchive/archive.h b/lib/libarchive/archive.h index 4bef0c9..6f052f9 100644 --- a/lib/libarchive/archive.h +++ b/lib/libarchive/archive.h @@ -208,6 +208,8 @@ int archive_read_data_into_fd(struct archive *, int fd); #define ARCHIVE_EXTRACT_TIME (4) /* Default: mod time not restored */ #define ARCHIVE_EXTRACT_NO_OVERWRITE (8) /* Default: Replace files on disk */ #define ARCHIVE_EXTRACT_UNLINK (16) /* Default: don't unlink existing files */ +#define ARCHIVE_EXTRACT_ACL (32) /* Default: don't restore ACLs */ +#define ARCHIVE_EXTRACT_FFLAGS (64) /* Default: don't restore fflags */ int archive_read_extract(struct archive *, struct archive_entry *, int flags); |