libarchive-static 1.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/extconf.rb +2 -9
- data/ext/libarchive-0.1.1/ext/archive_read_support_compression.c +6 -6
- data/ext/libarchive-0.1.1/ext/archive_read_support_compression.o +0 -0
- data/ext/libarchive-0.1.1/ext/archive_read_support_format.o +0 -0
- data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.c +1 -1
- data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.o +0 -0
- data/ext/libarchive-0.1.1/ext/archive_write_set_compression.c +5 -5
- data/ext/libarchive-0.1.1/ext/archive_write_set_compression.o +0 -0
- data/ext/libarchive-0.1.1/ext/config.h +23 -0
- data/ext/libarchive-0.1.1/ext/config.log +230 -0
- data/ext/libarchive-0.1.1/ext/config.status +671 -0
- data/ext/libarchive-0.1.1/ext/libarchive.c +1 -1
- data/ext/libarchive-0.1.1/ext/libarchive.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_archive.c +7 -7
- data/ext/libarchive-0.1.1/ext/libarchive_archive.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_entry.c +6 -0
- data/ext/libarchive-0.1.1/ext/libarchive_entry.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_reader.c +6 -4
- data/ext/libarchive-0.1.1/ext/libarchive_reader.o +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_ruby.so +0 -0
- data/ext/libarchive-0.1.1/ext/libarchive_win32.h +1 -1
- data/ext/libarchive-0.1.1/ext/libarchive_writer.c +2 -2
- data/ext/libarchive-0.1.1/ext/libarchive_writer.o +0 -0
- data/ext/libarchive-3.6.2/Makefile.in +16892 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_append_compile_flags.m4 +67 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_append_flag.m4 +71 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_check_compile_flag.m4 +74 -0
- data/ext/libarchive-3.6.2/build/autoconf/ax_require_defined.m4 +37 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/check_stdcall_func.m4 +0 -0
- data/ext/libarchive-3.6.2/build/autoconf/compile +348 -0
- data/ext/libarchive-3.6.2/build/autoconf/config.guess +1754 -0
- data/ext/libarchive-3.6.2/build/autoconf/config.rpath +696 -0
- data/ext/libarchive-3.6.2/build/autoconf/config.sub +1890 -0
- data/ext/libarchive-3.6.2/build/autoconf/depcomp +791 -0
- data/ext/libarchive-3.6.2/build/autoconf/iconv.m4 +271 -0
- data/ext/libarchive-3.6.2/build/autoconf/install-sh +541 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/la_uid_t.m4 +0 -0
- data/ext/libarchive-3.6.2/build/autoconf/lib-ld.m4 +109 -0
- data/ext/libarchive-3.6.2/build/autoconf/lib-link.m4 +777 -0
- data/ext/libarchive-3.6.2/build/autoconf/lib-prefix.m4 +224 -0
- data/ext/libarchive-3.6.2/build/autoconf/ltmain.sh +11251 -0
- data/ext/libarchive-3.6.2/build/autoconf/m4_ax_compile_check_sizeof.m4 +115 -0
- data/ext/libarchive-3.6.2/build/autoconf/missing +215 -0
- data/ext/libarchive-3.6.2/build/autoconf/test-driver +153 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/pkgconfig/libarchive.pc.in +4 -1
- data/ext/libarchive-3.6.2/config.h.in +1504 -0
- data/ext/libarchive-3.6.2/configure +25558 -0
- data/ext/libarchive-3.6.2/libarchive/archive.h +1212 -0
- data/ext/libarchive-3.6.2/libarchive/archive_acl.c +2097 -0
- data/ext/libarchive-3.6.2/libarchive/archive_acl_private.h +83 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2.h +197 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2_impl.h +161 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2s_ref.c +369 -0
- data/ext/libarchive-3.6.2/libarchive/archive_blake2sp_ref.c +361 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_check_magic.c +63 -22
- data/ext/libarchive-3.6.2/libarchive/archive_cmdline.c +227 -0
- data/ext/libarchive-3.6.2/libarchive/archive_cmdline_private.h +47 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_crc32.h +17 -0
- data/ext/libarchive-3.6.2/libarchive/archive_cryptor.c +534 -0
- data/ext/libarchive-3.6.2/libarchive/archive_cryptor_private.h +188 -0
- data/ext/libarchive-3.6.2/libarchive/archive_digest.c +1505 -0
- data/ext/libarchive-3.6.2/libarchive/archive_digest_private.h +416 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_darwin.c +559 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_freebsd.c +712 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_linux.c +760 -0
- data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_sunos.c +824 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_endian.h +48 -15
- data/ext/libarchive-3.6.2/libarchive/archive_entry.c +2149 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry.h +305 -106
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_bhfi.c +5 -4
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_stat.c +9 -3
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_link_resolver.c +104 -62
- data/ext/libarchive-3.6.2/libarchive/archive_entry_locale.h +92 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_private.h +65 -49
- data/ext/libarchive-3.6.2/libarchive/archive_entry_sparse.c +156 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_stat.c +6 -6
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_strmode.c +1 -1
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_xattr.c +4 -6
- data/ext/libarchive-3.6.2/libarchive/archive_getdate.c +1165 -0
- data/ext/libarchive-3.6.2/libarchive/archive_getdate.h +39 -0
- data/ext/libarchive-3.6.2/libarchive/archive_hmac.c +334 -0
- data/ext/libarchive-3.6.2/libarchive/archive_hmac_private.h +117 -0
- data/ext/libarchive-3.6.2/libarchive/archive_match.c +1875 -0
- data/ext/libarchive-3.6.2/libarchive/archive_openssl_evp_private.h +53 -0
- data/ext/libarchive-3.6.2/libarchive/archive_openssl_hmac_private.h +54 -0
- data/ext/libarchive-3.6.2/libarchive/archive_options.c +218 -0
- data/ext/libarchive-3.6.2/libarchive/archive_options_private.h +51 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.c +337 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.h +49 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.c +463 -0
- data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.h +52 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_platform.h +77 -9
- data/ext/libarchive-3.6.2/libarchive/archive_platform_acl.h +55 -0
- data/ext/libarchive-3.6.2/libarchive/archive_platform_xattr.h +47 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd7.c +1168 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd7_private.h +119 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd8.c +1287 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd8_private.h +148 -0
- data/ext/libarchive-3.6.2/libarchive/archive_ppmd_private.h +151 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_private.h +74 -18
- data/ext/libarchive-3.6.2/libarchive/archive_random.c +272 -0
- data/ext/libarchive-3.6.2/libarchive/archive_random_private.h +36 -0
- data/ext/libarchive-3.6.2/libarchive/archive_rb.c +709 -0
- data/ext/libarchive-3.6.2/libarchive/archive_rb.h +113 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read.c +1756 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_add_passphrase.c +190 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_append_filter.c +204 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_data_into_fd.c +64 -18
- data/ext/libarchive-3.6.2/libarchive/archive_read_disk_entry_from_file.c +1086 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_disk_posix.c +2732 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_private.h +40 -4
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_set_standard_lookup.c +21 -11
- data/ext/libarchive-3.6.2/libarchive/archive_read_disk_windows.c +2479 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_extract.c +60 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_extract.c → libarchive-3.6.2/libarchive/archive_read_extract2.c} +34 -61
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_fd.c +70 -49
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_file.c +38 -23
- data/ext/libarchive-3.6.2/libarchive/archive_read_open_filename.c +586 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_memory.c +58 -28
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_private.h +127 -59
- data/ext/libarchive-3.6.2/libarchive/archive_read_set_format.c +117 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_set_options.c +133 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_all.c → libarchive-3.6.2/libarchive/archive_read_support_filter_all.c} +35 -10
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_by_code.c +83 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_bzip2.c → libarchive-3.6.2/libarchive/archive_read_support_filter_bzip2.c} +38 -26
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_compress.c → libarchive-3.6.2/libarchive/archive_read_support_filter_compress.c} +52 -44
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_grzip.c +112 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_gzip.c → libarchive-3.6.2/libarchive/archive_read_support_filter_gzip.c} +108 -37
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lrzip.c +122 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lz4.c +742 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lzop.c +499 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_none.c → libarchive-3.6.2/libarchive/archive_read_support_filter_none.c} +15 -3
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_program.c → libarchive-3.6.2/libarchive/archive_read_support_filter_program.c} +114 -77
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_rpm.c → libarchive-3.6.2/libarchive/archive_read_support_filter_rpm.c} +31 -31
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_uu.c → libarchive-3.6.2/libarchive/archive_read_support_filter_uu.c} +141 -85
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_compression_xz.c → libarchive-3.6.2/libarchive/archive_read_support_filter_xz.c} +369 -284
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_zstd.c +297 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_7zip.c +3900 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_all.c +89 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_ar.c +126 -72
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_by_code.c +92 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cab.c +3228 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cpio.c +1104 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_empty.c +14 -11
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_iso9660.c +990 -541
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_lha.c +2916 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_mtree.c +2150 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar.c +3797 -0
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar5.c +4251 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_raw.c +38 -31
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_tar.c +1157 -629
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_warc.c +848 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_xar.c +439 -258
- data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_zip.c +4270 -0
- data/ext/libarchive-3.6.2/libarchive/archive_string.c +4240 -0
- data/ext/libarchive-3.6.2/libarchive/archive_string.h +243 -0
- data/ext/libarchive-3.6.2/libarchive/archive_string_composition.h +2292 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_string_sprintf.c +44 -16
- data/ext/libarchive-3.6.2/libarchive/archive_util.c +655 -0
- data/ext/libarchive-3.6.2/libarchive/archive_version_details.c +151 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_virtual.c +85 -16
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.c +214 -541
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.h +74 -106
- data/ext/libarchive-3.6.2/libarchive/archive_write.c +828 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter.c +72 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_b64encode.c +304 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_by_name.c +77 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_bzip2.c +401 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_write_set_compression_compress.c → libarchive-3.6.2/libarchive/archive_write_add_filter_compress.c} +86 -131
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_grzip.c +135 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_gzip.c +442 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lrzip.c +197 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lz4.c +700 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lzop.c +478 -0
- data/ext/{libarchive-2.8.4/libarchive/archive_read_support_format_all.c → libarchive-3.6.2/libarchive/archive_write_add_filter_none.c} +11 -11
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_program.c +391 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_uuencode.c +295 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_xz.c +545 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_zstd.c +418 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_disk_posix.c +4711 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_private.h +9 -2
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_set_standard_lookup.c +30 -29
- data/ext/libarchive-3.6.2/libarchive/archive_write_disk_windows.c +2842 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_fd.c +15 -10
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_file.c +15 -9
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_filename.c +128 -20
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_memory.c +7 -18
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_private.h +72 -29
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format.c +56 -3
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_7zip.c +2322 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ar.c +54 -34
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_by_name.c +20 -2
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio.c +11 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_binary.c +610 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_newc.c +457 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_odc.c +500 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_filter_by_ext.c +142 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_gnutar.c +755 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_iso9660.c +8165 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_mtree.c +2217 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_pax.c +1049 -387
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_private.h +42 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_raw.c +125 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_shar.c +62 -47
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ustar.c +279 -108
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_v7tar.c +638 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_warc.c +453 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_xar.c +3259 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_zip.c +1704 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_options.c +130 -0
- data/ext/libarchive-3.6.2/libarchive/archive_write_set_passphrase.c +95 -0
- data/ext/libarchive-3.6.2/libarchive/archive_xxhash.h +48 -0
- data/ext/libarchive-3.6.2/libarchive/config_freebsd.h +271 -0
- data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/filter_fork.h +10 -5
- data/ext/{libarchive-2.8.4/libarchive/filter_fork.c → libarchive-3.6.2/libarchive/filter_fork_posix.c} +98 -19
- data/ext/libarchive-3.6.2/libarchive/filter_fork_windows.c +236 -0
- data/ext/libarchive-3.6.2/libarchive/xxhash.c +525 -0
- data/ext/libarchive-static-makefile +144 -80
- data/ext/libarchive-static-wrapper-makefile +1 -1
- data/ext/zlib-1.2.13/Makefile.in +404 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/adler32.c +51 -34
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/compress.c +27 -21
- data/ext/zlib-1.2.13/configure +922 -0
- data/ext/zlib-1.2.13/crc32.c +1125 -0
- data/ext/zlib-1.2.13/crc32.h +9446 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.c +842 -459
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.h +37 -33
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzclose.c +0 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzguts.h +103 -16
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzlib.c +155 -53
- data/ext/zlib-1.2.13/gzread.c +650 -0
- data/ext/zlib-1.2.13/gzwrite.c +677 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/infback.c +24 -12
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.c +49 -66
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.h +0 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffixed.h +3 -3
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.c +209 -94
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.h +9 -5
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.c +24 -50
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.h +1 -1
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.c +135 -198
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.h +0 -0
- data/ext/zlib-1.2.13/uncompr.c +93 -0
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zconf.h +182 -63
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zlib.h +617 -295
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.c +50 -41
- data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.h +83 -82
- metadata +241 -133
- data/ext/libarchive-0.1.1/libarchive.c +0 -1762
- data/ext/libarchive-2.8.4/Makefile.in +0 -7076
- data/ext/libarchive-2.8.4/build/autoconf/compile +0 -143
- data/ext/libarchive-2.8.4/build/autoconf/config.guess +0 -1502
- data/ext/libarchive-2.8.4/build/autoconf/config.sub +0 -1708
- data/ext/libarchive-2.8.4/build/autoconf/depcomp +0 -630
- data/ext/libarchive-2.8.4/build/autoconf/install-sh +0 -291
- data/ext/libarchive-2.8.4/build/autoconf/ltmain.sh +0 -8406
- data/ext/libarchive-2.8.4/build/autoconf/missing +0 -376
- data/ext/libarchive-2.8.4/config.h.in +0 -772
- data/ext/libarchive-2.8.4/configure +0 -17916
- data/ext/libarchive-2.8.4/libarchive/archive.h +0 -741
- data/ext/libarchive-2.8.4/libarchive/archive_entry.c +0 -2202
- data/ext/libarchive-2.8.4/libarchive/archive_hash.h +0 -281
- data/ext/libarchive-2.8.4/libarchive/archive_read.c +0 -1249
- data/ext/libarchive-2.8.4/libarchive/archive_read_disk.c +0 -198
- data/ext/libarchive-2.8.4/libarchive/archive_read_disk_entry_from_file.c +0 -570
- data/ext/libarchive-2.8.4/libarchive/archive_read_open_filename.c +0 -272
- data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_cpio.c +0 -777
- data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_mtree.c +0 -1304
- data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_zip.c +0 -903
- data/ext/libarchive-2.8.4/libarchive/archive_string.c +0 -453
- data/ext/libarchive-2.8.4/libarchive/archive_string.h +0 -148
- data/ext/libarchive-2.8.4/libarchive/archive_util.c +0 -391
- data/ext/libarchive-2.8.4/libarchive/archive_write.c +0 -466
- data/ext/libarchive-2.8.4/libarchive/archive_write_disk.c +0 -2628
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_bzip2.c +0 -408
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_gzip.c +0 -477
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_none.c +0 -257
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_program.c +0 -347
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_xz.c +0 -438
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio.c +0 -344
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio_newc.c +0 -295
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_mtree.c +0 -1050
- data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_zip.c +0 -667
- data/ext/libarchive-2.8.4/libarchive/config_freebsd.h +0 -154
- data/ext/libarchive-2.8.4/libarchive/filter_fork_windows.c +0 -113
- data/ext/zlib-1.2.5/Makefile.in +0 -257
- data/ext/zlib-1.2.5/configure +0 -596
- data/ext/zlib-1.2.5/crc32.c +0 -442
- data/ext/zlib-1.2.5/crc32.h +0 -441
- data/ext/zlib-1.2.5/example.c +0 -565
- data/ext/zlib-1.2.5/gzread.c +0 -653
- data/ext/zlib-1.2.5/gzwrite.c +0 -531
- data/ext/zlib-1.2.5/minigzip.c +0 -440
- data/ext/zlib-1.2.5/uncompr.c +0 -59
|
@@ -41,22 +41,20 @@ __FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_memory.c,v 1.6 2007/07/
|
|
|
41
41
|
*/
|
|
42
42
|
|
|
43
43
|
struct read_memory_data {
|
|
44
|
-
unsigned char *
|
|
45
|
-
unsigned char *
|
|
44
|
+
const unsigned char *start;
|
|
45
|
+
const unsigned char *p;
|
|
46
|
+
const unsigned char *end;
|
|
46
47
|
ssize_t read_size;
|
|
47
48
|
};
|
|
48
49
|
|
|
49
50
|
static int memory_read_close(struct archive *, void *);
|
|
50
51
|
static int memory_read_open(struct archive *, void *);
|
|
51
|
-
|
|
52
|
-
static
|
|
53
|
-
#else
|
|
54
|
-
static off_t memory_read_skip(struct archive *, void *, off_t request);
|
|
55
|
-
#endif
|
|
52
|
+
static int64_t memory_read_seek(struct archive *, void *, int64_t offset, int whence);
|
|
53
|
+
static int64_t memory_read_skip(struct archive *, void *, int64_t request);
|
|
56
54
|
static ssize_t memory_read(struct archive *, void *, const void **buff);
|
|
57
55
|
|
|
58
56
|
int
|
|
59
|
-
archive_read_open_memory(struct archive *a, void *buff, size_t size)
|
|
57
|
+
archive_read_open_memory(struct archive *a, const void *buff, size_t size)
|
|
60
58
|
{
|
|
61
59
|
return archive_read_open_memory2(a, buff, size, size);
|
|
62
60
|
}
|
|
@@ -67,22 +65,26 @@ archive_read_open_memory(struct archive *a, void *buff, size_t size)
|
|
|
67
65
|
* test harnesses can exercise block operations inside the library.
|
|
68
66
|
*/
|
|
69
67
|
int
|
|
70
|
-
archive_read_open_memory2(struct archive *a, void *buff,
|
|
68
|
+
archive_read_open_memory2(struct archive *a, const void *buff,
|
|
71
69
|
size_t size, size_t read_size)
|
|
72
70
|
{
|
|
73
71
|
struct read_memory_data *mine;
|
|
74
72
|
|
|
75
|
-
mine = (struct read_memory_data *)
|
|
73
|
+
mine = (struct read_memory_data *)calloc(1, sizeof(*mine));
|
|
76
74
|
if (mine == NULL) {
|
|
77
75
|
archive_set_error(a, ENOMEM, "No memory");
|
|
78
76
|
return (ARCHIVE_FATAL);
|
|
79
77
|
}
|
|
80
|
-
|
|
81
|
-
mine->
|
|
82
|
-
mine->end = mine->buffer + size;
|
|
78
|
+
mine->start = mine->p = (const unsigned char *)buff;
|
|
79
|
+
mine->end = mine->start + size;
|
|
83
80
|
mine->read_size = read_size;
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
archive_read_set_open_callback(a, memory_read_open);
|
|
82
|
+
archive_read_set_read_callback(a, memory_read);
|
|
83
|
+
archive_read_set_seek_callback(a, memory_read_seek);
|
|
84
|
+
archive_read_set_skip_callback(a, memory_read_skip);
|
|
85
|
+
archive_read_set_close_callback(a, memory_read_close);
|
|
86
|
+
archive_read_set_callback_data(a, mine);
|
|
87
|
+
return (archive_read_open1(a));
|
|
86
88
|
}
|
|
87
89
|
|
|
88
90
|
/*
|
|
@@ -110,11 +112,11 @@ memory_read(struct archive *a, void *client_data, const void **buff)
|
|
|
110
112
|
ssize_t size;
|
|
111
113
|
|
|
112
114
|
(void)a; /* UNUSED */
|
|
113
|
-
*buff = mine->
|
|
114
|
-
size = mine->end - mine->
|
|
115
|
+
*buff = mine->p;
|
|
116
|
+
size = mine->end - mine->p;
|
|
115
117
|
if (size > mine->read_size)
|
|
116
118
|
size = mine->read_size;
|
|
117
|
-
mine->
|
|
119
|
+
mine->p += size;
|
|
118
120
|
return (size);
|
|
119
121
|
}
|
|
120
122
|
|
|
@@ -123,26 +125,54 @@ memory_read(struct archive *a, void *client_data, const void **buff)
|
|
|
123
125
|
* necessary in order to better exercise internal code when used
|
|
124
126
|
* as a test harness.
|
|
125
127
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
memory_read_skip(struct archive *a, void *client_data, size_t skip)
|
|
129
|
-
#else
|
|
130
|
-
static off_t
|
|
131
|
-
memory_read_skip(struct archive *a, void *client_data, off_t skip)
|
|
132
|
-
#endif
|
|
128
|
+
static int64_t
|
|
129
|
+
memory_read_skip(struct archive *a, void *client_data, int64_t skip)
|
|
133
130
|
{
|
|
134
131
|
struct read_memory_data *mine = (struct read_memory_data *)client_data;
|
|
135
132
|
|
|
136
133
|
(void)a; /* UNUSED */
|
|
137
|
-
if ((
|
|
138
|
-
skip = mine->end - mine->
|
|
134
|
+
if ((int64_t)skip > (int64_t)(mine->end - mine->p))
|
|
135
|
+
skip = mine->end - mine->p;
|
|
139
136
|
/* Round down to block size. */
|
|
140
137
|
skip /= mine->read_size;
|
|
141
138
|
skip *= mine->read_size;
|
|
142
|
-
mine->
|
|
139
|
+
mine->p += skip;
|
|
143
140
|
return (skip);
|
|
144
141
|
}
|
|
145
142
|
|
|
143
|
+
/*
|
|
144
|
+
* Seeking.
|
|
145
|
+
*/
|
|
146
|
+
static int64_t
|
|
147
|
+
memory_read_seek(struct archive *a, void *client_data, int64_t offset, int whence)
|
|
148
|
+
{
|
|
149
|
+
struct read_memory_data *mine = (struct read_memory_data *)client_data;
|
|
150
|
+
|
|
151
|
+
(void)a; /* UNUSED */
|
|
152
|
+
switch (whence) {
|
|
153
|
+
case SEEK_SET:
|
|
154
|
+
mine->p = mine->start + offset;
|
|
155
|
+
break;
|
|
156
|
+
case SEEK_CUR:
|
|
157
|
+
mine->p += offset;
|
|
158
|
+
break;
|
|
159
|
+
case SEEK_END:
|
|
160
|
+
mine->p = mine->end + offset;
|
|
161
|
+
break;
|
|
162
|
+
default:
|
|
163
|
+
return ARCHIVE_FATAL;
|
|
164
|
+
}
|
|
165
|
+
if (mine->p < mine->start) {
|
|
166
|
+
mine->p = mine->start;
|
|
167
|
+
return ARCHIVE_FAILED;
|
|
168
|
+
}
|
|
169
|
+
if (mine->p > mine->end) {
|
|
170
|
+
mine->p = mine->end;
|
|
171
|
+
return ARCHIVE_FAILED;
|
|
172
|
+
}
|
|
173
|
+
return (mine->p - mine->start);
|
|
174
|
+
}
|
|
175
|
+
|
|
146
176
|
/*
|
|
147
177
|
* Close is just cleaning up our one small bit of data.
|
|
148
178
|
*/
|
|
@@ -25,12 +25,14 @@
|
|
|
25
25
|
* $FreeBSD: head/lib/libarchive/archive_read_private.h 201088 2009-12-28 02:18:55Z kientzle $
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
+
#ifndef ARCHIVE_READ_PRIVATE_H_INCLUDED
|
|
29
|
+
#define ARCHIVE_READ_PRIVATE_H_INCLUDED
|
|
30
|
+
|
|
28
31
|
#ifndef __LIBARCHIVE_BUILD
|
|
32
|
+
#ifndef __LIBARCHIVE_TEST
|
|
29
33
|
#error This header is only to be used internally to libarchive.
|
|
30
34
|
#endif
|
|
31
|
-
|
|
32
|
-
#ifndef ARCHIVE_READ_PRIVATE_H_INCLUDED
|
|
33
|
-
#define ARCHIVE_READ_PRIVATE_H_INCLUDED
|
|
35
|
+
#endif
|
|
34
36
|
|
|
35
37
|
#include "archive.h"
|
|
36
38
|
#include "archive_string.h"
|
|
@@ -40,29 +42,46 @@ struct archive_read;
|
|
|
40
42
|
struct archive_read_filter_bidder;
|
|
41
43
|
struct archive_read_filter;
|
|
42
44
|
|
|
45
|
+
struct archive_read_filter_bidder_vtable {
|
|
46
|
+
/* Taste the upstream filter to see if we handle this. */
|
|
47
|
+
int (*bid)(struct archive_read_filter_bidder *,
|
|
48
|
+
struct archive_read_filter *);
|
|
49
|
+
/* Initialize a newly-created filter. */
|
|
50
|
+
int (*init)(struct archive_read_filter *);
|
|
51
|
+
/* Release the bidder's configuration data. */
|
|
52
|
+
void (*free)(struct archive_read_filter_bidder *);
|
|
53
|
+
};
|
|
54
|
+
|
|
43
55
|
/*
|
|
44
56
|
* How bidding works for filters:
|
|
45
|
-
* * The bid manager
|
|
46
|
-
*
|
|
57
|
+
* * The bid manager initializes the client-provided reader as the
|
|
58
|
+
* first filter.
|
|
59
|
+
* * It invokes the bidder for each registered filter with the
|
|
60
|
+
* current head filter.
|
|
61
|
+
* * The bidders can use archive_read_filter_ahead() to peek ahead
|
|
62
|
+
* at the incoming data to compose their bids.
|
|
47
63
|
* * The bid manager creates a new filter structure for the winning
|
|
48
64
|
* bidder and gives the winning bidder a chance to initialize it.
|
|
49
|
-
* * The new filter becomes the top filter
|
|
50
|
-
*
|
|
51
|
-
* This ends only when no bidder provides a non-zero bid.
|
|
65
|
+
* * The new filter becomes the new top filter and we repeat the
|
|
66
|
+
* process.
|
|
67
|
+
* This ends only when no bidder provides a non-zero bid. Then
|
|
68
|
+
* we perform a similar dance with the registered format handlers.
|
|
52
69
|
*/
|
|
53
70
|
struct archive_read_filter_bidder {
|
|
54
71
|
/* Configuration data for the bidder. */
|
|
55
72
|
void *data;
|
|
56
|
-
/*
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/*
|
|
65
|
-
int (*
|
|
73
|
+
/* Name of the filter */
|
|
74
|
+
const char *name;
|
|
75
|
+
const struct archive_read_filter_bidder_vtable *vtable;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
struct archive_read_filter_vtable {
|
|
79
|
+
/* Return next block. */
|
|
80
|
+
ssize_t (*read)(struct archive_read_filter *, const void **);
|
|
81
|
+
/* Close (just this filter) and free(self). */
|
|
82
|
+
int (*close)(struct archive_read_filter *self);
|
|
83
|
+
/* Read any header metadata if available. */
|
|
84
|
+
int (*read_header)(struct archive_read_filter *self, struct archive_entry *entry);
|
|
66
85
|
};
|
|
67
86
|
|
|
68
87
|
/*
|
|
@@ -71,22 +90,20 @@ struct archive_read_filter_bidder {
|
|
|
71
90
|
* corresponding bidder above.
|
|
72
91
|
*/
|
|
73
92
|
struct archive_read_filter {
|
|
93
|
+
int64_t position;
|
|
74
94
|
/* Essentially all filters will need these values, so
|
|
75
95
|
* just declare them here. */
|
|
76
96
|
struct archive_read_filter_bidder *bidder; /* My bidder. */
|
|
77
97
|
struct archive_read_filter *upstream; /* Who I read from. */
|
|
78
98
|
struct archive_read *archive; /* Associated archive. */
|
|
79
|
-
|
|
80
|
-
ssize_t (*read)(struct archive_read_filter *, const void **);
|
|
81
|
-
/* Skip forward this many bytes. */
|
|
82
|
-
int64_t (*skip)(struct archive_read_filter *self, int64_t request);
|
|
83
|
-
/* Close (just this filter) and free(self). */
|
|
84
|
-
int (*close)(struct archive_read_filter *self);
|
|
99
|
+
const struct archive_read_filter_vtable *vtable;
|
|
85
100
|
/* My private data. */
|
|
86
101
|
void *data;
|
|
87
102
|
|
|
88
103
|
const char *name;
|
|
89
104
|
int code;
|
|
105
|
+
int can_skip;
|
|
106
|
+
int can_seek;
|
|
90
107
|
|
|
91
108
|
/* Used by reblocking logic. */
|
|
92
109
|
char *buffer;
|
|
@@ -97,8 +114,8 @@ struct archive_read_filter {
|
|
|
97
114
|
size_t client_total;
|
|
98
115
|
const char *client_next;
|
|
99
116
|
size_t client_avail;
|
|
100
|
-
int64_t position;
|
|
101
117
|
char end_of_file;
|
|
118
|
+
char closed;
|
|
102
119
|
char fatal;
|
|
103
120
|
};
|
|
104
121
|
|
|
@@ -110,10 +127,34 @@ struct archive_read_filter {
|
|
|
110
127
|
* transformation filters. This will probably break the API/ABI and
|
|
111
128
|
* so should be deferred at least until libarchive 3.0.
|
|
112
129
|
*/
|
|
130
|
+
struct archive_read_data_node {
|
|
131
|
+
int64_t begin_position;
|
|
132
|
+
int64_t total_size;
|
|
133
|
+
void *data;
|
|
134
|
+
};
|
|
113
135
|
struct archive_read_client {
|
|
136
|
+
archive_open_callback *opener;
|
|
114
137
|
archive_read_callback *reader;
|
|
115
138
|
archive_skip_callback *skipper;
|
|
139
|
+
archive_seek_callback *seeker;
|
|
116
140
|
archive_close_callback *closer;
|
|
141
|
+
archive_switch_callback *switcher;
|
|
142
|
+
unsigned int nodes;
|
|
143
|
+
unsigned int cursor;
|
|
144
|
+
int64_t position;
|
|
145
|
+
struct archive_read_data_node *dataset;
|
|
146
|
+
};
|
|
147
|
+
struct archive_read_passphrase {
|
|
148
|
+
char *passphrase;
|
|
149
|
+
struct archive_read_passphrase *next;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
struct archive_read_extract {
|
|
153
|
+
struct archive *ad; /* archive_write_disk object */
|
|
154
|
+
|
|
155
|
+
/* Progress function invoked during extract. */
|
|
156
|
+
void (*extract_progress)(void *);
|
|
157
|
+
void *extract_progress_user_data;
|
|
117
158
|
};
|
|
118
159
|
|
|
119
160
|
struct archive_read {
|
|
@@ -122,29 +163,28 @@ struct archive_read {
|
|
|
122
163
|
struct archive_entry *entry;
|
|
123
164
|
|
|
124
165
|
/* Dev/ino of the archive being read/written. */
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
/*
|
|
129
|
-
* Used by archive_read_data() to track blocks and copy
|
|
130
|
-
* data to client buffers, filling gaps with zero bytes.
|
|
131
|
-
*/
|
|
132
|
-
const char *read_data_block;
|
|
133
|
-
off_t read_data_offset;
|
|
134
|
-
off_t read_data_output_offset;
|
|
135
|
-
size_t read_data_remaining;
|
|
166
|
+
int skip_file_set;
|
|
167
|
+
int64_t skip_file_dev;
|
|
168
|
+
int64_t skip_file_ino;
|
|
136
169
|
|
|
137
|
-
/* Callbacks to open/read/write/close client archive
|
|
170
|
+
/* Callbacks to open/read/write/close client archive streams. */
|
|
138
171
|
struct archive_read_client client;
|
|
139
172
|
|
|
140
173
|
/* Registered filter bidders. */
|
|
141
|
-
struct archive_read_filter_bidder bidders[
|
|
174
|
+
struct archive_read_filter_bidder bidders[16];
|
|
142
175
|
|
|
143
176
|
/* Last filter in chain */
|
|
144
177
|
struct archive_read_filter *filter;
|
|
145
178
|
|
|
179
|
+
/* Whether to bypass filter bidding process */
|
|
180
|
+
int bypass_filter_bidding;
|
|
181
|
+
|
|
146
182
|
/* File offset of beginning of most recently-read header. */
|
|
147
|
-
|
|
183
|
+
int64_t header_position;
|
|
184
|
+
|
|
185
|
+
/* Nodes and offsets of compressed data block */
|
|
186
|
+
unsigned int data_start_node;
|
|
187
|
+
unsigned int data_end_node;
|
|
148
188
|
|
|
149
189
|
/*
|
|
150
190
|
* Format detection is mostly the same as compression
|
|
@@ -157,43 +197,71 @@ struct archive_read {
|
|
|
157
197
|
struct archive_format_descriptor {
|
|
158
198
|
void *data;
|
|
159
199
|
const char *name;
|
|
160
|
-
int (*bid)(struct archive_read
|
|
200
|
+
int (*bid)(struct archive_read *, int best_bid);
|
|
161
201
|
int (*options)(struct archive_read *, const char *key,
|
|
162
202
|
const char *value);
|
|
163
203
|
int (*read_header)(struct archive_read *, struct archive_entry *);
|
|
164
|
-
int (*read_data)(struct archive_read *, const void **, size_t *,
|
|
204
|
+
int (*read_data)(struct archive_read *, const void **, size_t *, int64_t *);
|
|
165
205
|
int (*read_data_skip)(struct archive_read *);
|
|
206
|
+
int64_t (*seek_data)(struct archive_read *, int64_t, int);
|
|
166
207
|
int (*cleanup)(struct archive_read *);
|
|
167
|
-
|
|
208
|
+
int (*format_capabilties)(struct archive_read *);
|
|
209
|
+
int (*has_encrypted_entries)(struct archive_read *);
|
|
210
|
+
} formats[16];
|
|
168
211
|
struct archive_format_descriptor *format; /* Active format. */
|
|
169
212
|
|
|
170
213
|
/*
|
|
171
214
|
* Various information needed by archive_extract.
|
|
172
215
|
*/
|
|
173
|
-
struct
|
|
216
|
+
struct archive_read_extract *extract;
|
|
174
217
|
int (*cleanup_archive_extract)(struct archive_read *);
|
|
218
|
+
|
|
219
|
+
/*
|
|
220
|
+
* Decryption passphrase.
|
|
221
|
+
*/
|
|
222
|
+
struct {
|
|
223
|
+
struct archive_read_passphrase *first;
|
|
224
|
+
struct archive_read_passphrase **last;
|
|
225
|
+
int candidate;
|
|
226
|
+
archive_passphrase_callback *callback;
|
|
227
|
+
void *client_data;
|
|
228
|
+
} passphrases;
|
|
175
229
|
};
|
|
176
230
|
|
|
177
231
|
int __archive_read_register_format(struct archive_read *a,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
struct
|
|
188
|
-
|
|
232
|
+
void *format_data,
|
|
233
|
+
const char *name,
|
|
234
|
+
int (*bid)(struct archive_read *, int),
|
|
235
|
+
int (*options)(struct archive_read *, const char *, const char *),
|
|
236
|
+
int (*read_header)(struct archive_read *, struct archive_entry *),
|
|
237
|
+
int (*read_data)(struct archive_read *, const void **, size_t *, int64_t *),
|
|
238
|
+
int (*read_data_skip)(struct archive_read *),
|
|
239
|
+
int64_t (*seek_data)(struct archive_read *, int64_t, int),
|
|
240
|
+
int (*cleanup)(struct archive_read *),
|
|
241
|
+
int (*format_capabilities)(struct archive_read *),
|
|
242
|
+
int (*has_encrypted_entries)(struct archive_read *));
|
|
243
|
+
|
|
244
|
+
int __archive_read_register_bidder(struct archive_read *a,
|
|
245
|
+
void *bidder_data,
|
|
246
|
+
const char *name,
|
|
247
|
+
const struct archive_read_filter_bidder_vtable *vtable);
|
|
189
248
|
|
|
190
249
|
const void *__archive_read_ahead(struct archive_read *, size_t, ssize_t *);
|
|
191
250
|
const void *__archive_read_filter_ahead(struct archive_read_filter *,
|
|
192
251
|
size_t, ssize_t *);
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
int64_t
|
|
196
|
-
int64_t
|
|
197
|
-
|
|
252
|
+
int64_t __archive_read_seek(struct archive_read*, int64_t, int);
|
|
253
|
+
int64_t __archive_read_filter_seek(struct archive_read_filter *, int64_t, int);
|
|
254
|
+
int64_t __archive_read_consume(struct archive_read *, int64_t);
|
|
255
|
+
int64_t __archive_read_filter_consume(struct archive_read_filter *, int64_t);
|
|
256
|
+
int __archive_read_header(struct archive_read *, struct archive_entry *);
|
|
198
257
|
int __archive_read_program(struct archive_read_filter *, const char *);
|
|
258
|
+
void __archive_read_free_filters(struct archive_read *);
|
|
259
|
+
struct archive_read_extract *__archive_read_get_extract(struct archive_read *);
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
/*
|
|
263
|
+
* Get a decryption passphrase.
|
|
264
|
+
*/
|
|
265
|
+
void __archive_read_reset_passphrase(struct archive_read *a);
|
|
266
|
+
const char * __archive_read_next_passphrase(struct archive_read *a);
|
|
199
267
|
#endif
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*-
|
|
2
|
+
* Copyright (c) 2003-2012 Tim Kientzle
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions
|
|
7
|
+
* are met:
|
|
8
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
9
|
+
* notice, this list of conditions and the following disclaimer.
|
|
10
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
12
|
+
* documentation and/or other materials provided with the distribution.
|
|
13
|
+
*
|
|
14
|
+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
|
|
15
|
+
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
16
|
+
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
17
|
+
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
18
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
19
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
20
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
21
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
22
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
23
|
+
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
#include "archive_platform.h"
|
|
27
|
+
__FBSDID("$FreeBSD$");
|
|
28
|
+
|
|
29
|
+
#ifdef HAVE_ERRNO_H
|
|
30
|
+
#include <errno.h>
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
#include "archive.h"
|
|
34
|
+
#include "archive_private.h"
|
|
35
|
+
#include "archive_read_private.h"
|
|
36
|
+
|
|
37
|
+
int
|
|
38
|
+
archive_read_set_format(struct archive *_a, int code)
|
|
39
|
+
{
|
|
40
|
+
int r1, r2, slots, i;
|
|
41
|
+
char str[10];
|
|
42
|
+
struct archive_read *a = (struct archive_read *)_a;
|
|
43
|
+
|
|
44
|
+
if ((r1 = archive_read_support_format_by_code(_a, code)) < (ARCHIVE_OK))
|
|
45
|
+
return r1;
|
|
46
|
+
|
|
47
|
+
r1 = r2 = (ARCHIVE_OK);
|
|
48
|
+
if (a->format)
|
|
49
|
+
r2 = (ARCHIVE_WARN);
|
|
50
|
+
switch (code & ARCHIVE_FORMAT_BASE_MASK)
|
|
51
|
+
{
|
|
52
|
+
case ARCHIVE_FORMAT_7ZIP:
|
|
53
|
+
strcpy(str, "7zip");
|
|
54
|
+
break;
|
|
55
|
+
case ARCHIVE_FORMAT_AR:
|
|
56
|
+
strcpy(str, "ar");
|
|
57
|
+
break;
|
|
58
|
+
case ARCHIVE_FORMAT_CAB:
|
|
59
|
+
strcpy(str, "cab");
|
|
60
|
+
break;
|
|
61
|
+
case ARCHIVE_FORMAT_CPIO:
|
|
62
|
+
strcpy(str, "cpio");
|
|
63
|
+
break;
|
|
64
|
+
case ARCHIVE_FORMAT_EMPTY:
|
|
65
|
+
strcpy(str, "empty");
|
|
66
|
+
break;
|
|
67
|
+
case ARCHIVE_FORMAT_ISO9660:
|
|
68
|
+
strcpy(str, "iso9660");
|
|
69
|
+
break;
|
|
70
|
+
case ARCHIVE_FORMAT_LHA:
|
|
71
|
+
strcpy(str, "lha");
|
|
72
|
+
break;
|
|
73
|
+
case ARCHIVE_FORMAT_MTREE:
|
|
74
|
+
strcpy(str, "mtree");
|
|
75
|
+
break;
|
|
76
|
+
case ARCHIVE_FORMAT_RAR:
|
|
77
|
+
strcpy(str, "rar");
|
|
78
|
+
break;
|
|
79
|
+
case ARCHIVE_FORMAT_RAR_V5:
|
|
80
|
+
strcpy(str, "rar5");
|
|
81
|
+
break;
|
|
82
|
+
case ARCHIVE_FORMAT_RAW:
|
|
83
|
+
strcpy(str, "raw");
|
|
84
|
+
break;
|
|
85
|
+
case ARCHIVE_FORMAT_TAR:
|
|
86
|
+
strcpy(str, "tar");
|
|
87
|
+
break;
|
|
88
|
+
case ARCHIVE_FORMAT_WARC:
|
|
89
|
+
strcpy(str, "warc");
|
|
90
|
+
break;
|
|
91
|
+
case ARCHIVE_FORMAT_XAR:
|
|
92
|
+
strcpy(str, "xar");
|
|
93
|
+
break;
|
|
94
|
+
case ARCHIVE_FORMAT_ZIP:
|
|
95
|
+
strcpy(str, "zip");
|
|
96
|
+
break;
|
|
97
|
+
default:
|
|
98
|
+
archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
|
|
99
|
+
"Invalid format code specified");
|
|
100
|
+
return (ARCHIVE_FATAL);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
slots = sizeof(a->formats) / sizeof(a->formats[0]);
|
|
104
|
+
a->format = &(a->formats[0]);
|
|
105
|
+
for (i = 0; i < slots; i++, a->format++) {
|
|
106
|
+
if (!a->format->name || !strcmp(a->format->name, str))
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
if (!a->format->name || strcmp(a->format->name, str))
|
|
110
|
+
{
|
|
111
|
+
archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
|
|
112
|
+
"Internal error: Unable to set format");
|
|
113
|
+
r1 = (ARCHIVE_FATAL);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return (r1 < r2) ? r1 : r2;
|
|
117
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/*-
|
|
2
|
+
* Copyright (c) 2011 Tim Kientzle
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Redistribution and use in source and binary forms, with or without
|
|
6
|
+
* modification, are permitted provided that the following conditions
|
|
7
|
+
* are met:
|
|
8
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
9
|
+
* notice, this list of conditions and the following disclaimer.
|
|
10
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
12
|
+
* documentation and/or other materials provided with the distribution.
|
|
13
|
+
*
|
|
14
|
+
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
|
|
15
|
+
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
16
|
+
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
17
|
+
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
18
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
19
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
20
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
21
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
22
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
23
|
+
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
#include "archive_platform.h"
|
|
27
|
+
__FBSDID("$FreeBSD$");
|
|
28
|
+
|
|
29
|
+
#include "archive_read_private.h"
|
|
30
|
+
#include "archive_options_private.h"
|
|
31
|
+
|
|
32
|
+
static int archive_set_format_option(struct archive *a,
|
|
33
|
+
const char *m, const char *o, const char *v);
|
|
34
|
+
static int archive_set_filter_option(struct archive *a,
|
|
35
|
+
const char *m, const char *o, const char *v);
|
|
36
|
+
static int archive_set_option(struct archive *a,
|
|
37
|
+
const char *m, const char *o, const char *v);
|
|
38
|
+
|
|
39
|
+
int
|
|
40
|
+
archive_read_set_format_option(struct archive *a, const char *m, const char *o,
|
|
41
|
+
const char *v)
|
|
42
|
+
{
|
|
43
|
+
return _archive_set_option(a, m, o, v,
|
|
44
|
+
ARCHIVE_READ_MAGIC, "archive_read_set_format_option",
|
|
45
|
+
archive_set_format_option);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
int
|
|
49
|
+
archive_read_set_filter_option(struct archive *a, const char *m, const char *o,
|
|
50
|
+
const char *v)
|
|
51
|
+
{
|
|
52
|
+
return _archive_set_option(a, m, o, v,
|
|
53
|
+
ARCHIVE_READ_MAGIC, "archive_read_set_filter_option",
|
|
54
|
+
archive_set_filter_option);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
int
|
|
58
|
+
archive_read_set_option(struct archive *a, const char *m, const char *o,
|
|
59
|
+
const char *v)
|
|
60
|
+
{
|
|
61
|
+
return _archive_set_option(a, m, o, v,
|
|
62
|
+
ARCHIVE_READ_MAGIC, "archive_read_set_option",
|
|
63
|
+
archive_set_option);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
int
|
|
67
|
+
archive_read_set_options(struct archive *a, const char *options)
|
|
68
|
+
{
|
|
69
|
+
return _archive_set_options(a, options,
|
|
70
|
+
ARCHIVE_READ_MAGIC, "archive_read_set_options",
|
|
71
|
+
archive_set_option);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static int
|
|
75
|
+
archive_set_format_option(struct archive *_a, const char *m, const char *o,
|
|
76
|
+
const char *v)
|
|
77
|
+
{
|
|
78
|
+
struct archive_read *a = (struct archive_read *)_a;
|
|
79
|
+
size_t i;
|
|
80
|
+
int r, rv = ARCHIVE_WARN, matched_modules = 0;
|
|
81
|
+
|
|
82
|
+
for (i = 0; i < sizeof(a->formats)/sizeof(a->formats[0]); i++) {
|
|
83
|
+
struct archive_format_descriptor *format = &a->formats[i];
|
|
84
|
+
|
|
85
|
+
if (format->options == NULL || format->name == NULL)
|
|
86
|
+
/* This format does not support option. */
|
|
87
|
+
continue;
|
|
88
|
+
if (m != NULL) {
|
|
89
|
+
if (strcmp(format->name, m) != 0)
|
|
90
|
+
continue;
|
|
91
|
+
++matched_modules;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
a->format = format;
|
|
95
|
+
r = format->options(a, o, v);
|
|
96
|
+
a->format = NULL;
|
|
97
|
+
|
|
98
|
+
if (r == ARCHIVE_FATAL)
|
|
99
|
+
return (ARCHIVE_FATAL);
|
|
100
|
+
|
|
101
|
+
if (r == ARCHIVE_OK)
|
|
102
|
+
rv = ARCHIVE_OK;
|
|
103
|
+
}
|
|
104
|
+
/* If the format name didn't match, return a special code for
|
|
105
|
+
* _archive_set_option[s]. */
|
|
106
|
+
if (m != NULL && matched_modules == 0)
|
|
107
|
+
return ARCHIVE_WARN - 1;
|
|
108
|
+
return (rv);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
static int
|
|
112
|
+
archive_set_filter_option(struct archive *_a, const char *m, const char *o,
|
|
113
|
+
const char *v)
|
|
114
|
+
{
|
|
115
|
+
(void)_a; /* UNUSED */
|
|
116
|
+
(void)o; /* UNUSED */
|
|
117
|
+
(void)v; /* UNUSED */
|
|
118
|
+
|
|
119
|
+
/* If the filter name didn't match, return a special code for
|
|
120
|
+
* _archive_set_option[s]. */
|
|
121
|
+
if (m != NULL)
|
|
122
|
+
return ARCHIVE_WARN - 1;
|
|
123
|
+
return ARCHIVE_WARN;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
static int
|
|
127
|
+
archive_set_option(struct archive *a, const char *m, const char *o,
|
|
128
|
+
const char *v)
|
|
129
|
+
{
|
|
130
|
+
return _archive_set_either_option(a, m, o, v,
|
|
131
|
+
archive_set_format_option,
|
|
132
|
+
archive_set_filter_option);
|
|
133
|
+
}
|