libarchive-static 1.0.5 → 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 (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
@@ -0,0 +1,49 @@
1
+ /* $NetBSD: pack_dev.h,v 1.8 2013/06/14 16:28:20 tsutsui Exp $ */
2
+
3
+ /*-
4
+ * Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
5
+ * All rights reserved.
6
+ *
7
+ * This code is derived from software contributed to The NetBSD Foundation
8
+ * by Charles M. Hannum.
9
+ *
10
+ * Redistribution and use in source and binary forms, with or without
11
+ * modification, are permitted provided that the following conditions
12
+ * are met:
13
+ * 1. Redistributions of source code must retain the above copyright
14
+ * notice, this list of conditions and the following disclaimer.
15
+ * 2. Redistributions in binary form must reproduce the above copyright
16
+ * notice, this list of conditions and the following disclaimer in the
17
+ * documentation and/or other materials provided with the distribution.
18
+ *
19
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
+ * POSSIBILITY OF SUCH DAMAGE.
30
+ */
31
+
32
+ /* Originally from NetBSD's mknod(8) source. */
33
+
34
+ #ifndef ARCHIVE_PACK_DEV_H
35
+ #define ARCHIVE_PACK_DEV_H
36
+
37
+ typedef dev_t pack_t(int, unsigned long [], const char **);
38
+
39
+ pack_t *pack_find(const char *);
40
+ pack_t pack_native;
41
+
42
+ #define major_netbsd(x) ((int32_t)((((x) & 0x000fff00) >> 8)))
43
+ #define minor_netbsd(x) ((int32_t)((((x) & 0xfff00000) >> 12) | \
44
+ (((x) & 0x000000ff) >> 0)))
45
+ #define makedev_netbsd(x,y) ((dev_t)((((x) << 8) & 0x000fff00) | \
46
+ (((y) << 12) & 0xfff00000) | \
47
+ (((y) << 0) & 0x000000ff)))
48
+
49
+ #endif /* ARCHIVE_PACK_DEV_H */
@@ -0,0 +1,463 @@
1
+ /*-
2
+ * Copyright (c) 2003-2007 Tim Kientzle
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions
7
+ * are met:
8
+ * 1. Redistributions of source code must retain the above copyright
9
+ * notice, this list of conditions and the following disclaimer
10
+ * in this position and unchanged.
11
+ * 2. Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
16
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18
+ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
19
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+
27
+ #include "archive_platform.h"
28
+ __FBSDID("$FreeBSD$");
29
+
30
+ #ifdef HAVE_STRING_H
31
+ #include <string.h>
32
+ #endif
33
+ #ifdef HAVE_WCHAR_H
34
+ #include <wchar.h>
35
+ #endif
36
+
37
+ #include "archive_pathmatch.h"
38
+
39
+ /*
40
+ * Check whether a character 'c' is matched by a list specification [...]:
41
+ * * Leading '!' or '^' negates the class.
42
+ * * <char>-<char> is a range of characters
43
+ * * \<char> removes any special meaning for <char>
44
+ *
45
+ * Some interesting boundary cases:
46
+ * a-d-e is one range (a-d) followed by two single characters - and e.
47
+ * \a-\d is same as a-d
48
+ * a\-d is three single characters: a, d, -
49
+ * Trailing - is not special (so [a-] is two characters a and -).
50
+ * Initial - is not special ([a-] is same as [-a] is same as [\\-a])
51
+ * This function never sees a trailing \.
52
+ * [] always fails
53
+ * [!] always succeeds
54
+ */
55
+ static int
56
+ pm_list(const char *start, const char *end, const char c, int flags)
57
+ {
58
+ const char *p = start;
59
+ char rangeStart = '\0', nextRangeStart;
60
+ int match = 1, nomatch = 0;
61
+
62
+ /* This will be used soon... */
63
+ (void)flags; /* UNUSED */
64
+
65
+ /* If this is a negated class, return success for nomatch. */
66
+ if ((*p == '!' || *p == '^') && p < end) {
67
+ match = 0;
68
+ nomatch = 1;
69
+ ++p;
70
+ }
71
+
72
+ while (p < end) {
73
+ nextRangeStart = '\0';
74
+ switch (*p) {
75
+ case '-':
76
+ /* Trailing or initial '-' is not special. */
77
+ if ((rangeStart == '\0') || (p == end - 1)) {
78
+ if (*p == c)
79
+ return (match);
80
+ } else {
81
+ char rangeEnd = *++p;
82
+ if (rangeEnd == '\\')
83
+ rangeEnd = *++p;
84
+ if ((rangeStart <= c) && (c <= rangeEnd))
85
+ return (match);
86
+ }
87
+ break;
88
+ case '\\':
89
+ ++p;
90
+ /* Fall through */
91
+ default:
92
+ if (*p == c)
93
+ return (match);
94
+ nextRangeStart = *p; /* Possible start of range. */
95
+ }
96
+ rangeStart = nextRangeStart;
97
+ ++p;
98
+ }
99
+ return (nomatch);
100
+ }
101
+
102
+ static int
103
+ pm_list_w(const wchar_t *start, const wchar_t *end, const wchar_t c, int flags)
104
+ {
105
+ const wchar_t *p = start;
106
+ wchar_t rangeStart = L'\0', nextRangeStart;
107
+ int match = 1, nomatch = 0;
108
+
109
+ /* This will be used soon... */
110
+ (void)flags; /* UNUSED */
111
+
112
+ /* If this is a negated class, return success for nomatch. */
113
+ if ((*p == L'!' || *p == L'^') && p < end) {
114
+ match = 0;
115
+ nomatch = 1;
116
+ ++p;
117
+ }
118
+
119
+ while (p < end) {
120
+ nextRangeStart = L'\0';
121
+ switch (*p) {
122
+ case L'-':
123
+ /* Trailing or initial '-' is not special. */
124
+ if ((rangeStart == L'\0') || (p == end - 1)) {
125
+ if (*p == c)
126
+ return (match);
127
+ } else {
128
+ wchar_t rangeEnd = *++p;
129
+ if (rangeEnd == L'\\')
130
+ rangeEnd = *++p;
131
+ if ((rangeStart <= c) && (c <= rangeEnd))
132
+ return (match);
133
+ }
134
+ break;
135
+ case L'\\':
136
+ ++p;
137
+ /* Fall through */
138
+ default:
139
+ if (*p == c)
140
+ return (match);
141
+ nextRangeStart = *p; /* Possible start of range. */
142
+ }
143
+ rangeStart = nextRangeStart;
144
+ ++p;
145
+ }
146
+ return (nomatch);
147
+ }
148
+
149
+ /*
150
+ * If s is pointing to "./", ".//", "./././" or the like, skip it.
151
+ */
152
+ static const char *
153
+ pm_slashskip(const char *s) {
154
+ while ((*s == '/')
155
+ || (s[0] == '.' && s[1] == '/')
156
+ || (s[0] == '.' && s[1] == '\0'))
157
+ ++s;
158
+ return (s);
159
+ }
160
+
161
+ static const wchar_t *
162
+ pm_slashskip_w(const wchar_t *s) {
163
+ while ((*s == L'/')
164
+ || (s[0] == L'.' && s[1] == L'/')
165
+ || (s[0] == L'.' && s[1] == L'\0'))
166
+ ++s;
167
+ return (s);
168
+ }
169
+
170
+ static int
171
+ pm(const char *p, const char *s, int flags)
172
+ {
173
+ const char *end;
174
+
175
+ /*
176
+ * Ignore leading './', './/', '././', etc.
177
+ */
178
+ if (s[0] == '.' && s[1] == '/')
179
+ s = pm_slashskip(s + 1);
180
+ if (p[0] == '.' && p[1] == '/')
181
+ p = pm_slashskip(p + 1);
182
+
183
+ for (;;) {
184
+ switch (*p) {
185
+ case '\0':
186
+ if (s[0] == '/') {
187
+ if (flags & PATHMATCH_NO_ANCHOR_END)
188
+ return (1);
189
+ /* "dir" == "dir/" == "dir/." */
190
+ s = pm_slashskip(s);
191
+ }
192
+ return (*s == '\0');
193
+ case '?':
194
+ /* ? always succeeds, unless we hit end of 's' */
195
+ if (*s == '\0')
196
+ return (0);
197
+ break;
198
+ case '*':
199
+ /* "*" == "**" == "***" ... */
200
+ while (*p == '*')
201
+ ++p;
202
+ /* Trailing '*' always succeeds. */
203
+ if (*p == '\0')
204
+ return (1);
205
+ while (*s) {
206
+ if (archive_pathmatch(p, s, flags))
207
+ return (1);
208
+ ++s;
209
+ }
210
+ return (0);
211
+ case '[':
212
+ /*
213
+ * Find the end of the [...] character class,
214
+ * ignoring \] that might occur within the class.
215
+ */
216
+ end = p + 1;
217
+ while (*end != '\0' && *end != ']') {
218
+ if (*end == '\\' && end[1] != '\0')
219
+ ++end;
220
+ ++end;
221
+ }
222
+ if (*end == ']') {
223
+ /* We found [...], try to match it. */
224
+ if (!pm_list(p + 1, end, *s, flags))
225
+ return (0);
226
+ p = end; /* Jump to trailing ']' char. */
227
+ break;
228
+ } else
229
+ /* No final ']', so just match '['. */
230
+ if (*p != *s)
231
+ return (0);
232
+ break;
233
+ case '\\':
234
+ /* Trailing '\\' matches itself. */
235
+ if (p[1] == '\0') {
236
+ if (*s != '\\')
237
+ return (0);
238
+ } else {
239
+ ++p;
240
+ if (*p != *s)
241
+ return (0);
242
+ }
243
+ break;
244
+ case '/':
245
+ if (*s != '/' && *s != '\0')
246
+ return (0);
247
+ /* Note: pattern "/\./" won't match "/";
248
+ * pm_slashskip() correctly stops at backslash. */
249
+ p = pm_slashskip(p);
250
+ s = pm_slashskip(s);
251
+ if (*p == '\0' && (flags & PATHMATCH_NO_ANCHOR_END))
252
+ return (1);
253
+ --p; /* Counteract the increment below. */
254
+ --s;
255
+ break;
256
+ case '$':
257
+ /* '$' is special only at end of pattern and only
258
+ * if PATHMATCH_NO_ANCHOR_END is specified. */
259
+ if (p[1] == '\0' && (flags & PATHMATCH_NO_ANCHOR_END)){
260
+ /* "dir" == "dir/" == "dir/." */
261
+ return (*pm_slashskip(s) == '\0');
262
+ }
263
+ /* Otherwise, '$' is not special. */
264
+ /* FALL THROUGH */
265
+ default:
266
+ if (*p != *s)
267
+ return (0);
268
+ break;
269
+ }
270
+ ++p;
271
+ ++s;
272
+ }
273
+ }
274
+
275
+ static int
276
+ pm_w(const wchar_t *p, const wchar_t *s, int flags)
277
+ {
278
+ const wchar_t *end;
279
+
280
+ /*
281
+ * Ignore leading './', './/', '././', etc.
282
+ */
283
+ if (s[0] == L'.' && s[1] == L'/')
284
+ s = pm_slashskip_w(s + 1);
285
+ if (p[0] == L'.' && p[1] == L'/')
286
+ p = pm_slashskip_w(p + 1);
287
+
288
+ for (;;) {
289
+ switch (*p) {
290
+ case L'\0':
291
+ if (s[0] == L'/') {
292
+ if (flags & PATHMATCH_NO_ANCHOR_END)
293
+ return (1);
294
+ /* "dir" == "dir/" == "dir/." */
295
+ s = pm_slashskip_w(s);
296
+ }
297
+ return (*s == L'\0');
298
+ case L'?':
299
+ /* ? always succeeds, unless we hit end of 's' */
300
+ if (*s == L'\0')
301
+ return (0);
302
+ break;
303
+ case L'*':
304
+ /* "*" == "**" == "***" ... */
305
+ while (*p == L'*')
306
+ ++p;
307
+ /* Trailing '*' always succeeds. */
308
+ if (*p == L'\0')
309
+ return (1);
310
+ while (*s) {
311
+ if (archive_pathmatch_w(p, s, flags))
312
+ return (1);
313
+ ++s;
314
+ }
315
+ return (0);
316
+ case L'[':
317
+ /*
318
+ * Find the end of the [...] character class,
319
+ * ignoring \] that might occur within the class.
320
+ */
321
+ end = p + 1;
322
+ while (*end != L'\0' && *end != L']') {
323
+ if (*end == L'\\' && end[1] != L'\0')
324
+ ++end;
325
+ ++end;
326
+ }
327
+ if (*end == L']') {
328
+ /* We found [...], try to match it. */
329
+ if (!pm_list_w(p + 1, end, *s, flags))
330
+ return (0);
331
+ p = end; /* Jump to trailing ']' char. */
332
+ break;
333
+ } else
334
+ /* No final ']', so just match '['. */
335
+ if (*p != *s)
336
+ return (0);
337
+ break;
338
+ case L'\\':
339
+ /* Trailing '\\' matches itself. */
340
+ if (p[1] == L'\0') {
341
+ if (*s != L'\\')
342
+ return (0);
343
+ } else {
344
+ ++p;
345
+ if (*p != *s)
346
+ return (0);
347
+ }
348
+ break;
349
+ case L'/':
350
+ if (*s != L'/' && *s != L'\0')
351
+ return (0);
352
+ /* Note: pattern "/\./" won't match "/";
353
+ * pm_slashskip() correctly stops at backslash. */
354
+ p = pm_slashskip_w(p);
355
+ s = pm_slashskip_w(s);
356
+ if (*p == L'\0' && (flags & PATHMATCH_NO_ANCHOR_END))
357
+ return (1);
358
+ --p; /* Counteract the increment below. */
359
+ --s;
360
+ break;
361
+ case L'$':
362
+ /* '$' is special only at end of pattern and only
363
+ * if PATHMATCH_NO_ANCHOR_END is specified. */
364
+ if (p[1] == L'\0' && (flags & PATHMATCH_NO_ANCHOR_END)){
365
+ /* "dir" == "dir/" == "dir/." */
366
+ return (*pm_slashskip_w(s) == L'\0');
367
+ }
368
+ /* Otherwise, '$' is not special. */
369
+ /* FALL THROUGH */
370
+ default:
371
+ if (*p != *s)
372
+ return (0);
373
+ break;
374
+ }
375
+ ++p;
376
+ ++s;
377
+ }
378
+ }
379
+
380
+ /* Main entry point. */
381
+ int
382
+ __archive_pathmatch(const char *p, const char *s, int flags)
383
+ {
384
+ /* Empty pattern only matches the empty string. */
385
+ if (p == NULL || *p == '\0')
386
+ return (s == NULL || *s == '\0');
387
+ else if (s == NULL)
388
+ return (0);
389
+
390
+ /* Leading '^' anchors the start of the pattern. */
391
+ if (*p == '^') {
392
+ ++p;
393
+ flags &= ~PATHMATCH_NO_ANCHOR_START;
394
+ }
395
+
396
+ if (*p == '/' && *s != '/')
397
+ return (0);
398
+
399
+ /* Certain patterns anchor implicitly. */
400
+ if (*p == '*' || *p == '/') {
401
+ while (*p == '/')
402
+ ++p;
403
+ while (*s == '/')
404
+ ++s;
405
+ return (pm(p, s, flags));
406
+ }
407
+
408
+ /* If start is unanchored, try to match start of each path element. */
409
+ if (flags & PATHMATCH_NO_ANCHOR_START) {
410
+ for ( ; s != NULL; s = strchr(s, '/')) {
411
+ if (*s == '/')
412
+ s++;
413
+ if (pm(p, s, flags))
414
+ return (1);
415
+ }
416
+ return (0);
417
+ }
418
+
419
+ /* Default: Match from beginning. */
420
+ return (pm(p, s, flags));
421
+ }
422
+
423
+ int
424
+ __archive_pathmatch_w(const wchar_t *p, const wchar_t *s, int flags)
425
+ {
426
+ /* Empty pattern only matches the empty string. */
427
+ if (p == NULL || *p == L'\0')
428
+ return (s == NULL || *s == L'\0');
429
+ else if (s == NULL)
430
+ return (0);
431
+
432
+ /* Leading '^' anchors the start of the pattern. */
433
+ if (*p == L'^') {
434
+ ++p;
435
+ flags &= ~PATHMATCH_NO_ANCHOR_START;
436
+ }
437
+
438
+ if (*p == L'/' && *s != L'/')
439
+ return (0);
440
+
441
+ /* Certain patterns anchor implicitly. */
442
+ if (*p == L'*' || *p == L'/') {
443
+ while (*p == L'/')
444
+ ++p;
445
+ while (*s == L'/')
446
+ ++s;
447
+ return (pm_w(p, s, flags));
448
+ }
449
+
450
+ /* If start is unanchored, try to match start of each path element. */
451
+ if (flags & PATHMATCH_NO_ANCHOR_START) {
452
+ for ( ; s != NULL; s = wcschr(s, L'/')) {
453
+ if (*s == L'/')
454
+ s++;
455
+ if (pm_w(p, s, flags))
456
+ return (1);
457
+ }
458
+ return (0);
459
+ }
460
+
461
+ /* Default: Match from beginning. */
462
+ return (pm_w(p, s, flags));
463
+ }
@@ -0,0 +1,52 @@
1
+ /*-
2
+ * Copyright (c) 2003-2007 Tim Kientzle
3
+ * All rights reserved.
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions
7
+ * are met:
8
+ * 1. Redistributions of source code must retain the above copyright
9
+ * notice, this list of conditions and the following disclaimer
10
+ * in this position and unchanged.
11
+ * 2. Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
16
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18
+ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
19
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ *
26
+ * $FreeBSD$
27
+ */
28
+
29
+ #ifndef ARCHIVE_PATHMATCH_H
30
+ #define ARCHIVE_PATHMATCH_H
31
+
32
+ #ifndef __LIBARCHIVE_BUILD
33
+ #ifndef __LIBARCHIVE_TEST
34
+ #error This header is only to be used internally to libarchive.
35
+ #endif
36
+ #endif
37
+
38
+ /* Don't anchor at beginning unless the pattern starts with "^" */
39
+ #define PATHMATCH_NO_ANCHOR_START 1
40
+ /* Don't anchor at end unless the pattern ends with "$" */
41
+ #define PATHMATCH_NO_ANCHOR_END 2
42
+
43
+ /* Note that "^" and "$" are not special unless you set the corresponding
44
+ * flag above. */
45
+
46
+ int __archive_pathmatch(const char *p, const char *s, int flags);
47
+ int __archive_pathmatch_w(const wchar_t *p, const wchar_t *s, int flags);
48
+
49
+ #define archive_pathmatch(p, s, f) __archive_pathmatch(p, s, f)
50
+ #define archive_pathmatch_w(p, s, f) __archive_pathmatch_w(p, s, f)
51
+
52
+ #endif
@@ -52,12 +52,33 @@
52
52
  #error Oops: No config.h and no pre-built configuration in archive_platform.h.
