libmspack 0.10.1 → 0.10.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (355) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +37 -0
  3. data/.gitignore +2 -0
  4. data/ext/Rakefile +1 -1
  5. data/ext/x86_64-linux/libmspack.so +0 -0
  6. data/ext/x86_64-windows/mspack.dll +0 -0
  7. data/lib/libmspack/version.rb +1 -1
  8. data/lib/libmspack.rb +1 -1
  9. data/libmspack.gemspec +1 -1
  10. metadata +6 -348
  11. data/.travis.yml +0 -5
  12. data/ext/i386-windows/libmspack.dll +0 -0
  13. data/ext/libmspack/doc/Doxyfile +0 -9
  14. data/ext/libmspack/doc/Makefile +0 -8
  15. data/ext/libmspack/doc/html/annotated.html +0 -104
  16. data/ext/libmspack/doc/html/bc_s.png +0 -0
  17. data/ext/libmspack/doc/html/bdwn.png +0 -0
  18. data/ext/libmspack/doc/html/classes.html +0 -85
  19. data/ext/libmspack/doc/html/closed.png +0 -0
  20. data/ext/libmspack/doc/html/dir_f4d90282fe865f947a460986b93b960a.html +0 -83
  21. data/ext/libmspack/doc/html/doc.png +0 -0
  22. data/ext/libmspack/doc/html/doxygen.css +0 -1596
  23. data/ext/libmspack/doc/html/doxygen.png +0 -0
  24. data/ext/libmspack/doc/html/dynsections.js +0 -97
  25. data/ext/libmspack/doc/html/files.html +0 -78
  26. data/ext/libmspack/doc/html/folderclosed.png +0 -0
  27. data/ext/libmspack/doc/html/folderopen.png +0 -0
  28. data/ext/libmspack/doc/html/functions.html +0 -454
  29. data/ext/libmspack/doc/html/functions_vars.html +0 -454
  30. data/ext/libmspack/doc/html/globals.html +0 -406
  31. data/ext/libmspack/doc/html/globals_defs.html +0 -316
  32. data/ext/libmspack/doc/html/globals_func.html +0 -161
  33. data/ext/libmspack/doc/html/graph_legend.html +0 -102
  34. data/ext/libmspack/doc/html/graph_legend.md5 +0 -1
  35. data/ext/libmspack/doc/html/graph_legend.png +0 -0
  36. data/ext/libmspack/doc/html/index.html +0 -167
  37. data/ext/libmspack/doc/html/jquery.js +0 -87
  38. data/ext/libmspack/doc/html/menu.js +0 -26
  39. data/ext/libmspack/doc/html/menudata.js +0 -56
  40. data/ext/libmspack/doc/html/mspack_8h.html +0 -2664
  41. data/ext/libmspack/doc/html/mspack_8h__incl.map +0 -2
  42. data/ext/libmspack/doc/html/mspack_8h__incl.md5 +0 -1
  43. data/ext/libmspack/doc/html/mspack_8h__incl.png +0 -0
  44. data/ext/libmspack/doc/html/mspack_8h_source.html +0 -238
  45. data/ext/libmspack/doc/html/nav_f.png +0 -0
  46. data/ext/libmspack/doc/html/nav_g.png +0 -0
  47. data/ext/libmspack/doc/html/nav_h.png +0 -0
  48. data/ext/libmspack/doc/html/open.png +0 -0
  49. data/ext/libmspack/doc/html/search/all_0.html +0 -26
  50. data/ext/libmspack/doc/html/search/all_0.js +0 -6
  51. data/ext/libmspack/doc/html/search/all_1.html +0 -26
  52. data/ext/libmspack/doc/html/search/all_1.js +0 -5
  53. data/ext/libmspack/doc/html/search/all_10.html +0 -26
  54. data/ext/libmspack/doc/html/search/all_10.js +0 -8
  55. data/ext/libmspack/doc/html/search/all_11.html +0 -26
  56. data/ext/libmspack/doc/html/search/all_11.js +0 -4
  57. data/ext/libmspack/doc/html/search/all_12.html +0 -26
  58. data/ext/libmspack/doc/html/search/all_12.js +0 -4
  59. data/ext/libmspack/doc/html/search/all_13.html +0 -26
  60. data/ext/libmspack/doc/html/search/all_13.js +0 -4
  61. data/ext/libmspack/doc/html/search/all_2.html +0 -26
  62. data/ext/libmspack/doc/html/search/all_2.js +0 -14
  63. data/ext/libmspack/doc/html/search/all_3.html +0 -26
  64. data/ext/libmspack/doc/html/search/all_3.js +0 -13
  65. data/ext/libmspack/doc/html/search/all_4.html +0 -26
  66. data/ext/libmspack/doc/html/search/all_4.js +0 -6
  67. data/ext/libmspack/doc/html/search/all_5.html +0 -26
  68. data/ext/libmspack/doc/html/search/all_5.js +0 -13
  69. data/ext/libmspack/doc/html/search/all_6.html +0 -26
  70. data/ext/libmspack/doc/html/search/all_6.js +0 -4
  71. data/ext/libmspack/doc/html/search/all_7.html +0 -26
  72. data/ext/libmspack/doc/html/search/all_7.js +0 -5
  73. data/ext/libmspack/doc/html/search/all_8.html +0 -26
  74. data/ext/libmspack/doc/html/search/all_8.js +0 -5
  75. data/ext/libmspack/doc/html/search/all_9.html +0 -26
  76. data/ext/libmspack/doc/html/search/all_9.js +0 -7
  77. data/ext/libmspack/doc/html/search/all_a.html +0 -26
  78. data/ext/libmspack/doc/html/search/all_a.js +0 -144
  79. data/ext/libmspack/doc/html/search/all_b.html +0 -26
  80. data/ext/libmspack/doc/html/search/all_b.js +0 -10
  81. data/ext/libmspack/doc/html/search/all_c.html +0 -26
  82. data/ext/libmspack/doc/html/search/all_c.js +0 -5
  83. data/ext/libmspack/doc/html/search/all_d.html +0 -26
  84. data/ext/libmspack/doc/html/search/all_d.js +0 -7
  85. data/ext/libmspack/doc/html/search/all_e.html +0 -26
  86. data/ext/libmspack/doc/html/search/all_e.js +0 -5
  87. data/ext/libmspack/doc/html/search/all_f.html +0 -26
  88. data/ext/libmspack/doc/html/search/all_f.js +0 -15
  89. data/ext/libmspack/doc/html/search/classes_0.html +0 -26
  90. data/ext/libmspack/doc/html/search/classes_0.js +0 -30
  91. data/ext/libmspack/doc/html/search/close.png +0 -0
  92. data/ext/libmspack/doc/html/search/defines_0.html +0 -26
  93. data/ext/libmspack/doc/html/search/defines_0.js +0 -84
  94. data/ext/libmspack/doc/html/search/files_0.html +0 -26
  95. data/ext/libmspack/doc/html/search/files_0.js +0 -4
  96. data/ext/libmspack/doc/html/search/functions_0.html +0 -26
  97. data/ext/libmspack/doc/html/search/functions_0.js +0 -33
  98. data/ext/libmspack/doc/html/search/mag_sel.png +0 -0
  99. data/ext/libmspack/doc/html/search/nomatches.html +0 -12
  100. data/ext/libmspack/doc/html/search/search.css +0 -271
  101. data/ext/libmspack/doc/html/search/search.js +0 -791
  102. data/ext/libmspack/doc/html/search/search_l.png +0 -0
  103. data/ext/libmspack/doc/html/search/search_m.png +0 -0
  104. data/ext/libmspack/doc/html/search/search_r.png +0 -0
  105. data/ext/libmspack/doc/html/search/searchdata.js +0 -30
  106. data/ext/libmspack/doc/html/search/variables_0.html +0 -26
  107. data/ext/libmspack/doc/html/search/variables_0.js +0 -6
  108. data/ext/libmspack/doc/html/search/variables_1.html +0 -26
  109. data/ext/libmspack/doc/html/search/variables_1.js +0 -5
  110. data/ext/libmspack/doc/html/search/variables_10.html +0 -26
  111. data/ext/libmspack/doc/html/search/variables_10.js +0 -8
  112. data/ext/libmspack/doc/html/search/variables_11.html +0 -26
  113. data/ext/libmspack/doc/html/search/variables_11.js +0 -4
  114. data/ext/libmspack/doc/html/search/variables_12.html +0 -26
  115. data/ext/libmspack/doc/html/search/variables_12.js +0 -4
  116. data/ext/libmspack/doc/html/search/variables_13.html +0 -26
  117. data/ext/libmspack/doc/html/search/variables_13.js +0 -4
  118. data/ext/libmspack/doc/html/search/variables_2.html +0 -26
  119. data/ext/libmspack/doc/html/search/variables_2.js +0 -14
  120. data/ext/libmspack/doc/html/search/variables_3.html +0 -26
  121. data/ext/libmspack/doc/html/search/variables_3.js +0 -13
  122. data/ext/libmspack/doc/html/search/variables_4.html +0 -26
  123. data/ext/libmspack/doc/html/search/variables_4.js +0 -6
  124. data/ext/libmspack/doc/html/search/variables_5.html +0 -26
  125. data/ext/libmspack/doc/html/search/variables_5.js +0 -13
  126. data/ext/libmspack/doc/html/search/variables_6.html +0 -26
  127. data/ext/libmspack/doc/html/search/variables_6.js +0 -4
  128. data/ext/libmspack/doc/html/search/variables_7.html +0 -26
  129. data/ext/libmspack/doc/html/search/variables_7.js +0 -5
  130. data/ext/libmspack/doc/html/search/variables_8.html +0 -26
  131. data/ext/libmspack/doc/html/search/variables_8.js +0 -5
  132. data/ext/libmspack/doc/html/search/variables_9.html +0 -26
  133. data/ext/libmspack/doc/html/search/variables_9.js +0 -7
  134. data/ext/libmspack/doc/html/search/variables_a.html +0 -26
  135. data/ext/libmspack/doc/html/search/variables_a.js +0 -5
  136. data/ext/libmspack/doc/html/search/variables_b.html +0 -26
  137. data/ext/libmspack/doc/html/search/variables_b.js +0 -10
  138. data/ext/libmspack/doc/html/search/variables_c.html +0 -26
  139. data/ext/libmspack/doc/html/search/variables_c.js +0 -5
  140. data/ext/libmspack/doc/html/search/variables_d.html +0 -26
  141. data/ext/libmspack/doc/html/search/variables_d.js +0 -7
  142. data/ext/libmspack/doc/html/search/variables_e.html +0 -26
  143. data/ext/libmspack/doc/html/search/variables_e.js +0 -5
  144. data/ext/libmspack/doc/html/search/variables_f.html +0 -26
  145. data/ext/libmspack/doc/html/search/variables_f.js +0 -15
  146. data/ext/libmspack/doc/html/splitbar.png +0 -0
  147. data/ext/libmspack/doc/html/structmscab__compressor.html +0 -106
  148. data/ext/libmspack/doc/html/structmscab__decompressor.html +0 -361
  149. data/ext/libmspack/doc/html/structmscab__decompressor__coll__graph.map +0 -5
  150. data/ext/libmspack/doc/html/structmscab__decompressor__coll__graph.md5 +0 -1
  151. data/ext/libmspack/doc/html/structmscab__decompressor__coll__graph.png +0 -0
  152. data/ext/libmspack/doc/html/structmscabd__cabinet.html +0 -418
  153. data/ext/libmspack/doc/html/structmscabd__cabinet__coll__graph.map +0 -4
  154. data/ext/libmspack/doc/html/structmscabd__cabinet__coll__graph.md5 +0 -1
  155. data/ext/libmspack/doc/html/structmscabd__cabinet__coll__graph.png +0 -0
  156. data/ext/libmspack/doc/html/structmscabd__file.html +0 -337
  157. data/ext/libmspack/doc/html/structmscabd__file__coll__graph.map +0 -3
  158. data/ext/libmspack/doc/html/structmscabd__file__coll__graph.md5 +0 -1
  159. data/ext/libmspack/doc/html/structmscabd__file__coll__graph.png +0 -0
  160. data/ext/libmspack/doc/html/structmscabd__folder.html +0 -159
  161. data/ext/libmspack/doc/html/structmscabd__folder__coll__graph.map +0 -2
  162. data/ext/libmspack/doc/html/structmscabd__folder__coll__graph.md5 +0 -1
  163. data/ext/libmspack/doc/html/structmscabd__folder__coll__graph.png +0 -0
  164. data/ext/libmspack/doc/html/structmschm__compressor.html +0 -226
  165. data/ext/libmspack/doc/html/structmschm__decompressor.html +0 -299
  166. data/ext/libmspack/doc/html/structmschm__decompressor__coll__graph.map +0 -7
  167. data/ext/libmspack/doc/html/structmschm__decompressor__coll__graph.md5 +0 -1
  168. data/ext/libmspack/doc/html/structmschm__decompressor__coll__graph.png +0 -0
  169. data/ext/libmspack/doc/html/structmschmc__file.html +0 -169
  170. data/ext/libmspack/doc/html/structmschmd__file.html +0 -198
  171. data/ext/libmspack/doc/html/structmschmd__file__coll__graph.map +0 -6
  172. data/ext/libmspack/doc/html/structmschmd__file__coll__graph.md5 +0 -1
  173. data/ext/libmspack/doc/html/structmschmd__file__coll__graph.png +0 -0
  174. data/ext/libmspack/doc/html/structmschmd__header.html +0 -458
  175. data/ext/libmspack/doc/html/structmschmd__header__coll__graph.map +0 -6
  176. data/ext/libmspack/doc/html/structmschmd__header__coll__graph.md5 +0 -1
  177. data/ext/libmspack/doc/html/structmschmd__header__coll__graph.png +0 -0
  178. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed.html +0 -198
  179. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed__coll__graph.map +0 -6
  180. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed__coll__graph.md5 +0 -1
  181. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed__coll__graph.png +0 -0
  182. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed.html +0 -140
  183. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed__coll__graph.map +0 -6
  184. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed__coll__graph.md5 +0 -1
  185. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed__coll__graph.png +0 -0
  186. data/ext/libmspack/doc/html/structmschmd__section.html +0 -142
  187. data/ext/libmspack/doc/html/structmschmd__section__coll__graph.map +0 -6
  188. data/ext/libmspack/doc/html/structmschmd__section__coll__graph.md5 +0 -1
  189. data/ext/libmspack/doc/html/structmschmd__section__coll__graph.png +0 -0
  190. data/ext/libmspack/doc/html/structmshlp__compressor.html +0 -106
  191. data/ext/libmspack/doc/html/structmshlp__decompressor.html +0 -106
  192. data/ext/libmspack/doc/html/structmskwaj__compressor.html +0 -243
  193. data/ext/libmspack/doc/html/structmskwaj__decompressor.html +0 -245
  194. data/ext/libmspack/doc/html/structmskwaj__decompressor__coll__graph.map +0 -3
  195. data/ext/libmspack/doc/html/structmskwaj__decompressor__coll__graph.md5 +0 -1
  196. data/ext/libmspack/doc/html/structmskwaj__decompressor__coll__graph.png +0 -0
  197. data/ext/libmspack/doc/html/structmskwajd__header.html +0 -225
  198. data/ext/libmspack/doc/html/structmslit__compressor.html +0 -106
  199. data/ext/libmspack/doc/html/structmslit__decompressor.html +0 -106
  200. data/ext/libmspack/doc/html/structmsoab__compressor.html +0 -151
  201. data/ext/libmspack/doc/html/structmsoab__decompressor.html +0 -184
  202. data/ext/libmspack/doc/html/structmspack__file.html +0 -107
  203. data/ext/libmspack/doc/html/structmspack__system.html +0 -404
  204. data/ext/libmspack/doc/html/structmspack__system__coll__graph.map +0 -3
  205. data/ext/libmspack/doc/html/structmspack__system__coll__graph.md5 +0 -1
  206. data/ext/libmspack/doc/html/structmspack__system__coll__graph.png +0 -0
  207. data/ext/libmspack/doc/html/structmsszdd__compressor.html +0 -186
  208. data/ext/libmspack/doc/html/structmsszdd__decompressor.html +0 -246
  209. data/ext/libmspack/doc/html/structmsszdd__decompressor__coll__graph.map +0 -3
  210. data/ext/libmspack/doc/html/structmsszdd__decompressor__coll__graph.md5 +0 -1
  211. data/ext/libmspack/doc/html/structmsszdd__decompressor__coll__graph.png +0 -0
  212. data/ext/libmspack/doc/html/structmsszddd__header.html +0 -149
  213. data/ext/libmspack/doc/html/sync_off.png +0 -0
  214. data/ext/libmspack/doc/html/sync_on.png +0 -0
  215. data/ext/libmspack/doc/html/szdd_kwaj_format.html +0 -331
  216. data/ext/libmspack/doc/html/tab_a.png +0 -0
  217. data/ext/libmspack/doc/html/tab_b.png +0 -0
  218. data/ext/libmspack/doc/html/tab_h.png +0 -0
  219. data/ext/libmspack/doc/html/tab_s.png +0 -0
  220. data/ext/libmspack/doc/html/tabs.css +0 -1
  221. data/ext/libmspack/doc/szdd_kwaj_format.html +0 -331
  222. data/ext/libmspack/examples/cabd_memory.c +0 -179
  223. data/ext/libmspack/examples/cabrip.c +0 -85
  224. data/ext/libmspack/examples/chmextract.c +0 -121
  225. data/ext/libmspack/examples/msexpand.c +0 -48
  226. data/ext/libmspack/examples/multifh.c +0 -435
  227. data/ext/libmspack/examples/oabextract.c +0 -41
  228. data/ext/libmspack/test/cabd_md5.c +0 -161
  229. data/ext/libmspack/test/cabd_test.c +0 -468
  230. data/ext/libmspack/test/chmd_find.c +0 -95
  231. data/ext/libmspack/test/chmd_md5.c +0 -67
  232. data/ext/libmspack/test/chmd_order.c +0 -144
  233. data/ext/libmspack/test/chmd_test.c +0 -134
  234. data/ext/libmspack/test/chminfo.c +0 -285
  235. data/ext/libmspack/test/error.h +0 -22
  236. data/ext/libmspack/test/kwajd_test.c +0 -119
  237. data/ext/libmspack/test/md5.c +0 -450
  238. data/ext/libmspack/test/md5.h +0 -166
  239. data/ext/libmspack/test/md5_fh.h +0 -123
  240. data/ext/libmspack/test/test_files/cabd/1.pl +0 -84
  241. data/ext/libmspack/test/test_files/cabd/2.pl +0 -75
  242. data/ext/libmspack/test/test_files/cabd/bad_folderindex.cab +0 -0
  243. data/ext/libmspack/test/test_files/cabd/bad_nofiles.cab +0 -0
  244. data/ext/libmspack/test/test_files/cabd/bad_nofolders.cab +0 -0
  245. data/ext/libmspack/test/test_files/cabd/bad_signature.cab +0 -0
  246. data/ext/libmspack/test/test_files/cabd/cve-2010-2800-mszip-infinite-loop.cab +0 -0
  247. data/ext/libmspack/test/test_files/cabd/cve-2014-9556-qtm-infinite-loop.cab +0 -0
  248. data/ext/libmspack/test/test_files/cabd/cve-2014-9732-folders-segfault.cab +0 -0
  249. data/ext/libmspack/test/test_files/cabd/cve-2015-4470-mszip-over-read.cab +0 -0
  250. data/ext/libmspack/test/test_files/cabd/cve-2015-4471-lzx-under-read.cab +0 -0
  251. data/ext/libmspack/test/test_files/cabd/filename-read-violation-1.cab +0 -0
  252. data/ext/libmspack/test/test_files/cabd/filename-read-violation-2.cab +0 -0
  253. data/ext/libmspack/test/test_files/cabd/filename-read-violation-3.cab +0 -0
  254. data/ext/libmspack/test/test_files/cabd/filename-read-violation-4.cab +0 -0
  255. data/ext/libmspack/test/test_files/cabd/lzx-main-tree-no-lengths.cab +0 -0
  256. data/ext/libmspack/test/test_files/cabd/lzx-premature-matches.cab +0 -0
  257. data/ext/libmspack/test/test_files/cabd/mszip_lzx_qtm.cab +0 -0
  258. data/ext/libmspack/test/test_files/cabd/multi_basic_pt1.cab +0 -0
  259. data/ext/libmspack/test/test_files/cabd/multi_basic_pt2.cab +0 -0
  260. data/ext/libmspack/test/test_files/cabd/multi_basic_pt3.cab +0 -0
  261. data/ext/libmspack/test/test_files/cabd/multi_basic_pt4.cab +0 -0
  262. data/ext/libmspack/test/test_files/cabd/multi_basic_pt5.cab +0 -0
  263. data/ext/libmspack/test/test_files/cabd/normal_255c_filename.cab +0 -0
  264. data/ext/libmspack/test/test_files/cabd/normal_2files_1folder.cab +0 -0
  265. data/ext/libmspack/test/test_files/cabd/normal_2files_2folders.cab +0 -0
  266. data/ext/libmspack/test/test_files/cabd/partial_nodata.cab +0 -0
  267. data/ext/libmspack/test/test_files/cabd/partial_nofiles.cab +0 -0
  268. data/ext/libmspack/test/test_files/cabd/partial_nofolder.cab +0 -0
  269. data/ext/libmspack/test/test_files/cabd/partial_shortextheader.cab +0 -0
  270. data/ext/libmspack/test/test_files/cabd/partial_shortfile1.cab +0 -0
  271. data/ext/libmspack/test/test_files/cabd/partial_shortfile2.cab +0 -0
  272. data/ext/libmspack/test/test_files/cabd/partial_shortfolder.cab +0 -0
  273. data/ext/libmspack/test/test_files/cabd/partial_shortheader.cab +0 -0
  274. data/ext/libmspack/test/test_files/cabd/partial_str_nofname.cab +0 -0
  275. data/ext/libmspack/test/test_files/cabd/partial_str_noninfo.cab +0 -0
  276. data/ext/libmspack/test/test_files/cabd/partial_str_nonname.cab +0 -0
  277. data/ext/libmspack/test/test_files/cabd/partial_str_nopinfo.cab +0 -0
  278. data/ext/libmspack/test/test_files/cabd/partial_str_nopname.cab +0 -0
  279. data/ext/libmspack/test/test_files/cabd/partial_str_shortfname.cab +0 -0
  280. data/ext/libmspack/test/test_files/cabd/partial_str_shortninfo.cab +0 -0
  281. data/ext/libmspack/test/test_files/cabd/partial_str_shortnname.cab +0 -0
  282. data/ext/libmspack/test/test_files/cabd/partial_str_shortpinfo.cab +0 -0
  283. data/ext/libmspack/test/test_files/cabd/partial_str_shortpname.cab +0 -0
  284. data/ext/libmspack/test/test_files/cabd/qtm-max-size-block.cab +0 -0
  285. data/ext/libmspack/test/test_files/cabd/reserve_---.cab +0 -0
  286. data/ext/libmspack/test/test_files/cabd/reserve_--D.cab +0 -0
  287. data/ext/libmspack/test/test_files/cabd/reserve_-F-.cab +0 -0
  288. data/ext/libmspack/test/test_files/cabd/reserve_-FD.cab +0 -0
  289. data/ext/libmspack/test/test_files/cabd/reserve_H--.cab +0 -0
  290. data/ext/libmspack/test/test_files/cabd/reserve_H-D.cab +0 -0
  291. data/ext/libmspack/test/test_files/cabd/reserve_HF-.cab +0 -0
  292. data/ext/libmspack/test/test_files/cabd/reserve_HFD.cab +0 -0
  293. data/ext/libmspack/test/test_files/cabd/search_basic.cab +0 -0
  294. data/ext/libmspack/test/test_files/cabd/search_tricky1.cab +0 -0
  295. data/ext/libmspack/test/test_files/chmd/blank-filenames.chm +0 -0
  296. data/ext/libmspack/test/test_files/chmd/cve-2015-4467-reset-interval-zero.chm.xor +0 -0
  297. data/ext/libmspack/test/test_files/chmd/cve-2015-4468-namelen-bounds.chm +0 -0
  298. data/ext/libmspack/test/test_files/chmd/cve-2015-4469-namelen-bounds.chm +0 -0
  299. data/ext/libmspack/test/test_files/chmd/cve-2015-4472-namelen-bounds.chm +0 -0
  300. data/ext/libmspack/test/test_files/chmd/cve-2017-6419-lzx-negative-spaninfo.chm +0 -0
  301. data/ext/libmspack/test/test_files/chmd/short-system-filenames.chm +0 -0
  302. data/ext/libmspack/test/test_files/kwajd/f00.kwj +0 -0
  303. data/ext/libmspack/test/test_files/kwajd/f01.kwj +0 -0
  304. data/ext/libmspack/test/test_files/kwajd/f02.kwj +0 -0
  305. data/ext/libmspack/test/test_files/kwajd/f03.kwj +0 -0
  306. data/ext/libmspack/test/test_files/kwajd/f04.kwj +0 -0
  307. data/ext/libmspack/test/test_files/kwajd/f10.kwj +0 -0
  308. data/ext/libmspack/test/test_files/kwajd/f11.kwj +0 -0
  309. data/ext/libmspack/test/test_files/kwajd/f12.kwj +0 -0
  310. data/ext/libmspack/test/test_files/kwajd/f13.kwj +0 -0
  311. data/ext/libmspack/test/test_files/kwajd/f14.kwj +0 -0
  312. data/ext/libmspack/test/test_files/kwajd/f20.kwj +0 -0
  313. data/ext/libmspack/test/test_files/kwajd/f21.kwj +0 -0
  314. data/ext/libmspack/test/test_files/kwajd/f22.kwj +0 -0
  315. data/ext/libmspack/test/test_files/kwajd/f23.kwj +0 -0
  316. data/ext/libmspack/test/test_files/kwajd/f24.kwj +0 -0
  317. data/ext/libmspack/test/test_files/kwajd/f30.kwj +0 -0
  318. data/ext/libmspack/test/test_files/kwajd/f31.kwj +0 -0
  319. data/ext/libmspack/test/test_files/kwajd/f32.kwj +0 -0
  320. data/ext/libmspack/test/test_files/kwajd/f33.kwj +0 -0
  321. data/ext/libmspack/test/test_files/kwajd/f34.kwj +0 -0
  322. data/ext/libmspack/test/test_files/kwajd/f40.kwj +0 -0
  323. data/ext/libmspack/test/test_files/kwajd/f41.kwj +0 -0
  324. data/ext/libmspack/test/test_files/kwajd/f42.kwj +0 -0
  325. data/ext/libmspack/test/test_files/kwajd/f43.kwj +0 -0
  326. data/ext/libmspack/test/test_files/kwajd/f44.kwj +0 -0
  327. data/ext/libmspack/test/test_files/kwajd/f50.kwj +0 -0
  328. data/ext/libmspack/test/test_files/kwajd/f51.kwj +0 -0
  329. data/ext/libmspack/test/test_files/kwajd/f52.kwj +0 -0
  330. data/ext/libmspack/test/test_files/kwajd/f53.kwj +0 -0
  331. data/ext/libmspack/test/test_files/kwajd/f54.kwj +0 -0
  332. data/ext/libmspack/test/test_files/kwajd/f60.kwj +0 -0
  333. data/ext/libmspack/test/test_files/kwajd/f61.kwj +0 -0
  334. data/ext/libmspack/test/test_files/kwajd/f62.kwj +0 -0
  335. data/ext/libmspack/test/test_files/kwajd/f63.kwj +0 -0
  336. data/ext/libmspack/test/test_files/kwajd/f64.kwj +0 -0
  337. data/ext/libmspack/test/test_files/kwajd/f70.kwj +0 -0
  338. data/ext/libmspack/test/test_files/kwajd/f71.kwj +0 -0
  339. data/ext/libmspack/test/test_files/kwajd/f72.kwj +0 -0
  340. data/ext/libmspack/test/test_files/kwajd/f73.kwj +0 -0
  341. data/ext/libmspack/test/test_files/kwajd/f74.kwj +0 -0
  342. data/ext/libmspack/test/test_files/kwajd/f80.kwj +0 -0
  343. data/ext/libmspack/test/test_files/kwajd/f81.kwj +0 -0
  344. data/ext/libmspack/test/test_files/kwajd/f82.kwj +0 -0
  345. data/ext/libmspack/test/test_files/kwajd/f83.kwj +0 -0
  346. data/ext/libmspack/test/test_files/kwajd/f84.kwj +0 -0
  347. data/ext/libmspack/test/test_files/kwajd/f90.kwj +0 -0
  348. data/ext/libmspack/test/test_files/kwajd/f91.kwj +0 -0
  349. data/ext/libmspack/test/test_files/kwajd/f92.kwj +0 -0
  350. data/ext/libmspack/test/test_files/kwajd/f93.kwj +0 -0
  351. data/ext/libmspack/test/test_files/kwajd/f94.kwj +0 -0
  352. data/ext/libmspack/test/test_files/kwajd/make.pl +0 -17
  353. data/ext/x86_64-linux/liblibmspack.so +0 -0
  354. data/ext/x86_64-windows/libmspack.dll +0 -0
  355. data/ext/x86_64-windows-msys/libmspack.dll +0 -0
