libarchive-static 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (296) hide show
  1. checksums.yaml +5 -5
  2. data/ext/extconf.rb +2 -9
  3. data/ext/libarchive-0.1.1/ext/archive_read_support_compression.c +6 -6
  4. data/ext/libarchive-0.1.1/ext/archive_read_support_compression.o +0 -0
  5. data/ext/libarchive-0.1.1/ext/archive_read_support_format.o +0 -0
  6. data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.c +1 -1
  7. data/ext/libarchive-0.1.1/ext/archive_write_open_rb_str.o +0 -0
  8. data/ext/libarchive-0.1.1/ext/archive_write_set_compression.c +5 -5
  9. data/ext/libarchive-0.1.1/ext/archive_write_set_compression.o +0 -0
  10. data/ext/libarchive-0.1.1/ext/config.h +23 -0
  11. data/ext/libarchive-0.1.1/ext/config.log +230 -0
  12. data/ext/libarchive-0.1.1/ext/config.status +671 -0
  13. data/ext/libarchive-0.1.1/ext/libarchive.c +1 -1
  14. data/ext/libarchive-0.1.1/ext/libarchive.o +0 -0
  15. data/ext/libarchive-0.1.1/ext/libarchive_archive.c +7 -7
  16. data/ext/libarchive-0.1.1/ext/libarchive_archive.o +0 -0
  17. data/ext/libarchive-0.1.1/ext/libarchive_entry.c +6 -0
  18. data/ext/libarchive-0.1.1/ext/libarchive_entry.o +0 -0
  19. data/ext/libarchive-0.1.1/ext/libarchive_internal.h +0 -1
  20. data/ext/libarchive-0.1.1/ext/libarchive_reader.c +6 -4
  21. data/ext/libarchive-0.1.1/ext/libarchive_reader.o +0 -0
  22. data/ext/libarchive-0.1.1/ext/libarchive_ruby.so +0 -0
  23. data/ext/libarchive-0.1.1/ext/libarchive_win32.h +1 -1
  24. data/ext/libarchive-0.1.1/ext/libarchive_writer.c +2 -2
  25. data/ext/libarchive-0.1.1/ext/libarchive_writer.o +0 -0
  26. data/ext/libarchive-3.6.2/Makefile.in +16892 -0
  27. data/ext/libarchive-3.6.2/build/autoconf/ax_append_compile_flags.m4 +67 -0
  28. data/ext/libarchive-3.6.2/build/autoconf/ax_append_flag.m4 +71 -0
  29. data/ext/libarchive-3.6.2/build/autoconf/ax_check_compile_flag.m4 +74 -0
  30. data/ext/libarchive-3.6.2/build/autoconf/ax_require_defined.m4 +37 -0
  31. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/check_stdcall_func.m4 +0 -0
  32. data/ext/libarchive-3.6.2/build/autoconf/compile +348 -0
  33. data/ext/libarchive-3.6.2/build/autoconf/config.guess +1754 -0
  34. data/ext/libarchive-3.6.2/build/autoconf/config.rpath +696 -0
  35. data/ext/libarchive-3.6.2/build/autoconf/config.sub +1890 -0
  36. data/ext/libarchive-3.6.2/build/autoconf/depcomp +791 -0
  37. data/ext/libarchive-3.6.2/build/autoconf/iconv.m4 +271 -0
  38. data/ext/libarchive-3.6.2/build/autoconf/install-sh +541 -0
  39. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/la_uid_t.m4 +0 -0
  40. data/ext/libarchive-3.6.2/build/autoconf/lib-ld.m4 +109 -0
  41. data/ext/libarchive-3.6.2/build/autoconf/lib-link.m4 +777 -0
  42. data/ext/libarchive-3.6.2/build/autoconf/lib-prefix.m4 +224 -0
  43. data/ext/libarchive-3.6.2/build/autoconf/ltmain.sh +11251 -0
  44. data/ext/libarchive-3.6.2/build/autoconf/m4_ax_compile_check_sizeof.m4 +115 -0
  45. data/ext/libarchive-3.6.2/build/autoconf/missing +215 -0
  46. data/ext/libarchive-3.6.2/build/autoconf/test-driver +153 -0
  47. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/pkgconfig/libarchive.pc.in +4 -1
  48. data/ext/libarchive-3.6.2/config.h.in +1504 -0
  49. data/ext/libarchive-3.6.2/configure +25558 -0
  50. data/ext/libarchive-3.6.2/libarchive/archive.h +1212 -0
  51. data/ext/libarchive-3.6.2/libarchive/archive_acl.c +2097 -0
  52. data/ext/libarchive-3.6.2/libarchive/archive_acl_private.h +83 -0
  53. data/ext/libarchive-3.6.2/libarchive/archive_blake2.h +197 -0
  54. data/ext/libarchive-3.6.2/libarchive/archive_blake2_impl.h +161 -0
  55. data/ext/libarchive-3.6.2/libarchive/archive_blake2s_ref.c +369 -0
  56. data/ext/libarchive-3.6.2/libarchive/archive_blake2sp_ref.c +361 -0
  57. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_check_magic.c +63 -22
  58. data/ext/libarchive-3.6.2/libarchive/archive_cmdline.c +227 -0
  59. data/ext/libarchive-3.6.2/libarchive/archive_cmdline_private.h +47 -0
  60. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_crc32.h +17 -0
  61. data/ext/libarchive-3.6.2/libarchive/archive_cryptor.c +534 -0
  62. data/ext/libarchive-3.6.2/libarchive/archive_cryptor_private.h +188 -0
  63. data/ext/libarchive-3.6.2/libarchive/archive_digest.c +1505 -0
  64. data/ext/libarchive-3.6.2/libarchive/archive_digest_private.h +416 -0
  65. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_darwin.c +559 -0
  66. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_freebsd.c +712 -0
  67. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_linux.c +760 -0
  68. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_sunos.c +824 -0
  69. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_endian.h +48 -15
  70. data/ext/libarchive-3.6.2/libarchive/archive_entry.c +2149 -0
  71. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry.h +305 -106
  72. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_bhfi.c +5 -4
  73. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_stat.c +9 -3
  74. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_link_resolver.c +104 -62
  75. data/ext/libarchive-3.6.2/libarchive/archive_entry_locale.h +92 -0
  76. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_private.h +65 -49
  77. data/ext/libarchive-3.6.2/libarchive/archive_entry_sparse.c +156 -0
  78. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_stat.c +6 -6
  79. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_strmode.c +1 -1
  80. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_xattr.c +4 -6
  81. data/ext/libarchive-3.6.2/libarchive/archive_getdate.c +1165 -0
  82. data/ext/libarchive-3.6.2/libarchive/archive_getdate.h +39 -0
  83. data/ext/libarchive-3.6.2/libarchive/archive_hmac.c +334 -0
  84. data/ext/libarchive-3.6.2/libarchive/archive_hmac_private.h +117 -0
  85. data/ext/libarchive-3.6.2/libarchive/archive_match.c +1875 -0
  86. data/ext/libarchive-3.6.2/libarchive/archive_openssl_evp_private.h +53 -0
  87. data/ext/libarchive-3.6.2/libarchive/archive_openssl_hmac_private.h +54 -0
  88. data/ext/libarchive-3.6.2/libarchive/archive_options.c +218 -0
  89. data/ext/libarchive-3.6.2/libarchive/archive_options_private.h +51 -0
  90. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.c +337 -0
  91. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.h +49 -0
  92. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.c +463 -0
  93. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.h +52 -0
  94. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_platform.h +77 -9
  95. data/ext/libarchive-3.6.2/libarchive/archive_platform_acl.h +55 -0
  96. data/ext/libarchive-3.6.2/libarchive/archive_platform_xattr.h +47 -0
  97. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7.c +1168 -0
  98. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7_private.h +119 -0
  99. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8.c +1287 -0
  100. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8_private.h +148 -0
  101. data/ext/libarchive-3.6.2/libarchive/archive_ppmd_private.h +151 -0
  102. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_private.h +74 -18
  103. data/ext/libarchive-3.6.2/libarchive/archive_random.c +272 -0
  104. data/ext/libarchive-3.6.2/libarchive/archive_random_private.h +36 -0
  105. data/ext/libarchive-3.6.2/libarchive/archive_rb.c +709 -0
  106. data/ext/libarchive-3.6.2/libarchive/archive_rb.h +113 -0
  107. data/ext/libarchive-3.6.2/libarchive/archive_read.c +1756 -0
  108. data/ext/libarchive-3.6.2/libarchive/archive_read_add_passphrase.c +190 -0
  109. data/ext/libarchive-3.6.2/libarchive/archive_read_append_filter.c +204 -0
  110. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_data_into_fd.c +64 -18
  111. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_entry_from_file.c +1086 -0
  112. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_posix.c +2732 -0
  113. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_private.h +40 -4
  114. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_set_standard_lookup.c +21 -11
  115. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_windows.c +2479 -0
  116. data/ext/libarchive-3.6.2/libarchive/archive_read_extract.c +60 -0
  117. data/ext/{libarchive-2.8.4/libarchive/archive_read_extract.c → libarchive-3.6.2/libarchive/archive_read_extract2.c} +34 -61
  118. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_fd.c +70 -49
  119. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_file.c +38 -23
  120. data/ext/libarchive-3.6.2/libarchive/archive_read_open_filename.c +586 -0
  121. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_memory.c +58 -28
  122. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_private.h +127 -59
  123. data/ext/libarchive-3.6.2/libarchive/archive_read_set_format.c +117 -0
  124. data/ext/libarchive-3.6.2/libarchive/archive_read_set_options.c +133 -0
  125. 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
  126. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_by_code.c +83 -0
  127. 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
  128. 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
  129. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_grzip.c +112 -0
  130. 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
  131. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lrzip.c +122 -0
  132. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lz4.c +742 -0
  133. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lzop.c +499 -0
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_zstd.c +297 -0
  140. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_7zip.c +3900 -0
  141. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_all.c +89 -0
  142. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_ar.c +126 -72
  143. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_by_code.c +92 -0
  144. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cab.c +3228 -0
  145. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cpio.c +1104 -0
  146. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_empty.c +14 -11
  147. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_iso9660.c +990 -541
  148. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_lha.c +2916 -0
  149. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_mtree.c +2150 -0
  150. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar.c +3797 -0
  151. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar5.c +4251 -0
  152. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_raw.c +38 -31
  153. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_tar.c +1157 -629
  154. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_warc.c +848 -0
  155. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_xar.c +439 -258
  156. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_zip.c +4270 -0
  157. data/ext/libarchive-3.6.2/libarchive/archive_string.c +4240 -0
  158. data/ext/libarchive-3.6.2/libarchive/archive_string.h +243 -0
  159. data/ext/libarchive-3.6.2/libarchive/archive_string_composition.h +2292 -0
  160. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_string_sprintf.c +44 -16
  161. data/ext/libarchive-3.6.2/libarchive/archive_util.c +655 -0
  162. data/ext/libarchive-3.6.2/libarchive/archive_version_details.c +151 -0
  163. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_virtual.c +85 -16
  164. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.c +214 -541
  165. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.h +74 -106
  166. data/ext/libarchive-3.6.2/libarchive/archive_write.c +828 -0
  167. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter.c +72 -0
  168. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_b64encode.c +304 -0
  169. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_by_name.c +77 -0
  170. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_bzip2.c +401 -0
  171. 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
  172. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_grzip.c +135 -0
  173. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_gzip.c +442 -0
  174. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lrzip.c +197 -0
  175. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lz4.c +700 -0
  176. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lzop.c +478 -0
  177. 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
  178. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_program.c +391 -0
  179. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_uuencode.c +295 -0
  180. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_xz.c +545 -0
  181. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_zstd.c +418 -0
  182. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_posix.c +4711 -0
  183. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_private.h +9 -2
  184. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_set_standard_lookup.c +30 -29
  185. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_windows.c +2842 -0
  186. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_fd.c +15 -10
  187. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_file.c +15 -9
  188. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_filename.c +128 -20
  189. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_memory.c +7 -18
  190. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_private.h +72 -29
  191. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format.c +56 -3
  192. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_7zip.c +2322 -0
  193. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ar.c +54 -34
  194. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_by_name.c +20 -2
  195. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio.c +11 -0
  196. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_binary.c +610 -0
  197. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_newc.c +457 -0
  198. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_odc.c +500 -0
  199. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_filter_by_ext.c +142 -0
  200. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_gnutar.c +755 -0
  201. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_iso9660.c +8165 -0
  202. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_mtree.c +2217 -0
  203. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_pax.c +1049 -387
  204. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_private.h +42 -0
  205. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_raw.c +125 -0
  206. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_shar.c +62 -47
  207. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ustar.c +279 -108
  208. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_v7tar.c +638 -0
  209. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_warc.c +453 -0
  210. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_xar.c +3259 -0
  211. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_zip.c +1704 -0
  212. data/ext/libarchive-3.6.2/libarchive/archive_write_set_options.c +130 -0
  213. data/ext/libarchive-3.6.2/libarchive/archive_write_set_passphrase.c +95 -0
  214. data/ext/libarchive-3.6.2/libarchive/archive_xxhash.h +48 -0
  215. data/ext/libarchive-3.6.2/libarchive/config_freebsd.h +271 -0
  216. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/filter_fork.h +10 -5
  217. data/ext/{libarchive-2.8.4/libarchive/filter_fork.c → libarchive-3.6.2/libarchive/filter_fork_posix.c} +98 -19
  218. data/ext/libarchive-3.6.2/libarchive/filter_fork_windows.c +236 -0
  219. data/ext/libarchive-3.6.2/libarchive/xxhash.c +525 -0
  220. data/ext/libarchive-static-makefile +144 -80
  221. data/ext/libarchive-static-wrapper-makefile +1 -1
  222. data/ext/zlib-1.2.13/Makefile.in +404 -0
  223. data/ext/{zlib-1.2.5 → zlib-1.2.13}/adler32.c +51 -34
  224. data/ext/{zlib-1.2.5 → zlib-1.2.13}/compress.c +27 -21
  225. data/ext/zlib-1.2.13/configure +922 -0
  226. data/ext/zlib-1.2.13/crc32.c +1125 -0
  227. data/ext/zlib-1.2.13/crc32.h +9446 -0
  228. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.c +842 -459
  229. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.h +37 -33
  230. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzclose.c +0 -0
  231. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzguts.h +103 -16
  232. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzlib.c +155 -53
  233. data/ext/zlib-1.2.13/gzread.c +650 -0
  234. data/ext/zlib-1.2.13/gzwrite.c +677 -0
  235. data/ext/{zlib-1.2.5 → zlib-1.2.13}/infback.c +24 -12
  236. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.c +49 -66
  237. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.h +0 -0
  238. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffixed.h +3 -3
  239. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.c +209 -94
  240. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.h +9 -5
  241. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.c +24 -50
  242. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.h +1 -1
  243. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.c +135 -198
  244. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.h +0 -0
  245. data/ext/zlib-1.2.13/uncompr.c +93 -0
  246. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zconf.h +182 -63
  247. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zlib.h +617 -295
  248. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.c +50 -41
  249. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.h +83 -82
  250. metadata +244 -137
  251. data/ext/libarchive-0.1.1/libarchive.c +0 -1762
  252. data/ext/libarchive-2.8.4/Makefile.in +0 -7076
  253. data/ext/libarchive-2.8.4/build/autoconf/compile +0 -143
  254. data/ext/libarchive-2.8.4/build/autoconf/config.guess +0 -1502
  255. data/ext/libarchive-2.8.4/build/autoconf/config.sub +0 -1708
  256. data/ext/libarchive-2.8.4/build/autoconf/depcomp +0 -630
  257. data/ext/libarchive-2.8.4/build/autoconf/install-sh +0 -291
  258. data/ext/libarchive-2.8.4/build/autoconf/ltmain.sh +0 -8406
  259. data/ext/libarchive-2.8.4/build/autoconf/missing +0 -376
  260. data/ext/libarchive-2.8.4/config.h.in +0 -772
  261. data/ext/libarchive-2.8.4/configure +0 -17916
  262. data/ext/libarchive-2.8.4/libarchive/archive.h +0 -741
  263. data/ext/libarchive-2.8.4/libarchive/archive_entry.c +0 -2202
  264. data/ext/libarchive-2.8.4/libarchive/archive_hash.h +0 -281
  265. data/ext/libarchive-2.8.4/libarchive/archive_read.c +0 -1249
  266. data/ext/libarchive-2.8.4/libarchive/archive_read_disk.c +0 -198
  267. data/ext/libarchive-2.8.4/libarchive/archive_read_disk_entry_from_file.c +0 -570
  268. data/ext/libarchive-2.8.4/libarchive/archive_read_open_filename.c +0 -272
  269. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_cpio.c +0 -777
  270. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_mtree.c +0 -1304
  271. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_zip.c +0 -903
  272. data/ext/libarchive-2.8.4/libarchive/archive_string.c +0 -453
  273. data/ext/libarchive-2.8.4/libarchive/archive_string.h +0 -148
  274. data/ext/libarchive-2.8.4/libarchive/archive_util.c +0 -391
  275. data/ext/libarchive-2.8.4/libarchive/archive_write.c +0 -466
  276. data/ext/libarchive-2.8.4/libarchive/archive_write_disk.c +0 -2628
  277. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_bzip2.c +0 -408
  278. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_gzip.c +0 -477
  279. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_none.c +0 -257
  280. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_program.c +0 -347
  281. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_xz.c +0 -438
  282. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio.c +0 -344
  283. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio_newc.c +0 -295
  284. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_mtree.c +0 -1050
  285. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_zip.c +0 -667
  286. data/ext/libarchive-2.8.4/libarchive/config_freebsd.h +0 -154
  287. data/ext/libarchive-2.8.4/libarchive/filter_fork_windows.c +0 -113
  288. data/ext/zlib-1.2.5/Makefile.in +0 -257
  289. data/ext/zlib-1.2.5/configure +0 -596
  290. data/ext/zlib-1.2.5/crc32.c +0 -442
  291. data/ext/zlib-1.2.5/crc32.h +0 -441
  292. data/ext/zlib-1.2.5/example.c +0 -565
  293. data/ext/zlib-1.2.5/gzread.c +0 -653
  294. data/ext/zlib-1.2.5/gzwrite.c +0 -531
  295. data/ext/zlib-1.2.5/minigzip.c +0 -440
  296. data/ext/zlib-1.2.5/uncompr.c +0 -59