53
53
  #endif
54
54
 
55
+ /* On macOS check for some symbols based on the deployment target version. */
56
+ #if defined(__APPLE__)
57
+ # undef HAVE_FUTIMENS
58
+ # undef HAVE_UTIMENSAT
59
+ # include <AvailabilityMacros.h>
60
+ # if MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
61
+ # define HAVE_FUTIMENS 1
62
+ # define HAVE_UTIMENSAT 1
63
+ # endif
64
+ #endif
65
+
55
66
  /* It should be possible to get rid of this by extending the feature-test
56
67
  * macros to cover Windows API functions, probably along with non-trivial
57
68
  * refactoring of code to find structures that sit more cleanly on top of
58
69
  * either Windows or Posix APIs. */
59
70
  #if (defined(__WIN32__) || defined(_WIN32) || defined(__WIN32)) && !defined(__CYGWIN__)
60
71
  #include "archive_windows.h"
72
+ /* The C library on Windows specifies a calling convention for callback
73
+ * functions and exports; when we interact with them (capture pointers,
74
+ * call and pass function pointers) we need to match their calling
75
+ * convention.
76
+ * This only matters when libarchive is built with /Gr, /Gz or /Gv
77
+ * (which change the default calling convention.) */
78
+ #define __LA_LIBC_CC __cdecl
79
+ #else
80
+ #define la_stat(path,stref) stat(path,stref)
81
+ #define __LA_LIBC_CC
61
82
  #endif
