Tim Schumacher
714f0c3dce
LibArchive: Implement proper support for Tar file end markers
...
Previously this was handled implicitly, as our implementation of Tar
would just stop processing input as soon as it found something invalid.
However, since we now error out as soon as something is found to be
wrong, we require proper handling for zero blocks, which aren't actually
fatal.
2022-11-30 08:03:31 +01:00
Tim Schumacher
cb48b9bc30
LibArchive: Pass along errors from Tar header checksum validation
2022-11-30 08:03:31 +01:00
Tim Schumacher
fd3a823a20
LibArchive: Move loading the next tar header into a helper function
...
This now also validates the first header that is loaded, so we can drop
the corresponding FIXME from `tar`.
2022-11-30 08:03:31 +01:00
Tim Schumacher
cbeaba0c12
LibArchive: Use Core::Stream inside TarInputStream
2022-11-30 08:03:31 +01:00
Tim Schumacher
71d1d9e2b5
LibArchive: Port TarFileStream
to Core::Stream
2022-11-30 08:03:31 +01:00
implicitfield
e277185eb1
LibArchive: Do not assert if the provided stream cannot be discarded
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52498
2022-11-23 11:19:16 +01:00
implicitfield
ee0c9ed87b
LibArchive: Simplify error handling
2022-11-23 11:19:16 +01:00
implicitfield
58e9262ff1
LibArchive: Make get_field_as_integral error out on non-octal input
...
Fixes this bug that was reported by OSS-Fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52493
2022-11-13 17:37:26 -07:00
implicitfield
c88d8a21cc
LibArchive: Make TarInputStream::advance report errors
...
Fixes this bug that was reported by OSS-Fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52862
2022-11-13 17:37:26 -07:00
Peter Elliott
83e62e8c4f
Utilities+LibArchive: Don't follow symlinks
2022-10-31 22:10:22 +00:00
Peter Elliott
612a3324d7
LibArchive: Support writing paths up to 255 characters
...
The POSIX.1-1988 limit was 100, but with the ustar prefix field it's 255
(kinda).
2022-10-31 22:10:22 +00:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Lenny Maiorani
deba345ca7
LibArchive: Default initialize member variables
...
Problem:
- `memset` is used to initialize data instead of using default
initialization.
Solution:
- Default initialize all member variables.
- Eliminate use of `memset` in favor of C++ braced initialization.
2022-02-15 23:00:19 +02:00
Lenny Maiorani
847efd8aca
LibArchive: Use constexpr variables where possible
2022-02-15 23:00:19 +02:00
Lenny Maiorani
583e197897
LibArchive: Refactor Tar to make DRY (Don't Repeat Yourself)
...
Problem:
- The getters and setters duplicate code for conversions.
- Getters are returning `const StringView` rather than non-`const`.
Solution:
- Factor out common code to helper functions.
- Return `StringView` as non-`const`.
2022-02-15 23:00:19 +02:00
Andreas Kling
80d4e830a0
Everywhere: Pass AK::ReadonlyBytes by value
2021-11-11 01:27:46 +01:00
Peter Elliott
33d7fdca28
Everywhere: Use my cool new @serenityos.org email address
2021-09-01 11:37:25 +04:30
Andreas Kling
7ae7170d61
Everywhere: "file name" => "filename"
2021-04-29 22:16:18 +02:00
Idan Horowitz
1c512a702a
AK+Userland: Use idan.horowitz@serenityos.org for my copyright headers
2021-04-22 22:42:38 +02:00
Brian Gianforcaro
1682f0b760
Everything: Move to SPDX license identifiers in all files.
...
SPDX License Identifiers are a more compact / standardized
way of representing file license information.
See: https://spdx.dev/resources/use/#identifiers
This was done with the `ambr` search and replace tool.
ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-22 11:22:27 +02:00
Linus Groh
2b0c361d04
Everywhere: Fix a bunch of typos
2021-04-18 10:30:03 +02:00
Peter Elliott
dcee024fee
LibArchive: Support POSIX.1-1988 tar files
...
These old tar files didn't have magic numbers, so I've also added a checksum
check to TarInputStream::valid()
2021-04-12 14:06:24 +02:00
Idan Horowitz
a809db90dd
Libraries: Rename LibTar to LibArchive
...
This is in preparation for a new implementation of zip archive
extraction and creation.
2021-03-23 16:09:36 +01:00