@@ -1,5 +1,6 @@
1
1
  /*-
2
2
  * Copyright (c) 2003-2008 Tim Kientzle
3
+ * Copyright (c) 2016 Martin Matuska
3
4
  * All rights reserved.
4
5
  *
5
6
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +29,9 @@
28
29
  #ifndef ARCHIVE_ENTRY_H_INCLUDED
29
30
  #define ARCHIVE_ENTRY_H_INCLUDED
30
31
 
32
+ /* Note: Compiler will complain if this does not match archive.h! */
33
+ #define ARCHIVE_VERSION_NUMBER 3006002
34
+
31
35
  /*
32
36
  * Note: archive_entry.h is for use outside of libarchive; the
33
37
  * configuration headers (config.h, archive_platform.h, etc.) are
@@ -38,44 +42,66 @@
38
42
 
39
43
  #include <sys/types.h>
40
44
  #include <stddef.h> /* for wchar_t */
45
+ #include <stdint.h>
41
46
  #include <time.h>
42
47
 
43
48
  #if defined(_WIN32) && !defined(__CYGWIN__)
44
49
  #include <windows.h>
45
50
  #endif
46
51
 
47
- /* Get appropriate definitions of standard POSIX-style types. */
48
- /* These should match the types used in 'struct stat' */
49
- #if defined(_WIN32) && !defined(__CYGWIN__)
50
- #define __LA_INT64_T __int64
51
- # if defined(__BORLANDC__)
52
- # define __LA_UID_T uid_t
53
- # define __LA_GID_T gid_t
54
- # define __LA_DEV_T dev_t
55
- # define __LA_MODE_T mode_t
56
- # else
57
- # define __LA_UID_T short
58
- # define __LA_GID_T short
59
- # define __LA_DEV_T unsigned int
60
- # define __LA_MODE_T unsigned short
52
+ /* Get a suitable 64-bit integer type. */
53
+ #if !defined(__LA_INT64_T_DEFINED)
54
+ # if ARCHIVE_VERSION_NUMBER < 4000000
55
+ #define __LA_INT64_T la_int64_t
61
56
  # endif
