libarchive-static 1.0.6 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. checksums.yaml +4 -4
  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_reader.c +6 -4
  20. data/ext/libarchive-0.1.1/ext/libarchive_reader.o +0 -0
  21. data/ext/libarchive-0.1.1/ext/libarchive_ruby.so +0 -0
  22. data/ext/libarchive-0.1.1/ext/libarchive_win32.h +1 -1
  23. data/ext/libarchive-0.1.1/ext/libarchive_writer.c +2 -2
  24. data/ext/libarchive-0.1.1/ext/libarchive_writer.o +0 -0
  25. data/ext/libarchive-3.6.2/Makefile.in +16892 -0
  26. data/ext/libarchive-3.6.2/build/autoconf/ax_append_compile_flags.m4 +67 -0
  27. data/ext/libarchive-3.6.2/build/autoconf/ax_append_flag.m4 +71 -0
  28. data/ext/libarchive-3.6.2/build/autoconf/ax_check_compile_flag.m4 +74 -0
  29. data/ext/libarchive-3.6.2/build/autoconf/ax_require_defined.m4 +37 -0
  30. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/check_stdcall_func.m4 +0 -0
  31. data/ext/libarchive-3.6.2/build/autoconf/compile +348 -0
  32. data/ext/libarchive-3.6.2/build/autoconf/config.guess +1754 -0
  33. data/ext/libarchive-3.6.2/build/autoconf/config.rpath +696 -0
  34. data/ext/libarchive-3.6.2/build/autoconf/config.sub +1890 -0
  35. data/ext/libarchive-3.6.2/build/autoconf/depcomp +791 -0
  36. data/ext/libarchive-3.6.2/build/autoconf/iconv.m4 +271 -0
  37. data/ext/libarchive-3.6.2/build/autoconf/install-sh +541 -0
  38. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/autoconf/la_uid_t.m4 +0 -0
  39. data/ext/libarchive-3.6.2/build/autoconf/lib-ld.m4 +109 -0
  40. data/ext/libarchive-3.6.2/build/autoconf/lib-link.m4 +777 -0
  41. data/ext/libarchive-3.6.2/build/autoconf/lib-prefix.m4 +224 -0
  42. data/ext/libarchive-3.6.2/build/autoconf/ltmain.sh +11251 -0
  43. data/ext/libarchive-3.6.2/build/autoconf/m4_ax_compile_check_sizeof.m4 +115 -0
  44. data/ext/libarchive-3.6.2/build/autoconf/missing +215 -0
  45. data/ext/libarchive-3.6.2/build/autoconf/test-driver +153 -0
  46. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/build/pkgconfig/libarchive.pc.in +4 -1
  47. data/ext/libarchive-3.6.2/config.h.in +1504 -0
  48. data/ext/libarchive-3.6.2/configure +25558 -0
  49. data/ext/libarchive-3.6.2/libarchive/archive.h +1212 -0
  50. data/ext/libarchive-3.6.2/libarchive/archive_acl.c +2097 -0
  51. data/ext/libarchive-3.6.2/libarchive/archive_acl_private.h +83 -0
  52. data/ext/libarchive-3.6.2/libarchive/archive_blake2.h +197 -0
  53. data/ext/libarchive-3.6.2/libarchive/archive_blake2_impl.h +161 -0
  54. data/ext/libarchive-3.6.2/libarchive/archive_blake2s_ref.c +369 -0
  55. data/ext/libarchive-3.6.2/libarchive/archive_blake2sp_ref.c +361 -0
  56. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_check_magic.c +63 -22
  57. data/ext/libarchive-3.6.2/libarchive/archive_cmdline.c +227 -0
  58. data/ext/libarchive-3.6.2/libarchive/archive_cmdline_private.h +47 -0
  59. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_crc32.h +17 -0
  60. data/ext/libarchive-3.6.2/libarchive/archive_cryptor.c +534 -0
  61. data/ext/libarchive-3.6.2/libarchive/archive_cryptor_private.h +188 -0
  62. data/ext/libarchive-3.6.2/libarchive/archive_digest.c +1505 -0
  63. data/ext/libarchive-3.6.2/libarchive/archive_digest_private.h +416 -0
  64. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_darwin.c +559 -0
  65. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_freebsd.c +712 -0
  66. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_linux.c +760 -0
  67. data/ext/libarchive-3.6.2/libarchive/archive_disk_acl_sunos.c +824 -0
  68. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_endian.h +48 -15
  69. data/ext/libarchive-3.6.2/libarchive/archive_entry.c +2149 -0
  70. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry.h +305 -106
  71. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_bhfi.c +5 -4
  72. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_copy_stat.c +9 -3
  73. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_link_resolver.c +104 -62
  74. data/ext/libarchive-3.6.2/libarchive/archive_entry_locale.h +92 -0
  75. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_private.h +65 -49
  76. data/ext/libarchive-3.6.2/libarchive/archive_entry_sparse.c +156 -0
  77. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_stat.c +6 -6
  78. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_strmode.c +1 -1
  79. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_entry_xattr.c +4 -6
  80. data/ext/libarchive-3.6.2/libarchive/archive_getdate.c +1165 -0
  81. data/ext/libarchive-3.6.2/libarchive/archive_getdate.h +39 -0
  82. data/ext/libarchive-3.6.2/libarchive/archive_hmac.c +334 -0
  83. data/ext/libarchive-3.6.2/libarchive/archive_hmac_private.h +117 -0
  84. data/ext/libarchive-3.6.2/libarchive/archive_match.c +1875 -0
  85. data/ext/libarchive-3.6.2/libarchive/archive_openssl_evp_private.h +53 -0
  86. data/ext/libarchive-3.6.2/libarchive/archive_openssl_hmac_private.h +54 -0
  87. data/ext/libarchive-3.6.2/libarchive/archive_options.c +218 -0
  88. data/ext/libarchive-3.6.2/libarchive/archive_options_private.h +51 -0
  89. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.c +337 -0
  90. data/ext/libarchive-3.6.2/libarchive/archive_pack_dev.h +49 -0
  91. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.c +463 -0
  92. data/ext/libarchive-3.6.2/libarchive/archive_pathmatch.h +52 -0
  93. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_platform.h +77 -9
  94. data/ext/libarchive-3.6.2/libarchive/archive_platform_acl.h +55 -0
  95. data/ext/libarchive-3.6.2/libarchive/archive_platform_xattr.h +47 -0
  96. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7.c +1168 -0
  97. data/ext/libarchive-3.6.2/libarchive/archive_ppmd7_private.h +119 -0
  98. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8.c +1287 -0
  99. data/ext/libarchive-3.6.2/libarchive/archive_ppmd8_private.h +148 -0
  100. data/ext/libarchive-3.6.2/libarchive/archive_ppmd_private.h +151 -0
  101. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_private.h +74 -18
  102. data/ext/libarchive-3.6.2/libarchive/archive_random.c +272 -0
  103. data/ext/libarchive-3.6.2/libarchive/archive_random_private.h +36 -0
  104. data/ext/libarchive-3.6.2/libarchive/archive_rb.c +709 -0
  105. data/ext/libarchive-3.6.2/libarchive/archive_rb.h +113 -0
  106. data/ext/libarchive-3.6.2/libarchive/archive_read.c +1756 -0
  107. data/ext/libarchive-3.6.2/libarchive/archive_read_add_passphrase.c +190 -0
  108. data/ext/libarchive-3.6.2/libarchive/archive_read_append_filter.c +204 -0
  109. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_data_into_fd.c +64 -18
  110. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_entry_from_file.c +1086 -0
  111. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_posix.c +2732 -0
  112. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_private.h +40 -4
  113. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_disk_set_standard_lookup.c +21 -11
  114. data/ext/libarchive-3.6.2/libarchive/archive_read_disk_windows.c +2479 -0
  115. data/ext/libarchive-3.6.2/libarchive/archive_read_extract.c +60 -0
  116. data/ext/{libarchive-2.8.4/libarchive/archive_read_extract.c → libarchive-3.6.2/libarchive/archive_read_extract2.c} +34 -61
  117. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_fd.c +70 -49
  118. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_file.c +38 -23
  119. data/ext/libarchive-3.6.2/libarchive/archive_read_open_filename.c +586 -0
  120. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_open_memory.c +58 -28
  121. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_private.h +127 -59
  122. data/ext/libarchive-3.6.2/libarchive/archive_read_set_format.c +117 -0
  123. data/ext/libarchive-3.6.2/libarchive/archive_read_set_options.c +133 -0
  124. 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
  125. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_by_code.c +83 -0
  126. 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
  127. 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
  128. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_grzip.c +112 -0
  129. 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
  130. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lrzip.c +122 -0
  131. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lz4.c +742 -0
  132. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_lzop.c +499 -0
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. data/ext/libarchive-3.6.2/libarchive/archive_read_support_filter_zstd.c +297 -0
  139. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_7zip.c +3900 -0
  140. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_all.c +89 -0
  141. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_ar.c +126 -72
  142. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_by_code.c +92 -0
  143. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cab.c +3228 -0
  144. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_cpio.c +1104 -0
  145. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_empty.c +14 -11
  146. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_iso9660.c +990 -541
  147. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_lha.c +2916 -0
  148. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_mtree.c +2150 -0
  149. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar.c +3797 -0
  150. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_rar5.c +4251 -0
  151. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_raw.c +38 -31
  152. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_tar.c +1157 -629
  153. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_warc.c +848 -0
  154. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_read_support_format_xar.c +439 -258
  155. data/ext/libarchive-3.6.2/libarchive/archive_read_support_format_zip.c +4270 -0
  156. data/ext/libarchive-3.6.2/libarchive/archive_string.c +4240 -0
  157. data/ext/libarchive-3.6.2/libarchive/archive_string.h +243 -0
  158. data/ext/libarchive-3.6.2/libarchive/archive_string_composition.h +2292 -0
  159. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_string_sprintf.c +44 -16
  160. data/ext/libarchive-3.6.2/libarchive/archive_util.c +655 -0
  161. data/ext/libarchive-3.6.2/libarchive/archive_version_details.c +151 -0
  162. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_virtual.c +85 -16
  163. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.c +214 -541
  164. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_windows.h +74 -106
  165. data/ext/libarchive-3.6.2/libarchive/archive_write.c +828 -0
  166. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter.c +72 -0
  167. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_b64encode.c +304 -0
  168. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_by_name.c +77 -0
  169. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_bzip2.c +401 -0
  170. 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
  171. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_grzip.c +135 -0
  172. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_gzip.c +442 -0
  173. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lrzip.c +197 -0
  174. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lz4.c +700 -0
  175. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_lzop.c +478 -0
  176. 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
  177. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_program.c +391 -0
  178. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_uuencode.c +295 -0
  179. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_xz.c +545 -0
  180. data/ext/libarchive-3.6.2/libarchive/archive_write_add_filter_zstd.c +418 -0
  181. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_posix.c +4711 -0
  182. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_private.h +9 -2
  183. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_disk_set_standard_lookup.c +30 -29
  184. data/ext/libarchive-3.6.2/libarchive/archive_write_disk_windows.c +2842 -0
  185. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_fd.c +15 -10
  186. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_file.c +15 -9
  187. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_filename.c +128 -20
  188. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_open_memory.c +7 -18
  189. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_private.h +72 -29
  190. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format.c +56 -3
  191. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_7zip.c +2322 -0
  192. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ar.c +54 -34
  193. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_by_name.c +20 -2
  194. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio.c +11 -0
  195. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_binary.c +610 -0
  196. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_newc.c +457 -0
  197. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_cpio_odc.c +500 -0
  198. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_filter_by_ext.c +142 -0
  199. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_gnutar.c +755 -0
  200. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_iso9660.c +8165 -0
  201. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_mtree.c +2217 -0
  202. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_pax.c +1049 -387
  203. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_private.h +42 -0
  204. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_raw.c +125 -0
  205. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_shar.c +62 -47
  206. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/archive_write_set_format_ustar.c +279 -108
  207. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_v7tar.c +638 -0
  208. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_warc.c +453 -0
  209. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_xar.c +3259 -0
  210. data/ext/libarchive-3.6.2/libarchive/archive_write_set_format_zip.c +1704 -0
  211. data/ext/libarchive-3.6.2/libarchive/archive_write_set_options.c +130 -0
  212. data/ext/libarchive-3.6.2/libarchive/archive_write_set_passphrase.c +95 -0
  213. data/ext/libarchive-3.6.2/libarchive/archive_xxhash.h +48 -0
  214. data/ext/libarchive-3.6.2/libarchive/config_freebsd.h +271 -0
  215. data/ext/{libarchive-2.8.4 → libarchive-3.6.2}/libarchive/filter_fork.h +10 -5
  216. data/ext/{libarchive-2.8.4/libarchive/filter_fork.c → libarchive-3.6.2/libarchive/filter_fork_posix.c} +98 -19
  217. data/ext/libarchive-3.6.2/libarchive/filter_fork_windows.c +236 -0
  218. data/ext/libarchive-3.6.2/libarchive/xxhash.c +525 -0
  219. data/ext/libarchive-static-makefile +144 -80
  220. data/ext/libarchive-static-wrapper-makefile +1 -1
  221. data/ext/zlib-1.2.13/Makefile.in +404 -0
  222. data/ext/{zlib-1.2.5 → zlib-1.2.13}/adler32.c +51 -34
  223. data/ext/{zlib-1.2.5 → zlib-1.2.13}/compress.c +27 -21
  224. data/ext/zlib-1.2.13/configure +922 -0
  225. data/ext/zlib-1.2.13/crc32.c +1125 -0
  226. data/ext/zlib-1.2.13/crc32.h +9446 -0
  227. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.c +842 -459
  228. data/ext/{zlib-1.2.5 → zlib-1.2.13}/deflate.h +37 -33
  229. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzclose.c +0 -0
  230. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzguts.h +103 -16
  231. data/ext/{zlib-1.2.5 → zlib-1.2.13}/gzlib.c +155 -53
  232. data/ext/zlib-1.2.13/gzread.c +650 -0
  233. data/ext/zlib-1.2.13/gzwrite.c +677 -0
  234. data/ext/{zlib-1.2.5 → zlib-1.2.13}/infback.c +24 -12
  235. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.c +49 -66
  236. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffast.h +0 -0
  237. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inffixed.h +3 -3
  238. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.c +209 -94
  239. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inflate.h +9 -5
  240. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.c +24 -50
  241. data/ext/{zlib-1.2.5 → zlib-1.2.13}/inftrees.h +1 -1
  242. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.c +135 -198
  243. data/ext/{zlib-1.2.5 → zlib-1.2.13}/trees.h +0 -0
  244. data/ext/zlib-1.2.13/uncompr.c +93 -0
  245. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zconf.h +182 -63
  246. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zlib.h +617 -295
  247. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.c +50 -41
  248. data/ext/{zlib-1.2.5 → zlib-1.2.13}/zutil.h +83 -82
  249. metadata +241 -133
  250. data/ext/libarchive-0.1.1/libarchive.c +0 -1762
  251. data/ext/libarchive-2.8.4/Makefile.in +0 -7076
  252. data/ext/libarchive-2.8.4/build/autoconf/compile +0 -143
  253. data/ext/libarchive-2.8.4/build/autoconf/config.guess +0 -1502
  254. data/ext/libarchive-2.8.4/build/autoconf/config.sub +0 -1708
  255. data/ext/libarchive-2.8.4/build/autoconf/depcomp +0 -630
  256. data/ext/libarchive-2.8.4/build/autoconf/install-sh +0 -291
  257. data/ext/libarchive-2.8.4/build/autoconf/ltmain.sh +0 -8406
  258. data/ext/libarchive-2.8.4/build/autoconf/missing +0 -376
  259. data/ext/libarchive-2.8.4/config.h.in +0 -772
  260. data/ext/libarchive-2.8.4/configure +0 -17916
  261. data/ext/libarchive-2.8.4/libarchive/archive.h +0 -741
  262. data/ext/libarchive-2.8.4/libarchive/archive_entry.c +0 -2202
  263. data/ext/libarchive-2.8.4/libarchive/archive_hash.h +0 -281
  264. data/ext/libarchive-2.8.4/libarchive/archive_read.c +0 -1249
  265. data/ext/libarchive-2.8.4/libarchive/archive_read_disk.c +0 -198
  266. data/ext/libarchive-2.8.4/libarchive/archive_read_disk_entry_from_file.c +0 -570
  267. data/ext/libarchive-2.8.4/libarchive/archive_read_open_filename.c +0 -272
  268. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_cpio.c +0 -777
  269. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_mtree.c +0 -1304
  270. data/ext/libarchive-2.8.4/libarchive/archive_read_support_format_zip.c +0 -903
  271. data/ext/libarchive-2.8.4/libarchive/archive_string.c +0 -453
  272. data/ext/libarchive-2.8.4/libarchive/archive_string.h +0 -148
  273. data/ext/libarchive-2.8.4/libarchive/archive_util.c +0 -391
  274. data/ext/libarchive-2.8.4/libarchive/archive_write.c +0 -466
  275. data/ext/libarchive-2.8.4/libarchive/archive_write_disk.c +0 -2628
  276. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_bzip2.c +0 -408
  277. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_gzip.c +0 -477
  278. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_none.c +0 -257
  279. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_program.c +0 -347
  280. data/ext/libarchive-2.8.4/libarchive/archive_write_set_compression_xz.c +0 -438
  281. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio.c +0 -344
  282. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_cpio_newc.c +0 -295
  283. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_mtree.c +0 -1050
  284. data/ext/libarchive-2.8.4/libarchive/archive_write_set_format_zip.c +0 -667
  285. data/ext/libarchive-2.8.4/libarchive/config_freebsd.h +0 -154
  286. data/ext/libarchive-2.8.4/libarchive/filter_fork_windows.c +0 -113
  287. data/ext/zlib-1.2.5/Makefile.in +0 -257
  288. data/ext/zlib-1.2.5/configure +0 -596
  289. data/ext/zlib-1.2.5/crc32.c +0 -442
  290. data/ext/zlib-1.2.5/crc32.h +0 -441
  291. data/ext/zlib-1.2.5/example.c +0 -565
  292. data/ext/zlib-1.2.5/gzread.c +0 -653
  293. data/ext/zlib-1.2.5/gzwrite.c +0 -531
  294. data/ext/zlib-1.2.5/minigzip.c +0 -440
  295. 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