62
83
 
63
84
  /*
@@ -66,15 +87,18 @@
66
87
  * headers as required.
67
88
  */
68
89
 
69
- /* Get a real definition for __FBSDID if we can */
90
+ /* Get a real definition for __FBSDID or __RCSID if we can */
70
91
  #if HAVE_SYS_CDEFS_H
71
92
  #include <sys/cdefs.h>
72
93
  #endif
73
94
 
74
- /* If not, define it so as to avoid dangling semicolons. */
95
+ /* If not, define them so as to avoid dangling semicolons. */
75
96
  #ifndef __FBSDID
76
97
  #define __FBSDID(a) struct _undefined_hack
77
98
  #endif
99
+ #ifndef __RCSID
100
+ #define __RCSID(a) struct _undefined_hack
101
+ #endif
78
102
 
79
103
  /* Try to get standard C99-style integer type definitions. */
80
104
  #if HAVE_INTTYPES_H
@@ -114,6 +138,12 @@
114
138
  #if !HAVE_DECL_UINT32_MAX
115
139
  #define UINT32_MAX (~(uint32_t)0)
116
140
  #endif
141
+ #if !HAVE_DECL_INT32_MAX
142
+ #define INT32_MAX ((int32_t)(UINT32_MAX >> 1))
143
+ #endif
144
+ #if !HAVE_DECL_INT32_MIN
145
+ #define INT32_MIN ((int32_t)(~INT32_MAX))
146
+ #endif
117
147
  #if !HAVE_DECL_UINT64_MAX