62
- #else
57
+ #define __LA_INT64_T_DEFINED
58
+ # if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
59
+ typedef __int64 la_int64_t;
60
+ # else
63
61
  #include <unistd.h>
64
- #define __LA_INT64_T int64_t
65
- #define __LA_UID_T uid_t
66
- #define __LA_GID_T gid_t
67
- #define __LA_DEV_T dev_t
68
- #define __LA_MODE_T mode_t
62
+ # if defined(_SCO_DS) || defined(__osf__)
63
+ typedef long long la_int64_t;
64
+ # else
65
+ typedef int64_t la_int64_t;
66
+ # endif
67
+ # endif
69
68
  #endif
70
69
 
71
- /*
72
- * XXX Is this defined for all Windows compilers? If so, in what
73
- * header? It would be nice to remove the __LA_INO_T indirection and
74
- * just use plain ino_t everywhere. Likewise for the other types just
75
- * above.
76
- */
77
- #define __LA_INO_T ino_t
70
+ /* The la_ssize_t should match the type used in 'struct stat' */
71
+ #if !defined(__LA_SSIZE_T_DEFINED)
72
+ /* Older code relied on the __LA_SSIZE_T macro; after 4.0 we'll switch to the typedef exclusively. */
73
+ # if ARCHIVE_VERSION_NUMBER < 4000000
74
+ #define __LA_SSIZE_T la_ssize_t
75
+ # endif
76
+ #define __LA_SSIZE_T_DEFINED
77
+ # if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
78
+ # if defined(_SSIZE_T_DEFINED) || defined(_SSIZE_T_)
79
+ typedef ssize_t la_ssize_t;
80
+ # elif defined(_WIN64)
81
+ typedef __int64 la_ssize_t;
82
+ # else
83
+ typedef long la_ssize_t;
84
+ # endif
85
+ # else
86
+ # include <unistd.h> /* ssize_t */
87
+ typedef ssize_t la_ssize_t;
88
+ # endif
89
+ #endif
78
90
 