@@ -1,167 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
- <meta name="generator" content="Doxygen 1.8.13"/>
7
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
- <title>libmspack: Main Page</title>
9
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
- <script type="text/javascript" src="jquery.js"></script>
11
- <script type="text/javascript" src="dynsections.js"></script>
12
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
- <script type="text/javascript" src="search/searchdata.js"></script>
14
- <script type="text/javascript" src="search/search.js"></script>
15
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
- </head>
17
- <body>
18
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
- <div id="titlearea">
20
- <table cellspacing="0" cellpadding="0">
21
- <tbody>
22
- <tr style="height: 56px;">
23
- <td id="projectalign" style="padding-left: 0.5em;">
24
- <div id="projectname">libmspack
25
- </div>
26
- </td>
27
- </tr>
28
- </tbody>
29
- </table>
30
- </div>
31
- <!-- end header part -->
32
- <!-- Generated by Doxygen 1.8.13 -->
33
- <script type="text/javascript">
34
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
- </script>
36
- <script type="text/javascript" src="menudata.js"></script>
37
- <script type="text/javascript" src="menu.js"></script>
38
- <script type="text/javascript">
39
- $(function() {
40
- initMenu('',true,false,'search.php','Search');
41
- $(document).ready(function() { init_search(); });
42
- });
43
- </script>
44
- <div id="main-nav"></div>
45
- </div><!-- top -->
46
- <!-- window showing the filter options -->
47
- <div id="MSearchSelectWindow"
48
- onmouseover="return searchBox.OnSearchSelectShow()"
49
- onmouseout="return searchBox.OnSearchSelectHide()"
50
- onkeydown="return searchBox.OnSearchSelectKey(event)">
51
- </div>
52
-
53
- <!-- iframe showing the search results (closed by default) -->
54
- <div id="MSearchResultsWindow">
55
- <iframe src="javascript:void(0)" frameborder="0"
56
- name="MSearchResults" id="MSearchResults">
57
- </iframe>
58
- </div>
59
-
60
- <div class="header">
61
- <div class="headertitle">
62
- <div class="title">libmspack Documentation</div> </div>
63
- </div><!--header-->
64
- <div class="contents">
65
- <div class="textblock"><h1><a class="anchor" id="intro"></a>
66
- Introduction</h1>
67
- <p>libmspack is a library which provides compressors and decompressors, archivers and dearchivers for Microsoft compression formats.</p>
68
- <h1><a class="anchor" id="formats"></a>
69
- Formats supported</h1>
70
- <p>The following file formats are supported:</p><ul>
71
- <li>SZDD files, which use LZSS compression</li>
72
- <li>KWAJ files, which use LZSS, LZSS+Huffman or deflate compression</li>
73
- <li>.HLP (MS Help) files, which use LZSS compression</li>
74
- <li>.CAB (MS Cabinet) files, which use deflate, LZX or Quantum compression</li>
75
- <li>.CHM (HTML Help) files, which use LZX compression</li>
76
- <li>.LIT (MS EBook) files, which use LZX compression and DES encryption</li>
77
- <li>.LZX (Exchange Offline Addressbook) files, which use LZX compression</li>
78
- </ul>
79
- <p>To determine the capabilities of the library, and the binary compatibility version of any particular compressor or decompressor, use the <a class="el" href="mspack_8h.html#a2194442b6f887014905c2f59e43213f7" title="Enquire about the binary compatibility version of a specific interface in the library. ">mspack_version()</a> function. The UNIX library interface version is defined as the highest-versioned library component.</p>
80
- <h1><a class="anchor" id="starting"></a>
81
- Getting started</h1>
82
- <p>The macro <a class="el" href="mspack_8h.html#a3a94be2216dd1e835733acb7c4645fca" title="System self-test function, to ensure both library and calling program can use one another...">MSPACK_SYS_SELFTEST()</a> should be used to ensure the library can be used. In particular, it checks if the caller is using 32-bit file I/O when the library is compiled for 64-bit file I/O and vice versa.</p>
83
- <p>If compiled normally, the library includes basic file I/O and memory management functionality using the standard C library. This can be customised and replaced entirely by creating a <a class="el" href="structmspack__system.html" title="A structure which abstracts file I/O and memory management. ">mspack_system</a> structure.</p>
84
- <p>A compressor or decompressor for the required format must be instantiated before it can be used. Each construction function takes one parameter, which is either a pointer to a custom <a class="el" href="structmspack__system.html" title="A structure which abstracts file I/O and memory management. ">mspack_system</a> structure, or NULL to use the default. The instantiation returned, if not NULL, contains function pointers (methods) to work with the given file format.</p>
85
- <p>For compression:</p><ul>
86
- <li><a class="el" href="mspack_8h.html#aa11b092e00e6d4862d134a05b97b9c09" title="Creates a new CAB compressor. ">mspack_create_cab_compressor()</a> creates a <a class="el" href="structmscab__compressor.html" title="TODO. ">mscab_compressor</a></li>
87
- <li><a class="el" href="mspack_8h.html#a749d6b350987be706728e020e875b13f" title="Creates a new CHM compressor. ">mspack_create_chm_compressor()</a> creates a <a class="el" href="structmschm__compressor.html" title="A compressor for .CHM (Microsoft HTMLHelp) files. ">mschm_compressor</a></li>
88
- <li><a class="el" href="mspack_8h.html#a9478967ec3cf95b0a312272d6e78afbe" title="Creates a new LIT compressor. ">mspack_create_lit_compressor()</a> creates a <a class="el" href="structmslit__compressor.html" title="TODO. ">mslit_compressor</a></li>
89
- <li><a class="el" href="mspack_8h.html#a9587b6c3bf2907d496a0c438c7904463" title="Creates a new HLP compressor. ">mspack_create_hlp_compressor()</a> creates a <a class="el" href="structmshlp__compressor.html" title="TODO. ">mshlp_compressor</a></li>
90
- <li><a class="el" href="mspack_8h.html#a00c23794eac4dab60057cc5b84c2a7ea" title="Creates a new SZDD compressor. ">mspack_create_szdd_compressor()</a> creates a <a class="el" href="structmsszdd__compressor.html" title="A compressor for the SZDD file format. ">msszdd_compressor</a></li>
91
- <li><a class="el" href="mspack_8h.html#aa214297f2f85b56b2a556bf560dba9d2" title="Creates a new KWAJ compressor. ">mspack_create_kwaj_compressor()</a> creates a <a class="el" href="structmskwaj__compressor.html" title="A compressor for the KWAJ file format. ">mskwaj_compressor</a></li>
92
- <li><a class="el" href="mspack_8h.html#a9b371f1ecbb8423ffe509e3a023ba962" title="Creates a new OAB compressor. ">mspack_create_oab_compressor()</a> creates a <a class="el" href="structmsoab__compressor.html" title="A compressor for the Offline Address Book (OAB) format. ">msoab_compressor</a></li>
93
- </ul>
94
- <p>For decompression:</p><ul>
95
- <li><a class="el" href="mspack_8h.html#a9964981ec0e6f49814301101e1708f95" title="Creates a new CAB decompressor. ">mspack_create_cab_decompressor()</a> creates a <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a></li>
96
- <li><a class="el" href="mspack_8h.html#a5829a2023927ad4dc8bd452f3b294851" title="Creates a new CHM decompressor. ">mspack_create_chm_decompressor()</a> creates a <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a></li>
97
- <li><a class="el" href="mspack_8h.html#a019e19331c50d80a4d424395671219f2" title="Creates a new LIT decompressor. ">mspack_create_lit_decompressor()</a> creates a <a class="el" href="structmslit__decompressor.html" title="TODO. ">mslit_decompressor</a></li>
98
- <li><a class="el" href="mspack_8h.html#a0bd8ff2ddc155f3bf5ee4f47fdde7f4a" title="Creates a new HLP decompressor. ">mspack_create_hlp_decompressor()</a> creates a <a class="el" href="structmshlp__decompressor.html" title="TODO. ">mshlp_decompressor</a></li>
99
- <li><a class="el" href="mspack_8h.html#a81ec853a5fcfad25acdfab6bee1cd3cc" title="Creates a new SZDD decompressor. ">mspack_create_szdd_decompressor()</a> creates a <a class="el" href="structmsszdd__decompressor.html" title="A decompressor for SZDD compressed files. ">msszdd_decompressor</a></li>
100
- <li><a class="el" href="mspack_8h.html#abeb6430c01e352502c8c5d4f285a2d97" title="Creates a new KWAJ decompressor. ">mspack_create_kwaj_decompressor()</a> creates a <a class="el" href="structmskwaj__decompressor.html" title="A decompressor for KWAJ compressed files. ">mskwaj_decompressor</a></li>
101
- <li><a class="el" href="mspack_8h.html#a211700fd8b678d0d529f1cd40ce99e01" title="Creates a new OAB decompressor. ">mspack_create_oab_decompressor()</a> creates a <a class="el" href="structmsoab__decompressor.html" title="A decompressor for .LZX (Offline Address Book) files. ">msoab_decompressor</a></li>
102
- </ul>
103
- <p>Once finished working with a format, each kind of compressor/decompressor has its own specific destructor:</p><ul>
104
- <li><a class="el" href="mspack_8h.html#a23263871d8dc8d64830e8ff827d6e32d" title="Destroys an existing CAB compressor. ">mspack_destroy_cab_compressor()</a></li>
105
- <li><a class="el" href="mspack_8h.html#a13e9100ea34b16693cacb92b212ccadc" title="Destroys an existing CAB decompressor. ">mspack_destroy_cab_decompressor()</a></li>
106
- <li><a class="el" href="mspack_8h.html#a05c47f6572f3966d9495810332356b94" title="Destroys an existing CHM compressor. ">mspack_destroy_chm_compressor()</a></li>
107
- <li><a class="el" href="mspack_8h.html#a50c0799f5c1a128672c024a05c79cac8" title="Destroys an existing CHM decompressor. ">mspack_destroy_chm_decompressor()</a></li>
108
- <li><a class="el" href="mspack_8h.html#aba0e2b76f4998e914cc96db475e8b598" title="Destroys an existing LIT compressor. ">mspack_destroy_lit_compressor()</a></li>
109
- <li><a class="el" href="mspack_8h.html#a51fdfc5b9786dc914ec083510b11fe9f" title="Destroys an existing LIT decompressor. ">mspack_destroy_lit_decompressor()</a></li>
110
- <li><a class="el" href="mspack_8h.html#a5d7d5d89c674847821bb7f270be828c8" title="Destroys an existing hlp compressor. ">mspack_destroy_hlp_compressor()</a></li>
111
- <li><a class="el" href="mspack_8h.html#a1e2dbd38bdcc255d63c43bbad2f7786f" title="Destroys an existing hlp decompressor. ">mspack_destroy_hlp_decompressor()</a></li>
112
- <li><a class="el" href="mspack_8h.html#a4053f06c244cab5e880241ecd0a8a64f" title="Destroys an existing SZDD compressor. ">mspack_destroy_szdd_compressor()</a></li>
113
- <li><a class="el" href="mspack_8h.html#aaf070981f5d3a3a6bb430070cc2b3e73" title="Destroys an existing SZDD decompressor. ">mspack_destroy_szdd_decompressor()</a></li>
114
- <li><a class="el" href="mspack_8h.html#aca7c302fbca1abd91c6d00df191e221c" title="Destroys an existing KWAJ compressor. ">mspack_destroy_kwaj_compressor()</a></li>
115
- <li><a class="el" href="mspack_8h.html#ae1d6e6754279bad79e73af8fab761f50" title="Destroys an existing KWAJ decompressor. ">mspack_destroy_kwaj_decompressor()</a></li>
116
- <li><a class="el" href="mspack_8h.html#af4a43cbea4701b86cf5c0363b46b7c71" title="Destroys an existing OAB compressor. ">mspack_destroy_oab_compressor()</a></li>
117
- <li><a class="el" href="mspack_8h.html#a9a0e8aca53554d477705d81569968ca1" title="Destroys an existing OAB decompressor. ">mspack_destroy_oab_decompressor()</a></li>
118
- </ul>
119
- <p>Destroying a compressor or decompressor does not destroy any objects, structures or handles that have been created using that compressor or decompressor. Ensure that everything created or opened is destroyed or closed before compressor/decompressor is itself destroyed.</p>
120
- <h1><a class="anchor" id="errors"></a>
121
- Error codes</h1>
122
- <p>All compressors and decompressors use the same set of error codes. Most methods return an error code directly. For methods which do not return error codes directly, the error code can be obtained with the last_error() method.</p>
123
- <ul>
124
- <li><a class="el" href="mspack_8h.html#a30476cfa36ddee80950e715591cf8832" title="Error code: no error. ">MSPACK_ERR_OK</a> is used to indicate success. This error code is defined as zero, all other code are non-zero.</li>
125
- <li><a class="el" href="mspack_8h.html#aa55388352a27b45993bc8f1399218a75" title="Error code: bad arguments to method. ">MSPACK_ERR_ARGS</a> indicates that a method was called with inappropriate arguments.</li>
126
- <li><a class="el" href="mspack_8h.html#a55cd1d9f2831f4568dc78a712548ae2d" title="Error code: error opening file. ">MSPACK_ERR_OPEN</a> indicates that <a class="el" href="structmspack__system.html#a908dd0c7eecc8fe0d61584f69896df0c" title="Opens a file for reading, writing, appending or updating. ">mspack_system::open()</a> failed.</li>
127
- <li><a class="el" href="mspack_8h.html#ae3340b3e95a75e8a5b260fe27fdcfc80" title="Error code: error reading file. ">MSPACK_ERR_READ</a> indicates that <a class="el" href="structmspack__system.html#a121acf7277cde3b96d4c59e259b01ad6" title="Reads a given number of bytes from an open file. ">mspack_system::read()</a> failed.</li>
128
- <li><a class="el" href="mspack_8h.html#a6c492a68e998d1b01247b76e2a87d9e4" title="Error code: error writing file. ">MSPACK_ERR_WRITE</a> indicates that <a class="el" href="structmspack__system.html#abac465118be5ef7a9f21a273c48769a5" title="Writes a given number of bytes to an open file. ">mspack_system::write()</a> failed.</li>
129
- <li><a class="el" href="mspack_8h.html#a0ac9fe1b978784c7cadb221845bb8fb9" title="Error code: seek error. ">MSPACK_ERR_SEEK</a> indicates that <a class="el" href="structmspack__system.html#afb2a70ca48bbc9487c8f2d4c525f94c4" title="Seeks to a specific file offset within an open file. ">mspack_system::seek()</a> failed.</li>
130
- <li><a class="el" href="mspack_8h.html#af875f31a569da5be5402ad63d07bf63f" title="Error code: out of memory. ">MSPACK_ERR_NOMEMORY</a> indicates that <a class="el" href="structmspack__system.html#ab4542f055c67fb13ae96aef15b4d0646" title="Allocates memory. ">mspack_system::alloc()</a> failed.</li>
131
- <li><a class="el" href="mspack_8h.html#a95c571fa9e656de9f0a2976e5715706e" title="Error code: bad &quot;magic id&quot; in file. ">MSPACK_ERR_SIGNATURE</a> indicates that the file being read does not have the correct "signature". It is probably not a valid file for whatever format is being read.</li>
132
- <li><a class="el" href="mspack_8h.html#ab8d3d7e4d3000333be6e500874bcee98" title="Error code: bad or corrupt file format. ">MSPACK_ERR_DATAFORMAT</a> indicates that the file being used or read is corrupt.</li>
133
- <li><a class="el" href="mspack_8h.html#a94655174946aa06763341837d5fe8720" title="Error code: bad checksum or CRC. ">MSPACK_ERR_CHECKSUM</a> indicates that a data checksum has failed.</li>
134
- <li><a class="el" href="mspack_8h.html#a2d92886c9c02dd2ba2aa45fc36f8a477" title="Error code: error during compression. ">MSPACK_ERR_CRUNCH</a> indicates an error occured during compression.</li>
135
- <li><a class="el" href="mspack_8h.html#ad2de97b7f91325169ca1646d123b1509" title="Error code: error during decompression. ">MSPACK_ERR_DECRUNCH</a> indicates an error occured during decompression.</li>
136
- </ul>
137
- <h1><a class="anchor" id="threading"></a>
138
- Multi-threading</h1>
139
- <p>libmspack methods are reentrant and multithreading-safe when each thread has its own compressor or decompressor.</p>
140
- <p>You should not call multiple methods simultaneously on a single compressor or decompressor instance.</p>
141
- <p>If this may happen, you can either use one compressor or decompressor per thread, or you can use your preferred lock, semaphore or mutex library to ensure no more than one method on a compressor/decompressor is called simultaneously. libmspack will not do this locking for you.</p>
142
- <p>Example of incorrect behaviour:</p><ul>
143
- <li>thread 1 calls <a class="el" href="mspack_8h.html#a9964981ec0e6f49814301101e1708f95" title="Creates a new CAB decompressor. ">mspack_create_cab_decompressor()</a></li>
144
- <li>thread 1 calls open()</li>
145
- <li>thread 1 calls extract() for one file</li>
146
- <li>thread 2 simultaneously calls extract() for another file</li>
147
- </ul>
148
- <p>Correct behaviour:</p><ul>
149
- <li>thread 1 calls <a class="el" href="mspack_8h.html#a9964981ec0e6f49814301101e1708f95" title="Creates a new CAB decompressor. ">mspack_create_cab_decompressor()</a></li>
150
- <li>thread 2 calls <a class="el" href="mspack_8h.html#a9964981ec0e6f49814301101e1708f95" title="Creates a new CAB decompressor. ">mspack_create_cab_decompressor()</a></li>
151
- <li>thread 1 calls its own open() / extract()</li>
152
- <li>thread 2 simultaneously calls its own open() / extract()</li>
153
- </ul>
154
- <p>Also correct behaviour:</p><ul>
155
- <li>thread 1 calls <a class="el" href="mspack_8h.html#a9964981ec0e6f49814301101e1708f95" title="Creates a new CAB decompressor. ">mspack_create_cab_decompressor()</a></li>
156
- <li>thread 1 locks a mutex for with the decompressor before calling any methods on it, and unlocks the mutex after each method returns.</li>
157
- <li>thread 1 can share the results of open() with thread 2, and both can call extract(), provided they both guard against simultaneous use of extract(), and any other methods, with the mutex </li>
158
- </ul>
159
- </div></div><!-- contents -->
160
- <!-- start footer part -->
161
- <hr class="footer"/><address class="footer"><small>
162
- Generated by &#160;<a href="http://www.doxygen.org/index.html">
163
- <img class="footer" src="doxygen.png" alt="doxygen"/>
164
- </a> 1.8.13
165
- </small></address>
166
- </body>
167
- </html>