118
148
  #define UINT64_MAX (~(uint64_t)0)
119
149
  #endif
@@ -123,15 +153,37 @@
123
153
  #if !HAVE_DECL_INT64_MIN
124
154
  #define INT64_MIN ((int64_t)(~INT64_MAX))
125
155
  #endif
156
+ #if !HAVE_DECL_UINTMAX_MAX
157
+ #define UINTMAX_MAX (~(uintmax_t)0)
158
+ #endif
159
+ #if !HAVE_DECL_INTMAX_MAX
160
+ #define INTMAX_MAX ((intmax_t)(UINTMAX_MAX >> 1))
161
+ #endif
162
+ #if !HAVE_DECL_INTMAX_MIN
163
+ #define INTMAX_MIN ((intmax_t)(~INTMAX_MAX))
164
+ #endif
126
165
 
127
- /*
128
- * If this platform has <sys/acl.h>, acl_create(), acl_init(),
129
- * acl_set_file(), and ACL_USER, we assume it has the rest of the
130
- * POSIX.1e draft functions used in archive_read_extract.c.
131
- */
132
- #if HAVE_SYS_ACL_H && HAVE_ACL_CREATE_ENTRY && HAVE_ACL_INIT && HAVE_ACL_SET_FILE && HAVE_ACL_USER
133
- #define HAVE_POSIX_ACL 1
166
+ /* Some platforms lack the standard PRIxN/PRIdN definitions. */
167
+ #if !HAVE_INTTYPES_H || !defined(PRIx32) || !defined(PRId32)
168
+ #ifndef PRIx32
169
+ #if SIZEOF_INT == 4
170
+ #define PRIx32 "x"
171
+ #elif SIZEOF_LONG == 4
172
+ #define PRIx32 "lx"
173
+ #else
174
+ #error No suitable 32-bit unsigned integer type found for this platform
175
+ #endif
176
+ #endif // PRIx32
177
+ #ifndef PRId32
178
+ #if SIZEOF_INT == 4
179
+ #define PRId32 "d"
180
+ #elif SIZEOF_LONG == 4
181
+ #define PRId32 "ld"
182
+ #else
183
+ #error No suitable 32-bit signed integer type found for this platform
134
184
  #endif