91
+ /* Get a suitable definition for mode_t */
92
+ #if ARCHIVE_VERSION_NUMBER >= 3999000
93
+ /* Switch to plain 'int' for libarchive 4.0. It's less broken than 'mode_t' */
94
+ # define __LA_MODE_T int
95
+ #elif defined(_WIN32) && !defined(__CYGWIN__) && !defined(__BORLANDC__) && !defined(__WATCOMC__)
96
+ # define __LA_MODE_T unsigned short
97
+ #else
98
+ # define __LA_MODE_T mode_t
99
+ #endif
100
+
101
+ /* Large file support for Android */
102
+ #if defined(__LIBARCHIVE_BUILD) && defined(__ANDROID__)
103
+ #include "android_lf.h"
104
+ #endif
79
105
 
80
106
  /*
81
107
  * On Windows, define LIBARCHIVE_STATIC if you're building or using a
@@ -91,16 +117,24 @@
91
117
  # endif
92
118
  # else
93
119
  # ifdef __GNUC__
94
- # define __LA_DECL __attribute__((dllimport)) extern
120
+ # define __LA_DECL
95
121
  # else
96
122
  # define __LA_DECL __declspec(dllimport)
97
123
  # endif
98
124
  # endif
125
+ #elif defined __LIBARCHIVE_ENABLE_VISIBILITY
126
+ # define __LA_DECL __attribute__((visibility("default")))
99
127
  #else
100
128
  /* Static libraries on all platforms and shared libraries on non-Windows. */
101
129
  # define __LA_DECL
102
130
  #endif
103
131
 
132
+ #if defined(__GNUC__) && __GNUC__ >= 3 && __GNUC_MINOR__ >= 1
133
+ # define __LA_DEPRECATED __attribute__((deprecated))
134
+ #else
135
+ # define __LA_DEPRECATED
136
+ #endif
137
+
104
138
  #ifdef __cplusplus
105
139
  extern "C" {
106
140
  #endif
@@ -121,6 +155,7 @@ extern "C" {
121
155
  * applications (e.g., a package manager could attach special
122
156
  * package-management attributes to each entry).
123
157
  */
158
+ struct archive;
124
159
  struct archive_entry;
125
160
 
126
161
  /*
@@ -144,14 +179,25 @@ struct archive_entry;
144
179
  * portable values to platform-native values when entries are read from
145
180
  * or written to disk.
146
181
  */
147
- #define AE_IFMT 0170000
148
- #define AE_IFREG 0100000
149
- #define AE_IFLNK 0120000
150
- #define AE_IFSOCK 0140000
151
- #define AE_IFCHR 0020000
152
- #define AE_IFBLK 0060000
153
- #define AE_IFDIR 0040000
154
- #define AE_IFIFO 0010000
182
+ /*
183
+ * In libarchive 4.0, we can drop the casts here.
184
+ * They're needed to work around Borland C's broken mode_t.
185
+ */
186
+ #define AE_IFMT ((__LA_MODE_T)0170000)
187
+ #define AE_IFREG ((__LA_MODE_T)0100000)
188
+ #define AE_IFLNK ((__LA_MODE_T)0120000)
189
+ #define AE_IFSOCK ((__LA_MODE_T)0140000)
190
+ #define AE_IFCHR ((__LA_MODE_T)0020000)
191
+ #define AE_IFBLK ((__LA_MODE_T)0060000)
192
+ #define AE_IFDIR ((__LA_MODE_T)0040000)
193
+ #define AE_IFIFO ((__LA_MODE_T)0010000)
194
+
195
+ /*
196
+ * Symlink types
197
+ */
198
+ #define AE_SYMLINK_TYPE_UNDEFINED 0
199
+ #define AE_SYMLINK_TYPE_FILE 1
200
+ #define AE_SYMLINK_TYPE_DIRECTORY 2
155
201
 
156
202
  /*
157
203
  * Basic object manipulation
@@ -163,6 +209,15 @@ __LA_DECL struct archive_entry *archive_entry_clone(struct archive_entry *);
163
209
  __LA_DECL void archive_entry_free(struct archive_entry *);
164
210
  __LA_DECL struct archive_entry *archive_entry_new(void);
165
211
 
212
+ /*
213
+ * This form of archive_entry_new2() will pull character-set
214
+ * conversion information from the specified archive handle. The
215
+ * older archive_entry_new(void) form is equivalent to calling
216
+ * archive_entry_new2(NULL) and will result in the use of an internal
217
+ * default character-set conversion.
218
+ */
219
+ __LA_DECL struct archive_entry *archive_entry_new2(struct archive *);
220
+
166
221
  /*
167
222
  * Retrieve fields from an archive_entry.
168
223
  *
@@ -192,6 +247,7 @@ __LA_DECL time_t archive_entry_ctime(struct archive_entry *);
192
247
  __LA_DECL long archive_entry_ctime_nsec(struct archive_entry *);
193
248
  __LA_DECL int archive_entry_ctime_is_set(struct archive_entry *);
194
249
  __LA_DECL dev_t archive_entry_dev(struct archive_entry *);
250
+ __LA_DECL int archive_entry_dev_is_set(struct archive_entry *);
195
251
  __LA_DECL dev_t archive_entry_devmajor(struct archive_entry *);
196
252
  __LA_DECL dev_t archive_entry_devminor(struct archive_entry *);
197
253
  __LA_DECL __LA_MODE_T archive_entry_filetype(struct archive_entry *);
@@ -199,49 +255,58 @@ __LA_DECL void archive_entry_fflags(struct archive_entry *,
199
255
  unsigned long * /* set */,
200
256
  unsigned long * /* clear */);
201
257
  __LA_DECL const char *archive_entry_fflags_text(struct archive_entry *);
202
- __LA_DECL __LA_GID_T archive_entry_gid(struct archive_entry *);
258
+ __LA_DECL la_int64_t archive_entry_gid(struct archive_entry *);
203
259
  __LA_DECL const char *archive_entry_gname(struct archive_entry *);
260
+ __LA_DECL const char *archive_entry_gname_utf8(struct archive_entry *);
204
261
  __LA_DECL const wchar_t *archive_entry_gname_w(struct archive_entry *);
205
262
  __LA_DECL const char *archive_entry_hardlink(struct archive_entry *);
263
+ __LA_DECL const char *archive_entry_hardlink_utf8(struct archive_entry *);
206
264
  __LA_DECL const wchar_t *archive_entry_hardlink_w(struct archive_entry *);
207
- __LA_DECL __LA_INO_T archive_entry_ino(struct archive_entry *);
208
- __LA_DECL __LA_INT64_T archive_entry_ino64(struct archive_entry *);
265
+ __LA_DECL la_int64_t archive_entry_ino(struct archive_entry *);
266
+ __LA_DECL la_int64_t archive_entry_ino64(struct archive_entry *);
267
+ __LA_DECL int archive_entry_ino_is_set(struct archive_entry *);
209
268
  __LA_DECL __LA_MODE_T archive_entry_mode(struct archive_entry *);
210
269
  __LA_DECL time_t archive_entry_mtime(struct archive_entry *);
211
270
  __LA_DECL long archive_entry_mtime_nsec(struct archive_entry *);
212
271
  __LA_DECL int archive_entry_mtime_is_set(struct archive_entry *);
213
272
  __LA_DECL unsigned int archive_entry_nlink(struct archive_entry *);
214
273
  __LA_DECL const char *archive_entry_pathname(struct archive_entry *);
274
+ __LA_DECL const char *archive_entry_pathname_utf8(struct archive_entry *);
215
275
  __LA_DECL const wchar_t *archive_entry_pathname_w(struct archive_entry *);
276
+ __LA_DECL __LA_MODE_T archive_entry_perm(struct archive_entry *);
216
277
  __LA_DECL dev_t archive_entry_rdev(struct archive_entry *);
217
278
  __LA_DECL dev_t archive_entry_rdevmajor(struct archive_entry *);
218
279
  __LA_DECL dev_t archive_entry_rdevminor(struct archive_entry *);
219
280
  __LA_DECL const char *archive_entry_sourcepath(struct archive_entry *);
220
- __LA_DECL __LA_INT64_T archive_entry_size(struct archive_entry *);
281
+ __LA_DECL const wchar_t *archive_entry_sourcepath_w(struct archive_entry *);
282
+ __LA_DECL la_int64_t archive_entry_size(struct archive_entry *);
221
283
  __LA_DECL int archive_entry_size_is_set(struct archive_entry *);
222
284
  __LA_DECL const char *archive_entry_strmode(struct archive_entry *);
223
285
  __LA_DECL const char *archive_entry_symlink(struct archive_entry *);
286
+ __LA_DECL const char *archive_entry_symlink_utf8(struct archive_entry *);
287
+ __LA_DECL int archive_entry_symlink_type(struct archive_entry *);
224
288
  __LA_DECL const wchar_t *archive_entry_symlink_w(struct archive_entry *);
225
- __LA_DECL __LA_UID_T archive_entry_uid(struct archive_entry *);
289
+ __LA_DECL la_int64_t archive_entry_uid(struct archive_entry *);
226
290
  __LA_DECL const char *archive_entry_uname(struct archive_entry *);
291
+ __LA_DECL const char *archive_entry_uname_utf8(struct archive_entry *);
227
292
  __LA_DECL const wchar_t *archive_entry_uname_w(struct archive_entry *);
293
+ __LA_DECL int archive_entry_is_data_encrypted(struct archive_entry *);
294
+ __LA_DECL int archive_entry_is_metadata_encrypted(struct archive_entry *);
295
+ __LA_DECL int archive_entry_is_encrypted(struct archive_entry *);
228
296
 
229
297
  /*
230
298
  * Set fields in an archive_entry.
231
299
  *
232
- * Note that string 'set' functions do not copy the string, only the pointer.
233
- * In contrast, 'copy' functions do copy the object pointed to.
234
- *
235
- * Note: As of libarchive 2.4, 'set' functions do copy the string and
236
- * are therefore exact synonyms for the 'copy' versions. The 'copy'
237
- * names will be retired in libarchive 3.0.
300
+ * Note: Before libarchive 2.4, there were 'set' and 'copy' versions
301
+ * of the string setters. 'copy' copied the actual string, 'set' just
302
+ * stored the pointer. In libarchive 2.4 and later, strings are
303
+ * always copied.
238
304
  */
239
305
 
240
306
  __LA_DECL void archive_entry_set_atime(struct archive_entry *, time_t, long);
241
307
  __LA_DECL void archive_entry_unset_atime(struct archive_entry *);
242
308
  #if defined(_WIN32) && !defined(__CYGWIN__)
243
- __LA_DECL void archive_entry_copy_bhfi(struct archive_entry *,
244
- BY_HANDLE_FILE_INFORMATION *);
309
+ __LA_DECL void archive_entry_copy_bhfi(struct archive_entry *, BY_HANDLE_FILE_INFORMATION *);
245
310
  #endif
246
311
  __LA_DECL void archive_entry_set_birthtime(struct archive_entry *, time_t, long);
247
312
  __LA_DECL void archive_entry_unset_birthtime(struct archive_entry *);
@@ -259,23 +324,21 @@ __LA_DECL const char *archive_entry_copy_fflags_text(struct archive_entry *,
259
324
  const char *);
260
325
  __LA_DECL const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *,
261
326
  const wchar_t *);
