summaryrefslogtreecommitdiffstats
path: root/src/ustar.c
Commit message (Collapse)AuthorAgeFilesLines
* ustar: Treat octets as unsigned in chksumPatrick McDermott2023-05-031-6/+6
| | | | | | Per POSIX. Complement of commit 619f09be066777b8296acf93bd6b51771ca64bd2.
* ustar: Document assumptions and improve safetyPatrick McDermott2023-05-031-3/+14
|
* ustar: Improve compatibility of written headersPatrick McDermott2023-05-021-10/+40
|
* ustar: Treat octets as unsigned in chksumPatrick McDermott2023-05-021-4/+4
| | | | Per POSIX.
* ustar: Fill header with zeroes before populatingPatrick McDermott2023-05-021-9/+4
|
* gzip: Fix flushingPatrick McDermott2023-05-021-4/+4
| | | | | | deflate() apparently must be called with avail_in=0 and Z_FINISH after processing all input, not with Z_FINISH on the last non-empty input buffer.
* ustar: Move SOURCE_DATE_EPOCH code to opk/writePatrick McDermott2023-04-301-24/+2
| | | | | | This way it runs only once (without resorting to static variables) across all headers in all ustar archives. Also, opk/write now prints an informative error message.
* ustar: Set mtime in written headerPatrick McDermott2023-04-301-0/+23
|
* ustar: Set magic+version+chksum in written headerPatrick McDermott2023-04-301-1/+17
|
* ustar: Fix trailer writingPatrick McDermott2023-04-301-1/+2
|
* uname: Fix written linknamePatrick McDermott2023-04-301-3/+8
|
* ustar: Add function to write trailerPatrick McDermott2023-04-301-0/+13
|
* ustar: Add functions to write dataPatrick McDermott2023-04-301-5/+36
| | | | And rename record buffer.
* ustar: Add function to write headerPatrick McDermott2023-04-291-0/+56
|
* opk: Absorb seek list management from ustarPatrick McDermott2023-04-281-117/+0
|
* ustar: Don't read data after finding named headerPatrick McDermott2023-04-281-16/+7
|
* ustar: Ensure listed linkname is NUL-terminatedPatrick McDermott2023-04-251-5/+5
| | | | Also simplify uname and gname copying.
* ustar: Eliminate static variablesPatrick McDermott2023-04-251-50/+53
|
* ustar: Add a couple small commentsPatrick McDermott2023-04-191-0/+4
|
* ustar: Make seek names struct opaquePatrick McDermott2023-04-191-10/+38
| | | | Simplify main() a little and fix memory leak on success.
* ustar: Shorten macro namePatrick McDermott2023-04-181-1/+1
|
* ustar: Use linked list instead of varargs in seekPatrick McDermott2023-04-181-13/+61
| | | | Also indicate when all sought member files are found.
* main, ustar: Add commentsPatrick McDermott2023-04-181-0/+18
|
* ustar: Use char typePatrick McDermott2023-04-181-32/+32
| | | | | | POSIX requires header characters to be encoded in ISO/IEC 646, a 7-bit code, so the extra bit in (unsigned char) is unnecessary. So fix a bunch of warnings and get rid of casts.
* ustar: Fix a couple warningsPatrick McDermott2023-04-181-2/+2
|
* ustar: Make size unsignedPatrick McDermott2023-04-181-1/+1
|
* ustar, main: Dynamically allocate member structsPatrick McDermott2023-04-181-17/+26
| | | | | TODO: Save max strlen()s in first loop and printf() and free() in second loop.
* ustar, main: Show mode and mtimePatrick McDermott2023-04-171-0/+11
|
* ustar, main: Show type, uname, and gnamePatrick McDermott2023-04-171-0/+28
|
* ustar: Verify typeflagPatrick McDermott2023-04-171-4/+20
|
* Revert "ustar: Verify full magic field"Patrick McDermott2023-04-171-1/+1
| | | | | | | This reverts commit 1203f44aa85a88cfdc3008e7f14818c85bfe46c3. POSIX requires "ustar\0" but BusyBox tar creates "ustar ". Again, standard? What standard?
* ustar: Verify full magic fieldPatrick McDermott2023-04-171-1/+1
|
* Revert "ustar: Verify version"Patrick McDermott2023-04-171-4/+0
| | | | | | | This reverts commit 8858721eceff2d22099ed42bee049b35a0fc712c. POSIX requires "00" but BusyBox tar creates " \0". Apparently standards are irrelevant.
* ustar: Verify versionPatrick McDermott2023-04-171-0/+4
|
* ustar: Verify header checksumsPatrick McDermott2023-04-171-3/+25
|
* ustar, main: Show size of member filesPatrick McDermott2023-04-171-1/+2
| | | | Also fix integer type (maximum file size is 8^12-1 = 68719476735).
* ustar: Search for multiple member namesPatrick McDermott2023-04-171-3/+12
|
* ustar: Don't read sought filePatrick McDermott2023-04-171-4/+4
|
* ustar: Fix seekingPatrick McDermott2023-04-151-10/+6
|
* ustar: Fix read bufferPatrick McDermott2023-04-151-19/+22
|
* Eliminate magic numbersPatrick McDermott2023-04-141-12/+14
|
* gzip, ustar: Add *_free() functionsPatrick McDermott2023-04-141-1/+6
|
* ustar: RewritePatrick McDermott2023-04-141-36/+111
|
* ustar: Improve end detectionPatrick McDermott2023-04-131-2/+7
|
* ustar: Size field (and all other ints) is octalPatrick McDermott2023-04-131-1/+1
|
* ustar: Verify magicPatrick McDermott2023-04-131-0/+5
|
* ustar: ImplementPatrick McDermott2023-04-131-0/+109