185
+ #endif // PRId32
186
+ #endif // !HAVE_INTTYPES_H || !defined(PRIx32) || !defined(PRId32)
135
187
 
136
188
  /*
137
189
  * If we can't restore metadata using a file descriptor, then
@@ -141,6 +193,16 @@
141
193
  #define CAN_RESTORE_METADATA_FD
142
194
  #endif
143
195
 
196
+ /*
197
+ * glibc 2.24 deprecates readdir_r
198
+ * bionic c deprecates readdir_r too
199
+ */
200
+ #if defined(HAVE_READDIR_R) && (!defined(__GLIBC__) || !defined(__GLIBC_MINOR__) || __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 24)) && (!defined(__ANDROID__))
201
+ #define USE_READDIR_R 1
202
+ #else
203
+ #undef USE_READDIR_R
204
+ #endif
205
+
144
206
  /* Set up defaults for internal error codes. */
145
207
  #ifndef ARCHIVE_ERRNO_FILE_FORMAT
146
208
  #if HAVE_EFTYPE
@@ -162,4 +224,10 @@
162
224
  #define ARCHIVE_ERRNO_MISC (-1)
163
225
  #endif
164
226
 
227
+ #if defined(__GNUC__) && (__GNUC__ >= 7)
228
+ #define __LA_FALLTHROUGH __attribute__((fallthrough))
229
+ #else
230
+ #define __LA_FALLTHROUGH
231
+ #endif
232
+
165
233
  #endif /* !ARCHIVE_PLATFORM_H_INCLUDED */