262
- __LA_DECL void archive_entry_set_gid(struct archive_entry *, __LA_GID_T);
327
+ __LA_DECL void archive_entry_set_gid(struct archive_entry *, la_int64_t);
263
328
  __LA_DECL void archive_entry_set_gname(struct archive_entry *, const char *);
329
+ __LA_DECL void archive_entry_set_gname_utf8(struct archive_entry *, const char *);
264
330
  __LA_DECL void archive_entry_copy_gname(struct archive_entry *, const char *);
265
331
  __LA_DECL void archive_entry_copy_gname_w(struct archive_entry *, const wchar_t *);
266
332
  __LA_DECL int archive_entry_update_gname_utf8(struct archive_entry *, const char *);
267
333
  __LA_DECL void archive_entry_set_hardlink(struct archive_entry *, const char *);
334
+ __LA_DECL void archive_entry_set_hardlink_utf8(struct archive_entry *, const char *);
268
335
  __LA_DECL void archive_entry_copy_hardlink(struct archive_entry *, const char *);
269
336
  __LA_DECL void archive_entry_copy_hardlink_w(struct archive_entry *, const wchar_t *);
270
337
  __LA_DECL int archive_entry_update_hardlink_utf8(struct archive_entry *, const char *);
271
- #if ARCHIVE_VERSION_NUMBER >= 3000000
272
- /* Starting with libarchive 3.0, this will be synonym for ino64. */
273
- __LA_DECL void archive_entry_set_ino(struct archive_entry *, __LA_INT64_T);
274
- #else
275
- __LA_DECL void archive_entry_set_ino(struct archive_entry *, unsigned long);
276
- #endif
277
- __LA_DECL void archive_entry_set_ino64(struct archive_entry *, __LA_INT64_T);
338
+ __LA_DECL void archive_entry_set_ino(struct archive_entry *, la_int64_t);
339
+ __LA_DECL void archive_entry_set_ino64(struct archive_entry *, la_int64_t);
278
340
  __LA_DECL void archive_entry_set_link(struct archive_entry *, const char *);
341
+ __LA_DECL void archive_entry_set_link_utf8(struct archive_entry *, const char *);
279
342
  __LA_DECL void archive_entry_copy_link(struct archive_entry *, const char *);
280
343
  __LA_DECL void archive_entry_copy_link_w(struct archive_entry *, const wchar_t *);
281
344
  __LA_DECL int archive_entry_update_link_utf8(struct archive_entry *, const char *);
@@ -284,6 +347,7 @@ __LA_DECL void archive_entry_set_mtime(struct archive_entry *, time_t, long);
284
347
  __LA_DECL void archive_entry_unset_mtime(struct archive_entry *);
285
348
  __LA_DECL void archive_entry_set_nlink(struct archive_entry *, unsigned int);
286
349
  __LA_DECL void archive_entry_set_pathname(struct archive_entry *, const char *);
