kientzle
da7b4a0824
Style: Use ARCHIVE_VERSION_NUMBER to conditionalize tests on
...
the particular libarchive version being tested instead of the
deprecated ARCHIVE_API_VERSION and ARCHIVE_VERSION_STAMP macros.
2008-09-01 05:38:33 +00:00
kientzle
3b54160eff
MfP4: set/unset tracking for atime, ctime, mtime, and size fields.
...
This generalizes the existing set/unset tracking for hardlink/symlink
fields and extends it to cover non-string fields. Eventually, this
will be further extended to cover most fields.
In particular, this is needed to correctly detect when time fields
are missing (for example, reading ustar archives doesn't set atime or
ctime) for proper time restore and is helpful when trying to determine
whether to overwrite data when restoring hardlinks.
This commit updates the tests but not the docs.
2008-09-01 04:54:29 +00:00
kientzle
12d7b9e21b
Sort the list of format names.
2008-09-01 02:50:53 +00:00
kientzle
7711ed1cf5
Use the "start_time" (time at which the restore process began)
...
to fill in a missing atime instead of substituting mtime.
PR: bin/124915
2008-09-01 02:50:24 +00:00
kientzle
fe3cf0e14f
New mtree writer, thanks to Joerg Sonnenberger.
...
Obtained from: Joerg Sonnenberger
2008-08-31 07:21:46 +00:00
kientzle
ede0c9fe5c
Joerg Sonnenberger's improvements to the shar writer.
...
Significant performance improvements, better quoting of file names, etc.
2008-08-31 07:10:40 +00:00
kientzle
a3fa470b0f
Make libarchive_test a little smarter about trying to find
...
its reference files when you don't specify -r. It now checks
a couple of likely nearby directories to see if any of them
have a particular known file.
2008-08-31 07:06:02 +00:00
kientzle
558a49e6d8
When atime wasn't specified, it should get set == mtime.
...
This is much stronger than just asserting that it's not zero.
2008-08-30 05:31:23 +00:00
kientzle
76addb3012
If no atime was specified (for example, when extracting from ustar
...
archives), set atime == mtime. Before this, atime would get restored
to 0.
2008-08-28 06:40:22 +00:00
kientzle
f8ec8301f6
Alphabetize the list of tests.
2008-08-25 06:08:22 +00:00
kientzle
0563028aef
Update the total archive byte counters when writing entries to disk using
...
archive_write_disk.
Update cpio to use this to emit block counts in -p mode.
Update cpio tests to verify these block counts.
2008-08-24 06:21:00 +00:00
kientzle
5f09367fca
Remove the stillborn attempt to cleanup tests as well as the build dir.
2008-08-24 05:54:28 +00:00
kientzle
1f8b9faf14
Fail copying path/.. only if SECURE_NODOTDOT was specified.
...
Since we already warn for any '..' elements in that case,
the extra "lastdotdot" tracking turns out to be unnecessary.
PR: bin/124924
2008-08-24 05:42:22 +00:00
kientzle
ad89b2721b
Fix the cpio bug tested for by r182092 of usr.bin/cpio/test.
...
Since various 'find' incantations can emit container directories
in various orders, we cannot refuse to update a dir because it's
apparently the same age.
MFC after: 3 days
2008-08-24 05:01:01 +00:00
kientzle
0e0fb66ac7
Fix up test suite so it works again with the libarchive 1.x API.
...
In particular, FreeBSD 6 still uses the libarchive 1.x API and
this correction will permit MFCing new libarchive features back
to FreeBSD 6.
2008-08-11 01:19:36 +00:00
kientzle
aa6984275e
Correct test_tar_large so it works correctly with the libarchive 1.x API.
2008-08-10 21:14:26 +00:00
kientzle
55e9379b97
Explain why two apparently-identical archive_read_data() calls
...
really should have different return values.
2008-08-10 03:13:42 +00:00
kientzle
58af11b815
MfP4: Joerg Sonnenberger's fixes to make 'ar' and 'pax' writers
...
robust against multiple calls to their destroy() functions.
2008-08-10 02:06:28 +00:00
cperciva
45f0d08992
Mark functions as __dead2 in order to help the LLVM static checker
...
understand which code paths aren't possible.
This commit eliminates 117 false positive bug reports of the form
"allocate memory; error out if pointer is NULL; use pointer".
2008-08-04 01:25:48 +00:00
cperciva
e539172ce0
Garbage collect a variable which is assigned a value once but otherwise
...
is never used.
Found by: LLVM/Clang Static Analyzer
2008-07-10 09:50:55 +00:00
kientzle
d57478921c
libarchive in FreeBSD-CURRENT is now synched with libarchive-portable 2.5.5.
2008-07-05 01:50:40 +00:00
kientzle
e9be2011ca
Remove a couple of capability definitions that are never used.
2008-07-05 01:50:07 +00:00
kientzle
d6359f5b42
When ARCHIVE_EXTRACT_PERM is requested (e.g., by "tar -p"), always
...
schedule a chmod() fixup for directories. In particular, this fixes
sgid handling on systems where the sgid bit is inherited from the
parent directory (which means that the actual mode of the dir
does not match the mode used in the mkdir() system call.
It may be possible to tighten this condition a bit. In
working through this, I also found a few other places where
it looks like we can avoid a redundant syscall or two. I've
commented those here but not yet tried to address them.
2008-07-05 01:48:33 +00:00
kientzle
b56a2464d0
Don't use the deprecated linux/ext2_fs.h include file.
2008-07-05 01:45:31 +00:00
peter
76210d6dbb
Add $FreeBSD$ to the uuencoded test files that didn't have them already.
2008-07-03 03:26:30 +00:00
des
30b7b2ebb7
More explicit error message.
2008-06-30 16:19:26 +00:00
des
b2314d7899
Add missing $FreeBSD$
2008-06-30 15:49:12 +00:00
des
128419b472
Some tests won't build at WARNS level 6 due to aliasing violations.
...
Add missing -I. so the tests will build when ${.OBJDIR} != ${.CURDIR}.
${.OBJDIR} does not need to be spelled out.
2008-06-26 11:58:26 +00:00
des
3ac85717e4
Add regression test for CRC32 check. The test file has been modified to
...
include an invalid checksum for file2.
Approved by: kientzle
2008-06-26 11:50:11 +00:00
des
cec42b7b13
Implement CRC32 verification. Note that you have to read until EOF to
...
trigger the check.
Requested by: ache
Approved by: kientzle
2008-06-26 11:48:19 +00:00
des
25ca80597a
Allow the tests to build without libdmalloc.
2008-06-26 10:53:05 +00:00
kientzle
5e553f9ba9
Split out the reference zip file for ease of maintenance.
2008-06-26 04:48:42 +00:00
kientzle
5af49a019f
Refactor one of the ISO extraction tests: Move the reference
...
file into a separate file (instead of embedding it in the C code)
and use later timestamps (timestamps too close to the Epoch fail
predictably on systems that lack timegm(), whose mktime() doesn't
support dates before the Epoch and which are running in timezones
with negative offsets from GMT). The goal here is to test the ISO
extraction, not the local platform's time support.
2008-06-21 19:11:51 +00:00
kientzle
9469ce2c38
MfP4: Joerg Sonnenberg's extensions to the mtree support for more
...
complete quoting. In particular, this handles escaped newlines
and common C-style escapes.
2008-06-21 19:06:37 +00:00
kientzle
da7e9647fe
A security-check failure here should be ARCHIVE_FAILED (cannot continue this
...
operation) and not ARCHIVE_WARN, since we don't actually open the file.
Both bsdtar and bsdcpio will try to copy file contents after an ARCHIVE_WARN,
which will fail loudly.
2008-06-21 19:05:29 +00:00
kientzle
b431d5267e
Rework the my_mbtowc_utf8() support function to fully match the mbtowc()
...
calling convention, not the mbrtowc() convention.
2008-06-15 11:28:56 +00:00
kientzle
07f197bbee
Since wctomb() returns int, temporaries should be int, not size_t.
2008-06-15 11:15:12 +00:00
kientzle
fc70e49ebf
A number of minor corrections to the support for external compression
...
programs:
* Support platforms that have fork() but not vfork()
* Don't write(), select(), or poll() against closed file descriptors
2008-06-15 10:45:57 +00:00
kientzle
bfa1b19458
Be a little more careful about closing file descriptors that may not exist.
2008-06-15 10:43:59 +00:00
kientzle
43197fcece
MfP4: test harness improvements.
2008-06-15 10:35:22 +00:00
kientzle
a9ebcc947a
Fix a bad cast.
2008-06-15 10:26:08 +00:00
kientzle
6d3ab1837b
Fix reading TOC from zip archives with unsupported
...
compression. We can't read the body, but we
shouldn't try to skip the body twice.
2008-06-15 05:15:53 +00:00
kientzle
232c7b7d92
Mark hardlinks that lack any other interesting filetype information
...
with an 'h'.
2008-06-15 05:14:01 +00:00
kientzle
baa22947a2
Portability: We can get away with the older and better-supported
...
wctomb() here; we don't need wcrtomb(). In particular, this fixes
libarchive building on FreeBSD 4.
2008-06-15 05:12:47 +00:00
kientzle
29dd909508
Portability: wchar_t is defined in stdlib.h on some systems.
2008-06-15 05:11:08 +00:00
kientzle
d71aa746dd
archive.h is no longer constructed from archive.h.in,
...
so we can rename it and drop some no-longer-necessary
build magic from the Makefile.
2008-06-15 05:05:53 +00:00
kientzle
a3b4c796ab
Fix the new generic link resolver in libarchive to never match
...
dirs as hardlinks. In particular, this fixes some recent ports
build failures.
Thanks to: Kris Kennaway
2008-06-15 04:31:43 +00:00
cperciva
443887d7cc
Don't store a pointer in "next" if we're never going to use it.
...
Fix typo in checking results of strchr.
Found by: Coverity Prevent
2008-06-09 14:44:56 +00:00
kientzle
456ca43f89
Minor code hardening: Verify the final bytes of the string
...
are actually accessible before trying to use them.
2008-05-27 04:46:12 +00:00
kientzle
c8237b3c06
Until the old archive.h.in gets renamed to archive.h in the repository,
...
we still need some Makefile trickery to ensure archive.h is
correctly built for the test harness.
2008-05-27 04:12:17 +00:00