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,5 @@
|
|
|
1
1
|
/*-
|
|
2
|
-
* Copyright (c) 2009 Michihiro NAKAJIMA
|
|
2
|
+
* Copyright (c) 2009-2011 Michihiro NAKAJIMA
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* Redistribution and use in source and binary forms, with or without
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
#include "archive_platform.h"
|
|
27
|
-
__FBSDID("$FreeBSD
|
|
27
|
+
__FBSDID("$FreeBSD$");
|
|
28
28
|
|
|
29
29
|
#ifdef HAVE_ERRNO_H
|
|
30
30
|
#include <errno.h>
|
|
@@ -40,6 +40,9 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_compression_uu.c 20
|
|
|
40
40
|
#include "archive_private.h"
|
|
41
41
|
#include "archive_read_private.h"
|
|
42
42
|
|
|
43
|
+
/* Maximum lookahead during bid phase */
|
|
44
|
+
#define UUENCODE_BID_MAX_READ 128*1024 /* in bytes */
|
|
45
|
+
|
|
43
46
|
struct uudecode {
|
|
44
47
|
int64_t total;
|
|
45
48
|
unsigned char *in_buff;
|
|
@@ -53,6 +56,7 @@ struct uudecode {
|
|
|
53
56
|
#define ST_READ_UU 1
|
|
54
57
|
#define ST_UUEND 2
|
|
55
58
|
#define ST_READ_BASE64 3
|
|
59
|
+
#define ST_IGNORE 4
|
|
56
60
|
};
|
|
57
61
|
|
|
58
62
|
static int uudecode_bidder_bid(struct archive_read_filter_bidder *,
|
|
@@ -63,23 +67,28 @@ static ssize_t uudecode_filter_read(struct archive_read_filter *,
|
|
|
63
67
|
const void **);
|
|
64
68
|
static int uudecode_filter_close(struct archive_read_filter *);
|
|
65
69
|
|
|
70
|
+
#if ARCHIVE_VERSION_NUMBER < 4000000
|
|
71
|
+
/* Deprecated; remove in libarchive 4.0 */
|
|
66
72
|
int
|
|
67
|
-
archive_read_support_compression_uu(struct archive *
|
|
73
|
+
archive_read_support_compression_uu(struct archive *a)
|
|
68
74
|
{
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
return archive_read_support_filter_uu(a);
|
|
76
|
+
}
|
|
77
|
+
#endif
|
|
71
78
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
static const struct archive_read_filter_bidder_vtable
|
|
80
|
+
uudecode_bidder_vtable = {
|
|
81
|
+
.bid = uudecode_bidder_bid,
|
|
82
|
+
.init = uudecode_bidder_init,
|
|
83
|
+
};
|
|
76
84
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return (
|
|
85
|
+
int
|
|
86
|
+
archive_read_support_filter_uu(struct archive *_a)
|
|
87
|
+
{
|
|
88
|
+
struct archive_read *a = (struct archive_read *)_a;
|
|
89
|
+
|
|
90
|
+
return __archive_read_register_bidder(a, NULL, "uu",
|
|
91
|
+
&uudecode_bidder_vtable);
|
|
83
92
|
}
|
|
84
93
|
|
|
85
94
|
static const unsigned char ascii[256] = {
|
|
@@ -194,7 +203,8 @@ get_line(const unsigned char *b, ssize_t avail, ssize_t *nlsize)
|
|
|
194
203
|
|
|
195
204
|
static ssize_t
|
|
196
205
|
bid_get_line(struct archive_read_filter *filter,
|
|
197
|
-
const unsigned char **b, ssize_t *avail, ssize_t *ravail,
|
|
206
|
+
const unsigned char **b, ssize_t *avail, ssize_t *ravail,
|
|
207
|
+
ssize_t *nl, size_t* nbytes_read)
|
|
198
208
|
{
|
|
199
209
|
ssize_t len;
|
|
200
210
|
int quit;
|
|
@@ -205,24 +215,37 @@ bid_get_line(struct archive_read_filter *filter,
|
|
|
205
215
|
len = 0;
|
|
206
216
|
} else
|
|
207
217
|
len = get_line(*b, *avail, nl);
|
|
218
|
+
|
|
208
219
|
/*
|
|
209
220
|
* Read bytes more while it does not reach the end of line.
|
|
210
221
|
*/
|
|
211
|
-
while (*nl == 0 && len == *avail && !quit
|
|
222
|
+
while (*nl == 0 && len == *avail && !quit &&
|
|
223
|
+
*nbytes_read < UUENCODE_BID_MAX_READ) {
|
|
212
224
|
ssize_t diff = *ravail - *avail;
|
|
225
|
+
size_t nbytes_req = (*ravail+1023) & ~1023U;
|
|
226
|
+
ssize_t tested;
|
|
227
|
+
|
|
228
|
+
/* Increase reading bytes if it is not enough to at least
|
|
229
|
+
* new two lines. */
|
|
230
|
+
if (nbytes_req < (size_t)*ravail + 160)
|
|
231
|
+
nbytes_req <<= 1;
|
|
213
232
|
|
|
214
|
-
*b = __archive_read_filter_ahead(filter,
|
|
233
|
+
*b = __archive_read_filter_ahead(filter, nbytes_req, avail);
|
|
215
234
|
if (*b == NULL) {
|
|
216
235
|
if (*ravail >= *avail)
|
|
217
236
|
return (0);
|
|
218
|
-
/* Reading bytes reaches the end of
|
|
237
|
+
/* Reading bytes reaches the end of a stream. */
|
|
219
238
|
*b = __archive_read_filter_ahead(filter, *avail, avail);
|
|
220
239
|
quit = 1;
|
|
221
240
|
}
|
|
241
|
+
*nbytes_read = *avail;
|
|
222
242
|
*ravail = *avail;
|
|
223
243
|
*b += diff;
|
|
224
244
|
*avail -= diff;
|
|
225
|
-
|
|
245
|
+
tested = len;/* Skip some bytes we already determined. */
|
|
246
|
+
len = get_line(*b + tested, *avail - tested, nl);
|
|
247
|
+
if (len >= 0)
|
|
248
|
+
len += tested;
|
|
226
249
|
}
|
|
227
250
|
return (len);
|
|
228
251
|
}
|
|
@@ -238,6 +261,7 @@ uudecode_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
238
261
|
ssize_t len, nl;
|
|
239
262
|
int l;
|
|
240
263
|
int firstline;
|
|
264
|
+
size_t nbytes_read;
|
|
241
265
|
|
|
242
266
|
(void)self; /* UNUSED */
|
|
243
267
|
|
|
@@ -247,13 +271,14 @@ uudecode_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
247
271
|
|
|
248
272
|
firstline = 20;
|
|
249
273
|
ravail = avail;
|
|
274
|
+
nbytes_read = avail;
|
|
250
275
|
for (;;) {
|
|
251
|
-
len = bid_get_line(filter, &b, &avail, &ravail, &nl);
|
|
276
|
+
len = bid_get_line(filter, &b, &avail, &ravail, &nl, &nbytes_read);
|
|
252
277
|
if (len < 0 || nl == 0)
|
|
253
|
-
return (0)
|
|
254
|
-
if (memcmp(b, "begin ", 6) == 0
|
|
278
|
+
return (0); /* No match found. */
|
|
279
|
+
if (len - nl >= 11 && memcmp(b, "begin ", 6) == 0)
|
|
255
280
|
l = 6;
|
|
256
|
-
else if (memcmp(b, "begin-base64 ", 13) == 0
|
|
281
|
+
else if (len -nl >= 18 && memcmp(b, "begin-base64 ", 13) == 0)
|
|
257
282
|
l = 13;
|
|
258
283
|
else
|
|
259
284
|
l = 0;
|
|
@@ -268,15 +293,20 @@ uudecode_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
268
293
|
if (l)
|
|
269
294
|
break;
|
|
270
295
|
firstline = 0;
|
|
296
|
+
|
|
297
|
+
/* Do not read more than UUENCODE_BID_MAX_READ bytes */
|
|
298
|
+
if (nbytes_read >= UUENCODE_BID_MAX_READ)
|
|
299
|
+
return (0);
|
|
271
300
|
}
|
|
272
301
|
if (!avail)
|
|
273
302
|
return (0);
|
|
274
|
-
len = bid_get_line(filter, &b, &avail, &ravail, &nl);
|
|
303
|
+
len = bid_get_line(filter, &b, &avail, &ravail, &nl, &nbytes_read);
|
|
275
304
|
if (len < 0 || nl == 0)
|
|
276
305
|
return (0);/* There are non-ascii characters. */
|
|
277
306
|
avail -= len;
|
|
278
307
|
|
|
279
308
|
if (l == 6) {
|
|
309
|
+
/* "begin " */
|
|
280
310
|
if (!uuchar[*b])
|
|
281
311
|
return (0);
|
|
282
312
|
/* Get a length of decoded bytes. */
|
|
@@ -284,30 +314,14 @@ uudecode_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
284
314
|
if (l > 45)
|
|
285
315
|
/* Normally, maximum length is 45(character 'M'). */
|
|
286
316
|
return (0);
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
--l;
|
|
295
|
-
}
|
|
296
|
-
if (l > 0) {
|
|
297
|
-
if (!uuchar[*b++])
|
|
298
|
-
return (0);
|
|
299
|
-
--len;
|
|
300
|
-
--l;
|
|
301
|
-
}
|
|
302
|
-
if (l > 0) {
|
|
303
|
-
if (!uuchar[*b++])
|
|
304
|
-
return (0);
|
|
305
|
-
--len;
|
|
306
|
-
--l;
|
|
307
|
-
}
|
|
317
|
+
if (l > len - nl)
|
|
318
|
+
return (0); /* Line too short. */
|
|
319
|
+
while (l) {
|
|
320
|
+
if (!uuchar[*b++])
|
|
321
|
+
return (0);
|
|
322
|
+
--len;
|
|
323
|
+
--l;
|
|
308
324
|
}
|
|
309
|
-
if (len-nl < 0)
|
|
310
|
-
return (0);
|
|
311
325
|
if (len-nl == 1 &&
|
|
312
326
|
(uuchar[*b] || /* Check sum. */
|
|
313
327
|
(*b >= 'a' && *b <= 'z'))) {/* Padding data(MINIX). */
|
|
@@ -317,8 +331,8 @@ uudecode_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
317
331
|
b += nl;
|
|
318
332
|
if (avail && uuchar[*b])
|
|
319
333
|
return (firstline+30);
|
|
320
|
-
}
|
|
321
|
-
|
|
334
|
+
} else if (l == 13) {
|
|
335
|
+
/* "begin-base64 " */
|
|
322
336
|
while (len-nl > 0) {
|
|
323
337
|
if (!base64[*b++])
|
|
324
338
|
return (0);
|
|
@@ -337,6 +351,12 @@ uudecode_bidder_bid(struct archive_read_filter_bidder *self,
|
|
|
337
351
|
return (0);
|
|
338
352
|
}
|
|
339
353
|
|
|
354
|
+
static const struct archive_read_filter_vtable
|
|
355
|
+
uudecode_reader_vtable = {
|
|
356
|
+
.read = uudecode_filter_read,
|
|
357
|
+
.close = uudecode_filter_close,
|
|
358
|
+
};
|
|
359
|
+
|
|
340
360
|
static int
|
|
341
361
|
uudecode_bidder_init(struct archive_read_filter *self)
|
|
342
362
|
{
|
|
@@ -344,11 +364,8 @@ uudecode_bidder_init(struct archive_read_filter *self)
|
|
|
344
364
|
void *out_buff;
|
|
345
365
|
void *in_buff;
|
|
346
366
|
|
|
347
|
-
self->code =
|
|
367
|
+
self->code = ARCHIVE_FILTER_UU;
|
|
348
368
|
self->name = "uu";
|
|
349
|
-
self->read = uudecode_filter_read;
|
|
350
|
-
self->skip = NULL; /* not supported */
|
|
351
|
-
self->close = uudecode_filter_close;
|
|
352
369
|
|
|
353
370
|
uudecode = (struct uudecode *)calloc(sizeof(*uudecode), 1);
|
|
354
371
|
out_buff = malloc(OUT_BUFF_SIZE);
|
|
@@ -368,6 +385,7 @@ uudecode_bidder_init(struct archive_read_filter *self)
|
|
|
368
385
|
uudecode->in_allocated = IN_BUFF_SIZE;
|
|
369
386
|
uudecode->out_buff = out_buff;
|
|
370
387
|
uudecode->state = ST_FIND_HEAD;
|
|
388
|
+
self->vtable = &uudecode_reader_vtable;
|
|
371
389
|
|
|
372
390
|
return (ARCHIVE_OK);
|
|
373
391
|
}
|
|
@@ -381,19 +399,30 @@ ensure_in_buff_size(struct archive_read_filter *self,
|
|
|
381
399
|
unsigned char *ptr;
|
|
382
400
|
size_t newsize;
|
|
383
401
|
|
|
384
|
-
|
|
402
|
+
/*
|
|
403
|
+
* Calculate a new buffer size for in_buff.
|
|
404
|
+
* Increase its value until it has enough size we need.
|
|
405
|
+
*/
|
|
406
|
+
newsize = uudecode->in_allocated;
|
|
407
|
+
do {
|
|
408
|
+
if (newsize < IN_BUFF_SIZE*32)
|
|
409
|
+
newsize <<= 1;
|
|
410
|
+
else
|
|
411
|
+
newsize += IN_BUFF_SIZE;
|
|
412
|
+
} while (size > newsize);
|
|
413
|
+
/* Allocate the new buffer. */
|
|
385
414
|
ptr = malloc(newsize);
|
|
386
|
-
if (ptr == NULL
|
|
387
|
-
newsize < uudecode->in_allocated) {
|
|
415
|
+
if (ptr == NULL) {
|
|
388
416
|
free(ptr);
|
|
389
417
|
archive_set_error(&self->archive->archive,
|
|
390
418
|
ENOMEM,
|
|
391
419
|
"Can't allocate data for uudecode");
|
|
392
420
|
return (ARCHIVE_FATAL);
|
|
393
421
|
}
|
|
422
|
+
/* Move the remaining data in in_buff into the new buffer. */
|
|
394
423
|
if (uudecode->in_cnt)
|
|
395
|
-
memmove(ptr, uudecode->in_buff,
|
|
396
|
-
|
|
424
|
+
memmove(ptr, uudecode->in_buff, uudecode->in_cnt);
|
|
425
|
+
/* Replace in_buff with the new buffer. */
|
|
397
426
|
free(uudecode->in_buff);
|
|
398
427
|
uudecode->in_buff = ptr;
|
|
399
428
|
uudecode->in_allocated = newsize;
|
|
@@ -426,6 +455,10 @@ read_more:
|
|
|
426
455
|
total = 0;
|
|
427
456
|
out = uudecode->out_buff;
|
|
428
457
|
ravail = avail_in;
|
|
458
|
+
if (uudecode->state == ST_IGNORE) {
|
|
459
|
+
used = avail_in;
|
|
460
|
+
goto finish;
|
|
461
|
+
}
|
|
429
462
|
if (uudecode->in_cnt) {
|
|
430
463
|
/*
|
|
431
464
|
* If there is remaining data which is saved by
|
|
@@ -441,19 +474,32 @@ read_more:
|
|
|
441
474
|
uudecode->in_cnt = 0;
|
|
442
475
|
}
|
|
443
476
|
for (;used < avail_in; d += llen, used += llen) {
|
|
444
|
-
|
|
477
|
+
int64_t l, body;
|
|
445
478
|
|
|
446
479
|
b = d;
|
|
447
480
|
len = get_line(b, avail_in - used, &nl);
|
|
448
481
|
if (len < 0) {
|
|
449
482
|
/* Non-ascii character is found. */
|
|
483
|
+
if (uudecode->state == ST_FIND_HEAD &&
|
|
484
|
+
(uudecode->total > 0 || total > 0)) {
|
|
485
|
+
uudecode->state = ST_IGNORE;
|
|
486
|
+
used = avail_in;
|
|
487
|
+
goto finish;
|
|
488
|
+
}
|
|
450
489
|
archive_set_error(&self->archive->archive,
|
|
451
490
|
ARCHIVE_ERRNO_MISC,
|
|
452
491
|
"Insufficient compressed data");
|
|
453
492
|
return (ARCHIVE_FATAL);
|
|
454
493
|
}
|
|
455
494
|
llen = len;
|
|
456
|
-
if (nl == 0) {
|
|
495
|
+
if ((nl == 0) && (uudecode->state != ST_UUEND)) {
|
|
496
|
+
if (total == 0 && ravail <= 0) {
|
|
497
|
+
/* There is nothing more to read, fail */
|
|
498
|
+
archive_set_error(&self->archive->archive,
|
|
499
|
+
ARCHIVE_ERRNO_FILE_FORMAT,
|
|
500
|
+
"Missing format data");
|
|
501
|
+
return (ARCHIVE_FATAL);
|
|
502
|
+
}
|
|
457
503
|
/*
|
|
458
504
|
* Save remaining data which does not contain
|
|
459
505
|
* NL('\n','\r').
|
|
@@ -463,7 +509,7 @@ read_more:
|
|
|
463
509
|
return (ARCHIVE_FATAL);
|
|
464
510
|
if (uudecode->in_buff != b)
|
|
465
511
|
memmove(uudecode->in_buff, b, len);
|
|
466
|
-
uudecode->in_cnt = len;
|
|
512
|
+
uudecode->in_cnt = (int)len;
|
|
467
513
|
if (total == 0) {
|
|
468
514
|
/* Do not return 0; it means end-of-file.
|
|
469
515
|
* We should try to read bytes more. */
|
|
@@ -471,16 +517,22 @@ read_more:
|
|
|
471
517
|
self->upstream, ravail);
|
|
472
518
|
goto read_more;
|
|
473
519
|
}
|
|
520
|
+
used += len;
|
|
474
521
|
break;
|
|
475
522
|
}
|
|
476
|
-
if (total + len * 2 > OUT_BUFF_SIZE)
|
|
477
|
-
break;
|
|
478
523
|
switch (uudecode->state) {
|
|
479
524
|
default:
|
|
480
525
|
case ST_FIND_HEAD:
|
|
481
|
-
|
|
526
|
+
/* Do not read more than UUENCODE_BID_MAX_READ bytes */
|
|
527
|
+
if (total + len >= UUENCODE_BID_MAX_READ) {
|
|
528
|
+
archive_set_error(&self->archive->archive,
|
|
529
|
+
ARCHIVE_ERRNO_FILE_FORMAT,
|
|
530
|
+
"Invalid format data");
|
|
531
|
+
return (ARCHIVE_FATAL);
|
|
532
|
+
}
|
|
533
|
+
if (len - nl >= 11 && memcmp(b, "begin ", 6) == 0)
|
|
482
534
|
l = 6;
|
|
483
|
-
else if (len - nl
|
|
535
|
+
else if (len - nl >= 18 &&
|
|
484
536
|
memcmp(b, "begin-base64 ", 13) == 0)
|
|
485
537
|
l = 13;
|
|
486
538
|
else
|
|
@@ -495,6 +547,8 @@ read_more:
|
|
|
495
547
|
}
|
|
496
548
|
break;
|
|
497
549
|
case ST_READ_UU:
|
|
550
|
+
if (total + len * 2 > OUT_BUFF_SIZE)
|
|
551
|
+
goto finish;
|
|
498
552
|
body = len - nl;
|
|
499
553
|
if (!uuchar[*b] || body <= 0) {
|
|
500
554
|
archive_set_error(&self->archive->archive,
|
|
@@ -502,7 +556,7 @@ read_more:
|
|
|
502
556
|
"Insufficient compressed data");
|
|
503
557
|
return (ARCHIVE_FATAL);
|
|
504
558
|
}
|
|
505
|
-
/* Get length of undecoded bytes of
|
|
559
|
+
/* Get length of undecoded bytes of current line. */
|
|
506
560
|
l = UUDECODE(*b++);
|
|
507
561
|
body--;
|
|
508
562
|
if (l > body) {
|
|
@@ -518,14 +572,13 @@ read_more:
|
|
|
518
572
|
while (l > 0) {
|
|
519
573
|
int n = 0;
|
|
520
574
|
|
|
521
|
-
if (
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
}
|
|
575
|
+
if (!uuchar[b[0]] || !uuchar[b[1]])
|
|
576
|
+
break;
|
|
577
|
+
n = UUDECODE(*b++) << 18;
|
|
578
|
+
n |= UUDECODE(*b++) << 12;
|
|
579
|
+
*out++ = n >> 16; total++;
|
|
580
|
+
--l;
|
|
581
|
+
|
|
529
582
|
if (l > 0) {
|
|
530
583
|
if (!uuchar[b[0]])
|
|
531
584
|
break;
|
|
@@ -559,6 +612,8 @@ read_more:
|
|
|
559
612
|
}
|
|
560
613
|
break;
|
|
561
614
|
case ST_READ_BASE64:
|
|
615
|
+
if (total + len * 2 > OUT_BUFF_SIZE)
|
|
616
|
+
goto finish;
|
|
562
617
|
l = len - nl;
|
|
563
618
|
if (l >= 3 && b[0] == '=' && b[1] == '=' &&
|
|
564
619
|
b[2] == '=') {
|
|
@@ -568,14 +623,13 @@ read_more:
|
|
|
568
623
|
while (l > 0) {
|
|
569
624
|
int n = 0;
|
|
570
625
|
|
|
571
|
-
if (
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
}
|
|
626
|
+
if (!base64[b[0]] || !base64[b[1]])
|
|
627
|
+
break;
|
|
628
|
+
n = base64num[*b++] << 18;
|
|
629
|
+
n |= base64num[*b++] << 12;
|
|
630
|
+
*out++ = n >> 16; total++;
|
|
631
|
+
l -= 2;
|
|
632
|
+
|
|
579
633
|
if (l > 0) {
|
|
580
634
|
if (*b == '=')
|
|
581
635
|
break;
|
|
@@ -604,8 +658,10 @@ read_more:
|
|
|
604
658
|
break;
|
|
605
659
|
}
|
|
606
660
|
}
|
|
607
|
-
|
|
608
|
-
|
|
661
|
+
finish:
|
|
662
|
+
if (ravail < avail_in)
|
|
663
|
+
used -= avail_in - ravail;
|
|
664
|
+
__archive_read_filter_consume(self->upstream, used);
|
|
609
665
|
|
|
610
666
|
*buff = uudecode->out_buff;
|
|
611
667
|
uudecode->total += total;
|