350
+ __LA_DECL void archive_entry_set_pathname_utf8(struct archive_entry *, const char *);
287
351
  __LA_DECL void archive_entry_copy_pathname(struct archive_entry *, const char *);
288
352
  __LA_DECL void archive_entry_copy_pathname_w(struct archive_entry *, const wchar_t *);
289
353
  __LA_DECL int archive_entry_update_pathname_utf8(struct archive_entry *, const char *);
@@ -291,18 +355,24 @@ __LA_DECL void archive_entry_set_perm(struct archive_entry *, __LA_MODE_T);
291
355
  __LA_DECL void archive_entry_set_rdev(struct archive_entry *, dev_t);
292
356
  __LA_DECL void archive_entry_set_rdevmajor(struct archive_entry *, dev_t);
293
357
  __LA_DECL void archive_entry_set_rdevminor(struct archive_entry *, dev_t);
294
- __LA_DECL void archive_entry_set_size(struct archive_entry *, __LA_INT64_T);
358
+ __LA_DECL void archive_entry_set_size(struct archive_entry *, la_int64_t);
295
359
  __LA_DECL void archive_entry_unset_size(struct archive_entry *);
296
360
  __LA_DECL void archive_entry_copy_sourcepath(struct archive_entry *, const char *);
361
+ __LA_DECL void archive_entry_copy_sourcepath_w(struct archive_entry *, const wchar_t *);
297
362
  __LA_DECL void archive_entry_set_symlink(struct archive_entry *, const char *);
363
+ __LA_DECL void archive_entry_set_symlink_type(struct archive_entry *, int);
364
+ __LA_DECL void archive_entry_set_symlink_utf8(struct archive_entry *, const char *);
298
365
  __LA_DECL void archive_entry_copy_symlink(struct archive_entry *, const char *);
299
366
  __LA_DECL void archive_entry_copy_symlink_w(struct archive_entry *, const wchar_t *);
300
367
  __LA_DECL int archive_entry_update_symlink_utf8(struct archive_entry *, const char *);
301
- __LA_DECL void archive_entry_set_uid(struct archive_entry *, __LA_UID_T);
368
+ __LA_DECL void archive_entry_set_uid(struct archive_entry *, la_int64_t);
302
369
  __LA_DECL void archive_entry_set_uname(struct archive_entry *, const char *);
370
+ __LA_DECL void archive_entry_set_uname_utf8(struct archive_entry *, const char *);
303
371
  __LA_DECL void archive_entry_copy_uname(struct archive_entry *, const char *);
304
372
  __LA_DECL void archive_entry_copy_uname_w(struct archive_entry *, const wchar_t *);
305
373
  __LA_DECL int archive_entry_update_uname_utf8(struct archive_entry *, const char *);
374
+ __LA_DECL void archive_entry_set_is_data_encrypted(struct archive_entry *, char is_encrypted);
375
+ __LA_DECL void archive_entry_set_is_metadata_encrypted(struct archive_entry *, char is_encrypted);
306
376
  /*
307
377
  * Routines to bulk copy fields to/from a platform-native "struct
308
378
  * stat." Libarchive used to just store a struct stat inside of each
@@ -310,11 +380,36 @@ __LA_DECL int archive_entry_update_uname_utf8(struct archive_entry *, const char
310
380
  * manipulate archives on systems different than the ones they were
311
381
  * created on.
312
382
  *
313
- * TODO: On Linux, provide both stat32 and stat64 versions of these functions.
383
+ * TODO: On Linux and other LFS systems, provide both stat32 and
384
+ * stat64 versions of these functions and all of the macro glue so
385
+ * that archive_entry_stat is magically defined to
386
+ * archive_entry_stat32 or archive_entry_stat64 as appropriate.
314
387
  */
315
388
  __LA_DECL const struct stat *archive_entry_stat(struct archive_entry *);
316
389
  __LA_DECL void archive_entry_copy_stat(struct archive_entry *, const struct stat *);
317
390
 
391
+ /*
392
+ * Storage for Mac OS-specific AppleDouble metadata information.
393
+ * Apple-format tar files store a separate binary blob containing
394
+ * encoded metadata with ACL, extended attributes, etc.
395
+ * This provides a place to store that blob.
396
+ */
397
+
398
+ __LA_DECL const void * archive_entry_mac_metadata(struct archive_entry *, size_t *);
399
+ __LA_DECL void archive_entry_copy_mac_metadata(struct archive_entry *, const void *, size_t);
400
+
401
+ /*
402
+ * Digest routine. This is used to query the raw hex digest for the
403
+ * given entry. The type of digest is provided as an argument.
404
+ */
405
+ #define ARCHIVE_ENTRY_DIGEST_MD5 0x00000001
406
+ #define ARCHIVE_ENTRY_DIGEST_RMD160 0x00000002
407
+ #define ARCHIVE_ENTRY_DIGEST_SHA1 0x00000003
408
+ #define ARCHIVE_ENTRY_DIGEST_SHA256 0x00000004
409
+ #define ARCHIVE_ENTRY_DIGEST_SHA384 0x00000005
410
+ #define ARCHIVE_ENTRY_DIGEST_SHA512 0x00000006
411
+
412
+ __LA_DECL const unsigned char * archive_entry_digest(struct archive_entry *, int /* type */);
318
413
 
319
414
  /*
320
415
  * ACL routines. This used to simply store and return text-format ACL
@@ -326,32 +421,97 @@ __LA_DECL void archive_entry_copy_stat(struct archive_entry *, const struct stat
326
421
  *
327
422
  * This last point, in particular, forces me to implement a reasonably
328
423
  * complete set of ACL support routines.
329
- *
330
- * TODO: Extend this to support NFSv4/NTFS permissions. That should
331
- * allow full ACL support on Mac OS, in particular, which uses
332
- * POSIX.1e-style interfaces to manipulate NFSv4/NTFS permissions.
333
424
  */
334
425
 
335
426
  /*
336
- * Permission bits mimic POSIX.1e. Note that I've not followed POSIX.1e's
337
- * "permset"/"perm" abstract type nonsense. A permset is just a simple
338
- * bitmap, following long-standing Unix tradition.
427
+ * Permission bits.
339
428
  */
