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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/*-
|
|
2
2
|
* Copyright (c) 2007 Joerg Sonnenberger
|
|
3
|
+
* Copyright (c) 2012 Michihiro NAKAJIMA
|
|
3
4
|
* All rights reserved.
|
|
4
5
|
*
|
|
5
6
|
* Redistribution and use in source and binary forms, with or without
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
*/
|
|
25
26
|
|
|
26
27
|
#include "archive_platform.h"
|
|
27
|
-
__FBSDID("$FreeBSD
|
|
28
|
+
__FBSDID("$FreeBSD$");
|
|
28
29
|
|
|
29
30
|
#ifdef HAVE_SYS_WAIT_H
|
|
30
31
|
# include <sys/wait.h>
|
|
@@ -53,58 +54,41 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_compression_program
|
|
|
53
54
|
|
|
54
55
|
#include "archive.h"
|
|
55
56
|
#include "archive_private.h"
|
|
57
|
+
#include "archive_string.h"
|
|
56
58
|
#include "archive_read_private.h"
|
|
59
|
+
#include "filter_fork.h"
|
|
60
|
+
|
|
57
61
|
|
|
62
|
+
#if ARCHIVE_VERSION_NUMBER < 4000000
|
|
63
|
+
/* Deprecated; remove in libarchive 4.0 */
|
|
58
64
|
int
|
|
59
65
|
archive_read_support_compression_program(struct archive *a, const char *cmd)
|
|
60
66
|
{
|
|
61
|
-
return (
|
|
67
|
+
return archive_read_support_filter_program(a, cmd);
|
|
62
68
|
}
|
|
63
69
|
|
|
64
|
-
|
|
65
|
-
/* This capability is only available on POSIX systems. */
|
|
66
|
-
#if (!defined(HAVE_PIPE) || !defined(HAVE_FCNTL) || \
|
|
67
|
-
!(defined(HAVE_FORK) || defined(HAVE_VFORK))) && (!defined(_WIN32) || defined(__CYGWIN__))
|
|
68
|
-
|
|
69
|
-
/*
|
|
70
|
-
* On non-Posix systems, allow the program to build, but choke if
|
|
71
|
-
* this function is actually invoked.
|
|
72
|
-
*/
|
|
73
70
|
int
|
|
74
|
-
archive_read_support_compression_program_signature(struct archive *
|
|
75
|
-
const char *cmd, void *signature, size_t signature_len)
|
|
71
|
+
archive_read_support_compression_program_signature(struct archive *a,
|
|
72
|
+
const char *cmd, const void *signature, size_t signature_len)
|
|
76
73
|
{
|
|
77
|
-
(
|
|
78
|
-
|
|
79
|
-
(void)signature; /* UNUSED */
|
|
80
|
-
(void)signature_len; /* UNUSED */
|
|
81
|
-
|
|
82
|
-
archive_set_error(_a, -1,
|
|
83
|
-
"External compression programs not supported on this platform");
|
|
84
|
-
return (ARCHIVE_FATAL);
|
|
74
|
+
return archive_read_support_filter_program_signature(a,
|
|
75
|
+
cmd, signature, signature_len);
|
|
85
76
|
}
|
|
77
|
+
#endif
|
|
86
78
|
|
|
87
79
|
int
|
|
88
|
-
|
|
80
|
+
archive_read_support_filter_program(struct archive *a, const char *cmd)
|
|
89
81
|
{
|
|
90
|
-
(
|
|
91
|
-
(void)cmd; /* UNUSED */
|
|
92
|
-
|
|
93
|
-
archive_set_error(&self->archive->archive, -1,
|
|
94
|
-
"External compression programs not supported on this platform");
|
|
95
|
-
return (ARCHIVE_FATAL);
|
|
82
|
+
return (archive_read_support_filter_program_signature(a, cmd, NULL, 0));
|
|
96
83
|
}
|
|
97
84
|
|
|
98
|
-
#else
|
|
99
|
-
|
|
100
|
-
#include "filter_fork.h"
|
|
101
|
-
|
|
102
85
|
/*
|
|
103
86
|
* The bidder object stores the command and the signature to watch for.
|
|
104
87
|
* The 'inhibit' entry here is used to ensure that unchecked filters never
|
|
105
88
|
* bid twice in the same pipeline.
|
|
106
89
|
*/
|
|
107
90
|
struct program_bidder {
|
|
91
|
+
char *description;
|
|
108
92
|
char *cmd;
|
|
109
93
|
void *signature;
|
|
110
94
|
size_t signature_len;
|
|
@@ -114,14 +98,18 @@ struct program_bidder {
|
|
|
114
98
|
static int program_bidder_bid(struct archive_read_filter_bidder *,
|
|
115
99
|
struct archive_read_filter *upstream);
|
|
116
100
|
static int program_bidder_init(struct archive_read_filter *);
|
|
117
|
-
static
|
|
101
|
+
static void program_bidder_free(struct archive_read_filter_bidder *);
|
|
118
102
|
|
|
119
103
|
/*
|
|
120
104
|
* The actual filter needs to track input and output data.
|
|
121
105
|
*/
|
|
122
106
|
struct program_filter {
|
|
123
|
-
|
|
107
|
+
struct archive_string description;
|
|
108
|
+
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
109
|
+
HANDLE child;
|
|
110
|
+
#else
|
|
124
111
|
pid_t child;
|
|
112
|
+
#endif
|
|
125
113
|
int exit_status;
|
|
126
114
|
int waitpid_return;
|
|
127
115
|
int child_stdin, child_stdout;
|
|
@@ -133,54 +121,68 @@ struct program_filter {
|
|
|
133
121
|
static ssize_t program_filter_read(struct archive_read_filter *,
|
|
134
122
|
const void **);
|
|
135
123
|
static int program_filter_close(struct archive_read_filter *);
|
|
124
|
+
static void free_state(struct program_bidder *);
|
|
125
|
+
|
|
126
|
+
static const struct archive_read_filter_bidder_vtable
|
|
127
|
+
program_bidder_vtable = {
|
|
128
|
+
.bid = program_bidder_bid,
|
|
129
|
+
.init = program_bidder_init,
|
|
130
|
+
.free = program_bidder_free,
|
|
131
|
+
};
|
|
136
132
|
|
|
137
133
|
int
|
|
138
|
-
|
|
134
|
+
archive_read_support_filter_program_signature(struct archive *_a,
|
|
139
135
|
const char *cmd, const void *signature, size_t signature_len)
|
|
140
136
|
{
|
|
141
137
|
struct archive_read *a = (struct archive_read *)_a;
|
|
142
|
-
struct archive_read_filter_bidder *bidder;
|
|
143
138
|
struct program_bidder *state;
|
|
144
139
|
|
|
145
|
-
/*
|
|
146
|
-
* Get a bidder object from the read core.
|
|
147
|
-
*/
|
|
148
|
-
bidder = __archive_read_get_bidder(a);
|
|
149
|
-
if (bidder == NULL)
|
|
150
|
-
return (ARCHIVE_FATAL);
|
|
151
|
-
|
|
152
140
|
/*
|
|
153
141
|
* Allocate our private state.
|
|
154
142
|
*/
|
|
155
|
-
state = (struct program_bidder *)calloc(sizeof (*state)
|
|
143
|
+
state = (struct program_bidder *)calloc(1, sizeof (*state));
|
|
156
144
|
if (state == NULL)
|
|
157
|
-
|
|
145
|
+
goto memerr;
|
|
158
146
|
state->cmd = strdup(cmd);
|
|
147
|
+
if (state->cmd == NULL)
|
|
148
|
+
goto memerr;
|
|
149
|
+
|
|
159
150
|
if (signature != NULL && signature_len > 0) {
|
|
160
151
|
state->signature_len = signature_len;
|
|
161
152
|
state->signature = malloc(signature_len);
|
|
162
153
|
memcpy(state->signature, signature, signature_len);
|
|
163
154
|
}
|
|
164
155
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
bidder->init = program_bidder_init;
|
|
171
|
-
bidder->options = NULL;
|
|
172
|
-
bidder->free = program_bidder_free;
|
|
156
|
+
if (__archive_read_register_bidder(a, state, NULL,
|
|
157
|
+
&program_bidder_vtable) != ARCHIVE_OK) {
|
|
158
|
+
free_state(state);
|
|
159
|
+
return (ARCHIVE_FATAL);
|
|
160
|
+
}
|
|
173
161
|
return (ARCHIVE_OK);
|
|
162
|
+
|
|
163
|
+
memerr:
|
|
164
|
+
free_state(state);
|
|
165
|
+
archive_set_error(_a, ENOMEM, "Can't allocate memory");
|
|
166
|
+
return (ARCHIVE_FATAL);
|
|
174
167
|
}
|
|
175
168
|
|
|
176
|
-
static
|
|
169
|
+
static void
|
|
177
170
|
program_bidder_free(struct archive_read_filter_bidder *self)
|
|
178
171
|
{
|
|
179
172
|
struct program_bidder *state = (struct program_bidder *)self->data;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
173
|
+
|
|
174
|
+
free_state(state);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
static void
|
|
178
|
+
free_state(struct program_bidder *state)
|
|
179
|
+
{
|
|
180
|
+
|
|
181
|
+
if (state) {
|
|
182
|
+
free(state->cmd);
|
|
183
|
+
free(state->signature);
|
|
184
|
+
free(state);
|
|
185
|
+
}
|
|
184
186
|
}
|
|
185
187
|
|
|
186
188
|
/*
|
|
@@ -241,6 +243,9 @@ child_stop(struct archive_read_filter *self, struct program_filter *state)
|
|
|
241
243
|
state->waitpid_return
|
|
242
244
|
= waitpid(state->child, &state->exit_status, 0);
|
|
243
245
|
} while (state->waitpid_return == -1 && errno == EINTR);
|
|
246
|
+
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
247
|
+
CloseHandle(state->child);
|
|
248
|
+
#endif
|
|
244
249
|
state->child = 0;
|
|
245
250
|
}
|
|
246
251
|
|
|
@@ -293,11 +298,35 @@ child_read(struct archive_read_filter *self, char *buf, size_t buf_len)
|
|
|
293
298
|
struct program_filter *state = self->data;
|
|
294
299
|
ssize_t ret, requested, avail;
|
|
295
300
|
const char *p;
|
|
301
|
+
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
302
|
+
HANDLE handle = (HANDLE)_get_osfhandle(state->child_stdout);
|
|
303
|
+
#endif
|
|
296
304
|
|
|
297
305
|
requested = buf_len > SSIZE_MAX ? SSIZE_MAX : buf_len;
|
|
298
306
|
|
|
299
307
|
for (;;) {
|
|
300
308
|
do {
|
|
309
|
+
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
310
|
+
/* Avoid infinity wait.
|
|
311
|
+
* Note: If there is no data in the pipe, ReadFile()
|
|
312
|
+
* called in read() never returns and so we won't
|
|
313
|
+
* write remaining encoded data to the pipe.
|
|
314
|
+
* Note: This way may cause performance problem.
|
|
315
|
+
* we are looking forward to great code to resolve
|
|
316
|
+
* this. */
|
|
317
|
+
DWORD pipe_avail = -1;
|
|
318
|
+
int cnt = 2;
|
|
319
|
+
|
|
320
|
+
while (PeekNamedPipe(handle, NULL, 0, NULL,
|
|
321
|
+
&pipe_avail, NULL) != 0 && pipe_avail == 0 &&
|
|
322
|
+
cnt--)
|
|
323
|
+
Sleep(5);
|
|
324
|
+
if (pipe_avail == 0) {
|
|
325
|
+
ret = -1;
|
|
326
|
+
errno = EAGAIN;
|
|
327
|
+
break;
|
|
328
|
+
}
|
|
329
|
+
#endif
|
|
301
330
|
ret = read(state->child_stdout, buf, requested);
|
|
302
331
|
} while (ret == -1 && errno == EINTR);
|
|
303
332
|
|
|
@@ -353,49 +382,59 @@ child_read(struct archive_read_filter *self, char *buf, size_t buf_len)
|
|
|
353
382
|
}
|
|
354
383
|
}
|
|
355
384
|
|
|
385
|
+
static const struct archive_read_filter_vtable
|
|
386
|
+
program_reader_vtable = {
|
|
387
|
+
.read = program_filter_read,
|
|
388
|
+
.close = program_filter_close,
|
|
389
|
+
};
|
|
390
|
+
|
|
356
391
|
int
|
|
357
392
|
__archive_read_program(struct archive_read_filter *self, const char *cmd)
|
|
358
393
|
{
|
|
359
394
|
struct program_filter *state;
|
|
360
395
|
static const size_t out_buf_len = 65536;
|
|
361
396
|
char *out_buf;
|
|
362
|
-
char *description;
|
|
363
397
|
const char *prefix = "Program: ";
|
|
398
|
+
int ret;
|
|
399
|
+
size_t l;
|
|
364
400
|
|
|
401
|
+
l = strlen(prefix) + strlen(cmd) + 1;
|
|
365
402
|
state = (struct program_filter *)calloc(1, sizeof(*state));
|
|
366
403
|
out_buf = (char *)malloc(out_buf_len);
|
|
367
|
-
|
|
368
|
-
|
|
404
|
+
if (state == NULL || out_buf == NULL ||
|
|
405
|
+
archive_string_ensure(&state->description, l) == NULL) {
|
|
369
406
|
archive_set_error(&self->archive->archive, ENOMEM,
|
|
370
407
|
"Can't allocate input data");
|
|
371
|
-
|
|
408
|
+
if (state != NULL) {
|
|
409
|
+
archive_string_free(&state->description);
|
|
410
|
+
free(state);
|
|
411
|
+
}
|
|
372
412
|
free(out_buf);
|
|
373
|
-
free(description);
|
|
374
413
|
return (ARCHIVE_FATAL);
|
|
375
414
|
}
|
|
415
|
+
archive_strcpy(&state->description, prefix);
|
|
416
|
+
archive_strcat(&state->description, cmd);
|
|
376
417
|
|
|
377
|
-
self->code =
|
|
378
|
-
|
|
379
|
-
strcpy(state->description, prefix);
|
|
380
|
-
strcat(state->description, cmd);
|
|
381
|
-
self->name = state->description;
|
|
418
|
+
self->code = ARCHIVE_FILTER_PROGRAM;
|
|
419
|
+
self->name = state->description.s;
|
|
382
420
|
|
|
383
421
|
state->out_buf = out_buf;
|
|
384
422
|
state->out_buf_len = out_buf_len;
|
|
385
423
|
|
|
386
|
-
|
|
387
|
-
|
|
424
|
+
ret = __archive_create_child(cmd, &state->child_stdin,
|
|
425
|
+
&state->child_stdout, &state->child);
|
|
426
|
+
if (ret != ARCHIVE_OK) {
|
|
388
427
|
free(state->out_buf);
|
|
428
|
+
archive_string_free(&state->description);
|
|
389
429
|
free(state);
|
|
390
430
|
archive_set_error(&self->archive->archive, EINVAL,
|
|
391
|
-
"Can't
|
|
431
|
+
"Can't initialize filter; unable to run program \"%s\"",
|
|
432
|
+
cmd);
|
|
392
433
|
return (ARCHIVE_FATAL);
|
|
393
434
|
}
|
|
394
435
|
|
|
395
436
|
self->data = state;
|
|
396
|
-
self->
|
|
397
|
-
self->skip = NULL;
|
|
398
|
-
self->close = program_filter_close;
|
|
437
|
+
self->vtable = &program_reader_vtable;
|
|
399
438
|
|
|
400
439
|
/* XXX Check that we can read at least one byte? */
|
|
401
440
|
return (ARCHIVE_OK);
|
|
@@ -450,10 +489,8 @@ program_filter_close(struct archive_read_filter *self)
|
|
|
450
489
|
|
|
451
490
|
/* Release our private data. */
|
|
452
491
|
free(state->out_buf);
|
|
453
|
-
|
|
492
|
+
archive_string_free(&state->description);
|
|
454
493
|
free(state);
|
|
455
494
|
|
|
456
495
|
return (e);
|
|
457
496
|
}
|
|
458
|
-
|
|
459
|
-
#endif /* !defined(HAVE_PIPE) || !defined(HAVE_VFORK) || !defined(HAVE_FCNTL) */
|
|
@@ -63,23 +63,28 @@ static ssize_t rpm_filter_read(struct archive_read_filter *,
|
|
|
63
63
|
const void **);
|
|
64
64
|
static int rpm_filter_close(struct archive_read_filter *);
|
|
65
65
|
|
|
66
|
+
#if ARCHIVE_VERSION_NUMBER < 4000000
|
|
67
|
+
/* Deprecated; remove in libarchive 4.0 */
|
|
66
68
|
int
|
|
67
|
-
archive_read_support_compression_rpm(struct archive *
|
|
69
|
+
archive_read_support_compression_rpm(struct archive *a)
|
|
68
70
|
{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
return archive_read_support_filter_rpm(a);
|
|
72
|
+
}
|
|
73
|
+
#endif
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
static const struct archive_read_filter_bidder_vtable
|
|
76
|
+
rpm_bidder_vtable = {
|
|
77
|
+
.bid = rpm_bidder_bid,
|
|
78
|
+
.init = rpm_bidder_init,
|
|
79
|
+
};
|
|
76
80
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return (
|
|
81
|
+
int
|
|
82
|
+
archive_read_support_filter_rpm(struct archive *_a)
|
|
83
|
+
{
|
|
84
|
+
struct archive_read *a = (struct archive_read *)_a;
|
|
85
|
+
|
|
86
|
+
return __archive_read_register_bidder(a, NULL, "rpm",
|
|
87
|
+
&rpm_bidder_vtable);
|
|
83
88
|
}
|
|
84
89
|
|
|
85
90
|
static int
|
|
@@ -98,20 +103,11 @@ rpm_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
98
103
|
|
|
99
104
|
bits_checked = 0;
|
|
100
105
|
/*
|
|
101
|
-
* Verify Header Magic Bytes :
|
|
106
|
+
* Verify Header Magic Bytes : 0XED 0XAB 0XEE 0XDB
|
|
102
107
|
*/
|
|
103
|
-
if (b
|
|
108
|
+
if (memcmp(b, "\xED\xAB\xEE\xDB", 4) != 0)
|
|
104
109
|
return (0);
|
|
105
|
-
bits_checked +=
|
|
106
|
-
if (b[1] != 0xab)
|
|
107
|
-
return (0);
|
|
108
|
-
bits_checked += 8;
|
|
109
|
-
if (b[2] != 0xee)
|
|
110
|
-
return (0);
|
|
111
|
-
bits_checked += 8;
|
|
112
|
-
if (b[3] != 0xdb)
|
|
113
|
-
return (0);
|
|
114
|
-
bits_checked += 8;
|
|
110
|
+
bits_checked += 32;
|
|
115
111
|
/*
|
|
116
112
|
* Check major version.
|
|
117
113
|
*/
|
|
@@ -131,16 +127,19 @@ rpm_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
131
127
|
return (bits_checked);
|
|
132
128
|
}
|
|
133
129
|
|
|
130
|
+
static const struct archive_read_filter_vtable
|
|
131
|
+
rpm_reader_vtable = {
|
|
132
|
+
.read = rpm_filter_read,
|
|
133
|
+
.close = rpm_filter_close,
|
|
134
|
+
};
|
|
135
|
+
|
|
134
136
|
static int
|
|
135
137
|
rpm_bidder_init(struct archive_read_filter *self)
|
|
136
138
|
{
|
|
137
139
|
struct rpm *rpm;
|
|
138
140
|
|
|
139
|
-
self->code =
|
|
141
|
+
self->code = ARCHIVE_FILTER_RPM;
|
|
140
142
|
self->name = "rpm";
|
|
141
|
-
self->read = rpm_filter_read;
|
|
142
|
-
self->skip = NULL; /* not supported */
|
|
143
|
-
self->close = rpm_filter_close;
|
|
144
143
|
|
|
145
144
|
rpm = (struct rpm *)calloc(sizeof(*rpm), 1);
|
|
146
145
|
if (rpm == NULL) {
|
|
@@ -151,6 +150,7 @@ rpm_bidder_init(struct archive_read_filter *self)
|
|
|
151
150
|
|
|
152
151
|
self->data = rpm;
|
|
153
152
|
rpm->state = ST_LEAD;
|
|
153
|
+
self->vtable = &rpm_reader_vtable;
|
|
154
154
|
|
|
155
155
|
return (ARCHIVE_OK);
|
|
156
156
|
}
|
|
@@ -187,7 +187,7 @@ rpm_filter_read(struct archive_read_filter *self, const void **buff)
|
|
|
187
187
|
if (rpm->total_in + avail_in < RPM_LEAD_SIZE)
|
|
188
188
|
used += avail_in;
|
|
189
189
|
else {
|
|
190
|
-
n = RPM_LEAD_SIZE - rpm->total_in;
|
|
190
|
+
n = (size_t)(RPM_LEAD_SIZE - rpm->total_in);
|
|
191
191
|
used += n;
|
|
192
192
|
b += n;
|
|
193
193
|
rpm->state = ST_HEADER;
|
|
@@ -214,7 +214,7 @@ rpm_filter_read(struct archive_read_filter *self, const void **buff)
|
|
|
214
214
|
archive_set_error(
|
|
215
215
|
&self->archive->archive,
|
|
216
216
|
ARCHIVE_ERRNO_FILE_FORMAT,
|
|
217
|
-
"
|
|
217
|
+
"Unrecognized rpm header");
|
|
218
218
|
return (ARCHIVE_FATAL);
|
|
219
219
|
}
|
|
220
220
|
rpm->state = ST_ARCHIVE;
|