libarchive-static 1.0.6 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|