340
- #define ARCHIVE_ENTRY_ACL_EXECUTE 1
341
- #define ARCHIVE_ENTRY_ACL_WRITE 2
342
- #define ARCHIVE_ENTRY_ACL_READ 4
429
+ #define ARCHIVE_ENTRY_ACL_EXECUTE 0x00000001
430
+ #define ARCHIVE_ENTRY_ACL_WRITE 0x00000002
431
+ #define ARCHIVE_ENTRY_ACL_READ 0x00000004
432
+ #define ARCHIVE_ENTRY_ACL_READ_DATA 0x00000008
433
+ #define ARCHIVE_ENTRY_ACL_LIST_DIRECTORY 0x00000008
434
+ #define ARCHIVE_ENTRY_ACL_WRITE_DATA 0x00000010
435
+ #define ARCHIVE_ENTRY_ACL_ADD_FILE 0x00000010
436
+ #define ARCHIVE_ENTRY_ACL_APPEND_DATA 0x00000020
437
+ #define ARCHIVE_ENTRY_ACL_ADD_SUBDIRECTORY 0x00000020
438
+ #define ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS 0x00000040
439
+ #define ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS 0x00000080
440
+ #define ARCHIVE_ENTRY_ACL_DELETE_CHILD 0x00000100
441
+ #define ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES 0x00000200
442
+ #define ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES 0x00000400
443
+ #define ARCHIVE_ENTRY_ACL_DELETE 0x00000800
444
+ #define ARCHIVE_ENTRY_ACL_READ_ACL 0x00001000
445
+ #define ARCHIVE_ENTRY_ACL_WRITE_ACL 0x00002000
446
+ #define ARCHIVE_ENTRY_ACL_WRITE_OWNER 0x00004000
447
+ #define ARCHIVE_ENTRY_ACL_SYNCHRONIZE 0x00008000
448
+
449
+ #define ARCHIVE_ENTRY_ACL_PERMS_POSIX1E \
450
+ (ARCHIVE_ENTRY_ACL_EXECUTE \
451
+ | ARCHIVE_ENTRY_ACL_WRITE \
452
+ | ARCHIVE_ENTRY_ACL_READ)
453
+
454
+ #define ARCHIVE_ENTRY_ACL_PERMS_NFS4 \
455
+ (ARCHIVE_ENTRY_ACL_EXECUTE \
456
+ | ARCHIVE_ENTRY_ACL_READ_DATA \
457
+ | ARCHIVE_ENTRY_ACL_LIST_DIRECTORY \
458
+ | ARCHIVE_ENTRY_ACL_WRITE_DATA \
459
+ | ARCHIVE_ENTRY_ACL_ADD_FILE \
460
+ | ARCHIVE_ENTRY_ACL_APPEND_DATA \
461
+ | ARCHIVE_ENTRY_ACL_ADD_SUBDIRECTORY \
462
+ | ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS \
463
+ | ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS \
464
+ | ARCHIVE_ENTRY_ACL_DELETE_CHILD \
465
+ | ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES \
466
+ | ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES \
467
+ | ARCHIVE_ENTRY_ACL_DELETE \
468
+ | ARCHIVE_ENTRY_ACL_READ_ACL \
469
+ | ARCHIVE_ENTRY_ACL_WRITE_ACL \
470
+ | ARCHIVE_ENTRY_ACL_WRITE_OWNER \
471
+ | ARCHIVE_ENTRY_ACL_SYNCHRONIZE)
343
472
 
344
- /* We need to be able to specify either or both of these. */
345
- #define ARCHIVE_ENTRY_ACL_TYPE_ACCESS 256
346
- #define ARCHIVE_ENTRY_ACL_TYPE_DEFAULT 512
473
+ /*
474
+ * Inheritance values (NFS4 ACLs only); included in permset.
475
+ */
476
+ #define ARCHIVE_ENTRY_ACL_ENTRY_INHERITED 0x01000000
477
+ #define ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT 0x02000000
478
+ #define ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT 0x04000000
479
+ #define ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT 0x08000000
480
+ #define ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY 0x10000000
481
+ #define ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS 0x20000000
482
+ #define ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS 0x40000000
483
+
484
+ #define ARCHIVE_ENTRY_ACL_INHERITANCE_NFS4 \
485
+ (ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT \
486
+ | ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT \
487
+ | ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT \
488
+ | ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY \
489
+ | ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS \
490
+ | ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS \
491
+ | ARCHIVE_ENTRY_ACL_ENTRY_INHERITED)
492
+
493
+ /* We need to be able to specify combinations of these. */
494
+ #define ARCHIVE_ENTRY_ACL_TYPE_ACCESS 0x00000100 /* POSIX.1e only */
495
+ #define ARCHIVE_ENTRY_ACL_TYPE_DEFAULT 0x00000200 /* POSIX.1e only */
496
+ #define ARCHIVE_ENTRY_ACL_TYPE_ALLOW 0x00000400 /* NFS4 only */
497
+ #define ARCHIVE_ENTRY_ACL_TYPE_DENY 0x00000800 /* NFS4 only */
498
+ #define ARCHIVE_ENTRY_ACL_TYPE_AUDIT 0x00001000 /* NFS4 only */
499
+ #define ARCHIVE_ENTRY_ACL_TYPE_ALARM 0x00002000 /* NFS4 only */
500
+ #define ARCHIVE_ENTRY_ACL_TYPE_POSIX1E (ARCHIVE_ENTRY_ACL_TYPE_ACCESS \
501
+ | ARCHIVE_ENTRY_ACL_TYPE_DEFAULT)
502
+ #define ARCHIVE_ENTRY_ACL_TYPE_NFS4 (ARCHIVE_ENTRY_ACL_TYPE_ALLOW \
503
+ | ARCHIVE_ENTRY_ACL_TYPE_DENY \
504
+ | ARCHIVE_ENTRY_ACL_TYPE_AUDIT \
505
+ | ARCHIVE_ENTRY_ACL_TYPE_ALARM)
347
506
 
348
507
  /* Tag values mimic POSIX.1e */
349
508
  #define ARCHIVE_ENTRY_ACL_USER 10001 /* Specified user. */
350
509
  #define ARCHIVE_ENTRY_ACL_USER_OBJ 10002 /* User who owns the file. */
351
510
  #define ARCHIVE_ENTRY_ACL_GROUP 10003 /* Specified group. */
352
511
  #define ARCHIVE_ENTRY_ACL_GROUP_OBJ 10004 /* Group who owns the file. */
353
- #define ARCHIVE_ENTRY_ACL_MASK 10005 /* Modify group access. */
354
- #define ARCHIVE_ENTRY_ACL_OTHER 10006 /* Public. */
512
+ #define ARCHIVE_ENTRY_ACL_MASK 10005 /* Modify group access (POSIX.1e only) */
513
+ #define ARCHIVE_ENTRY_ACL_OTHER 10006 /* Public (POSIX.1e only) */
514
+ #define ARCHIVE_ENTRY_ACL_EVERYONE 10107 /* Everyone (NFS4 only) */
355
515
 
356
516
  /*
357
517
  * Set the ACL by clearing it and adding entries one at a time.
@@ -363,60 +523,80 @@ __LA_DECL void archive_entry_copy_stat(struct archive_entry *, const struct stat
363
523
  * default and access information in a single ACL list.
364
524
  */
365
525
  __LA_DECL void archive_entry_acl_clear(struct archive_entry *);
