Many of the core scanning functions' names no longer represent their
specific purpose or arguments. This commit aims to make the names more
intuitive. Names are now prefixed with "magic" if they involve
file-typing and file-type parsing. In addition, each function now
includes the type of input being scanned whether its "desc", "fmap", or
"buff". Some of the APIs also now specify "type" to indicate that a type
other than "ANY" may be passed in to select the type rather than use
file type magic for type recognition.
| current name | new name |
| ------------------------- | --------------------------------- |
| magic_scandesc() | cli_magic_scan() |
| cli_magic_scandesc_type() | <delete> |
| cli_magic_scandesc() | cli_magic_scan_desc() |
| cli_base_scandesc() | cli_magic_scan_desc_type() |
| cli_partition_scandesc() | <delete> |
| cli_map_scandesc() | magic_scan_nested_fmap_type() |
| cli_map_scan() | cli_magic_scan_nested_fmap_type() |
| cli_mem_scandesc() | cli_magic_scan_buff() |
| cli_scanbuff() | cli_scan_buff() |
| cli_scandesc() | cli_scan_desc() |
| cli_fmap_scandesc() | cli_scan_fmap() |
| cli_scanfile() | cli_magic_scan_file() |
| cli_scandir() | cli_magic_scan_dir() |
| cli_filetype2() | cli_determine_fmap_type() |
| cli_filetype() | cli_compare_ftm_file() |
| cli_partitiontype() | cli_compare_ftm_partition() |
| cli_scanraw() | scanraw() |
EGG extraction support includes deflate, bzip2, and lzma decompression. AZO (LZO?) decompression not yet supported. Solid archives not yet supported. Split archives may have some limited success.
This commit also includes updates to autoconf iconv.m4 file enable detection of libiconv in alternative install locations.
* fmapify: (54 commits)
workaround for unrar not supporting fmap.
stfu on large lzma allocs
handle 7z encryption detection albeit post extraction and blockencrypted
add 7z SFX support - bb#3063
fix makefile for external LLVM 2.9
fix wrong interaction between prescan_cb caching and postscan_cb
bytecode_watchdog: fix use of unaddressable data
UPgrade lzma SDK to version 9.20 Also fmapify
export cl_fmap_close
cli_map_scandesc convenience API
Introduce cli_map_scandesc to scan a portion of the existing file
fix utf16_to_utf8, and add testcase
cli_utf16_to_utf8
fmapify jpeg_exploit
fmaify cli_scan_riff
fmapify mydoom
export filetype cb
factor out common code
fix mem API of new fmap
unit tests for new fmap scan API
...
Conflicts:
libclamav/Makefile.in
libclamav/c++/Makefile.am
libclamav/c++/Makefile.in
libclamav/filetypes_int.h
libclamav/scanners.c
libclamav/str.c
unit_tests/check_clamav.c
The allowed sector size is within 2048 to 2448 (2352 raw + 96 sub).
Right now only the only file system supported is plain iso9660 with
optional Joliet extensions.
Additionally files with multi extents and interleaved files are not
supported.
Finally, due to the multiple possible ways to interpret the content
of a cd/dvd, I cannot guarantee that we scan the "right" files.