<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libarchive/archive_read_support_format_ar.c, branch releng/8.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Merge r668 from libarchive.googlecode.com:  Style correction to the</title>
<updated>2009-03-06T06:14:44+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2009-03-06T06:14:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b7baebb91a91255aefe5ad8c0d0bf588fba2e0fb'/>
<id>b7baebb91a91255aefe5ad8c0d0bf588fba2e0fb</id>
<content type='text'>
'ar' reader:  Don't redefine 'isdigit' and don't create a macro that's
only used once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'ar' reader:  Don't redefine 'isdigit' and don't create a macro that's
only used once.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge r491,493,500,507,510,530,543 from libarchive.googlecode.com:</title>
<updated>2009-03-06T05:58:56+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2009-03-06T05:58:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=634fb9dd4872ad89170b514d8c0bf9125bfa0d3e'/>
<id>634fb9dd4872ad89170b514d8c0bf9125bfa0d3e</id>
<content type='text'>
This implements the new generic options framework that provides a way
to override format- and compression-specific parameters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This implements the new generic options framework that provides a way
to override format- and compression-specific parameters.
</pre>
</div>
</content>
</entry>
<entry>
<title>Permit ` as a pad character in the filename table.</title>
<updated>2009-02-01T02:33:02+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2009-02-01T02:33:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=56b5addbbda0101b2f9a0517ddb4712763f155c1'/>
<id>56b5addbbda0101b2f9a0517ddb4712763f155c1</id>
<content type='text'>
This seems to fix the devel/zziplib port, which distributes
its man pages in an ar archive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This seems to fix the devel/zziplib port, which distributes
its man pages in an ar archive.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clarify an 'ar' error message.</title>
<updated>2008-12-17T19:02:42+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2008-12-17T19:02:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6ebec34c8d6faa4306bf49ad110400594ab3599c'/>
<id>6ebec34c8d6faa4306bf49ad110400594ab3599c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MfP4: Big read filter refactoring.</title>
<updated>2008-12-06T06:45:15+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2008-12-06T06:45:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b1ff9c25b85752421491eb42f56c4cf65f451f98'/>
<id>b1ff9c25b85752421491eb42f56c4cf65f451f98</id>
<content type='text'>
This is an attempt to eliminate a lot of redundant
code from the read ("decompression") filters by
changing them to juggle arbitrary-sized blocks
and consolidate reblocking code at a single point
in archive_read.c.

Along the way, I've changed the internal read/consume
API used by the format handlers to a slightly
different style originally suggested by des@.  It
does seem to simplify a lot of common cases.

The most dramatic change is, of course, to
archive_read_support_compression_none(), which
has just evaporated into a no-op as the blocking
code this used to hold has all been moved up
a level.

There's at least one more big round of refactoring
yet to come before the individual filters are as
straightforward as I think they should be...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an attempt to eliminate a lot of redundant
code from the read ("decompression") filters by
changing them to juggle arbitrary-sized blocks
and consolidate reblocking code at a single point
in archive_read.c.

Along the way, I've changed the internal read/consume
API used by the format handlers to a slightly
different style originally suggested by des@.  It
does seem to simplify a lot of common cases.

The most dramatic change is, of course, to
archive_read_support_compression_none(), which
has just evaporated into a no-op as the blocking
code this used to hold has all been moved up
a level.

There's at least one more big round of refactoring
yet to come before the individual filters are as
straightforward as I think they should be...
</pre>
</div>
</content>
</entry>
<entry>
<title>MFp4: libarchive 2.5.4b.  (Still 'b' until I get a bit more</title>
<updated>2008-05-26T17:00:24+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2008-05-26T17:00:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fa07de5eeb36516701b3393f13acc1e1f702c634'/>
<id>fa07de5eeb36516701b3393f13acc1e1f702c634</id>
<content type='text'>
feedback, but the 2.5 branch is shaping up nicely.)

In addition to many small bug fixes and code improvements:
 * Another iteration of versioning; I think I've got it right now.
 * Portability:  A lot of progress on Windows support (though I'm
   not committing all of the Windows support files to FreeBSD CVS)
 * Explicit tracking of MBS, WCS, and UTF-8 versions of strings
   in archive_entry; the archive_entry routines now correctly return
   NULL only when something is unset, setting NULL properly clears
   string values.  Most charset conversions have been pushed down to
   archive_string.
 * Better handling of charset conversion failure when writing or
   reading UTF-8 headers in pax archives
 * archive_entry_linkify() provides multiple strategies for
   hardlink matching to suit different format expectations
 * More accurate bzip2 format detection
 * Joerg Sonnenberger's extensive improvements to mtree support
 * Rough support for self-extracting ZIP archives.  Not an ideal
   approach, but it works for the archives I've tried.
 * New "sparsify" option in archive_write_disk converts blocks of nulls
   into seeks.
 * Better default behavior for the test harness; it now reports
   all failures by default instead of coredumping at the first one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
feedback, but the 2.5 branch is shaping up nicely.)

In addition to many small bug fixes and code improvements:
 * Another iteration of versioning; I think I've got it right now.
 * Portability:  A lot of progress on Windows support (though I'm
   not committing all of the Windows support files to FreeBSD CVS)
 * Explicit tracking of MBS, WCS, and UTF-8 versions of strings
   in archive_entry; the archive_entry routines now correctly return
   NULL only when something is unset, setting NULL properly clears
   string values.  Most charset conversions have been pushed down to
   archive_string.
 * Better handling of charset conversion failure when writing or
   reading UTF-8 headers in pax archives
 * archive_entry_linkify() provides multiple strategies for
   hardlink matching to suit different format expectations
 * More accurate bzip2 format detection
 * Joerg Sonnenberger's extensive improvements to mtree support
 * Rough support for self-extracting ZIP archives.  Not an ideal
   approach, but it works for the archives I've tried.
 * New "sparsify" option in archive_write_disk converts blocks of nulls
   into seeks.
 * Better default behavior for the test harness; it now reports
   all failures by default instead of coredumping at the first one.
</pre>
</div>
</content>
</entry>
<entry>
<title>Current 'ar' read support in libarchive can only handle a GNU/SVR4</title>
<updated>2008-03-12T21:10:26+00:00</updated>
<author>
<name>Kai Wang</name>
<email>kaiw@FreeBSD.org</email>
</author>
<published>2008-03-12T21:10:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a739eb83744fdf2f72ebe46953ecdc13a0fe6c57'/>
<id>a739eb83744fdf2f72ebe46953ecdc13a0fe6c57</id>
<content type='text'>
filename table whose size is less than 65536 bytes.

The original intention was to not consume the filename table, so the
client will have a chance to look at it. To achieve that, the library
call decompressor-&gt;read_ahead to read(look ahead) but do not call
decompressor-&gt;consume to consume the data, thus a limit was raised
since read_ahead call can only look ahead at most BUFFER_SIZE(65536)
bytes at the moment, and you can not "look any further" before you
consume what you already "saw".

This commit will turn GNU/SVR4 filename table into "archive format
data", i.e., filename table will be consumed by libarchive, so the
65536-bytes limit will be gone, but client can no longer have access
to the content of filename table.

'ar' support test suite is changed accordingly. BSD ar(1) is not
affected by this change since it doesn't look at the filename table.

Reported by:	erwin
Discussed with:	jkoshy, kientzle
Reviewed by:	jkoshy, kientzle
Approved by:	jkoshy(mentor), kientzle
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
filename table whose size is less than 65536 bytes.

The original intention was to not consume the filename table, so the
client will have a chance to look at it. To achieve that, the library
call decompressor-&gt;read_ahead to read(look ahead) but do not call
decompressor-&gt;consume to consume the data, thus a limit was raised
since read_ahead call can only look ahead at most BUFFER_SIZE(65536)
bytes at the moment, and you can not "look any further" before you
consume what you already "saw".

This commit will turn GNU/SVR4 filename table into "archive format
data", i.e., filename table will be consumed by libarchive, so the
65536-bytes limit will be gone, but client can no longer have access
to the content of filename table.

'ar' support test suite is changed accordingly. BSD ar(1) is not
affected by this change since it doesn't look at the filename table.

Reported by:	erwin
Discussed with:	jkoshy, kientzle
Reviewed by:	jkoshy, kientzle
Approved by:	jkoshy(mentor), kientzle
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify file type setting.</title>
<updated>2008-02-19T05:54:24+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2008-02-19T05:54:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=334a6ee707ca05705b78e445cc099da72efb0fc3'/>
<id>334a6ee707ca05705b78e445cc099da72efb0fc3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update libarchive to 2.4.10.  This includes a number of improvements</title>
<updated>2007-12-30T04:58:22+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2007-12-30T04:58:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9dd49f960f9b30644843e2f2b41bc1579d0aeba3'/>
<id>9dd49f960f9b30644843e2f2b41bc1579d0aeba3</id>
<content type='text'>
that I've been working on but put off committing until after the
RELENG_7 branch, including:

* New manpages: cpio.5 mtree.5
* New archive_entry_strmode()
* New archive_entry_link_resolver()
* New read support: mtree format
* Internal API change:  read format auction only runs once
* Running the auction only once allowed simplifying a lot of bid logic.
* Cpio robustness:  search for next header after a sync error
* Support device nodes on ISO9660 images
* Eliminate a lot of unnecessary copies for uncompressed archives
* Corrected handling of new GNU --sparse --posix formats
* Correctly handle a zero-byte write to a compressed archive
* Fixed memory leaks

Many of these improvements were motivated by the upcoming bsdcpio
front-end.

There have also been extensive improvements to the libarchive_test
test harness, which I'll commit separately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
that I've been working on but put off committing until after the
RELENG_7 branch, including:

* New manpages: cpio.5 mtree.5
* New archive_entry_strmode()
* New archive_entry_link_resolver()
* New read support: mtree format
* Internal API change:  read format auction only runs once
* Running the auction only once allowed simplifying a lot of bid logic.
* Cpio robustness:  search for next header after a sync error
* Support device nodes on ISO9660 images
* Eliminate a lot of unnecessary copies for uncompressed archives
* Corrected handling of new GNU --sparse --posix formats
* Correctly handle a zero-byte write to a compressed archive
* Fixed memory leaks

Many of these improvements were motivated by the upcoming bsdcpio
front-end.

There have also been extensive improvements to the libarchive_test
test harness, which I'll commit separately.
</pre>
</div>
</content>
</entry>
<entry>
<title>libarchive 2.2.3</title>
<updated>2007-05-29T01:00:21+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2007-05-29T01:00:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b48b40f1f8ccea70fb209a05ed3eee1031790500'/>
<id>b48b40f1f8ccea70fb209a05ed3eee1031790500</id>
<content type='text'>
  * "compression_program" support uses an external program
  * Portability: no longer uses "struct stat" as a primary
    data interchange structure internally
  * Part of the above: refactor archive_entry to separate
    out copy_stat() and stat() functions
  * More complete tests for archive_entry
  * Finish archive_entry_clone()
  * Isolate major()/minor()/makedev() in archive_entry; remove
    these from everywhere else.
  * Bug fix: properly handle decompression look-ahead at end-of-data
  * Bug fixes to 'ar' support
  * Fix memory leak in ZIP reader
  * Portability: better timegm() emulation in iso9660 reader
  * New write_disk flags to suppress auto dir creation and not
    overwrite newer files (for future cpio front-end)
  * Simplify trailing-'/' fixup when writing tar and pax
  * Test enhancements:  fix various compiler warnings, improve
    portability, add lots of new tests.
  * Documentation: document new functions, first draft of
    libarchive_internals.3

MFC after: 14 days
Thanks to: Joerg Sonnenberger (compression_program)
Thanks to: Kai Wang (ar)
Thanks to: Colin Percival (many small fixes)
Thanks to: Many others who sent me various patches and problem reports.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  * "compression_program" support uses an external program
  * Portability: no longer uses "struct stat" as a primary
    data interchange structure internally
  * Part of the above: refactor archive_entry to separate
    out copy_stat() and stat() functions
  * More complete tests for archive_entry
  * Finish archive_entry_clone()
  * Isolate major()/minor()/makedev() in archive_entry; remove
    these from everywhere else.
  * Bug fix: properly handle decompression look-ahead at end-of-data
  * Bug fixes to 'ar' support
  * Fix memory leak in ZIP reader
  * Portability: better timegm() emulation in iso9660 reader
  * New write_disk flags to suppress auto dir creation and not
    overwrite newer files (for future cpio front-end)
  * Simplify trailing-'/' fixup when writing tar and pax
  * Test enhancements:  fix various compiler warnings, improve
    portability, add lots of new tests.
  * Documentation: document new functions, first draft of
    libarchive_internals.3

MFC after: 14 days
Thanks to: Joerg Sonnenberger (compression_program)
Thanks to: Kai Wang (ar)
Thanks to: Colin Percival (many small fixes)
Thanks to: Many others who sent me various patches and problem reports.
</pre>
</div>
</content>
</entry>
</feed>