366
- __LA_DECL void archive_entry_acl_add_entry(struct archive_entry *,
526
+ __LA_DECL int archive_entry_acl_add_entry(struct archive_entry *,
367
527
  int /* type */, int /* permset */, int /* tag */,
368
528
  int /* qual */, const char * /* name */);
369
- __LA_DECL void archive_entry_acl_add_entry_w(struct archive_entry *,
529
+ __LA_DECL int archive_entry_acl_add_entry_w(struct archive_entry *,
370
530
  int /* type */, int /* permset */, int /* tag */,
371
531
  int /* qual */, const wchar_t * /* name */);
372
532
 
373
533
  /*
374
534
  * To retrieve the ACL, first "reset", then repeatedly ask for the
375
535
  * "next" entry. The want_type parameter allows you to request only
376
- * access entries or only default entries.
536
+ * certain types of entries.
377
537
  */
378
538
  __LA_DECL int archive_entry_acl_reset(struct archive_entry *, int /* want_type */);
379
539
  __LA_DECL int archive_entry_acl_next(struct archive_entry *, int /* want_type */,
380
540
  int * /* type */, int * /* permset */, int * /* tag */,
381
541
  int * /* qual */, const char ** /* name */);
382
- __LA_DECL int archive_entry_acl_next_w(struct archive_entry *, int /* want_type */,
383
- int * /* type */, int * /* permset */, int * /* tag */,
384
- int * /* qual */, const wchar_t ** /* name */);
385
542
 
386
543
  /*
387
544
  * Construct a text-format ACL. The flags argument is a bitmask that
388
545
  * can include any of the following:
389
546
  *
390
- * ARCHIVE_ENTRY_ACL_TYPE_ACCESS - Include access entries.
391
- * ARCHIVE_ENTRY_ACL_TYPE_DEFAULT - Include default entries.
392
- * ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID - Include extra numeric ID field in
393
- * each ACL entry. (As used by 'star'.)
547
+ * Flags only for archive entries with POSIX.1e ACL:
548
+ * ARCHIVE_ENTRY_ACL_TYPE_ACCESS - Include POSIX.1e "access" entries.
549
+ * ARCHIVE_ENTRY_ACL_TYPE_DEFAULT - Include POSIX.1e "default" entries.
394
550
  * ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT - Include "default:" before each
395
551
  * default ACL entry.
552
+ * ARCHIVE_ENTRY_ACL_STYLE_SOLARIS - Output only one colon after "other" and
553
+ * "mask" entries.
554
+ *
555
+ * Flags only for archive entries with NFSv4 ACL:
556
+ * ARCHIVE_ENTRY_ACL_STYLE_COMPACT - Do not output the minus character for
557
+ * unset permissions and flags in NFSv4 ACL permission and flag fields
558
+ *
559
+ * Flags for for archive entries with POSIX.1e ACL or NFSv4 ACL:
560
+ * ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID - Include extra numeric ID field in
561
+ * each ACL entry.
562
+ * ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA - Separate entries with comma
563
+ * instead of newline.
396
564
  */
397
- #define ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 1024
398
- #define ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048
565
+ #define ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 0x00000001
566
+ #define ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 0x00000002
567
+ #define ARCHIVE_ENTRY_ACL_STYLE_SOLARIS 0x00000004
568
+ #define ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA 0x00000008
569
+ #define ARCHIVE_ENTRY_ACL_STYLE_COMPACT 0x00000010
570
+
571
+ __LA_DECL wchar_t *archive_entry_acl_to_text_w(struct archive_entry *,
572
+ la_ssize_t * /* len */, int /* flags */);
573
+ __LA_DECL char *archive_entry_acl_to_text(struct archive_entry *,
574
+ la_ssize_t * /* len */, int /* flags */);
575
+ __LA_DECL int archive_entry_acl_from_text_w(struct archive_entry *,
576
+ const wchar_t * /* wtext */, int /* type */);
577
+ __LA_DECL int archive_entry_acl_from_text(struct archive_entry *,
578
+ const char * /* text */, int /* type */);
579
+
580
+ /* Deprecated constants */
581
+ #define OLD_ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID 1024
582
+ #define OLD_ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048
583
+
584
+ /* Deprecated functions */
399
585
  __LA_DECL const wchar_t *archive_entry_acl_text_w(struct archive_entry *,
400
- int /* flags */);
586
+ int /* flags */) __LA_DEPRECATED;
587
+ __LA_DECL const char *archive_entry_acl_text(struct archive_entry *,
588
+ int /* flags */) __LA_DEPRECATED;
589
+
590
+ /* Return bitmask of ACL types in an archive entry */
591
+ __LA_DECL int archive_entry_acl_types(struct archive_entry *);
401
592
 
402
593
  /* Return a count of entries matching 'want_type' */
403
594
  __LA_DECL int archive_entry_acl_count(struct archive_entry *, int /* want_type */);
404
595
 
405
- /*
406
- * Private ACL parser. This is private because it handles some
407
- * very weird formats that clients should not be messing with.
408
- * Clients should only deal with their platform-native formats.
409
- * Because of the need to support many formats cleanly, new arguments
410
- * are likely to get added on a regular basis. Clients who try to use
411
- * this interface are likely to be surprised when it changes.
412
- *
413
- * You were warned!
414
- *
415
- * TODO: Move this declaration out of the public header and into
416
- * a private header. Warnings above are silly.
417
- */
418
- __LA_DECL int __archive_entry_acl_parse_w(struct archive_entry *,
419
- const wchar_t *, int /* type */);
596
+ /* Return an opaque ACL object. */
597
+ /* There's not yet anything clients can actually do with this... */
598
+ struct archive_acl;
599
+ __LA_DECL struct archive_acl *archive_entry_acl(struct archive_entry *);
420
600
 
421
601
  /*
422
602
  * extended attributes
@@ -437,6 +617,24 @@ __LA_DECL int archive_entry_xattr_reset(struct archive_entry *);
437
617
  __LA_DECL int archive_entry_xattr_next(struct archive_entry *,
438
618
  const char ** /* name */, const void ** /* value */, size_t *);
439
619
 
620
+ /*
621
+ * sparse
622
+ */
623
+
624
+ __LA_DECL void archive_entry_sparse_clear(struct archive_entry *);
625
+ __LA_DECL void archive_entry_sparse_add_entry(struct archive_entry *,
626
+ la_int64_t /* offset */, la_int64_t /* length */);
627
+
628
+ /*
629
+ * To retrieve the xattr list, first "reset", then repeatedly ask for the
630
+ * "next" entry.
631
+ */
632
+
633
+ __LA_DECL int archive_entry_sparse_count(struct archive_entry *);
634
+ __LA_DECL int archive_entry_sparse_reset(struct archive_entry *);
635
+ __LA_DECL int archive_entry_sparse_next(struct archive_entry *,
636
+ la_int64_t * /* offset */, la_int64_t * /* length */);
637
+
440
638
  /*
441
639
  * Utility to match up hardlinks.
442
640
  *
@@ -449,7 +647,7 @@ __LA_DECL int archive_entry_xattr_next(struct archive_entry *,
449
647
  * be written.
450
648
  * 4. Call archive_entry_linkify(resolver, NULL) until
451
649
  * no more entries are returned.
452
- * 5. Call archive_entry_link_resolver_free(resolver) to free resources.
650
+ * 5. Call archive_entry_linkresolver_free(resolver) to free resources.
453
651
  *
454
652
  * The entries returned have their hardlink and size fields updated
455
653
  * appropriately. If an entry is passed in that does not refer to
@@ -499,7 +697,7 @@ struct archive_entry_linkresolver;
499
697
  * linkify(l2) => l1
500
698
  * linkify(NULL) => l2 (at end, you retrieve remaining links)
501
699
  * As the name suggests, this strategy is used by newer cpio variants.
502
- * It's noticably more complex for the archiver, slightly more complex
700
+ * It's noticeably more complex for the archiver, slightly more complex
503
701
  * for the dearchiver than the tar strategy, but makes it straightforward
504
702
  * to restore a file using any link by simply continuing to scan until
505
703
  * you see a link that is stored with a body. In contrast, the tar
@@ -513,7 +711,8 @@ __LA_DECL void archive_entry_linkresolver_set_strategy(
513
711
  __LA_DECL void archive_entry_linkresolver_free(struct archive_entry_linkresolver *);
514
712
  __LA_DECL void archive_entry_linkify(struct archive_entry_linkresolver *,
515
713
  struct archive_entry **, struct archive_entry **);
516
-
714
+ __LA_DECL struct archive_entry *archive_entry_partial_links(
715
+ struct archive_entry_linkresolver *res, unsigned int *links);
517
716
  #ifdef __cplusplus
518
717
  }
519
718
  #endif