The system is: Linux - 3.10.0-862.el7.x86_64 - x86_64 Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. Compiler: /bin/gcc Build flags: Id flags: The output was: 0 Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" The C compiler identification is GNU, found in "/usr/src/cmake-3.22.0/CMakeFiles/3.22.0/CompilerIdC/a.out" Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. Compiler: /bin/g++ Build flags: Id flags: The output was: 0 Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" The CXX compiler identification is GNU, found in "/usr/src/cmake-3.22.0/CMakeFiles/3.22.0/CompilerIdCXX/a.out" Detecting C compiler ABI info compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1b5bf/fast && gmake -f CMakeFiles/cmTC_1b5bf.dir/build.make CMakeFiles/cmTC_1b5bf.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o /bin/gcc -v -o CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -c /usr/src/cmake-3.22.0/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/bin/gcc Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /usr/src/cmake-3.22.0/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccioxhxL.s GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux) compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include /usr/local/include /usr/include End of search list. GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux) compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 231b3394950636dbfe0428e88716bc73 COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' as -v --64 -o CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o /tmp/ccioxhxL.s GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-27.base.el7 COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' Linking C executable cmTC_1b5bf /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1b5bf.dir/link.txt --verbose=1 /bin/gcc -v CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -o cmTC_1b5bf Using built-in specs. COLLECT_GCC=/bin/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1b5bf' '-mtune=generic' '-march=x86-64' /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_1b5bf /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Parsed C implicit include dir info from above output: rv=done found start of include info found start of implicit include info add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] add: [/usr/local/include] add: [/usr/include] end of search list found collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] collapse include dir [/usr/local/include] ==> [/usr/local/include] collapse include dir [/usr/include] ==> [/usr/include] implicit include dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include] Parsed C implicit link information from above output: link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp] ignore line: [] ignore line: [Run Build Command(s):/bin/gmake -f Makefile cmTC_1b5bf/fast && gmake -f CMakeFiles/cmTC_1b5bf.dir/build.make CMakeFiles/cmTC_1b5bf.dir/build] ignore line: [gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp'] ignore line: [Building C object CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o] ignore line: [/bin/gcc -v -o CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -c /usr/src/cmake-3.22.0/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/bin/gcc] ignore line: [Target: x86_64-redhat-linux] ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] ignore line: [Thread model: posix] ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /usr/src/cmake-3.22.0/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccioxhxL.s] ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)] ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"] ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"] ignore line: [#include "..." search starts here:] ignore line: [#include <...> search starts here:] ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ignore line: [ /usr/local/include] ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)] ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 231b3394950636dbfe0428e88716bc73] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] ignore line: [ as -v --64 -o CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o /tmp/ccioxhxL.s] ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-27.base.el7] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] ignore line: [Linking C executable cmTC_1b5bf] ignore line: [/usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1b5bf.dir/link.txt --verbose=1] ignore line: [/bin/gcc -v CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -o cmTC_1b5bf ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/bin/gcc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] ignore line: [Target: x86_64-redhat-linux] ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] ignore line: [Thread model: posix] ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1b5bf' '-mtune=generic' '-march=x86-64'] link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_1b5bf /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore arg [--build-id] ==> ignore arg [--no-add-needed] ==> ignore arg [--eh-frame-hdr] ==> ignore arg [--hash-style=gnu] ==> ignore arg [-m] ==> ignore arg [elf_x86_64] ==> ignore arg [-dynamic-linker] ==> ignore arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [-o] ==> ignore arg [cmTC_1b5bf] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] arg [-L/lib/../lib64] ==> dir [/lib/../lib64] arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] arg [CMakeFiles/cmTC_1b5bf.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--as-needed] ==> ignore arg [-lgcc_s] ==> lib [gcc_s] arg [--no-as-needed] ==> ignore arg [-lc] ==> lib [c] arg [-lgcc] ==> lib [gcc] arg [--as-needed] ==> ignore arg [-lgcc_s] ==> lib [gcc_s] arg [--no-as-needed] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o] collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o] collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] collapse library dir [/lib/../lib64] ==> [/lib64] collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] implicit libs: [gcc;gcc_s;c;gcc;gcc_s] implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o;/usr/lib64/crtn.o] implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib] implicit fwks: [] Detecting CXX compiler ABI info compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9263b/fast && gmake -f CMakeFiles/cmTC_9263b.dir/build.make CMakeFiles/cmTC_9263b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o /bin/g++ -v -o CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -c /usr/src/cmake-3.22.0/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/bin/g++ Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /usr/src/cmake-3.22.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccN6Il9V.s GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux) compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include /usr/local/include /usr/include End of search list. GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux) compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 51b2dcccf6085e5bfbbf3932e5685252 COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -v --64 -o CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccN6Il9V.s GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-27.base.el7 COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' Linking CXX executable cmTC_9263b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9263b.dir/link.txt --verbose=1 /bin/g++ -v CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_9263b Using built-in specs. COLLECT_GCC=/bin/g++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_9263b' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_9263b /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Parsed CXX implicit include dir info from above output: rv=done found start of include info found start of implicit include info add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] add: [/usr/local/include] add: [/usr/include] end of search list found collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ==> [/usr/include/c++/4.8.5] collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ==> [/usr/include/c++/4.8.5/x86_64-redhat-linux] collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ==> [/usr/include/c++/4.8.5/backward] collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] collapse include dir [/usr/local/include] ==> [/usr/local/include] collapse include dir [/usr/include] ==> [/usr/include] implicit include dirs: [/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include] Parsed CXX implicit link information from above output: link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp] ignore line: [] ignore line: [Run Build Command(s):/bin/gmake -f Makefile cmTC_9263b/fast && gmake -f CMakeFiles/cmTC_9263b.dir/build.make CMakeFiles/cmTC_9263b.dir/build] ignore line: [gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp'] ignore line: [Building CXX object CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o] ignore line: [/bin/g++ -v -o CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -c /usr/src/cmake-3.22.0/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/bin/g++] ignore line: [Target: x86_64-redhat-linux] ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] ignore line: [Thread model: posix] ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /usr/src/cmake-3.22.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccN6Il9V.s] ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)] ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"] ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"] ignore line: [#include "..." search starts here:] ignore line: [#include <...> search starts here:] ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ignore line: [ /usr/local/include] ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)] ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 51b2dcccf6085e5bfbbf3932e5685252] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] ignore line: [ as -v --64 -o CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccN6Il9V.s] ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-27.base.el7] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] ignore line: [Linking CXX executable cmTC_9263b] ignore line: [/usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9263b.dir/link.txt --verbose=1] ignore line: [/bin/g++ -v CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_9263b ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/bin/g++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] ignore line: [Target: x86_64-redhat-linux] ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] ignore line: [Thread model: posix] ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_9263b' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_9263b /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore arg [--build-id] ==> ignore arg [--no-add-needed] ==> ignore arg [--eh-frame-hdr] ==> ignore arg [--hash-style=gnu] ==> ignore arg [-m] ==> ignore arg [elf_x86_64] ==> ignore arg [-dynamic-linker] ==> ignore arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [-o] ==> ignore arg [cmTC_9263b] ==> ignore arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] arg [-L/lib/../lib64] ==> dir [/lib/../lib64] arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] arg [CMakeFiles/cmTC_9263b.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] arg [-lgcc] ==> lib [gcc] arg [-lc] ==> lib [c] arg [-lgcc_s] ==> lib [gcc_s] arg [-lgcc] ==> lib [gcc] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o] collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o] collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] collapse library dir [/lib/../lib64] ==> [/lib64] collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o;/usr/lib64/crtn.o] implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib] implicit fwks: [] Detecting CXX [-std=c++1y] compiler features compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_66008/fast && gmake -f CMakeFiles/cmTC_66008.dir/build.make CMakeFiles/cmTC_66008.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_66008.dir/feature_tests.cxx.o /bin/g++ -std=c++1y -o CMakeFiles/cmTC_66008.dir/feature_tests.cxx.o -c /usr/src/cmake-3.22.0/CMakeFiles/feature_tests.cxx Linking CXX executable cmTC_66008 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_66008.dir/link.txt --verbose=1 /bin/g++ CMakeFiles/cmTC_66008.dir/feature_tests.cxx.o -o cmTC_66008 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Feature record: CXX_FEATURE:1cxx_template_template_parameters Feature record: CXX_FEATURE:1cxx_alias_templates Feature record: CXX_FEATURE:1cxx_alignas Feature record: CXX_FEATURE:1cxx_alignof Feature record: CXX_FEATURE:1cxx_attributes Feature record: CXX_FEATURE:1cxx_auto_type Feature record: CXX_FEATURE:1cxx_constexpr Feature record: CXX_FEATURE:1cxx_decltype Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types Feature record: CXX_FEATURE:1cxx_default_function_template_args Feature record: CXX_FEATURE:1cxx_defaulted_functions Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers Feature record: CXX_FEATURE:1cxx_delegating_constructors Feature record: CXX_FEATURE:1cxx_deleted_functions Feature record: CXX_FEATURE:1cxx_enum_forward_declarations Feature record: CXX_FEATURE:1cxx_explicit_conversions Feature record: CXX_FEATURE:1cxx_extended_friend_declarations Feature record: CXX_FEATURE:1cxx_extern_templates Feature record: CXX_FEATURE:1cxx_final Feature record: CXX_FEATURE:1cxx_func_identifier Feature record: CXX_FEATURE:1cxx_generalized_initializers Feature record: CXX_FEATURE:1cxx_inheriting_constructors Feature record: CXX_FEATURE:1cxx_inline_namespaces Feature record: CXX_FEATURE:1cxx_lambdas Feature record: CXX_FEATURE:1cxx_local_type_template_args Feature record: CXX_FEATURE:1cxx_long_long_type Feature record: CXX_FEATURE:1cxx_noexcept Feature record: CXX_FEATURE:1cxx_nonstatic_member_init Feature record: CXX_FEATURE:1cxx_nullptr Feature record: CXX_FEATURE:1cxx_override Feature record: CXX_FEATURE:1cxx_range_for Feature record: CXX_FEATURE:1cxx_raw_string_literals Feature record: CXX_FEATURE:1cxx_reference_qualified_functions Feature record: CXX_FEATURE:1cxx_right_angle_brackets Feature record: CXX_FEATURE:1cxx_rvalue_references Feature record: CXX_FEATURE:1cxx_sizeof_member Feature record: CXX_FEATURE:1cxx_static_assert Feature record: CXX_FEATURE:1cxx_strong_enums Feature record: CXX_FEATURE:1cxx_thread_local Feature record: CXX_FEATURE:1cxx_trailing_return_types Feature record: CXX_FEATURE:1cxx_unicode_literals Feature record: CXX_FEATURE:1cxx_uniform_initialization Feature record: CXX_FEATURE:1cxx_unrestricted_unions Feature record: CXX_FEATURE:1cxx_user_literals Feature record: CXX_FEATURE:1cxx_variadic_macros Feature record: CXX_FEATURE:1cxx_variadic_templates Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers Feature record: CXX_FEATURE:0cxx_attribute_deprecated Feature record: CXX_FEATURE:0cxx_binary_literals Feature record: CXX_FEATURE:0cxx_contextual_conversions Feature record: CXX_FEATURE:0cxx_decltype_auto Feature record: CXX_FEATURE:0cxx_digit_separators Feature record: CXX_FEATURE:0cxx_generic_lambdas Feature record: CXX_FEATURE:0cxx_lambda_init_captures Feature record: CXX_FEATURE:0cxx_relaxed_constexpr Feature record: CXX_FEATURE:0cxx_return_type_deduction Feature record: CXX_FEATURE:0cxx_variable_templates Determining if compiler supports C++ unique_ptr passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_14f09/fast && gmake -f CMakeFiles/cmTC_14f09.dir/build.make CMakeFiles/cmTC_14f09.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_14f09.dir/cm_cxx_unique_ptr.cxx.o /bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_14f09.dir/cm_cxx_unique_ptr.cxx.o -c /usr/src/cmake-3.22.0/Source/Checks/cm_cxx_unique_ptr.cxx Linking CXX executable cmTC_14f09 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_14f09.dir/link.txt --verbose=1 /bin/g++ CMakeFiles/cmTC_14f09.dir/cm_cxx_unique_ptr.cxx.o -o cmTC_14f09 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the unsetenv exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2bcff/fast && gmake -f CMakeFiles/cmTC_2bcff.dir/build.make CMakeFiles/cmTC_2bcff.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2bcff.dir/CheckSymbolExists.c.o /bin/gcc -std=gnu99 -o CMakeFiles/cmTC_2bcff.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_2bcff /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2bcff.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_2bcff.dir/CheckSymbolExists.c.o -o cmTC_2bcff gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef unsetenv return ((int*)(&unsetenv))[argc]; #else (void)argc; return 0; #endif } Determining if the include file pthread.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f35a0/fast && gmake -f CMakeFiles/cmTC_f35a0.dir/build.make CMakeFiles/cmTC_f35a0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f35a0.dir/CheckIncludeFile.c.o /bin/gcc -std=gnu99 -o CMakeFiles/cmTC_f35a0.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_f35a0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f35a0.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_f35a0.dir/CheckIncludeFile.c.o -o cmTC_f35a0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function pthread_create exists in the pthread passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_78cd2/fast && gmake -f CMakeFiles/cmTC_78cd2.dir/build.make CMakeFiles/cmTC_78cd2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_78cd2.dir/CheckFunctionExists.c.o /bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create -std=gnu99 -o CMakeFiles/cmTC_78cd2.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_78cd2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_78cd2.dir/link.txt --verbose=1 /bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_78cd2.dir/CheckFunctionExists.c.o -o cmTC_78cd2 -lpthread gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Checking whether wstring is available compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_01ee1/fast && gmake -f CMakeFiles/cmTC_01ee1.dir/build.make CMakeFiles/cmTC_01ee1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_01ee1.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_STL_HAS_WSTRING -std=gnu++11 -o CMakeFiles/cmTC_01ee1.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_01ee1 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_01ee1.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_01ee1.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_01ee1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether C compiler has ptrdiff_t in stddef.h compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6f6bb/fast && gmake -f CMakeFiles/cmTC_6f6bb.dir/build.make CMakeFiles/cmTC_6f6bb.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6f6bb.dir/kwsysPlatformTestsC.c.o /bin/gcc -DTEST_KWSYS_C_HAS_PTRDIFF_T -std=gnu99 -o CMakeFiles/cmTC_6f6bb.dir/kwsysPlatformTestsC.c.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsC.c Linking C executable cmTC_6f6bb /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6f6bb.dir/link.txt --verbose=1 /bin/gcc -rdynamic CMakeFiles/cmTC_6f6bb.dir/kwsysPlatformTestsC.c.o -o cmTC_6f6bb gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether C compiler has ssize_t in unistd.h compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6033f/fast && gmake -f CMakeFiles/cmTC_6033f.dir/build.make CMakeFiles/cmTC_6033f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6033f.dir/kwsysPlatformTestsC.c.o /bin/gcc -DTEST_KWSYS_C_HAS_SSIZE_T -std=gnu99 -o CMakeFiles/cmTC_6033f.dir/kwsysPlatformTestsC.c.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsC.c Linking C executable cmTC_6033f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6033f.dir/link.txt --verbose=1 /bin/gcc -rdynamic CMakeFiles/cmTC_6033f.dir/kwsysPlatformTestsC.c.o -o cmTC_6033f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether C compiler has clock_gettime compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_15d93/fast && gmake -f CMakeFiles/cmTC_15d93.dir/build.make CMakeFiles/cmTC_15d93.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_15d93.dir/kwsysPlatformTestsC.c.o /bin/gcc -DTEST_KWSYS_C_HAS_CLOCK_GETTIME_MONOTONIC -std=gnu99 -o CMakeFiles/cmTC_15d93.dir/kwsysPlatformTestsC.c.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsC.c Linking C executable cmTC_15d93 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_15d93.dir/link.txt --verbose=1 /bin/gcc -rdynamic CMakeFiles/cmTC_15d93.dir/kwsysPlatformTestsC.c.o -o cmTC_15d93 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether CXX compiler has setenv compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_80170/fast && gmake -f CMakeFiles/cmTC_80170.dir/build.make CMakeFiles/cmTC_80170.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_80170.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_SETENV -std=gnu++11 -o CMakeFiles/cmTC_80170.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_80170 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_80170.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_80170.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_80170 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether CXX compiler has unsetenv compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_27a5b/fast && gmake -f CMakeFiles/cmTC_27a5b.dir/build.make CMakeFiles/cmTC_27a5b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_27a5b.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_UNSETENV -std=gnu++11 -o CMakeFiles/cmTC_27a5b.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_27a5b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_27a5b.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_27a5b.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_27a5b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether CXX compiler has utimes compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_534b0/fast && gmake -f CMakeFiles/cmTC_534b0.dir/build.make CMakeFiles/cmTC_534b0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_534b0.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_UTIMES -std=gnu++11 -o CMakeFiles/cmTC_534b0.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_534b0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_534b0.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_534b0.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_534b0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether CXX compiler has utimensat compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_dc51a/fast && gmake -f CMakeFiles/cmTC_dc51a.dir/build.make CMakeFiles/cmTC_dc51a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_dc51a.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_UTIMENSAT -std=gnu++11 -o CMakeFiles/cmTC_dc51a.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_dc51a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_dc51a.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_dc51a.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_dc51a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether CXX compiler struct stat has st_mtim member compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c0ecd/fast && gmake -f CMakeFiles/cmTC_c0ecd.dir/build.make CMakeFiles/cmTC_c0ecd.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_c0ecd.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_STAT_HAS_ST_MTIM -std=gnu++11 -o CMakeFiles/cmTC_c0ecd.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_c0ecd /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c0ecd.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_c0ecd.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_c0ecd gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ifaddrs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_59e5e/fast && gmake -f CMakeFiles/cmTC_59e5e.dir/build.make CMakeFiles/cmTC_59e5e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_59e5e.dir/KWSYS_SYS_HAS_IFADDRS_H.c.o /bin/gcc -std=gnu99 -o CMakeFiles/cmTC_59e5e.dir/KWSYS_SYS_HAS_IFADDRS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/KWSYS_SYS_HAS_IFADDRS_H.c Linking C executable cmTC_59e5e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_59e5e.dir/link.txt --verbose=1 /bin/gcc -rdynamic CMakeFiles/cmTC_59e5e.dir/KWSYS_SYS_HAS_IFADDRS_H.c.o -o cmTC_59e5e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Checking whether CXX compiler has rlimit64 compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9a3ce/fast && gmake -f CMakeFiles/cmTC_9a3ce.dir/build.make CMakeFiles/cmTC_9a3ce.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_9a3ce.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_RLIMIT64 -std=gnu++11 -o CMakeFiles/cmTC_9a3ce.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_9a3ce /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9a3ce.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_9a3ce.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_9a3ce gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Determining if the include file execinfo.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8c5c8/fast && gmake -f CMakeFiles/cmTC_8c5c8.dir/build.make CMakeFiles/cmTC_8c5c8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_8c5c8.dir/CheckIncludeFile.cxx.o /bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_8c5c8.dir/CheckIncludeFile.cxx.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.cxx Linking CXX executable cmTC_8c5c8 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8c5c8.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_8c5c8.dir/CheckIncludeFile.cxx.o -o cmTC_8c5c8 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Checking whether backtrace works with this C++ compiler compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c2bf0/fast && gmake -f CMakeFiles/cmTC_c2bf0.dir/build.make CMakeFiles/cmTC_c2bf0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_c2bf0.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_BACKTRACE -std=gnu++11 -o CMakeFiles/cmTC_c2bf0.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_c2bf0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c2bf0.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_c2bf0.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_c2bf0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Determining if the include file dlfcn.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_56013/fast && gmake -f CMakeFiles/cmTC_56013.dir/build.make CMakeFiles/cmTC_56013.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_56013.dir/CheckIncludeFile.cxx.o /bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_56013.dir/CheckIncludeFile.cxx.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.cxx Linking CXX executable cmTC_56013 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_56013.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_56013.dir/CheckIncludeFile.cxx.o -o cmTC_56013 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Checking whether dladdr works with this C++ compiler compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1eea7/fast && gmake -f CMakeFiles/cmTC_1eea7.dir/build.make CMakeFiles/cmTC_1eea7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_1eea7.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_DLADDR -std=gnu++11 -o CMakeFiles/cmTC_1eea7.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_1eea7 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1eea7.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_1eea7.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_1eea7 -ldl gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Determining if the include file cxxabi.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_bd582/fast && gmake -f CMakeFiles/cmTC_bd582.dir/build.make CMakeFiles/cmTC_bd582.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_bd582.dir/CheckIncludeFile.cxx.o /bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_bd582.dir/CheckIncludeFile.cxx.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.cxx Linking CXX executable cmTC_bd582 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_bd582.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_bd582.dir/CheckIncludeFile.cxx.o -o cmTC_bd582 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Checking whether cxxabi works with this C++ compiler compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1fb94/fast && gmake -f CMakeFiles/cmTC_1fb94.dir/build.make CMakeFiles/cmTC_1fb94.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_1fb94.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_CXXABI -std=gnu++11 -o CMakeFiles/cmTC_1fb94.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_1fb94 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1fb94.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_1fb94.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_1fb94 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether CXX compiler has getloadavg compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_88647/fast && gmake -f CMakeFiles/cmTC_88647.dir/build.make CMakeFiles/cmTC_88647.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_88647.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_GETLOADAVG -std=gnu++11 -o CMakeFiles/cmTC_88647.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_88647 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_88647.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_88647.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_88647 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Checking whether is available compiled with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_98d3f/fast && gmake -f CMakeFiles/cmTC_98d3f.dir/build.make CMakeFiles/cmTC_98d3f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_98d3f.dir/kwsysPlatformTestsCXX.cxx.o /bin/g++ -DTEST_KWSYS_CXX_HAS_EXT_STDIO_FILEBUF_H -std=gnu++11 -o CMakeFiles/cmTC_98d3f.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.22.0/Source/kwsys/kwsysPlatformTestsCXX.cxx Linking CXX executable cmTC_98d3f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_98d3f.dir/link.txt --verbose=1 /bin/g++ -rdynamic CMakeFiles/cmTC_98d3f.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_98d3f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/Source/kwsys/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_SOCKADDR_IN6_SIN6_ADDR succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_275df/fast && gmake -f CMakeFiles/cmTC_275df.dir/build.make CMakeFiles/cmTC_275df.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_275df.dir/src.c.o /bin/gcc -DHAVE_SOCKADDR_IN6_SIN6_ADDR -w -std=gnu99 -o CMakeFiles/cmTC_275df.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_275df /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_275df.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_275df.dir/src.c.o -o cmTC_275df gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() { (void)sizeof(((struct sockaddr_in6 *)0)->sin6_addr); return 0; } Performing C SOURCE FILE Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_5912d/fast && gmake -f CMakeFiles/cmTC_5912d.dir/build.make CMakeFiles/cmTC_5912d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_5912d.dir/src.c.o /bin/gcc -DHAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -w -std=gnu99 -o CMakeFiles/cmTC_5912d.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_5912d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5912d.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_5912d.dir/src.c.o -o cmTC_5912d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() { (void)sizeof(((struct sockaddr_in6 *)0)->sin6_scope_id); return 0; } Determining if the function gethostbyname exists in the c passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_3a468/fast && gmake -f CMakeFiles/cmTC_3a468.dir/build.make CMakeFiles/cmTC_3a468.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_3a468.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=gethostbyname -std=gnu99 -o CMakeFiles/cmTC_3a468.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_3a468 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3a468.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=gethostbyname CMakeFiles/cmTC_3a468.dir/CheckFunctionExists.c.o -o cmTC_3a468 -lc gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function gethostname exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9b0ca/fast && gmake -f CMakeFiles/cmTC_9b0ca.dir/build.make CMakeFiles/cmTC_9b0ca.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9b0ca.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=gethostname -std=gnu99 -o CMakeFiles/cmTC_9b0ca.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_9b0ca /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9b0ca.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=gethostname CMakeFiles/cmTC_9b0ca.dir/CheckFunctionExists.c.o -o cmTC_9b0ca gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/crypto.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_de773/fast && gmake -f CMakeFiles/cmTC_de773.dir/build.make CMakeFiles/cmTC_de773.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_de773.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_de773.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_de773 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_de773.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_de773.dir/CheckIncludeFile.c.o -o cmTC_de773 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/err.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_729f3/fast && gmake -f CMakeFiles/cmTC_729f3.dir/build.make CMakeFiles/cmTC_729f3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_729f3.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_729f3.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_729f3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_729f3.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_729f3.dir/CheckIncludeFile.c.o -o cmTC_729f3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/pem.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_55136/fast && gmake -f CMakeFiles/cmTC_55136.dir/build.make CMakeFiles/cmTC_55136.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_55136.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_55136.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_55136 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_55136.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_55136.dir/CheckIncludeFile.c.o -o cmTC_55136 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/rsa.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e3c2c/fast && gmake -f CMakeFiles/cmTC_e3c2c.dir/build.make CMakeFiles/cmTC_e3c2c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e3c2c.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e3c2c.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_e3c2c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e3c2c.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_e3c2c.dir/CheckIncludeFile.c.o -o cmTC_e3c2c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/ssl.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_3b788/fast && gmake -f CMakeFiles/cmTC_3b788.dir/build.make CMakeFiles/cmTC_3b788.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_3b788.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_3b788.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_3b788 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3b788.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_3b788.dir/CheckIncludeFile.c.o -o cmTC_3b788 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/x509.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_79dda/fast && gmake -f CMakeFiles/cmTC_79dda.dir/build.make CMakeFiles/cmTC_79dda.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_79dda.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_79dda.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_79dda /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_79dda.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_79dda.dir/CheckIncludeFile.c.o -o cmTC_79dda gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file openssl/rand.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f662a/fast && gmake -f CMakeFiles/cmTC_f662a.dir/build.make CMakeFiles/cmTC_f662a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f662a.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f662a.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_f662a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f662a.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_f662a.dir/CheckIncludeFile.c.o -o cmTC_f662a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_3eba9/fast && gmake -f CMakeFiles/cmTC_3eba9.dir/build.make CMakeFiles/cmTC_3eba9.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_3eba9.dir/HAVE_INTTYPES_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_3eba9.dir/HAVE_INTTYPES_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_INTTYPES_H.c Linking C executable cmTC_3eba9 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3eba9.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_3eba9.dir/HAVE_INTTYPES_H.c.o -o cmTC_3eba9 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_53030/fast && gmake -f CMakeFiles/cmTC_53030.dir/build.make CMakeFiles/cmTC_53030.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_53030.dir/HAVE_SYS_IOCTL_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_53030.dir/HAVE_SYS_IOCTL_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_IOCTL_H.c Linking C executable cmTC_53030 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_53030.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_53030.dir/HAVE_SYS_IOCTL_H.c.o -o cmTC_53030 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_eee98/fast && gmake -f CMakeFiles/cmTC_eee98.dir/build.make CMakeFiles/cmTC_eee98.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_eee98.dir/HAVE_SYS_PARAM_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_eee98.dir/HAVE_SYS_PARAM_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_PARAM_H.c Linking C executable cmTC_eee98 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_eee98.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_eee98.dir/HAVE_SYS_PARAM_H.c.o -o cmTC_eee98 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_04607/fast && gmake -f CMakeFiles/cmTC_04607.dir/build.make CMakeFiles/cmTC_04607.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_04607.dir/HAVE_SYS_POLL_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_04607.dir/HAVE_SYS_POLL_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_POLL_H.c Linking C executable cmTC_04607 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_04607.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_04607.dir/HAVE_SYS_POLL_H.c.o -o cmTC_04607 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_23572/fast && gmake -f CMakeFiles/cmTC_23572.dir/build.make CMakeFiles/cmTC_23572.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_23572.dir/HAVE_SYS_RESOURCE_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_23572.dir/HAVE_SYS_RESOURCE_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_RESOURCE_H.c Linking C executable cmTC_23572 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_23572.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_23572.dir/HAVE_SYS_RESOURCE_H.c.o -o cmTC_23572 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_07254/fast && gmake -f CMakeFiles/cmTC_07254.dir/build.make CMakeFiles/cmTC_07254.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_07254.dir/HAVE_SYS_SELECT_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_07254.dir/HAVE_SYS_SELECT_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_SELECT_H.c Linking C executable cmTC_07254 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_07254.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_07254.dir/HAVE_SYS_SELECT_H.c.o -o cmTC_07254 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_5dc69/fast && gmake -f CMakeFiles/cmTC_5dc69.dir/build.make CMakeFiles/cmTC_5dc69.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_5dc69.dir/HAVE_SYS_SOCKET_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_5dc69.dir/HAVE_SYS_SOCKET_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_SOCKET_H.c Linking C executable cmTC_5dc69 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5dc69.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_5dc69.dir/HAVE_SYS_SOCKET_H.c.o -o cmTC_5dc69 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0c371/fast && gmake -f CMakeFiles/cmTC_0c371.dir/build.make CMakeFiles/cmTC_0c371.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0c371.dir/HAVE_SYS_STAT_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_0c371.dir/HAVE_SYS_STAT_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_STAT_H.c Linking C executable cmTC_0c371 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0c371.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_0c371.dir/HAVE_SYS_STAT_H.c.o -o cmTC_0c371 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_72386/fast && gmake -f CMakeFiles/cmTC_72386.dir/build.make CMakeFiles/cmTC_72386.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_72386.dir/HAVE_SYS_TIME_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_72386.dir/HAVE_SYS_TIME_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_TIME_H.c Linking C executable cmTC_72386 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_72386.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_72386.dir/HAVE_SYS_TIME_H.c.o -o cmTC_72386 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8a36c/fast && gmake -f CMakeFiles/cmTC_8a36c.dir/build.make CMakeFiles/cmTC_8a36c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8a36c.dir/HAVE_SYS_TYPES_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_8a36c.dir/HAVE_SYS_TYPES_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_TYPES_H.c Linking C executable cmTC_8a36c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8a36c.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_8a36c.dir/HAVE_SYS_TYPES_H.c.o -o cmTC_8a36c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1bbcc/fast && gmake -f CMakeFiles/cmTC_1bbcc.dir/build.make CMakeFiles/cmTC_1bbcc.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1bbcc.dir/HAVE_SYS_UIO_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_1bbcc.dir/HAVE_SYS_UIO_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_UIO_H.c Linking C executable cmTC_1bbcc /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1bbcc.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_1bbcc.dir/HAVE_SYS_UIO_H.c.o -o cmTC_1bbcc gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8d3e4/fast && gmake -f CMakeFiles/cmTC_8d3e4.dir/build.make CMakeFiles/cmTC_8d3e4.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8d3e4.dir/HAVE_SYS_UN_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_8d3e4.dir/HAVE_SYS_UN_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_UN_H.c Linking C executable cmTC_8d3e4 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8d3e4.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_8d3e4.dir/HAVE_SYS_UN_H.c.o -o cmTC_8d3e4 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_643e3/fast && gmake -f CMakeFiles/cmTC_643e3.dir/build.make CMakeFiles/cmTC_643e3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_643e3.dir/HAVE_SYS_XATTR_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_643e3.dir/HAVE_SYS_XATTR_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_XATTR_H.c Linking C executable cmTC_643e3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_643e3.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_643e3.dir/HAVE_SYS_XATTR_H.c.o -o cmTC_643e3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ac691/fast && gmake -f CMakeFiles/cmTC_ac691.dir/build.make CMakeFiles/cmTC_ac691.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ac691.dir/HAVE_ALLOCA_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ac691.dir/HAVE_ALLOCA_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_ALLOCA_H.c Linking C executable cmTC_ac691 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ac691.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_ac691.dir/HAVE_ALLOCA_H.c.o -o cmTC_ac691 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f0ea8/fast && gmake -f CMakeFiles/cmTC_f0ea8.dir/build.make CMakeFiles/cmTC_f0ea8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f0ea8.dir/HAVE_ARPA_INET_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f0ea8.dir/HAVE_ARPA_INET_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_ARPA_INET_H.c Linking C executable cmTC_f0ea8 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f0ea8.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_f0ea8.dir/HAVE_ARPA_INET_H.c.o -o cmTC_f0ea8 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c5589/fast && gmake -f CMakeFiles/cmTC_c5589.dir/build.make CMakeFiles/cmTC_c5589.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_c5589.dir/HAVE_ARPA_TFTP_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_c5589.dir/HAVE_ARPA_TFTP_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_ARPA_TFTP_H.c Linking C executable cmTC_c5589 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c5589.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_c5589.dir/HAVE_ARPA_TFTP_H.c.o -o cmTC_c5589 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_aa4af/fast && gmake -f CMakeFiles/cmTC_aa4af.dir/build.make CMakeFiles/cmTC_aa4af.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_aa4af.dir/HAVE_ERRNO_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_aa4af.dir/HAVE_ERRNO_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_ERRNO_H.c Linking C executable cmTC_aa4af /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_aa4af.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_aa4af.dir/HAVE_ERRNO_H.c.o -o cmTC_aa4af gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_7aa78/fast && gmake -f CMakeFiles/cmTC_7aa78.dir/build.make CMakeFiles/cmTC_7aa78.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_7aa78.dir/HAVE_FCNTL_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_7aa78.dir/HAVE_FCNTL_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_FCNTL_H.c Linking C executable cmTC_7aa78 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7aa78.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_7aa78.dir/HAVE_FCNTL_H.c.o -o cmTC_7aa78 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0cf77/fast && gmake -f CMakeFiles/cmTC_0cf77.dir/build.make CMakeFiles/cmTC_0cf77.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0cf77.dir/HAVE_IFADDRS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_0cf77.dir/HAVE_IFADDRS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_IFADDRS_H.c Linking C executable cmTC_0cf77 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0cf77.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_0cf77.dir/HAVE_IFADDRS_H.c.o -o cmTC_0cf77 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e0b91/fast && gmake -f CMakeFiles/cmTC_e0b91.dir/build.make CMakeFiles/cmTC_e0b91.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e0b91.dir/HAVE_LIBGEN_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e0b91.dir/HAVE_LIBGEN_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_LIBGEN_H.c Linking C executable cmTC_e0b91 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e0b91.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_e0b91.dir/HAVE_LIBGEN_H.c.o -o cmTC_e0b91 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_bd5dc/fast && gmake -f CMakeFiles/cmTC_bd5dc.dir/build.make CMakeFiles/cmTC_bd5dc.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_bd5dc.dir/HAVE_NET_IF_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_bd5dc.dir/HAVE_NET_IF_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_NET_IF_H.c Linking C executable cmTC_bd5dc /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_bd5dc.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_bd5dc.dir/HAVE_NET_IF_H.c.o -o cmTC_bd5dc gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cc24c/fast && gmake -f CMakeFiles/cmTC_cc24c.dir/build.make CMakeFiles/cmTC_cc24c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cc24c.dir/HAVE_NETDB_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_cc24c.dir/HAVE_NETDB_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_NETDB_H.c Linking C executable cmTC_cc24c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cc24c.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_cc24c.dir/HAVE_NETDB_H.c.o -o cmTC_cc24c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f058a/fast && gmake -f CMakeFiles/cmTC_f058a.dir/build.make CMakeFiles/cmTC_f058a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f058a.dir/HAVE_NETINET_IN_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f058a.dir/HAVE_NETINET_IN_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_NETINET_IN_H.c Linking C executable cmTC_f058a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f058a.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_f058a.dir/HAVE_NETINET_IN_H.c.o -o cmTC_f058a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_48502/fast && gmake -f CMakeFiles/cmTC_48502.dir/build.make CMakeFiles/cmTC_48502.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_48502.dir/HAVE_NETINET_TCP_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_48502.dir/HAVE_NETINET_TCP_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_NETINET_TCP_H.c Linking C executable cmTC_48502 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_48502.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_48502.dir/HAVE_NETINET_TCP_H.c.o -o cmTC_48502 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file linux/tcp.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_d2ae1/fast && gmake -f CMakeFiles/cmTC_d2ae1.dir/build.make CMakeFiles/cmTC_d2ae1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_d2ae1.dir/CheckIncludeFile.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_d2ae1.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_d2ae1 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d2ae1.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_d2ae1.dir/CheckIncludeFile.c.o -o cmTC_d2ae1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_02398/fast && gmake -f CMakeFiles/cmTC_02398.dir/build.make CMakeFiles/cmTC_02398.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_02398.dir/HAVE_POLL_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_02398.dir/HAVE_POLL_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_POLL_H.c Linking C executable cmTC_02398 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_02398.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_02398.dir/HAVE_POLL_H.c.o -o cmTC_02398 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0b0d5/fast && gmake -f CMakeFiles/cmTC_0b0d5.dir/build.make CMakeFiles/cmTC_0b0d5.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0b0d5.dir/HAVE_PWD_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_0b0d5.dir/HAVE_PWD_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_PWD_H.c Linking C executable cmTC_0b0d5 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0b0d5.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_0b0d5.dir/HAVE_PWD_H.c.o -o cmTC_0b0d5 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c0401/fast && gmake -f CMakeFiles/cmTC_c0401.dir/build.make CMakeFiles/cmTC_c0401.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_c0401.dir/HAVE_SETJMP_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_c0401.dir/HAVE_SETJMP_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SETJMP_H.c Linking C executable cmTC_c0401 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c0401.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_c0401.dir/HAVE_SETJMP_H.c.o -o cmTC_c0401 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e33c3/fast && gmake -f CMakeFiles/cmTC_e33c3.dir/build.make CMakeFiles/cmTC_e33c3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e33c3.dir/HAVE_SIGNAL_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e33c3.dir/HAVE_SIGNAL_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SIGNAL_H.c Linking C executable cmTC_e33c3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e33c3.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_e33c3.dir/HAVE_SIGNAL_H.c.o -o cmTC_e33c3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_72a3d/fast && gmake -f CMakeFiles/cmTC_72a3d.dir/build.make CMakeFiles/cmTC_72a3d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_72a3d.dir/HAVE_STDBOOL_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_72a3d.dir/HAVE_STDBOOL_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_STDBOOL_H.c Linking C executable cmTC_72a3d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_72a3d.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_72a3d.dir/HAVE_STDBOOL_H.c.o -o cmTC_72a3d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_35012/fast && gmake -f CMakeFiles/cmTC_35012.dir/build.make CMakeFiles/cmTC_35012.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_35012.dir/HAVE_STDINT_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_35012.dir/HAVE_STDINT_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_STDINT_H.c Linking C executable cmTC_35012 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_35012.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_35012.dir/HAVE_STDINT_H.c.o -o cmTC_35012 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_256f7/fast && gmake -f CMakeFiles/cmTC_256f7.dir/build.make CMakeFiles/cmTC_256f7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_256f7.dir/HAVE_STRINGS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_256f7.dir/HAVE_STRINGS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_STRINGS_H.c Linking C executable cmTC_256f7 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_256f7.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_256f7.dir/HAVE_STRINGS_H.c.o -o cmTC_256f7 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2d5c5/fast && gmake -f CMakeFiles/cmTC_2d5c5.dir/build.make CMakeFiles/cmTC_2d5c5.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2d5c5.dir/HAVE_TERMIO_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2d5c5.dir/HAVE_TERMIO_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_TERMIO_H.c Linking C executable cmTC_2d5c5 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2d5c5.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_2d5c5.dir/HAVE_TERMIO_H.c.o -o cmTC_2d5c5 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6e632/fast && gmake -f CMakeFiles/cmTC_6e632.dir/build.make CMakeFiles/cmTC_6e632.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6e632.dir/HAVE_TERMIOS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6e632.dir/HAVE_TERMIOS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_TERMIOS_H.c Linking C executable cmTC_6e632 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6e632.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_6e632.dir/HAVE_TERMIOS_H.c.o -o cmTC_6e632 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_da4cd/fast && gmake -f CMakeFiles/cmTC_da4cd.dir/build.make CMakeFiles/cmTC_da4cd.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_da4cd.dir/HAVE_TIME_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_da4cd.dir/HAVE_TIME_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_TIME_H.c Linking C executable cmTC_da4cd /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_da4cd.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_da4cd.dir/HAVE_TIME_H.c.o -o cmTC_da4cd gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_410ee/fast && gmake -f CMakeFiles/cmTC_410ee.dir/build.make CMakeFiles/cmTC_410ee.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_410ee.dir/HAVE_UNISTD_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_410ee.dir/HAVE_UNISTD_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_UNISTD_H.c Linking C executable cmTC_410ee /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_410ee.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_410ee.dir/HAVE_UNISTD_H.c.o -o cmTC_410ee gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a375a/fast && gmake -f CMakeFiles/cmTC_a375a.dir/build.make CMakeFiles/cmTC_a375a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a375a.dir/HAVE_UTIME_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a375a.dir/HAVE_UTIME_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_UTIME_H.c Linking C executable cmTC_a375a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a375a.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_a375a.dir/HAVE_UTIME_H.c.o -o cmTC_a375a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h;stddef.h;dlfcn.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_dac37/fast && gmake -f CMakeFiles/cmTC_dac37.dir/build.make CMakeFiles/cmTC_dac37.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_dac37.dir/HAVE_DLFCN_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_dac37.dir/HAVE_DLFCN_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_DLFCN_H.c Linking C executable cmTC_dac37 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_dac37.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_dac37.dir/HAVE_DLFCN_H.c.o -o cmTC_dac37 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h;stddef.h;dlfcn.h;malloc.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f0d6e/fast && gmake -f CMakeFiles/cmTC_f0d6e.dir/build.make CMakeFiles/cmTC_f0d6e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f0d6e.dir/HAVE_MALLOC_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f0d6e.dir/HAVE_MALLOC_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_MALLOC_H.c Linking C executable cmTC_f0d6e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f0d6e.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_f0d6e.dir/HAVE_MALLOC_H.c.o -o cmTC_f0d6e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h;stddef.h;dlfcn.h;malloc.h;memory.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a4642/fast && gmake -f CMakeFiles/cmTC_a4642.dir/build.make CMakeFiles/cmTC_a4642.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a4642.dir/HAVE_MEMORY_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a4642.dir/HAVE_MEMORY_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_MEMORY_H.c Linking C executable cmTC_a4642 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a4642.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_a4642.dir/HAVE_MEMORY_H.c.o -o cmTC_a4642 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h;stddef.h;dlfcn.h;malloc.h;memory.h;netinet/if_ether.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_09fde/fast && gmake -f CMakeFiles/cmTC_09fde.dir/build.make CMakeFiles/cmTC_09fde.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_09fde.dir/HAVE_NETINET_IF_ETHER_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_09fde.dir/HAVE_NETINET_IF_ETHER_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_NETINET_IF_ETHER_H.c Linking C executable cmTC_09fde /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_09fde.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_09fde.dir/HAVE_NETINET_IF_ETHER_H.c.o -o cmTC_09fde gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files stdio.h;inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/uio.h;sys/un.h;sys/xattr.h;alloca.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdio.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h;stddef.h;dlfcn.h;malloc.h;memory.h;netinet/if_ether.h;stdint.h;sys/utsname.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ef43b/fast && gmake -f CMakeFiles/cmTC_ef43b.dir/build.make CMakeFiles/cmTC_ef43b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ef43b.dir/HAVE_SYS_UTSNAME_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ef43b.dir/HAVE_SYS_UTSNAME_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_UTSNAME_H.c Linking C executable cmTC_ef43b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ef43b.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_ef43b.dir/HAVE_SYS_UTSNAME_H.c.o -o cmTC_ef43b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of size_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f577d/fast && gmake -f CMakeFiles/cmTC_f577d.dir/build.make CMakeFiles/cmTC_f577d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f577d.dir/SIZEOF_SIZE_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f577d.dir/SIZEOF_SIZE_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c Linking C executable cmTC_f577d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f577d.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_f577d.dir/SIZEOF_SIZE_T.c.o -o cmTC_f577d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of ssize_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_29660/fast && gmake -f CMakeFiles/cmTC_29660.dir/build.make CMakeFiles/cmTC_29660.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_29660.dir/SIZEOF_SSIZE_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_29660.dir/SIZEOF_SSIZE_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_SSIZE_T.c Linking C executable cmTC_29660 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_29660.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_29660.dir/SIZEOF_SSIZE_T.c.o -o cmTC_29660 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of time_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ab551/fast && gmake -f CMakeFiles/cmTC_ab551.dir/build.make CMakeFiles/cmTC_ab551.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ab551.dir/SIZEOF_TIME_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ab551.dir/SIZEOF_TIME_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_TIME_T.c Linking C executable cmTC_ab551 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ab551.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_ab551.dir/SIZEOF_TIME_T.c.o -o cmTC_ab551 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the basename exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b9472/fast && gmake -f CMakeFiles/cmTC_b9472.dir/build.make CMakeFiles/cmTC_b9472.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b9472.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b9472.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_b9472 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b9472.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_b9472.dir/CheckSymbolExists.c.o -o cmTC_b9472 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef basename return ((int*)(&basename))[argc]; #else (void)argc; return 0; #endif } Determining if the socket exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cdb96/fast && gmake -f CMakeFiles/cmTC_cdb96.dir/build.make CMakeFiles/cmTC_cdb96.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cdb96.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_cdb96.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_cdb96 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cdb96.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_cdb96.dir/CheckSymbolExists.c.o -o cmTC_cdb96 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef socket return ((int*)(&socket))[argc]; #else (void)argc; return 0; #endif } Determining if the select exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_27ebb/fast && gmake -f CMakeFiles/cmTC_27ebb.dir/build.make CMakeFiles/cmTC_27ebb.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_27ebb.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_27ebb.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_27ebb /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_27ebb.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_27ebb.dir/CheckSymbolExists.c.o -o cmTC_27ebb gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef select return ((int*)(&select))[argc]; #else (void)argc; return 0; #endif } Determining if the poll exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f6b4a/fast && gmake -f CMakeFiles/cmTC_f6b4a.dir/build.make CMakeFiles/cmTC_f6b4a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f6b4a.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f6b4a.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_f6b4a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f6b4a.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_f6b4a.dir/CheckSymbolExists.c.o -o cmTC_f6b4a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef poll return ((int*)(&poll))[argc]; #else (void)argc; return 0; #endif } Determining if the strstr exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_72411/fast && gmake -f CMakeFiles/cmTC_72411.dir/build.make CMakeFiles/cmTC_72411.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_72411.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_72411.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_72411 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_72411.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_72411.dir/CheckSymbolExists.c.o -o cmTC_72411 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef strstr return ((int*)(&strstr))[argc]; #else (void)argc; return 0; #endif } Determining if the strtok_r exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6eecf/fast && gmake -f CMakeFiles/cmTC_6eecf.dir/build.make CMakeFiles/cmTC_6eecf.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6eecf.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6eecf.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_6eecf /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6eecf.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_6eecf.dir/CheckSymbolExists.c.o -o cmTC_6eecf gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef strtok_r return ((int*)(&strtok_r))[argc]; #else (void)argc; return 0; #endif } Determining if the uname exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_d46b9/fast && gmake -f CMakeFiles/cmTC_d46b9.dir/build.make CMakeFiles/cmTC_d46b9.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_d46b9.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_d46b9.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_d46b9 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d46b9.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_d46b9.dir/CheckSymbolExists.c.o -o cmTC_d46b9 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef uname return ((int*)(&uname))[argc]; #else (void)argc; return 0; #endif } Determining if the strcasecmp exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_defc1/fast && gmake -f CMakeFiles/cmTC_defc1.dir/build.make CMakeFiles/cmTC_defc1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_defc1.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_defc1.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_defc1 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_defc1.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_defc1.dir/CheckSymbolExists.c.o -o cmTC_defc1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef strcasecmp return ((int*)(&strcasecmp))[argc]; #else (void)argc; return 0; #endif } Determining if the alarm exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6dd83/fast && gmake -f CMakeFiles/cmTC_6dd83.dir/build.make CMakeFiles/cmTC_6dd83.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6dd83.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6dd83.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_6dd83 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6dd83.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_6dd83.dir/CheckSymbolExists.c.o -o cmTC_6dd83 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef alarm return ((int*)(&alarm))[argc]; #else (void)argc; return 0; #endif } Determining if the getppid exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_135a2/fast && gmake -f CMakeFiles/cmTC_135a2.dir/build.make CMakeFiles/cmTC_135a2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_135a2.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_135a2.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_135a2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_135a2.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_135a2.dir/CheckSymbolExists.c.o -o cmTC_135a2 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getppid return ((int*)(&getppid))[argc]; #else (void)argc; return 0; #endif } Determining if the utimes exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1e70f/fast && gmake -f CMakeFiles/cmTC_1e70f.dir/build.make CMakeFiles/cmTC_1e70f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1e70f.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_1e70f.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_1e70f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1e70f.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_1e70f.dir/CheckSymbolExists.c.o -o cmTC_1e70f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef utimes return ((int*)(&utimes))[argc]; #else (void)argc; return 0; #endif } Determining if the gettimeofday exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_014a8/fast && gmake -f CMakeFiles/cmTC_014a8.dir/build.make CMakeFiles/cmTC_014a8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_014a8.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_014a8.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_014a8 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_014a8.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_014a8.dir/CheckSymbolExists.c.o -o cmTC_014a8 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef gettimeofday return ((int*)(&gettimeofday))[argc]; #else (void)argc; return 0; #endif } Determining if the inet_addr exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_68106/fast && gmake -f CMakeFiles/cmTC_68106.dir/build.make CMakeFiles/cmTC_68106.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_68106.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_68106.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_68106 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_68106.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_68106.dir/CheckSymbolExists.c.o -o cmTC_68106 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef inet_addr return ((int*)(&inet_addr))[argc]; #else (void)argc; return 0; #endif } Determining if the sigsetjmp exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_72f16/fast && gmake -f CMakeFiles/cmTC_72f16.dir/build.make CMakeFiles/cmTC_72f16.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_72f16.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_72f16.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_72f16 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_72f16.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_72f16.dir/CheckSymbolExists.c.o -o cmTC_72f16 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef sigsetjmp return ((int*)(&sigsetjmp))[argc]; #else (void)argc; return 0; #endif } Determining if the getpwuid exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_58b67/fast && gmake -f CMakeFiles/cmTC_58b67.dir/build.make CMakeFiles/cmTC_58b67.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_58b67.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_58b67.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_58b67 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_58b67.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_58b67.dir/CheckSymbolExists.c.o -o cmTC_58b67 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getpwuid return ((int*)(&getpwuid))[argc]; #else (void)argc; return 0; #endif } Determining if the getpwuid_r exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_497fb/fast && gmake -f CMakeFiles/cmTC_497fb.dir/build.make CMakeFiles/cmTC_497fb.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_497fb.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_497fb.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_497fb /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_497fb.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_497fb.dir/CheckSymbolExists.c.o -o cmTC_497fb gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getpwuid_r return ((int*)(&getpwuid_r))[argc]; #else (void)argc; return 0; #endif } Determining if the geteuid exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_560c9/fast && gmake -f CMakeFiles/cmTC_560c9.dir/build.make CMakeFiles/cmTC_560c9.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_560c9.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_560c9.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_560c9 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_560c9.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_560c9.dir/CheckSymbolExists.c.o -o cmTC_560c9 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef geteuid return ((int*)(&geteuid))[argc]; #else (void)argc; return 0; #endif } Determining if the usleep exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_09a76/fast && gmake -f CMakeFiles/cmTC_09a76.dir/build.make CMakeFiles/cmTC_09a76.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_09a76.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_09a76.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_09a76 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_09a76.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_09a76.dir/CheckSymbolExists.c.o -o cmTC_09a76 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef usleep return ((int*)(&usleep))[argc]; #else (void)argc; return 0; #endif } Determining if the utime exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_53c67/fast && gmake -f CMakeFiles/cmTC_53c67.dir/build.make CMakeFiles/cmTC_53c67.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_53c67.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_53c67.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_53c67 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_53c67.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_53c67.dir/CheckSymbolExists.c.o -o cmTC_53c67 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef utime return ((int*)(&utime))[argc]; #else (void)argc; return 0; #endif } Determining if the gmtime_r exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_46c88/fast && gmake -f CMakeFiles/cmTC_46c88.dir/build.make CMakeFiles/cmTC_46c88.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_46c88.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_46c88.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_46c88 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_46c88.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_46c88.dir/CheckSymbolExists.c.o -o cmTC_46c88 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef gmtime_r return ((int*)(&gmtime_r))[argc]; #else (void)argc; return 0; #endif } Determining if the localtime_r exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2a6b5/fast && gmake -f CMakeFiles/cmTC_2a6b5.dir/build.make CMakeFiles/cmTC_2a6b5.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2a6b5.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2a6b5.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_2a6b5 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2a6b5.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_2a6b5.dir/CheckSymbolExists.c.o -o cmTC_2a6b5 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef localtime_r return ((int*)(&localtime_r))[argc]; #else (void)argc; return 0; #endif } Determining if the gethostbyname exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ab979/fast && gmake -f CMakeFiles/cmTC_ab979.dir/build.make CMakeFiles/cmTC_ab979.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ab979.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ab979.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_ab979 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ab979.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_ab979.dir/CheckSymbolExists.c.o -o cmTC_ab979 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef gethostbyname return ((int*)(&gethostbyname))[argc]; #else (void)argc; return 0; #endif } Determining if the gethostbyname_r exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_64114/fast && gmake -f CMakeFiles/cmTC_64114.dir/build.make CMakeFiles/cmTC_64114.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_64114.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_64114.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_64114 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_64114.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_64114.dir/CheckSymbolExists.c.o -o cmTC_64114 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef gethostbyname_r return ((int*)(&gethostbyname_r))[argc]; #else (void)argc; return 0; #endif } Determining if the signal exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a1f97/fast && gmake -f CMakeFiles/cmTC_a1f97.dir/build.make CMakeFiles/cmTC_a1f97.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a1f97.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a1f97.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_a1f97 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a1f97.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_a1f97.dir/CheckSymbolExists.c.o -o cmTC_a1f97 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef signal return ((int*)(&signal))[argc]; #else (void)argc; return 0; #endif } Determining if the SIGALRM exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e7049/fast && gmake -f CMakeFiles/cmTC_e7049.dir/build.make CMakeFiles/cmTC_e7049.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e7049.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e7049.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_e7049 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e7049.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_e7049.dir/CheckSymbolExists.c.o -o cmTC_e7049 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef SIGALRM return ((int*)(&SIGALRM))[argc]; #else (void)argc; return 0; #endif } Determining if the strtoll exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_7c7ce/fast && gmake -f CMakeFiles/cmTC_7c7ce.dir/build.make CMakeFiles/cmTC_7c7ce.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_7c7ce.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_7c7ce.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_7c7ce /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7c7ce.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_7c7ce.dir/CheckSymbolExists.c.o -o cmTC_7c7ce gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef strtoll return ((int*)(&strtoll))[argc]; #else (void)argc; return 0; #endif } Determining if the strerror_r exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_26016/fast && gmake -f CMakeFiles/cmTC_26016.dir/build.make CMakeFiles/cmTC_26016.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_26016.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_26016.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_26016 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_26016.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_26016.dir/CheckSymbolExists.c.o -o cmTC_26016 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef strerror_r return ((int*)(&strerror_r))[argc]; #else (void)argc; return 0; #endif } Determining if the siginterrupt exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e6901/fast && gmake -f CMakeFiles/cmTC_e6901.dir/build.make CMakeFiles/cmTC_e6901.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e6901.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e6901.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_e6901 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e6901.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_e6901.dir/CheckSymbolExists.c.o -o cmTC_e6901 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef siginterrupt return ((int*)(&siginterrupt))[argc]; #else (void)argc; return 0; #endif } Determining if the getaddrinfo exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b4820/fast && gmake -f CMakeFiles/cmTC_b4820.dir/build.make CMakeFiles/cmTC_b4820.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b4820.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b4820.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_b4820 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b4820.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_b4820.dir/CheckSymbolExists.c.o -o cmTC_b4820 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getaddrinfo return ((int*)(&getaddrinfo))[argc]; #else (void)argc; return 0; #endif } Determining if the freeaddrinfo exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_56319/fast && gmake -f CMakeFiles/cmTC_56319.dir/build.make CMakeFiles/cmTC_56319.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_56319.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_56319.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_56319 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_56319.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_56319.dir/CheckSymbolExists.c.o -o cmTC_56319 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef freeaddrinfo return ((int*)(&freeaddrinfo))[argc]; #else (void)argc; return 0; #endif } Determining if the pipe exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4ffd3/fast && gmake -f CMakeFiles/cmTC_4ffd3.dir/build.make CMakeFiles/cmTC_4ffd3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4ffd3.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_4ffd3.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_4ffd3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4ffd3.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_4ffd3.dir/CheckSymbolExists.c.o -o cmTC_4ffd3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef pipe return ((int*)(&pipe))[argc]; #else (void)argc; return 0; #endif } Determining if the ftruncate exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e278e/fast && gmake -f CMakeFiles/cmTC_e278e.dir/build.make CMakeFiles/cmTC_e278e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e278e.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e278e.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_e278e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e278e.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_e278e.dir/CheckSymbolExists.c.o -o cmTC_e278e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef ftruncate return ((int*)(&ftruncate))[argc]; #else (void)argc; return 0; #endif } Determining if the getprotobyname exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a37f0/fast && gmake -f CMakeFiles/cmTC_a37f0.dir/build.make CMakeFiles/cmTC_a37f0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a37f0.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a37f0.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_a37f0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a37f0.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_a37f0.dir/CheckSymbolExists.c.o -o cmTC_a37f0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getprotobyname return ((int*)(&getprotobyname))[argc]; #else (void)argc; return 0; #endif } Determining if the getpeername exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_95492/fast && gmake -f CMakeFiles/cmTC_95492.dir/build.make CMakeFiles/cmTC_95492.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_95492.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_95492.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_95492 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_95492.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_95492.dir/CheckSymbolExists.c.o -o cmTC_95492 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getpeername return ((int*)(&getpeername))[argc]; #else (void)argc; return 0; #endif } Determining if the getsockname exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6994b/fast && gmake -f CMakeFiles/cmTC_6994b.dir/build.make CMakeFiles/cmTC_6994b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6994b.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6994b.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_6994b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6994b.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_6994b.dir/CheckSymbolExists.c.o -o cmTC_6994b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getsockname return ((int*)(&getsockname))[argc]; #else (void)argc; return 0; #endif } Determining if the if_nametoindex exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_23688/fast && gmake -f CMakeFiles/cmTC_23688.dir/build.make CMakeFiles/cmTC_23688.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_23688.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_23688.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_23688 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_23688.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_23688.dir/CheckSymbolExists.c.o -o cmTC_23688 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef if_nametoindex return ((int*)(&if_nametoindex))[argc]; #else (void)argc; return 0; #endif } Determining if the getrlimit exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b060e/fast && gmake -f CMakeFiles/cmTC_b060e.dir/build.make CMakeFiles/cmTC_b060e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b060e.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b060e.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_b060e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b060e.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_b060e.dir/CheckSymbolExists.c.o -o cmTC_b060e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef getrlimit return ((int*)(&getrlimit))[argc]; #else (void)argc; return 0; #endif } Determining if the setrlimit exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_af40d/fast && gmake -f CMakeFiles/cmTC_af40d.dir/build.make CMakeFiles/cmTC_af40d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_af40d.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_af40d.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_af40d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_af40d.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_af40d.dir/CheckSymbolExists.c.o -o cmTC_af40d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef setrlimit return ((int*)(&setrlimit))[argc]; #else (void)argc; return 0; #endif } Determining if the fcntl exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_07ad8/fast && gmake -f CMakeFiles/cmTC_07ad8.dir/build.make CMakeFiles/cmTC_07ad8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_07ad8.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_07ad8.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_07ad8 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_07ad8.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_07ad8.dir/CheckSymbolExists.c.o -o cmTC_07ad8 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef fcntl return ((int*)(&fcntl))[argc]; #else (void)argc; return 0; #endif } Determining if the ioctl exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a8c2a/fast && gmake -f CMakeFiles/cmTC_a8c2a.dir/build.make CMakeFiles/cmTC_a8c2a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a8c2a.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a8c2a.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_a8c2a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a8c2a.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_a8c2a.dir/CheckSymbolExists.c.o -o cmTC_a8c2a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef ioctl return ((int*)(&ioctl))[argc]; #else (void)argc; return 0; #endif } Determining if the setsockopt exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_417d6/fast && gmake -f CMakeFiles/cmTC_417d6.dir/build.make CMakeFiles/cmTC_417d6.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_417d6.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_417d6.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_417d6 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_417d6.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_417d6.dir/CheckSymbolExists.c.o -o cmTC_417d6 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef setsockopt return ((int*)(&setsockopt))[argc]; #else (void)argc; return 0; #endif } Determining if the inet_pton exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_99b7c/fast && gmake -f CMakeFiles/cmTC_99b7c.dir/build.make CMakeFiles/cmTC_99b7c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_99b7c.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_99b7c.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_99b7c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_99b7c.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_99b7c.dir/CheckSymbolExists.c.o -o cmTC_99b7c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef inet_pton return ((int*)(&inet_pton))[argc]; #else (void)argc; return 0; #endif } Determining if the fsetxattr exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b5412/fast && gmake -f CMakeFiles/cmTC_b5412.dir/build.make CMakeFiles/cmTC_b5412.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b5412.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b5412.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_b5412 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b5412.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_b5412.dir/CheckSymbolExists.c.o -o cmTC_b5412 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char** argv) { (void)argv; #ifndef fsetxattr return ((int*)(&fsetxattr))[argc]; #else (void)argc; return 0; #endif } Performing Curl Test HAVE_FSETXATTR_5 passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_93f72/fast && gmake -f CMakeFiles/cmTC_93f72.dir/build.make CMakeFiles/cmTC_93f72.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_93f72.dir/CurlTests.c.o /bin/gcc -w -DHAVE_FSETXATTR_5 -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_93f72.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_93f72 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_93f72.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_FSETXATTR_5 -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_93f72.dir/CurlTests.c.o -o cmTC_93f72 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of sa_family_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2b737/fast && gmake -f CMakeFiles/cmTC_2b737.dir/build.make CMakeFiles/cmTC_2b737.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2b737.dir/SIZEOF_SA_FAMILY_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2b737.dir/SIZEOF_SA_FAMILY_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_SA_FAMILY_T.c Linking C executable cmTC_2b737 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2b737.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_2b737.dir/SIZEOF_SA_FAMILY_T.c.o -o cmTC_2b737 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the sigaction exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_73cc1/fast && gmake -f CMakeFiles/cmTC_73cc1.dir/build.make CMakeFiles/cmTC_73cc1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_73cc1.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_73cc1.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_73cc1 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_73cc1.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_73cc1.dir/CheckSymbolExists.c.o -o cmTC_73cc1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef sigaction return ((int*)(&sigaction))[argc]; #else (void)argc; return 0; #endif } Performing Curl Test HAVE_FCNTL_O_NONBLOCK passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_331a5/fast && gmake -f CMakeFiles/cmTC_331a5.dir/build.make CMakeFiles/cmTC_331a5.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_331a5.dir/CurlTests.c.o /bin/gcc -w -DHAVE_FCNTL_O_NONBLOCK -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_331a5.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_331a5 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_331a5.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_FCNTL_O_NONBLOCK -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_331a5.dir/CurlTests.c.o -o cmTC_331a5 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_IOCTL_FIONBIO passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e2e29/fast && gmake -f CMakeFiles/cmTC_e2e29.dir/build.make CMakeFiles/cmTC_e2e29.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e2e29.dir/CurlTests.c.o /bin/gcc -w -DHAVE_IOCTL_FIONBIO -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_e2e29.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_e2e29 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e2e29.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_IOCTL_FIONBIO -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_e2e29.dir/CurlTests.c.o -o cmTC_e2e29 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_IOCTL_SIOCGIFADDR passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_d5453/fast && gmake -f CMakeFiles/cmTC_d5453.dir/build.make CMakeFiles/cmTC_d5453.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_d5453.dir/CurlTests.c.o /bin/gcc -w -DHAVE_IOCTL_SIOCGIFADDR -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_d5453.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_d5453 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d5453.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_IOCTL_SIOCGIFADDR -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_d5453.dir/CurlTests.c.o -o cmTC_d5453 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test TIME_WITH_SYS_TIME passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_068a5/fast && gmake -f CMakeFiles/cmTC_068a5.dir/build.make CMakeFiles/cmTC_068a5.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_068a5.dir/CurlTests.c.o /bin/gcc -w -DTIME_WITH_SYS_TIME -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_068a5.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_068a5 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_068a5.dir/link.txt --verbose=1 /bin/gcc -w -DTIME_WITH_SYS_TIME -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_068a5.dir/CurlTests.c.o -o cmTC_068a5 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_GETHOSTBYNAME_R_6 passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9835a/fast && gmake -f CMakeFiles/cmTC_9835a.dir/build.make CMakeFiles/cmTC_9835a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9835a.dir/CurlTests.c.o /bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6 -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_9835a.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_9835a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9835a.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6 -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_9835a.dir/CurlTests.c.o -o cmTC_9835a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_GETHOSTBYNAME_R_6_REENTRANT passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_20bb4/fast && gmake -f CMakeFiles/cmTC_20bb4.dir/build.make CMakeFiles/cmTC_20bb4.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_20bb4.dir/CurlTests.c.o /bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6_REENTRANT -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_20bb4.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_20bb4 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_20bb4.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6_REENTRANT -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_20bb4.dir/CurlTests.c.o -o cmTC_20bb4 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_IN_ADDR_T passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0cf2d/fast && gmake -f CMakeFiles/cmTC_0cf2d.dir/build.make CMakeFiles/cmTC_0cf2d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0cf2d.dir/CurlTests.c.o /bin/gcc -w -DHAVE_IN_ADDR_T -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_0cf2d.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_0cf2d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0cf2d.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_IN_ADDR_T -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_0cf2d.dir/CurlTests.c.o -o cmTC_0cf2d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_BOOL_T passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_43568/fast && gmake -f CMakeFiles/cmTC_43568.dir/build.make CMakeFiles/cmTC_43568.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_43568.dir/CurlTests.c.o /bin/gcc -w -DHAVE_BOOL_T -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_43568.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_43568 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_43568.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_BOOL_T -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_43568.dir/CurlTests.c.o -o cmTC_43568 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test STDC_HEADERS passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b3e8f/fast && gmake -f CMakeFiles/cmTC_b3e8f.dir/build.make CMakeFiles/cmTC_b3e8f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b3e8f.dir/CurlTests.c.o /bin/gcc -w -DSTDC_HEADERS -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_b3e8f.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_b3e8f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b3e8f.dir/link.txt --verbose=1 /bin/gcc -w -DSTDC_HEADERS -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_b3e8f.dir/CurlTests.c.o -o cmTC_b3e8f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_FILE_OFFSET_BITS passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0fbf6/fast && gmake -f CMakeFiles/cmTC_0fbf6.dir/build.make CMakeFiles/cmTC_0fbf6.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0fbf6.dir/CurlTests.c.o /bin/gcc -w -DHAVE_FILE_OFFSET_BITS -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_0fbf6.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_0fbf6 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0fbf6.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_FILE_OFFSET_BITS -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_0fbf6.dir/CurlTests.c.o -o cmTC_0fbf6 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_VARIADIC_MACROS_C99 passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4a996/fast && gmake -f CMakeFiles/cmTC_4a996.dir/build.make CMakeFiles/cmTC_4a996.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4a996.dir/CurlTests.c.o /bin/gcc -w -DHAVE_VARIADIC_MACROS_C99 -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_4a996.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_4a996 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4a996.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_VARIADIC_MACROS_C99 -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_4a996.dir/CurlTests.c.o -o cmTC_4a996 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_VARIADIC_MACROS_GCC passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ef70d/fast && gmake -f CMakeFiles/cmTC_ef70d.dir/build.make CMakeFiles/cmTC_ef70d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ef70d.dir/CurlTests.c.o /bin/gcc -w -DHAVE_VARIADIC_MACROS_GCC -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_ef70d.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_ef70d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ef70d.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_VARIADIC_MACROS_GCC -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_ef70d.dir/CurlTests.c.o -o cmTC_ef70d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of off_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9f7ed/fast && gmake -f CMakeFiles/cmTC_9f7ed.dir/build.make CMakeFiles/cmTC_9f7ed.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9f7ed.dir/SIZEOF_OFF_T.c.o /bin/gcc -w -D_FILE_OFFSET_BITS=64 -std=gnu99 -o CMakeFiles/cmTC_9f7ed.dir/SIZEOF_OFF_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.c Linking C executable cmTC_9f7ed /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9f7ed.dir/link.txt --verbose=1 /bin/gcc -w -D_FILE_OFFSET_BITS=64 -rdynamic CMakeFiles/cmTC_9f7ed.dir/SIZEOF_OFF_T.c.o -o cmTC_9f7ed gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of curl_off_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0183e/fast && gmake -f CMakeFiles/cmTC_0183e.dir/build.make CMakeFiles/cmTC_0183e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0183e.dir/SIZEOF_CURL_OFF_T.c.o /bin/gcc -I/usr/src/cmake-3.22.0/Utilities/cmcurl/include -w -D_FILE_OFFSET_BITS=64 -std=gnu99 -o CMakeFiles/cmTC_0183e.dir/SIZEOF_CURL_OFF_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_CURL_OFF_T.c Linking C executable cmTC_0183e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0183e.dir/link.txt --verbose=1 /bin/gcc -w -D_FILE_OFFSET_BITS=64 -rdynamic CMakeFiles/cmTC_0183e.dir/SIZEOF_CURL_OFF_T.c.o -o cmTC_0183e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_POSIX_STRERROR_R passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8d400/fast && gmake -f CMakeFiles/cmTC_8d400.dir/build.make CMakeFiles/cmTC_8d400.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8d400.dir/CurlTests.c.o /bin/gcc -w -DHAVE_POSIX_STRERROR_R -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_8d400.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_8d400 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8d400.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_POSIX_STRERROR_R -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_8d400.dir/CurlTests.c.o -o cmTC_8d400 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing Curl Test HAVE_CLOCK_GETTIME_MONOTONIC passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f6d5c/fast && gmake -f CMakeFiles/cmTC_f6d5c.dir/build.make CMakeFiles/cmTC_f6d5c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f6d5c.dir/CurlTests.c.o /bin/gcc -w -DHAVE_CLOCK_GETTIME_MONOTONIC -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_f6d5c.dir/CurlTests.c.o -c /usr/src/cmake-3.22.0/Utilities/cmcurl/CMake/CurlTests.c Linking C executable cmTC_f6d5c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f6d5c.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_CLOCK_GETTIME_MONOTONIC -DHAVE_STDIO_H -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UIO_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ALLOCA_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_DLFCN_H -DHAVE_MALLOC_H -DHAVE_MEMORY_H -DHAVE_NETINET_IF_ETHER_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_f6d5c.dir/CurlTests.c.o -o cmTC_f6d5c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_MSG_NOSIGNAL succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a8361/fast && gmake -f CMakeFiles/cmTC_a8361.dir/build.make CMakeFiles/cmTC_a8361.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a8361.dir/src.c.o /bin/gcc -DHAVE_MSG_NOSIGNAL -I/usr/src/cmake-3.22.0/Utilities/cmcurl/include -w -std=gnu99 -o CMakeFiles/cmTC_a8361.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C static library libcmTC_a8361.a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -P CMakeFiles/cmTC_a8361.dir/cmake_clean_target.cmake /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a8361.dir/link.txt --verbose=1 /bin/ar qc libcmTC_a8361.a CMakeFiles/cmTC_a8361.dir/src.c.o /bin/ranlib libcmTC_a8361.a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #undef inline #include #include int main(void) { int flag = MSG_NOSIGNAL; (void)flag; return 0; } Performing C SOURCE FILE Test HAVE_STRUCT_TIMEVAL succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_712b0/fast && gmake -f CMakeFiles/cmTC_712b0.dir/build.make CMakeFiles/cmTC_712b0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_712b0.dir/src.c.o /bin/gcc -DHAVE_STRUCT_TIMEVAL -I/usr/src/cmake-3.22.0/Utilities/cmcurl/include -w -std=gnu99 -o CMakeFiles/cmTC_712b0.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C static library libcmTC_712b0.a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -P CMakeFiles/cmTC_712b0.dir/cmake_clean_target.cmake /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_712b0.dir/link.txt --verbose=1 /bin/ar qc libcmTC_712b0.a CMakeFiles/cmTC_712b0.dir/src.c.o /bin/ranlib libcmTC_712b0.a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #undef inline #include #include #include #include #include int main(void) { struct timeval ts; ts.tv_sec = 0; ts.tv_usec = 0; (void)ts; return 0; } Determining size of struct sockaddr_storage passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_d4261/fast && gmake -f CMakeFiles/cmTC_d4261.dir/build.make CMakeFiles/cmTC_d4261.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_d4261.dir/SIZEOF_STRUCT_SOCKADDR_STORAGE.c.o /bin/gcc -I/usr/src/cmake-3.22.0/Utilities/cmcurl/include -w -std=gnu99 -o CMakeFiles/cmTC_d4261.dir/SIZEOF_STRUCT_SOCKADDR_STORAGE.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_STRUCT_SOCKADDR_STORAGE.c Linking C static library libcmTC_d4261.a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -P CMakeFiles/cmTC_d4261.dir/cmake_clean_target.cmake /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d4261.dir/link.txt --verbose=1 /bin/ar qc libcmTC_d4261.a CMakeFiles/cmTC_d4261.dir/SIZEOF_STRUCT_SOCKADDR_STORAGE.c.o /bin/ranlib libcmTC_d4261.a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_POLL_FINE succeeded with the following compile output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8d826/fast && gmake -f CMakeFiles/cmTC_8d826.dir/build.make CMakeFiles/cmTC_8d826.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8d826.dir/src.c.o /bin/gcc -DHAVE_POLL_FINE -I/usr/src/cmake-3.22.0/Utilities/cmcurl/include -w -DHAVE_SYS_POLL_H -std=gnu99 -o CMakeFiles/cmTC_8d826.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_8d826 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8d826.dir/link.txt --verbose=1 /bin/gcc -w -DHAVE_SYS_POLL_H CMakeFiles/cmTC_8d826.dir/src.c.o -o cmTC_8d826 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' ...and run output: Return value: 1 Source file was: #include #include #ifdef HAVE_SYS_POLL_H # include #elif HAVE_POLL_H # include #endif int main(void) { if(0 != poll(0, 0, 10)) { return 1; /* fail */ } else { /* detect the 10.12 poll() breakage */ struct timeval before, after; int rc; size_t us; gettimeofday(&before, NULL); rc = poll(NULL, 0, 500); gettimeofday(&after, NULL); us = (after.tv_sec - before.tv_sec) * 1000000 + (after.tv_usec - before.tv_usec); if(us < 400000) { return 1; } } return 0; } Determining if the getpagesize exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a0126/fast && gmake -f CMakeFiles/cmTC_a0126.dir/build.make CMakeFiles/cmTC_a0126.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a0126.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a0126.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_a0126 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a0126.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_a0126.dir/CheckSymbolExists.c.o -o cmTC_a0126 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef getpagesize return ((int*)(&getpagesize))[argc]; #else (void)argc; return 0; #endif } Determining if the mmap exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2f9c1/fast && gmake -f CMakeFiles/cmTC_2f9c1.dir/build.make CMakeFiles/cmTC_2f9c1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2f9c1.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2f9c1.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_2f9c1 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2f9c1.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_2f9c1.dir/CheckSymbolExists.c.o -o cmTC_2f9c1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef mmap return ((int*)(&mmap))[argc]; #else (void)argc; return 0; #endif } Performing C SOURCE FILE Test HAVE_SYSCALL_GETRANDOM succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e0fe2/fast && gmake -f CMakeFiles/cmTC_e0fe2.dir/build.make CMakeFiles/cmTC_e0fe2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e0fe2.dir/src.c.o /bin/gcc -DHAVE_SYSCALL_GETRANDOM -w -std=gnu99 -o CMakeFiles/cmTC_e0fe2.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_e0fe2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e0fe2.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_e0fe2.dir/src.c.o -o cmTC_e0fe2 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include /* for NULL */ #include /* for syscall */ #include /* for SYS_getrandom */ int main() { syscall(SYS_getrandom, NULL, 0, 0); return 0; } Determining if the include file byteswap.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e56ae/fast && gmake -f CMakeFiles/cmTC_e56ae.dir/build.make CMakeFiles/cmTC_e56ae.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e56ae.dir/CheckIncludeFile.c.o /bin/gcc -std=gnu99 -o CMakeFiles/cmTC_e56ae.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_e56ae /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e56ae.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_e56ae.dir/CheckIncludeFile.c.o -o cmTC_e56ae gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file limits.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_db38a/fast && gmake -f CMakeFiles/cmTC_db38a.dir/build.make CMakeFiles/cmTC_db38a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_db38a.dir/CheckIncludeFile.c.o /bin/gcc -std=gnu99 -o CMakeFiles/cmTC_db38a.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_db38a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_db38a.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_db38a.dir/CheckIncludeFile.c.o -o cmTC_db38a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the include file sys/sysctl.h exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e1b89/fast && gmake -f CMakeFiles/cmTC_e1b89.dir/build.make CMakeFiles/cmTC_e1b89.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e1b89.dir/CheckIncludeFile.c.o /bin/gcc -std=gnu99 -o CMakeFiles/cmTC_e1b89.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckIncludeFile.c Linking C executable cmTC_e1b89 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e1b89.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_e1b89.dir/CheckIncludeFile.c.o -o cmTC_e1b89 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_BSWAP_16 succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_bac52/fast && gmake -f CMakeFiles/cmTC_bac52.dir/build.make CMakeFiles/cmTC_bac52.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_bac52.dir/src.c.o /bin/gcc -DHAVE_BSWAP_16 -std=gnu99 -o CMakeFiles/cmTC_bac52.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_bac52 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_bac52.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_bac52.dir/src.c.o -o cmTC_bac52 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main(void){bswap_16(0);return 0;} Performing C SOURCE FILE Test HAVE_BSWAP_32 succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8cf97/fast && gmake -f CMakeFiles/cmTC_8cf97.dir/build.make CMakeFiles/cmTC_8cf97.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8cf97.dir/src.c.o /bin/gcc -DHAVE_BSWAP_32 -std=gnu99 -o CMakeFiles/cmTC_8cf97.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_8cf97 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8cf97.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_8cf97.dir/src.c.o -o cmTC_8cf97 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main(void){bswap_32(0);return 0;} Performing C SOURCE FILE Test HAVE_BSWAP_64 succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_631a0/fast && gmake -f CMakeFiles/cmTC_631a0.dir/build.make CMakeFiles/cmTC_631a0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_631a0.dir/src.c.o /bin/gcc -DHAVE_BSWAP_64 -std=gnu99 -o CMakeFiles/cmTC_631a0.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_631a0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_631a0.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_631a0.dir/src.c.o -o cmTC_631a0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main(void){bswap_64(0);return 0;} Performing C SOURCE FILE Test HAVE_DIRENT_H succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b7674/fast && gmake -f CMakeFiles/cmTC_b7674.dir/build.make CMakeFiles/cmTC_b7674.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b7674.dir/src.c.o /bin/gcc -DHAVE_DIRENT_H -w -std=gnu99 -o CMakeFiles/cmTC_b7674.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_b7674 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b7674.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_b7674.dir/src.c.o -o cmTC_b7674 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() { static DIR * tmp; if (sizeof(tmp)) return 0; return 0; } Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9298f/fast && gmake -f CMakeFiles/cmTC_9298f.dir/build.make CMakeFiles/cmTC_9298f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9298f.dir/HAVE_EXT2FS_EXT2_FS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_9298f.dir/HAVE_EXT2FS_EXT2_FS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_EXT2FS_EXT2_FS_H.c Linking C executable cmTC_9298f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9298f.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_9298f.dir/HAVE_EXT2FS_EXT2_FS_H.c.o -o cmTC_9298f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_WORKING_EXT2_IOC_GETFLAGS succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c48e7/fast && gmake -f CMakeFiles/cmTC_c48e7.dir/build.make CMakeFiles/cmTC_c48e7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_c48e7.dir/src.c.o /bin/gcc -DHAVE_WORKING_EXT2_IOC_GETFLAGS -w -std=gnu99 -o CMakeFiles/cmTC_c48e7.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_c48e7 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c48e7.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_c48e7.dir/src.c.o -o cmTC_c48e7 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include #include int main(void) { return EXT2_IOC_GETFLAGS; } Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f8652/fast && gmake -f CMakeFiles/cmTC_f8652.dir/build.make CMakeFiles/cmTC_f8652.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f8652.dir/HAVE_GRP_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f8652.dir/HAVE_GRP_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_GRP_H.c Linking C executable cmTC_f8652 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f8652.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_f8652.dir/HAVE_GRP_H.c.o -o cmTC_f8652 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_de720/fast && gmake -f CMakeFiles/cmTC_de720.dir/build.make CMakeFiles/cmTC_de720.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_de720.dir/HAVE_LANGINFO_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_de720.dir/HAVE_LANGINFO_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_LANGINFO_H.c Linking C executable cmTC_de720 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_de720.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_de720.dir/HAVE_LANGINFO_H.c.o -o cmTC_de720 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9d1b9/fast && gmake -f CMakeFiles/cmTC_9d1b9.dir/build.make CMakeFiles/cmTC_9d1b9.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9d1b9.dir/HAVE_LINUX_TYPES_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_9d1b9.dir/HAVE_LINUX_TYPES_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_LINUX_TYPES_H.c Linking C executable cmTC_9d1b9 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9d1b9.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_9d1b9.dir/HAVE_LINUX_TYPES_H.c.o -o cmTC_9d1b9 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_04e99/fast && gmake -f CMakeFiles/cmTC_04e99.dir/build.make CMakeFiles/cmTC_04e99.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_04e99.dir/HAVE_LINUX_FIEMAP_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_04e99.dir/HAVE_LINUX_FIEMAP_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_LINUX_FIEMAP_H.c Linking C executable cmTC_04e99 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_04e99.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_04e99.dir/HAVE_LINUX_FIEMAP_H.c.o -o cmTC_04e99 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_983e7/fast && gmake -f CMakeFiles/cmTC_983e7.dir/build.make CMakeFiles/cmTC_983e7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_983e7.dir/HAVE_LINUX_FS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_983e7.dir/HAVE_LINUX_FS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_LINUX_FS_H.c Linking C executable cmTC_983e7 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_983e7.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_983e7.dir/HAVE_LINUX_FS_H.c.o -o cmTC_983e7 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_WORKING_FS_IOC_GETFLAGS succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_16d1e/fast && gmake -f CMakeFiles/cmTC_16d1e.dir/build.make CMakeFiles/cmTC_16d1e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_16d1e.dir/src.c.o /bin/gcc -DHAVE_WORKING_FS_IOC_GETFLAGS -w -std=gnu99 -o CMakeFiles/cmTC_16d1e.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_16d1e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_16d1e.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_16d1e.dir/src.c.o -o cmTC_16d1e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include #include int main(void) { return FS_IOC_GETFLAGS; } Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_74946/fast && gmake -f CMakeFiles/cmTC_74946.dir/build.make CMakeFiles/cmTC_74946.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_74946.dir/HAVE_LINUX_MAGIC_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_74946.dir/HAVE_LINUX_MAGIC_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_LINUX_MAGIC_H.c Linking C executable cmTC_74946 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_74946.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_74946.dir/HAVE_LINUX_MAGIC_H.c.o -o cmTC_74946 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_06f1e/fast && gmake -f CMakeFiles/cmTC_06f1e.dir/build.make CMakeFiles/cmTC_06f1e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_06f1e.dir/HAVE_PATHS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_06f1e.dir/HAVE_PATHS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_PATHS_H.c Linking C executable cmTC_06f1e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_06f1e.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_06f1e.dir/HAVE_PATHS_H.c.o -o cmTC_06f1e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_851c0/fast && gmake -f CMakeFiles/cmTC_851c0.dir/build.make CMakeFiles/cmTC_851c0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_851c0.dir/HAVE_PTHREAD_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_851c0.dir/HAVE_PTHREAD_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_PTHREAD_H.c Linking C executable cmTC_851c0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_851c0.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_851c0.dir/HAVE_PTHREAD_H.c.o -o cmTC_851c0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0147f/fast && gmake -f CMakeFiles/cmTC_0147f.dir/build.make CMakeFiles/cmTC_0147f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0147f.dir/HAVE_REGEX_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_0147f.dir/HAVE_REGEX_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_REGEX_H.c Linking C executable cmTC_0147f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0147f.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_0147f.dir/HAVE_REGEX_H.c.o -o cmTC_0147f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4a237/fast && gmake -f CMakeFiles/cmTC_4a237.dir/build.make CMakeFiles/cmTC_4a237.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4a237.dir/HAVE_SPAWN_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_4a237.dir/HAVE_SPAWN_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SPAWN_H.c Linking C executable cmTC_4a237 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4a237.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_4a237.dir/HAVE_SPAWN_H.c.o -o cmTC_4a237 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_62f12/fast && gmake -f CMakeFiles/cmTC_62f12.dir/build.make CMakeFiles/cmTC_62f12.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_62f12.dir/HAVE_STDARG_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_62f12.dir/HAVE_STDARG_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_STDARG_H.c Linking C executable cmTC_62f12 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_62f12.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_62f12.dir/HAVE_STDARG_H.c.o -o cmTC_62f12 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ecf0c/fast && gmake -f CMakeFiles/cmTC_ecf0c.dir/build.make CMakeFiles/cmTC_ecf0c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ecf0c.dir/HAVE_SYS_CDEFS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ecf0c.dir/HAVE_SYS_CDEFS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_CDEFS_H.c Linking C executable cmTC_ecf0c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ecf0c.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_ecf0c.dir/HAVE_SYS_CDEFS_H.c.o -o cmTC_ecf0c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_34055/fast && gmake -f CMakeFiles/cmTC_34055.dir/build.make CMakeFiles/cmTC_34055.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_34055.dir/HAVE_SYS_STATFS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_34055.dir/HAVE_SYS_STATFS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_STATFS_H.c Linking C executable cmTC_34055 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_34055.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_34055.dir/HAVE_SYS_STATFS_H.c.o -o cmTC_34055 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2fbd2/fast && gmake -f CMakeFiles/cmTC_2fbd2.dir/build.make CMakeFiles/cmTC_2fbd2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2fbd2.dir/HAVE_SYS_STATVFS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2fbd2.dir/HAVE_SYS_STATVFS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_STATVFS_H.c Linking C executable cmTC_2fbd2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2fbd2.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_2fbd2.dir/HAVE_SYS_STATVFS_H.c.o -o cmTC_2fbd2 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_87b7c/fast && gmake -f CMakeFiles/cmTC_87b7c.dir/build.make CMakeFiles/cmTC_87b7c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_87b7c.dir/HAVE_SYS_SYSMACROS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_87b7c.dir/HAVE_SYS_SYSMACROS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_SYSMACROS_H.c Linking C executable cmTC_87b7c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_87b7c.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_87b7c.dir/HAVE_SYS_SYSMACROS_H.c.o -o cmTC_87b7c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h;sys/time.h;sys/utsname.h;sys/vfs.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f096f/fast && gmake -f CMakeFiles/cmTC_f096f.dir/build.make CMakeFiles/cmTC_f096f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f096f.dir/HAVE_SYS_VFS_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f096f.dir/HAVE_SYS_VFS_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_VFS_H.c Linking C executable cmTC_f096f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f096f.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_f096f.dir/HAVE_SYS_VFS_H.c.o -o cmTC_f096f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h;sys/time.h;sys/utsname.h;sys/vfs.h;sys/wait.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8127f/fast && gmake -f CMakeFiles/cmTC_8127f.dir/build.make CMakeFiles/cmTC_8127f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8127f.dir/HAVE_SYS_WAIT_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_8127f.dir/HAVE_SYS_WAIT_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_SYS_WAIT_H.c Linking C executable cmTC_8127f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8127f.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_8127f.dir/HAVE_SYS_WAIT_H.c.o -o cmTC_8127f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h;sys/time.h;sys/utsname.h;sys/vfs.h;sys/wait.h;sys/xattr.h;time.h;unistd.h;utime.h;wchar.h;wctype.h exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_bda46/fast && gmake -f CMakeFiles/cmTC_bda46.dir/build.make CMakeFiles/cmTC_bda46.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_bda46.dir/HAVE_WCTYPE_H.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_bda46.dir/HAVE_WCTYPE_H.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckIncludeFiles/HAVE_WCTYPE_H.c Linking C executable cmTC_bda46 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_bda46.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_bda46.dir/HAVE_WCTYPE_H.c.o -o cmTC_bda46 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test SAFE_TO_DEFINE_EXTENSIONS succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8024d/fast && gmake -f CMakeFiles/cmTC_8024d.dir/build.make CMakeFiles/cmTC_8024d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8024d.dir/src.c.o /bin/gcc -DSAFE_TO_DEFINE_EXTENSIONS -w -std=gnu99 -o CMakeFiles/cmTC_8024d.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_8024d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8024d.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_8024d.dir/src.c.o -o cmTC_8024d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #define __EXTENSIONS__ 1 int main() { return 0;} Determining if the function chown exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1898c/fast && gmake -f CMakeFiles/cmTC_1898c.dir/build.make CMakeFiles/cmTC_1898c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1898c.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=chown -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_1898c.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_1898c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1898c.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=chown -fno-builtin CMakeFiles/cmTC_1898c.dir/CheckFunctionExists.c.o -o cmTC_1898c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function chroot exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b9048/fast && gmake -f CMakeFiles/cmTC_b9048.dir/build.make CMakeFiles/cmTC_b9048.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b9048.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=chroot -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_b9048.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_b9048 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b9048.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=chroot -fno-builtin CMakeFiles/cmTC_b9048.dir/CheckFunctionExists.c.o -o cmTC_b9048 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function ctime_r exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_343e3/fast && gmake -f CMakeFiles/cmTC_343e3.dir/build.make CMakeFiles/cmTC_343e3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_343e3.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=ctime_r -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_343e3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_343e3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_343e3.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=ctime_r -fno-builtin CMakeFiles/cmTC_343e3.dir/CheckFunctionExists.c.o -o cmTC_343e3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fchdir exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cb4ca/fast && gmake -f CMakeFiles/cmTC_cb4ca.dir/build.make CMakeFiles/cmTC_cb4ca.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cb4ca.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchdir -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_cb4ca.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_cb4ca /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cb4ca.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchdir -fno-builtin CMakeFiles/cmTC_cb4ca.dir/CheckFunctionExists.c.o -o cmTC_cb4ca gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fchmod exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4ebf0/fast && gmake -f CMakeFiles/cmTC_4ebf0.dir/build.make CMakeFiles/cmTC_4ebf0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4ebf0.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchmod -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_4ebf0.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_4ebf0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4ebf0.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchmod -fno-builtin CMakeFiles/cmTC_4ebf0.dir/CheckFunctionExists.c.o -o cmTC_4ebf0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fchown exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b339b/fast && gmake -f CMakeFiles/cmTC_b339b.dir/build.make CMakeFiles/cmTC_b339b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b339b.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchown -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_b339b.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_b339b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b339b.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchown -fno-builtin CMakeFiles/cmTC_b339b.dir/CheckFunctionExists.c.o -o cmTC_b339b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fdopendir exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b0357/fast && gmake -f CMakeFiles/cmTC_b0357.dir/build.make CMakeFiles/cmTC_b0357.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b0357.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fdopendir -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_b0357.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_b0357 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b0357.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fdopendir -fno-builtin CMakeFiles/cmTC_b0357.dir/CheckFunctionExists.c.o -o cmTC_b0357 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fork exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_56f01/fast && gmake -f CMakeFiles/cmTC_56f01.dir/build.make CMakeFiles/cmTC_56f01.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_56f01.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fork -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_56f01.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_56f01 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_56f01.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fork -fno-builtin CMakeFiles/cmTC_56f01.dir/CheckFunctionExists.c.o -o cmTC_56f01 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fstat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4041c/fast && gmake -f CMakeFiles/cmTC_4041c.dir/build.make CMakeFiles/cmTC_4041c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4041c.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_4041c.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_4041c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4041c.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstat -fno-builtin CMakeFiles/cmTC_4041c.dir/CheckFunctionExists.c.o -o cmTC_4041c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fstatat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_84bc6/fast && gmake -f CMakeFiles/cmTC_84bc6.dir/build.make CMakeFiles/cmTC_84bc6.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_84bc6.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_84bc6.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_84bc6 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_84bc6.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatat -fno-builtin CMakeFiles/cmTC_84bc6.dir/CheckFunctionExists.c.o -o cmTC_84bc6 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fstatfs exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_027e8/fast && gmake -f CMakeFiles/cmTC_027e8.dir/build.make CMakeFiles/cmTC_027e8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_027e8.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatfs -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_027e8.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_027e8 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_027e8.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatfs -fno-builtin CMakeFiles/cmTC_027e8.dir/CheckFunctionExists.c.o -o cmTC_027e8 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fstatvfs exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_be922/fast && gmake -f CMakeFiles/cmTC_be922.dir/build.make CMakeFiles/cmTC_be922.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_be922.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatvfs -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_be922.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_be922 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_be922.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatvfs -fno-builtin CMakeFiles/cmTC_be922.dir/CheckFunctionExists.c.o -o cmTC_be922 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function futimens exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ecfd7/fast && gmake -f CMakeFiles/cmTC_ecfd7.dir/build.make CMakeFiles/cmTC_ecfd7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ecfd7.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimens -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_ecfd7.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_ecfd7 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ecfd7.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimens -fno-builtin CMakeFiles/cmTC_ecfd7.dir/CheckFunctionExists.c.o -o cmTC_ecfd7 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function futimes exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ea454/fast && gmake -f CMakeFiles/cmTC_ea454.dir/build.make CMakeFiles/cmTC_ea454.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ea454.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimes -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_ea454.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_ea454 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ea454.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimes -fno-builtin CMakeFiles/cmTC_ea454.dir/CheckFunctionExists.c.o -o cmTC_ea454 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function futimesat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ef7b1/fast && gmake -f CMakeFiles/cmTC_ef7b1.dir/build.make CMakeFiles/cmTC_ef7b1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ef7b1.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimesat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_ef7b1.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_ef7b1 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ef7b1.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimesat -fno-builtin CMakeFiles/cmTC_ef7b1.dir/CheckFunctionExists.c.o -o cmTC_ef7b1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function getgrgid_r exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_39d3d/fast && gmake -f CMakeFiles/cmTC_39d3d.dir/build.make CMakeFiles/cmTC_39d3d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_39d3d.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrgid_r -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_39d3d.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_39d3d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_39d3d.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrgid_r -fno-builtin CMakeFiles/cmTC_39d3d.dir/CheckFunctionExists.c.o -o cmTC_39d3d gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function getgrnam_r exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a69b0/fast && gmake -f CMakeFiles/cmTC_a69b0.dir/build.make CMakeFiles/cmTC_a69b0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a69b0.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrnam_r -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_a69b0.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_a69b0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a69b0.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrnam_r -fno-builtin CMakeFiles/cmTC_a69b0.dir/CheckFunctionExists.c.o -o cmTC_a69b0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function getpwnam_r exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_76d46/fast && gmake -f CMakeFiles/cmTC_76d46.dir/build.make CMakeFiles/cmTC_76d46.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_76d46.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpwnam_r -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_76d46.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_76d46 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_76d46.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpwnam_r -fno-builtin CMakeFiles/cmTC_76d46.dir/CheckFunctionExists.c.o -o cmTC_76d46 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function getpid exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_fffc7/fast && gmake -f CMakeFiles/cmTC_fffc7.dir/build.make CMakeFiles/cmTC_fffc7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_fffc7.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpid -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_fffc7.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_fffc7 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fffc7.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpid -fno-builtin CMakeFiles/cmTC_fffc7.dir/CheckFunctionExists.c.o -o cmTC_fffc7 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function lchown exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2be1f/fast && gmake -f CMakeFiles/cmTC_2be1f.dir/build.make CMakeFiles/cmTC_2be1f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2be1f.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=lchown -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_2be1f.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_2be1f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2be1f.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=lchown -fno-builtin CMakeFiles/cmTC_2be1f.dir/CheckFunctionExists.c.o -o cmTC_2be1f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function link exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f638f/fast && gmake -f CMakeFiles/cmTC_f638f.dir/build.make CMakeFiles/cmTC_f638f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f638f.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=link -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_f638f.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_f638f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f638f.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=link -fno-builtin CMakeFiles/cmTC_f638f.dir/CheckFunctionExists.c.o -o cmTC_f638f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function lstat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cf977/fast && gmake -f CMakeFiles/cmTC_cf977.dir/build.make CMakeFiles/cmTC_cf977.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cf977.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=lstat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_cf977.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_cf977 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cf977.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=lstat -fno-builtin CMakeFiles/cmTC_cf977.dir/CheckFunctionExists.c.o -o cmTC_cf977 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function lutimes exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_59ae4/fast && gmake -f CMakeFiles/cmTC_59ae4.dir/build.make CMakeFiles/cmTC_59ae4.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_59ae4.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=lutimes -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_59ae4.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_59ae4 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_59ae4.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=lutimes -fno-builtin CMakeFiles/cmTC_59ae4.dir/CheckFunctionExists.c.o -o cmTC_59ae4 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function mbrtowc exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8e54b/fast && gmake -f CMakeFiles/cmTC_8e54b.dir/build.make CMakeFiles/cmTC_8e54b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8e54b.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mbrtowc -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_8e54b.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_8e54b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8e54b.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mbrtowc -fno-builtin CMakeFiles/cmTC_8e54b.dir/CheckFunctionExists.c.o -o cmTC_8e54b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function mkdir exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_97dad/fast && gmake -f CMakeFiles/cmTC_97dad.dir/build.make CMakeFiles/cmTC_97dad.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_97dad.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkdir -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_97dad.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_97dad /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_97dad.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkdir -fno-builtin CMakeFiles/cmTC_97dad.dir/CheckFunctionExists.c.o -o cmTC_97dad gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function mkfifo exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9e085/fast && gmake -f CMakeFiles/cmTC_9e085.dir/build.make CMakeFiles/cmTC_9e085.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9e085.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkfifo -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_9e085.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_9e085 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9e085.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkfifo -fno-builtin CMakeFiles/cmTC_9e085.dir/CheckFunctionExists.c.o -o cmTC_9e085 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function mknod exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b0877/fast && gmake -f CMakeFiles/cmTC_b0877.dir/build.make CMakeFiles/cmTC_b0877.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b0877.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mknod -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_b0877.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_b0877 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b0877.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mknod -fno-builtin CMakeFiles/cmTC_b0877.dir/CheckFunctionExists.c.o -o cmTC_b0877 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function mkstemp exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_81cb3/fast && gmake -f CMakeFiles/cmTC_81cb3.dir/build.make CMakeFiles/cmTC_81cb3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_81cb3.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkstemp -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_81cb3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_81cb3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_81cb3.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkstemp -fno-builtin CMakeFiles/cmTC_81cb3.dir/CheckFunctionExists.c.o -o cmTC_81cb3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function nl_langinfo exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_88c37/fast && gmake -f CMakeFiles/cmTC_88c37.dir/build.make CMakeFiles/cmTC_88c37.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_88c37.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=nl_langinfo -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_88c37.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_88c37 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_88c37.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=nl_langinfo -fno-builtin CMakeFiles/cmTC_88c37.dir/CheckFunctionExists.c.o -o cmTC_88c37 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function openat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_37b68/fast && gmake -f CMakeFiles/cmTC_37b68.dir/build.make CMakeFiles/cmTC_37b68.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_37b68.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=openat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_37b68.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_37b68 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_37b68.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=openat -fno-builtin CMakeFiles/cmTC_37b68.dir/CheckFunctionExists.c.o -o cmTC_37b68 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function posix_spawnp exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_44262/fast && gmake -f CMakeFiles/cmTC_44262.dir/build.make CMakeFiles/cmTC_44262.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_44262.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=posix_spawnp -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_44262.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_44262 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_44262.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=posix_spawnp -fno-builtin CMakeFiles/cmTC_44262.dir/CheckFunctionExists.c.o -o cmTC_44262 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function readlink exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f2b42/fast && gmake -f CMakeFiles/cmTC_f2b42.dir/build.make CMakeFiles/cmTC_f2b42.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f2b42.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=readlink -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_f2b42.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_f2b42 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f2b42.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=readlink -fno-builtin CMakeFiles/cmTC_f2b42.dir/CheckFunctionExists.c.o -o cmTC_f2b42 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function setenv exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cc118/fast && gmake -f CMakeFiles/cmTC_cc118.dir/build.make CMakeFiles/cmTC_cc118.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cc118.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=setenv -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_cc118.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_cc118 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cc118.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=setenv -fno-builtin CMakeFiles/cmTC_cc118.dir/CheckFunctionExists.c.o -o cmTC_cc118 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function statfs exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cda5b/fast && gmake -f CMakeFiles/cmTC_cda5b.dir/build.make CMakeFiles/cmTC_cda5b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cda5b.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=statfs -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_cda5b.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_cda5b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cda5b.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=statfs -fno-builtin CMakeFiles/cmTC_cda5b.dir/CheckFunctionExists.c.o -o cmTC_cda5b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function statvfs exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_632fa/fast && gmake -f CMakeFiles/cmTC_632fa.dir/build.make CMakeFiles/cmTC_632fa.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_632fa.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=statvfs -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_632fa.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_632fa /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_632fa.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=statvfs -fno-builtin CMakeFiles/cmTC_632fa.dir/CheckFunctionExists.c.o -o cmTC_632fa gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function strerror exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_17517/fast && gmake -f CMakeFiles/cmTC_17517.dir/build.make CMakeFiles/cmTC_17517.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_17517.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=strerror -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_17517.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_17517 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_17517.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=strerror -fno-builtin CMakeFiles/cmTC_17517.dir/CheckFunctionExists.c.o -o cmTC_17517 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function strnlen exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_fd88c/fast && gmake -f CMakeFiles/cmTC_fd88c.dir/build.make CMakeFiles/cmTC_fd88c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_fd88c.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=strnlen -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_fd88c.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_fd88c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fd88c.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=strnlen -fno-builtin CMakeFiles/cmTC_fd88c.dir/CheckFunctionExists.c.o -o cmTC_fd88c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function symlink exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_77144/fast && gmake -f CMakeFiles/cmTC_77144.dir/build.make CMakeFiles/cmTC_77144.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_77144.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=symlink -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_77144.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_77144 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_77144.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=symlink -fno-builtin CMakeFiles/cmTC_77144.dir/CheckFunctionExists.c.o -o cmTC_77144 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function timegm exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2bb49/fast && gmake -f CMakeFiles/cmTC_2bb49.dir/build.make CMakeFiles/cmTC_2bb49.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2bb49.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=timegm -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_2bb49.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_2bb49 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2bb49.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=timegm -fno-builtin CMakeFiles/cmTC_2bb49.dir/CheckFunctionExists.c.o -o cmTC_2bb49 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function tzset exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_fae53/fast && gmake -f CMakeFiles/cmTC_fae53.dir/build.make CMakeFiles/cmTC_fae53.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_fae53.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=tzset -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_fae53.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_fae53 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fae53.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=tzset -fno-builtin CMakeFiles/cmTC_fae53.dir/CheckFunctionExists.c.o -o cmTC_fae53 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function unlinkat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6908f/fast && gmake -f CMakeFiles/cmTC_6908f.dir/build.make CMakeFiles/cmTC_6908f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6908f.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=unlinkat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_6908f.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_6908f /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6908f.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=unlinkat -fno-builtin CMakeFiles/cmTC_6908f.dir/CheckFunctionExists.c.o -o cmTC_6908f gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function utimensat exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_fe9a8/fast && gmake -f CMakeFiles/cmTC_fe9a8.dir/build.make CMakeFiles/cmTC_fe9a8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_fe9a8.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=utimensat -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_fe9a8.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_fe9a8 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fe9a8.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=utimensat -fno-builtin CMakeFiles/cmTC_fe9a8.dir/CheckFunctionExists.c.o -o cmTC_fe9a8 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function vfork exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_41769/fast && gmake -f CMakeFiles/cmTC_41769.dir/build.make CMakeFiles/cmTC_41769.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_41769.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=vfork -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_41769.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_41769 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_41769.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=vfork -fno-builtin CMakeFiles/cmTC_41769.dir/CheckFunctionExists.c.o -o cmTC_41769 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wcrtomb exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8d883/fast && gmake -f CMakeFiles/cmTC_8d883.dir/build.make CMakeFiles/cmTC_8d883.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8d883.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcrtomb -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_8d883.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_8d883 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8d883.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcrtomb -fno-builtin CMakeFiles/cmTC_8d883.dir/CheckFunctionExists.c.o -o cmTC_8d883 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wcscmp exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_d307e/fast && gmake -f CMakeFiles/cmTC_d307e.dir/build.make CMakeFiles/cmTC_d307e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_d307e.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscmp -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_d307e.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_d307e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d307e.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscmp -fno-builtin CMakeFiles/cmTC_d307e.dir/CheckFunctionExists.c.o -o cmTC_d307e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wcscpy exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ea2e6/fast && gmake -f CMakeFiles/cmTC_ea2e6.dir/build.make CMakeFiles/cmTC_ea2e6.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ea2e6.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscpy -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_ea2e6.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_ea2e6 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ea2e6.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscpy -fno-builtin CMakeFiles/cmTC_ea2e6.dir/CheckFunctionExists.c.o -o cmTC_ea2e6 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wcslen exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1d7c2/fast && gmake -f CMakeFiles/cmTC_1d7c2.dir/build.make CMakeFiles/cmTC_1d7c2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1d7c2.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcslen -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_1d7c2.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_1d7c2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1d7c2.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcslen -fno-builtin CMakeFiles/cmTC_1d7c2.dir/CheckFunctionExists.c.o -o cmTC_1d7c2 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wctomb exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9834e/fast && gmake -f CMakeFiles/cmTC_9834e.dir/build.make CMakeFiles/cmTC_9834e.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9834e.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wctomb -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_9834e.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_9834e /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9834e.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wctomb -fno-builtin CMakeFiles/cmTC_9834e.dir/CheckFunctionExists.c.o -o cmTC_9834e gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function fseeko exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_27c91/fast && gmake -f CMakeFiles/cmTC_27c91.dir/build.make CMakeFiles/cmTC_27c91.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_27c91.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fseeko -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_27c91.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_27c91 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_27c91.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=fseeko -fno-builtin CMakeFiles/cmTC_27c91.dir/CheckFunctionExists.c.o -o cmTC_27c91 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function vprintf exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8679a/fast && gmake -f CMakeFiles/cmTC_8679a.dir/build.make CMakeFiles/cmTC_8679a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8679a.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=vprintf -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_8679a.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_8679a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8679a.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=vprintf -fno-builtin CMakeFiles/cmTC_8679a.dir/CheckFunctionExists.c.o -o cmTC_8679a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wmemcmp exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_cdc28/fast && gmake -f CMakeFiles/cmTC_cdc28.dir/build.make CMakeFiles/cmTC_cdc28.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_cdc28.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcmp -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_cdc28.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_cdc28 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cdc28.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcmp -fno-builtin CMakeFiles/cmTC_cdc28.dir/CheckFunctionExists.c.o -o cmTC_cdc28 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wmemcpy exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ca492/fast && gmake -f CMakeFiles/cmTC_ca492.dir/build.make CMakeFiles/cmTC_ca492.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ca492.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcpy -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_ca492.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_ca492 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ca492.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcpy -fno-builtin CMakeFiles/cmTC_ca492.dir/CheckFunctionExists.c.o -o cmTC_ca492 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function wmemmove exists passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b73dd/fast && gmake -f CMakeFiles/cmTC_b73dd.dir/build.make CMakeFiles/cmTC_b73dd.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b73dd.dir/CheckFunctionExists.c.o /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemmove -fno-builtin -std=gnu99 -o CMakeFiles/cmTC_b73dd.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_b73dd /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b73dd.dir/link.txt --verbose=1 /bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemmove -fno-builtin CMakeFiles/cmTC_b73dd.dir/CheckFunctionExists.c.o -o cmTC_b73dd gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Performing C SOURCE FILE Test HAVE_READDIR_R succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_70e68/fast && gmake -f CMakeFiles/cmTC_70e68.dir/build.make CMakeFiles/cmTC_70e68.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_70e68.dir/src.c.o /bin/gcc -DHAVE_READDIR_R -w -std=gnu99 -o CMakeFiles/cmTC_70e68.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_70e68 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_70e68.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_70e68.dir/src.c.o -o cmTC_70e68 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() {DIR *d = opendir("."); struct dirent e,*r; return readdir_r(d,&e,&r);} Performing C SOURCE FILE Test HAVE_DIRFD succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b3e70/fast && gmake -f CMakeFiles/cmTC_b3e70.dir/build.make CMakeFiles/cmTC_b3e70.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b3e70.dir/src.c.o /bin/gcc -DHAVE_DIRFD -w -std=gnu99 -o CMakeFiles/cmTC_b3e70.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_b3e70 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b3e70.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_b3e70.dir/src.c.o -o cmTC_b3e70 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() {DIR *d = opendir("."); return dirfd(d);} Performing C SOURCE FILE Test HAVE_READLINKAT succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4bdaa/fast && gmake -f CMakeFiles/cmTC_4bdaa.dir/build.make CMakeFiles/cmTC_4bdaa.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4bdaa.dir/src.c.o /bin/gcc -DHAVE_READLINKAT -w -std=gnu99 -o CMakeFiles/cmTC_4bdaa.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_4bdaa /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4bdaa.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_4bdaa.dir/src.c.o -o cmTC_4bdaa gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include #include int main() {char buf[10]; return readlinkat(AT_FDCWD, "", buf, 0);} Performing C SOURCE FILE Test MAJOR_IN_SYSMACROS succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_6f917/fast && gmake -f CMakeFiles/cmTC_6f917.dir/build.make CMakeFiles/cmTC_6f917.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_6f917.dir/src.c.o /bin/gcc -DMAJOR_IN_SYSMACROS -w -std=gnu99 -o CMakeFiles/cmTC_6f917.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_6f917 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6f917.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_6f917.dir/src.c.o -o cmTC_6f917 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() { return major(256); } Determining if the EILSEQ exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_45e67/fast && gmake -f CMakeFiles/cmTC_45e67.dir/build.make CMakeFiles/cmTC_45e67.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_45e67.dir/CheckSymbolExists.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_45e67.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_45e67 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_45e67.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_45e67.dir/CheckSymbolExists.c.o -o cmTC_45e67 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef EILSEQ return ((int*)(&EILSEQ))[argc]; #else (void)argc; return 0; #endif } Performing C SOURCE FILE Test HAVE_STRUCT_TM_TM_GMTOFF succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_008ab/fast && gmake -f CMakeFiles/cmTC_008ab.dir/build.make CMakeFiles/cmTC_008ab.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_008ab.dir/src.c.o /bin/gcc -DHAVE_STRUCT_TM_TM_GMTOFF -w -std=gnu99 -o CMakeFiles/cmTC_008ab.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_008ab /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_008ab.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_008ab.dir/src.c.o -o cmTC_008ab gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include int main() { (void)sizeof(((struct tm *)0)->tm_gmtoff); return 0; } Performing C SOURCE FILE Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4c0f2/fast && gmake -f CMakeFiles/cmTC_4c0f2.dir/build.make CMakeFiles/cmTC_4c0f2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4c0f2.dir/src.c.o /bin/gcc -DHAVE_STRUCT_STAT_ST_MTIM_TV_NSEC -w -std=gnu99 -o CMakeFiles/cmTC_4c0f2.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_4c0f2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4c0f2.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_4c0f2.dir/src.c.o -o cmTC_4c0f2 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include #include int main() { (void)sizeof(((struct stat *)0)->st_mtim.tv_nsec); return 0; } Performing C SOURCE FILE Test HAVE_STRUCT_STAT_ST_BLKSIZE succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_545cc/fast && gmake -f CMakeFiles/cmTC_545cc.dir/build.make CMakeFiles/cmTC_545cc.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_545cc.dir/src.c.o /bin/gcc -DHAVE_STRUCT_STAT_ST_BLKSIZE -w -std=gnu99 -o CMakeFiles/cmTC_545cc.dir/src.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_545cc /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_545cc.dir/link.txt --verbose=1 /bin/gcc -w CMakeFiles/cmTC_545cc.dir/src.c.o -o cmTC_545cc gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: #include #include int main() { (void)sizeof(((struct stat *)0)->st_blksize); return 0; } Determining size of dev_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_e5846/fast && gmake -f CMakeFiles/cmTC_e5846.dir/build.make CMakeFiles/cmTC_e5846.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_e5846.dir/DEV_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_e5846.dir/DEV_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/DEV_T.c Linking C executable cmTC_e5846 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e5846.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_e5846.dir/DEV_T.c.o -o cmTC_e5846 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of gid_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_dd7f3/fast && gmake -f CMakeFiles/cmTC_dd7f3.dir/build.make CMakeFiles/cmTC_dd7f3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_dd7f3.dir/GID_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_dd7f3.dir/GID_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/GID_T.c Linking C executable cmTC_dd7f3 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_dd7f3.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_dd7f3.dir/GID_T.c.o -o cmTC_dd7f3 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of id_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_29d20/fast && gmake -f CMakeFiles/cmTC_29d20.dir/build.make CMakeFiles/cmTC_29d20.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_29d20.dir/ID_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_29d20.dir/ID_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/ID_T.c Linking C executable cmTC_29d20 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_29d20.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_29d20.dir/ID_T.c.o -o cmTC_29d20 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of mode_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_91b73/fast && gmake -f CMakeFiles/cmTC_91b73.dir/build.make CMakeFiles/cmTC_91b73.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_91b73.dir/MODE_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_91b73.dir/MODE_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/MODE_T.c Linking C executable cmTC_91b73 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_91b73.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_91b73.dir/MODE_T.c.o -o cmTC_91b73 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of off_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8a912/fast && gmake -f CMakeFiles/cmTC_8a912.dir/build.make CMakeFiles/cmTC_8a912.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8a912.dir/OFF_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_8a912.dir/OFF_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/OFF_T.c Linking C executable cmTC_8a912 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8a912.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_8a912.dir/OFF_T.c.o -o cmTC_8a912 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of size_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_99b9c/fast && gmake -f CMakeFiles/cmTC_99b9c.dir/build.make CMakeFiles/cmTC_99b9c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_99b9c.dir/SIZE_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_99b9c.dir/SIZE_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZE_T.c Linking C executable cmTC_99b9c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_99b9c.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_99b9c.dir/SIZE_T.c.o -o cmTC_99b9c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of ssize_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1f69b/fast && gmake -f CMakeFiles/cmTC_1f69b.dir/build.make CMakeFiles/cmTC_1f69b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1f69b.dir/SSIZE_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_1f69b.dir/SSIZE_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SSIZE_T.c Linking C executable cmTC_1f69b /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1f69b.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_1f69b.dir/SSIZE_T.c.o -o cmTC_1f69b gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of uid_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_b25bd/fast && gmake -f CMakeFiles/cmTC_b25bd.dir/build.make CMakeFiles/cmTC_b25bd.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_b25bd.dir/UID_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b25bd.dir/UID_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/UID_T.c Linking C executable cmTC_b25bd /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b25bd.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_b25bd.dir/UID_T.c.o -o cmTC_b25bd gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of pid_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_323c0/fast && gmake -f CMakeFiles/cmTC_323c0.dir/build.make CMakeFiles/cmTC_323c0.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_323c0.dir/PID_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_323c0.dir/PID_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/PID_T.c Linking C executable cmTC_323c0 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_323c0.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_323c0.dir/PID_T.c.o -o cmTC_323c0 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining size of wchar_t passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_2667c/fast && gmake -f CMakeFiles/cmTC_2667c.dir/build.make CMakeFiles/cmTC_2667c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2667c.dir/SIZEOF_WCHAR_T.c.o /bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2667c.dir/SIZEOF_WCHAR_T.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CheckTypeSize/SIZEOF_WCHAR_T.c Linking C executable cmTC_2667c /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2667c.dir/link.txt --verbose=1 /bin/gcc -w -rdynamic CMakeFiles/cmTC_2667c.dir/SIZEOF_WCHAR_T.c.o -o cmTC_2667c gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Checking support for ARCHIVE_CRYPTO_MD5_LIBC failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_819e4/fast && gmake -f CMakeFiles/cmTC_819e4.dir/build.make CMakeFiles/cmTC_819e4.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_819e4.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_819e4.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_819e4.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_819e4/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_MD5_COMPILE_TEST #define ARCHIVE_CRYPTO_MD5_LIBC #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_md5_ctx ctx; archive_md5_init(&ctx); archive_md5_update(&ctx, *argv, argc); archive_md5_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_RMD160_LIBC failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8e2a4/fast && gmake -f CMakeFiles/cmTC_8e2a4.dir/build.make CMakeFiles/cmTC_8e2a4.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8e2a4.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_8e2a4.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_8e2a4.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_8e2a4/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_RMD160_COMPILE_TEST #define ARCHIVE_CRYPTO_RMD160_LIBC #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_rmd160_ctx ctx; archive_rmd160_init(&ctx); archive_rmd160_update(&ctx, *argv, argc); archive_rmd160_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA1_LIBC failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1166b/fast && gmake -f CMakeFiles/cmTC_1166b.dir/build.make CMakeFiles/cmTC_1166b.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1166b.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_1166b.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_1166b.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_1166b/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA1_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA1_LIBC #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha1_ctx ctx; archive_sha1_init(&ctx); archive_sha1_update(&ctx, *argv, argc); archive_sha1_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA256_LIBC failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f2d42/fast && gmake -f CMakeFiles/cmTC_f2d42.dir/build.make CMakeFiles/cmTC_f2d42.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f2d42.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_f2d42.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_f2d42.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_f2d42/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA256_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA256_LIBC #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha256_ctx ctx; archive_sha256_init(&ctx); archive_sha256_update(&ctx, *argv, argc); archive_sha256_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA384_LIBC failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c82b4/fast && gmake -f CMakeFiles/cmTC_c82b4.dir/build.make CMakeFiles/cmTC_c82b4.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_c82b4.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_c82b4.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_c82b4.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_c82b4/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA384_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA384_LIBC #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha384_ctx ctx; archive_sha384_init(&ctx); archive_sha384_update(&ctx, *argv, argc); archive_sha384_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA512_LIBC failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_bb3cb/fast && gmake -f CMakeFiles/cmTC_bb3cb.dir/build.make CMakeFiles/cmTC_bb3cb.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_bb3cb.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_bb3cb.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_bb3cb.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_bb3cb/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA512_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA512_LIBC #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha512_ctx ctx; archive_sha512_init(&ctx); archive_sha512_update(&ctx, *argv, argc); archive_sha512_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA256_LIBC2 failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_920fb/fast && gmake -f CMakeFiles/cmTC_920fb.dir/build.make CMakeFiles/cmTC_920fb.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_920fb.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_920fb.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_920fb.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_920fb/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA256_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA256_LIBC2 #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha256_ctx ctx; archive_sha256_init(&ctx); archive_sha256_update(&ctx, *argv, argc); archive_sha256_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA384_LIBC2 failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_7d567/fast && gmake -f CMakeFiles/cmTC_7d567.dir/build.make CMakeFiles/cmTC_7d567.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_7d567.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_7d567.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_7d567.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_7d567/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA384_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA384_LIBC2 #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha384_ctx ctx; archive_sha384_init(&ctx); archive_sha384_update(&ctx, *argv, argc); archive_sha384_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA512_LIBC2 failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_28aa7/fast && gmake -f CMakeFiles/cmTC_28aa7.dir/build.make CMakeFiles/cmTC_28aa7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_28aa7.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_28aa7.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_28aa7.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_28aa7/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA512_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA512_LIBC2 #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha512_ctx ctx; archive_sha512_init(&ctx); archive_sha512_update(&ctx, *argv, argc); archive_sha512_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA256_LIBC3 failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ae912/fast && gmake -f CMakeFiles/cmTC_ae912.dir/build.make CMakeFiles/cmTC_ae912.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ae912.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_ae912.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_ae912.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_ae912/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA256_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA256_LIBC3 #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha256_ctx ctx; archive_sha256_init(&ctx); archive_sha256_update(&ctx, *argv, argc); archive_sha256_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA384_LIBC3 failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_4bf96/fast && gmake -f CMakeFiles/cmTC_4bf96.dir/build.make CMakeFiles/cmTC_4bf96.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_4bf96.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_4bf96.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_4bf96.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_4bf96/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA384_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA384_LIBC3 #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha384_ctx ctx; archive_sha384_init(&ctx); archive_sha384_update(&ctx, *argv, argc); archive_sha384_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA512_LIBC3 failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_64838/fast && gmake -f CMakeFiles/cmTC_64838.dir/build.make CMakeFiles/cmTC_64838.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_64838.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_64838.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_64838.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_64838/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA512_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA512_LIBC3 #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha512_ctx ctx; archive_sha512_init(&ctx); archive_sha512_update(&ctx, *argv, argc); archive_sha512_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_MD5_LIBSYSTEM failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_9ac08/fast && gmake -f CMakeFiles/cmTC_9ac08.dir/build.make CMakeFiles/cmTC_9ac08.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_9ac08.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_9ac08.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_9ac08.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_9ac08/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_MD5_COMPILE_TEST #define ARCHIVE_CRYPTO_MD5_LIBSYSTEM #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_md5_ctx ctx; archive_md5_init(&ctx); archive_md5_update(&ctx, *argv, argc); archive_md5_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA1_LIBSYSTEM failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_78b3c/fast && gmake -f CMakeFiles/cmTC_78b3c.dir/build.make CMakeFiles/cmTC_78b3c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_78b3c.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_78b3c.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_78b3c.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_78b3c/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA1_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA1_LIBSYSTEM #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha1_ctx ctx; archive_sha1_init(&ctx); archive_sha1_update(&ctx, *argv, argc); archive_sha1_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA256_LIBSYSTEM failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_3b085/fast && gmake -f CMakeFiles/cmTC_3b085.dir/build.make CMakeFiles/cmTC_3b085.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_3b085.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_3b085.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_3b085.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_3b085/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA256_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA256_LIBSYSTEM #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha256_ctx ctx; archive_sha256_init(&ctx); archive_sha256_update(&ctx, *argv, argc); archive_sha256_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA384_LIBSYSTEM failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_879c5/fast && gmake -f CMakeFiles/cmTC_879c5.dir/build.make CMakeFiles/cmTC_879c5.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_879c5.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_879c5.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_879c5.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_879c5/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA384_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA384_LIBSYSTEM #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha384_ctx ctx; archive_sha384_init(&ctx); archive_sha384_update(&ctx, *argv, argc); archive_sha384_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA512_LIBSYSTEM failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8fff3/fast && gmake -f CMakeFiles/cmTC_8fff3.dir/build.make CMakeFiles/cmTC_8fff3.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8fff3.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_8fff3.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_8fff3.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_8fff3/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA512_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA512_LIBSYSTEM #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha512_ctx ctx; archive_sha512_init(&ctx); archive_sha512_update(&ctx, *argv, argc); archive_sha512_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_MD5_OPENSSL failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_c7a93/fast && gmake -f CMakeFiles/cmTC_c7a93.dir/build.make CMakeFiles/cmTC_c7a93.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_c7a93.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_c7a93.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_c7a93.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_c7a93/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_MD5_COMPILE_TEST #define ARCHIVE_CRYPTO_MD5_OPENSSL #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_md5_ctx ctx; archive_md5_init(&ctx); archive_md5_update(&ctx, *argv, argc); archive_md5_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_RMD160_OPENSSL failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_40bcc/fast && gmake -f CMakeFiles/cmTC_40bcc.dir/build.make CMakeFiles/cmTC_40bcc.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_40bcc.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_40bcc.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_40bcc.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_40bcc/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_RMD160_COMPILE_TEST #define ARCHIVE_CRYPTO_RMD160_OPENSSL #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_rmd160_ctx ctx; archive_rmd160_init(&ctx); archive_rmd160_update(&ctx, *argv, argc); archive_rmd160_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA1_OPENSSL failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8146c/fast && gmake -f CMakeFiles/cmTC_8146c.dir/build.make CMakeFiles/cmTC_8146c.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8146c.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_8146c.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_8146c.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_8146c/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA1_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA1_OPENSSL #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha1_ctx ctx; archive_sha1_init(&ctx); archive_sha1_update(&ctx, *argv, argc); archive_sha1_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA256_OPENSSL failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_ee917/fast && gmake -f CMakeFiles/cmTC_ee917.dir/build.make CMakeFiles/cmTC_ee917.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_ee917.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_ee917.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_ee917.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_ee917/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA256_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA256_OPENSSL #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha256_ctx ctx; archive_sha256_init(&ctx); archive_sha256_update(&ctx, *argv, argc); archive_sha256_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA384_OPENSSL failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_8f4c7/fast && gmake -f CMakeFiles/cmTC_8f4c7.dir/build.make CMakeFiles/cmTC_8f4c7.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_8f4c7.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_8f4c7.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_8f4c7.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_8f4c7/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA384_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA384_OPENSSL #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha384_ctx ctx; archive_sha384_init(&ctx); archive_sha384_update(&ctx, *argv, argc); archive_sha384_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA512_OPENSSL failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_a7d07/fast && gmake -f CMakeFiles/cmTC_a7d07.dir/build.make CMakeFiles/cmTC_a7d07.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a7d07.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_a7d07.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_a7d07.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_a7d07/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA512_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA512_OPENSSL #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha512_ctx ctx; archive_sha512_init(&ctx); archive_sha512_update(&ctx, *argv, argc); archive_sha512_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_MD5_LIBMD failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1ccee/fast && gmake -f CMakeFiles/cmTC_1ccee.dir/build.make CMakeFiles/cmTC_1ccee.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_1ccee.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_1ccee.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_1ccee.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_1ccee/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_MD5_COMPILE_TEST #define ARCHIVE_CRYPTO_MD5_LIBMD #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_md5_ctx ctx; archive_md5_init(&ctx); archive_md5_update(&ctx, *argv, argc); archive_md5_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_RMD160_LIBMD failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_5a314/fast && gmake -f CMakeFiles/cmTC_5a314.dir/build.make CMakeFiles/cmTC_5a314.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_5a314.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_5a314.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_5a314.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_5a314/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_RMD160_COMPILE_TEST #define ARCHIVE_CRYPTO_RMD160_LIBMD #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_rmd160_ctx ctx; archive_rmd160_init(&ctx); archive_rmd160_update(&ctx, *argv, argc); archive_rmd160_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA1_LIBMD failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_be6c8/fast && gmake -f CMakeFiles/cmTC_be6c8.dir/build.make CMakeFiles/cmTC_be6c8.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_be6c8.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_be6c8.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_be6c8.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_be6c8/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA1_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA1_LIBMD #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha1_ctx ctx; archive_sha1_init(&ctx); archive_sha1_update(&ctx, *argv, argc); archive_sha1_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA256_LIBMD failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f049f/fast && gmake -f CMakeFiles/cmTC_f049f.dir/build.make CMakeFiles/cmTC_f049f.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f049f.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_f049f.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_f049f.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_f049f/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA256_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA256_LIBMD #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha256_ctx ctx; archive_sha256_init(&ctx); archive_sha256_update(&ctx, *argv, argc); archive_sha256_final(&ctx, NULL); return 0; } Checking support for ARCHIVE_CRYPTO_SHA512_LIBMD failed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_f31f1/fast && gmake -f CMakeFiles/cmTC_f31f1.dir/build.make CMakeFiles/cmTC_f31f1.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_f31f1.dir/check_crypto_md.c.o /bin/gcc -I/usr/src/cmake-3.22.0 -I/usr/src/cmake-3.22.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp -w -std=gnu99 -o CMakeFiles/cmTC_f31f1.dir/check_crypto_md.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1122:28: fatal error: cm3p/kwiml/int.h: No such file or directory #include ^ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_f31f1.dir/check_crypto_md.c.o] Error 1 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' gmake: *** [cmTC_f31f1/fast] Error 2 Source file was: /* config.h. Generated from build/cmake/config.h.in by cmake configure */ #define __LIBARCHIVE_CONFIG_H_INCLUDED 1 #if defined(__osf__) # define _OSF_SOURCE #endif /* * Ensure we have C99-style int64_t, etc, all defined. */ /* Define ZLIB_WINAPI if zlib was built on Visual Studio. */ /* #undef ZLIB_WINAPI */ /* Darwin ACL support */ /* #undef ARCHIVE_ACL_DARWIN */ /* FreeBSD ACL support */ /* #undef ARCHIVE_ACL_FREEBSD */ /* FreeBSD NFSv4 ACL support */ /* #undef ARCHIVE_ACL_FREEBSD_NFS4 */ /* Linux POSIX.1e ACL support via libacl */ /* #undef ARCHIVE_ACL_LIBACL */ /* Linux NFSv4 ACL support via librichacl */ /* #undef ARCHIVE_ACL_LIBRICHACL */ /* Solaris ACL support */ /* #undef ARCHIVE_ACL_SUNOS */ /* Solaris NFSv4 ACL support */ /* #undef ARCHIVE_ACL_SUNOS_NFS4 */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBC */ /* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */ /* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_MD5_NETTLE */ /* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */ /* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */ /* #undef ARCHIVE_CRYPTO_MD5_WIN */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_LIBC */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */ /* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBC */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */ /* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA1_WIN */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */ /* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA256_WIN */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */ /* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA384_WIN */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */ /* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */ /* #undef ARCHIVE_CRYPTO_SHA512_WIN */ /* AIX xattr support */ /* #undef ARCHIVE_XATTR_AIX */ /* Darwin xattr support */ /* #undef ARCHIVE_XATTR_DARWIN */ /* FreeBSD xattr support */ /* #undef ARCHIVE_XATTR_FREEBSD */ /* Linux xattr support */ /* #undef ARCHIVE_XATTR_LINUX */ /* Version number of bsdcpio */ #define BSDCPIO_VERSION_STRING "3.5.1" /* Version number of bsdtar */ #define BSDTAR_VERSION_STRING "3.5.1" /* Version number of bsdcat */ #define BSDCAT_VERSION_STRING "3.5.1" /* Define to 1 if you have the `acl_create_entry' function. */ /* #undef HAVE_ACL_CREATE_ENTRY */ /* Define to 1 if you have the `acl_get_fd_np' function. */ /* #undef HAVE_ACL_GET_FD_NP */ /* Define to 1 if you have the `acl_get_link' function. */ /* #undef HAVE_ACL_GET_LINK */ /* Define to 1 if you have the `acl_get_link_np' function. */ /* #undef HAVE_ACL_GET_LINK_NP */ /* Define to 1 if you have the `acl_get_perm' function. */ /* #undef HAVE_ACL_GET_PERM */ /* Define to 1 if you have the `acl_get_perm_np' function. */ /* #undef HAVE_ACL_GET_PERM_NP */ /* Define to 1 if you have the `acl_init' function. */ /* #undef HAVE_ACL_INIT */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */ /* Define to 1 if you have the `acl_set_fd' function. */ /* #undef HAVE_ACL_SET_FD */ /* Define to 1 if you have the `acl_set_fd_np' function. */ /* #undef HAVE_ACL_SET_FD_NP */ /* Define to 1 if you have the `acl_set_file' function. */ /* #undef HAVE_ACL_SET_FILE */ /* Define to 1 if you have the `arc4random_buf' function. */ /* #undef HAVE_ARC4RANDOM_BUF */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ATTR_XATTR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BSDXML_H */ /* Define to 1 if you have the header file. */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the `chflags' function. */ /* #undef HAVE_CHFLAGS */ /* Define to 1 if you have the `chown' function. */ #define HAVE_CHOWN 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_COPYFILE_H */ /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_CTYPE_H 1 /* Define to 1 if you have the `cygwin_conv_path' function. */ /* #undef HAVE_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACL */ /* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_GETACLCNT */ /* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_ACE_SETACL */ /* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_SYNCHRONIZE */ /* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_EXTENDED */ /* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_TYPE_NFS4 */ /* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you don't. */ /* #undef HAVE_DECL_ACL_USER */ /* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_SETACL */ /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #define HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if you don't. */ /* #undef HAVE_DECL_XATTR_NOFOLLOW */ /* Define to 1 if you have the header file. */ /* #undef HAVE_DIRECT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ #define HAVE_DIRFD 1 /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ /* #undef HAVE_DOPRNT */ /* Define to 1 if nl_langinfo supports D_MD_ORDER */ /* #undef HAVE_D_MD_ORDER */ /* A possible errno value for invalid file format errors */ /* #undef HAVE_EFTYPE */ /* A possible errno value for invalid file format errors */ #define HAVE_EILSEQ 1 /* Define to 1 if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the header file. */ #define HAVE_EXT2FS_EXT2_FS_H 1 /* Define to 1 if you have the `extattr_get_file' function. */ /* #undef HAVE_EXTATTR_GET_FILE */ /* Define to 1 if you have the `extattr_list_file' function. */ /* #undef HAVE_EXTATTR_LIST_FILE */ /* Define to 1 if you have the `extattr_set_fd' function. */ /* #undef HAVE_EXTATTR_SET_FD */ /* Define to 1 if you have the `extattr_set_file' function. */ /* #undef HAVE_EXTATTR_SET_FILE */ /* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */ /* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */ /* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACL */ /* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you don't. */ /* #undef HAVE_DECL_GETACLCNT */ /* Define to 1 if you have the `fchdir' function. */ #define HAVE_FCHDIR 1 /* Define to 1 if you have the `fchflags' function. */ /* #undef HAVE_FCHFLAGS */ /* Define to 1 if you have the `fchmod' function. */ #define HAVE_FCHMOD 1 /* Define to 1 if you have the `fchown' function. */ #define HAVE_FCHOWN 1 /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdopendir' function. */ #define HAVE_FDOPENDIR 1 /* Define to 1 if you have the `fgetea' function. */ /* #undef HAVE_FGETEA */ /* Define to 1 if you have the `fgetxattr' function. */ /* #undef HAVE_FGETXATTR */ /* Define to 1 if you have the `flistea' function. */ /* #undef HAVE_FLISTEA */ /* Define to 1 if you have the `flistxattr' function. */ /* #undef HAVE_FLISTXATTR */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 /* Define to 1 if you have the `fsetea' function. */ /* #undef HAVE_FSETEA */ /* Define to 1 if you have the `fsetxattr' function. */ #define HAVE_FSETXATTR 1 /* Define to 1 if you have the `fstat' function. */ #define HAVE_FSTAT 1 /* Define to 1 if you have the `fstatat' function. */ #define HAVE_FSTATAT 1 /* Define to 1 if you have the `fstatfs' function. */ #define HAVE_FSTATFS 1 /* Define to 1 if you have the `fstatvfs' function. */ #define HAVE_FSTATVFS 1 /* Define to 1 if you have the `ftruncate' function. */ #define HAVE_FTRUNCATE 1 /* Define to 1 if you have the `futimens' function. */ #define HAVE_FUTIMENS 1 /* Define to 1 if you have the `futimes' function. */ #define HAVE_FUTIMES 1 /* Define to 1 if you have the `futimesat' function. */ #define HAVE_FUTIMESAT 1 /* Define to 1 if you have the `getea' function. */ /* #undef HAVE_GETEA */ /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getvfsbyname' function. */ /* #undef HAVE_GETVFSBYNAME */ /* Define to 1 if you have the `getxattr' function. */ /* #undef HAVE_GETXATTR */ /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #define HAVE_GRP_H 1 /* Define to 1 if you have the `iconv' function. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_IO_H */ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchflags' function. */ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */ /* #undef HAVE_LCHMOD */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define to 1 if you have the `lgetea' function. */ /* #undef HAVE_LGETEA */ /* Define to 1 if you have the `lgetxattr' function. */ /* #undef HAVE_LGETXATTR */ /* Define to 1 if you have the `acl' library (-lacl). */ /* #undef HAVE_LIBACL */ /* Define to 1 if you have the `attr' library (-lattr). */ /* #undef HAVE_LIBATTR */ /* Define to 1 if you have the `bsdxml' library (-lbsdxml). */ /* #undef HAVE_LIBBSDXML */ /* Define to 1 if you have the `bz2' library (-lbz2). */ #define HAVE_LIBBZ2 1 /* Define to 1 if you have the `b2' library (-lb2). */ /* #undef HAVE_LIBB2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_BLAKE2_H */ /* Define to 1 if you have the `charset' library (-lcharset). */ /* #undef HAVE_LIBCHARSET */ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `expat' library (-lexpat). */ /* #undef HAVE_LIBEXPAT */ /* Define to 1 if you have the `gcc' library (-lgcc). */ /* #undef HAVE_LIBGCC */ /* Define to 1 if you have the `lz4' library (-llz4). */ /* #undef HAVE_LIBLZ4 */ /* Define to 1 if you have the `lzma' library (-llzma). */ #define HAVE_LIBLZMA 1 /* Define to 1 if you have the `lzmadec' library (-llzmadec). */ /* #undef HAVE_LIBLZMADEC */ /* Define to 1 if you have the `lzo2' library (-llzo2). */ /* #undef HAVE_LIBLZO2 */ /* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */ /* #undef HAVE_LIBMBEDCRYPTO */ /* Define to 1 if you have the `nettle' library (-lnettle). */ /* #undef HAVE_LIBNETTLE */ /* Define to 1 if you have the `pcre' library (-lpcre). */ /* #undef HAVE_LIBPCRE */ /* Define to 1 if you have the `pcreposix' library (-lpcreposix). */ /* #undef HAVE_LIBPCREPOSIX */ /* Define to 1 if you have the `xml2' library (-lxml2). */ /* #undef HAVE_LIBXML2 */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLREADER_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBXML_XMLWRITER_H */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `zstd' library (-lzstd). */ #define HAVE_LIBZSTD 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the `link' function. */ #define HAVE_LINK 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FIEMAP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_FS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_MAGIC_H 1 /* Define to 1 if you have the header file. */ #define HAVE_LINUX_TYPES_H 1 /* Define to 1 if you have the `listea' function. */ /* #undef HAVE_LISTEA */ /* Define to 1 if you have the `listxattr' function. */ /* #undef HAVE_LISTXATTR */ /* Define to 1 if you have the `llistea' function. */ /* #undef HAVE_LLISTEA */ /* Define to 1 if you have the `llistxattr' function. */ /* #undef HAVE_LLISTXATTR */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LOCALCHARSET_H */ /* Define to 1 if you have the `locale_charset' function. */ /* #undef HAVE_LOCALE_CHARSET */ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long long int'. */ /* #undef HAVE_LONG_LONG_INT */ /* Define to 1 if you have the `lsetea' function. */ /* #undef HAVE_LSETEA */ /* Define to 1 if you have the `lsetxattr' function. */ /* #undef HAVE_LSETXATTR */ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the `lutimes' function. */ #define HAVE_LUTIMES 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4HC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZ4_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZMADEC_H */ /* Define to 1 if you have the header file. */ #define HAVE_LZMA_H 1 /* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */ #define HAVE_LZMA_STREAM_ENCODER_MT 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZO1X_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_LZO_LZOCONF_H */ /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_MEMBERSHIP_H */ /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_AES_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_HMAC_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_MD5_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_PBKDF2_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_RIPEMD160_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_NETTLE_SHA_H */ /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the `openat' function. */ #define HAVE_OPENAT 1 /* Define to 1 if you have the header file. */ #define HAVE_PATHS_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PCREPOSIX_H */ /* Define to 1 if you have the `pipe' function. */ #define HAVE_PIPE 1 /* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */ /* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */ /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the header file. */ #define HAVE_POLL_H 1 /* Define to 1 if you have the `posix_spawnp' function. */ #define HAVE_POSIX_SPAWNP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_PROCESS_H */ /* Define to 1 if you have the header file. */ #define HAVE_PTHREAD_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PWD_H 1 /* Define to 1 if you have the `readdir_r' function. */ #define HAVE_READDIR_R 1 /* Define to 1 if you have the `readlink' function. */ #define HAVE_READLINK 1 /* Define to 1 if you have the `readlinkat' function. */ #define HAVE_READLINKAT 1 /* Define to 1 if you have the `readpassphrase' function. */ /* #undef HAVE_READPASSPHRASE */ /* Define to 1 if you have the header file. */ /* #undef HAVE_READPASSPHRASE_H */ /* Define to 1 if you have the header file. */ #define HAVE_REGEX_H 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SPAWN_H 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the `strftime' function. */ #define HAVE_STRFTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strrchr' function. */ #define HAVE_STRRCHR 1 /* Define to 1 if `f_namemax' is a member of `struct statfs'. */ /* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */ /* Define to 1 if `f_iosize' is a member of `struct statvfs'. */ /* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */ /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */ /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_flags' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_FLAGS */ /* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ /* Define to 1 if `st_mtime_n' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ /* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */ /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 /* Define to 1 if `st_umtime' is a member of `struct stat'. */ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */ /* #undef HAVE_STRUCT_TM___TM_GMTOFF */ /* Define to 1 if you have `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */ /* Define to 1 if you have `struct xvfsconf'. */ /* #undef HAVE_STRUCT_XVFSCONF */ /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_CDEFS_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EA_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_EXTATTR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MOUNT_H */ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_RICHACL_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_UTIME_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_XATTR_H 1 /* Define to 1 if you have the `timegm' function. */ #define HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #define HAVE_TIME_H 1 /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unlinkat' function. */ #define HAVE_UNLINKAT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if the system has the type `unsigned long long'. */ /* #undef HAVE_UNSIGNED_LONG_LONG */ /* Define to 1 if the system has the type `unsigned long long int'. */ /* #undef HAVE_UNSIGNED_LONG_LONG_INT */ /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimensat' function. */ #define HAVE_UTIMENSAT 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the `vprintf' function. */ #define HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define to 1 if the system has the type `wchar_t'. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcrtomb' function. */ #define HAVE_WCRTOMB 1 /* Define to 1 if you have the `wcscmp' function. */ #define HAVE_WCSCMP 1 /* Define to 1 if you have the `wcscpy' function. */ #define HAVE_WCSCPY 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define to 1 if you have the `wctomb' function. */ #define HAVE_WCTOMB 1 /* Define to 1 if you have the header file. */ #define HAVE_WCTYPE_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WINCRYPT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINDOWS_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_WINIOCTL_H */ /* Define to 1 if you have _CrtSetReportMode in */ /* #undef HAVE__CrtSetReportMode */ /* Define to 1 if you have the `wmemcmp' function. */ #define HAVE_WMEMCMP 1 /* Define to 1 if you have the `wmemcpy' function. */ #define HAVE_WMEMCPY 1 /* Define to 1 if you have the `wmemmove' function. */ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */ #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1 /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1 /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_ZSTD_H 1 /* Define to 1 if you have the `_ctime64_s' function. */ /* #undef HAVE__CTIME64_S */ /* Define to 1 if you have the `_fseeki64' function. */ /* #undef HAVE__FSEEKI64 */ /* Define to 1 if you have the `_get_timezone' function. */ /* #undef HAVE__GET_TIMEZONE */ /* Define to 1 if you have the `_gmtime64_s' function. */ /* #undef HAVE__GMTIME64_S */ /* Define to 1 if you have the `_localtime64_s' function. */ /* #undef HAVE__LOCALTIME64_S */ /* Define to 1 if you have the `_mkgmtime64' function. */ /* #undef HAVE__MKGMTIME64 */ /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Version number of libarchive as a single integer */ #define LIBARCHIVE_VERSION_NUMBER "3005001" /* Version number of libarchive */ #define LIBARCHIVE_VERSION_STRING "3.5.1" /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ /* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ /* #undef MAJOR_IN_MKDEV */ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #define MAJOR_IN_SYSMACROS 1 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* The size of `wchar_t', as computed by sizeof. */ #define SIZEOF_WCHAR_T 4 /* Define to 1 if strerror_r returns char *. */ /* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* * Some platform requires a macro to use extension functions. */ #define SAFE_TO_DEFINE_EXTENSIONS 1 #ifdef SAFE_TO_DEFINE_EXTENSIONS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif #endif /* SAFE_TO_DEFINE_EXTENSIONS */ /* Version number of package */ #define VERSION "3.5.1" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to control Windows SDK version */ #ifndef NTDDI_VERSION /* #undef NTDDI_VERSION */ #endif // NTDDI_VERSION #ifndef _WIN32_WINNT /* #undef _WIN32_WINNT */ #endif // _WIN32_WINNT #ifndef WINVER /* #undef WINVER */ #endif // WINVER /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `unsigned long' if does not define. */ /* #undef id_t */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `long long' if does not define. */ /* #undef off_t */ /* Define to `int' if doesn't define. */ /* #undef pid_t */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if does not define. */ /* #undef ssize_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ #include #ifndef KWIML_INT_HAVE_INT64_T typedef KWIML_INT_int64_t int64_t; #endif #ifndef KWIML_INT_HAVE_INT32_T typedef KWIML_INT_int32_t int32_t; #endif #ifndef KWIML_INT_HAVE_INT16_T typedef KWIML_INT_int16_t int16_t; #endif #ifndef KWIML_INT_HAVE_INT8_T typedef KWIML_INT_int8_t int8_t; #endif #ifndef KWIML_INT_HAVE_INTPTR_T typedef KWIML_INT_intptr_t intptr_t; #endif #ifndef KWIML_INT_HAVE_UINT64_T typedef KWIML_INT_uint64_t uint64_t; #endif #ifndef KWIML_INT_HAVE_UINT32_T typedef KWIML_INT_uint32_t uint32_t; #endif #ifndef KWIML_INT_HAVE_UINT16_T typedef KWIML_INT_uint16_t uint16_t; #endif #ifndef KWIML_INT_HAVE_UINT8_T typedef KWIML_INT_uint8_t uint8_t; #endif #ifndef KWIML_INT_HAVE_UINTPTR_T typedef KWIML_INT_uintptr_t uintptr_t; #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_STDINT_H # define HAVE_STDINT_H 1 #endif /* Define to 1 if you have the header file. */ #ifdef KWIML_INT_HAVE_INTTYPES_H # define HAVE_INTTYPES_H 1 #endif #define ARCHIVE_SHA512_COMPILE_TEST #define ARCHIVE_CRYPTO_SHA512_LIBMD #define PLATFORM_CONFIG_H "check_crypto_md.h" /*- * Copyright (c) 2003-2007 Tim Kientzle * Copyright (c) 2011 Andres Mejia * Copyright (c) 2011 Michihiro NAKAJIMA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "archive_platform.h" #include "archive.h" #include "archive_digest_private.h" /* In particular, force the configure probe to break if it tries * to test a combination of OpenSSL and libmd. */ #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD) #error Cannot use both OpenSSL and libmd. #endif /* * Message digest functions for Windows platform. */ #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\ defined(ARCHIVE_CRYPTO_SHA512_WIN) /* * Initialize a Message digest. */ static int win_crypto_init(Digest_CTX *ctx, ALG_ID algId) { ctx->valid = 0; if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (GetLastError() != (DWORD)NTE_BAD_KEYSET) return (ARCHIVE_FAILED); if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) return (ARCHIVE_FAILED); } if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) { CryptReleaseContext(ctx->cryptProv, 0); return (ARCHIVE_FAILED); } ctx->valid = 1; return (ARCHIVE_OK); } /* * Update a Message digest. */ static int win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len) { if (!ctx->valid) return (ARCHIVE_FAILED); CryptHashData(ctx->hash, (unsigned char *)(uintptr_t)buf, (DWORD)len, 0); return (ARCHIVE_OK); } static int win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx) { DWORD siglen = (DWORD)bufsize; if (!ctx->valid) return (ARCHIVE_FAILED); CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0); CryptDestroyHash(ctx->hash); CryptReleaseContext(ctx->cryptProv, 0); ctx->valid = 0; return (ARCHIVE_OK); } #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */ /* MD5 implementations */ #if defined(ARCHIVE_CRYPTO_MD5_LIBC) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) static int __archive_md5init(archive_md5_ctx *ctx) { MD5Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { MD5Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { MD5Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) static int __archive_md5init(archive_md5_ctx *ctx) { CC_MD5_Init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { CC_MD5_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { CC_MD5_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) static int __archive_md5init(archive_md5_ctx *ctx) { mbedtls_md5_init(ctx); if (mbedtls_md5_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_md5_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { if (mbedtls_md5_finish_ret(ctx, md) == 0) { mbedtls_md5_free(ctx); return (ARCHIVE_OK); } else { mbedtls_md5_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) static int __archive_md5init(archive_md5_ctx *ctx) { md5_init(ctx); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { md5_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { md5_digest(ctx, MD5_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) static int __archive_md5init(archive_md5_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_md5()); return (ARCHIVE_OK); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_MD5_WIN) static int __archive_md5init(archive_md5_ctx *ctx) { return (win_crypto_init(ctx, CALG_MD5)); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { return (win_crypto_Final(md, 16, ctx)); } #else static int __archive_md5init(archive_md5_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5update(archive_md5_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_md5final(archive_md5_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* RIPEMD160 implementations */ #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RMD160Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RMD160Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RMD160Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { RIPEMD160_Init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { RIPEMD160_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { RIPEMD160_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { mbedtls_ripemd160_init(ctx); if (mbedtls_ripemd160_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) { mbedtls_ripemd160_free(ctx); return (ARCHIVE_OK); } else { mbedtls_ripemd160_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { ripemd160_init(ctx); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { ripemd160_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_ripemd160()); return (ARCHIVE_OK); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #else static int __archive_ripemd160init(archive_rmd160_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_ripemd160final(archive_rmd160_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA1 implementations */ #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) static int __archive_sha1init(archive_sha1_ctx *ctx) { SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) static int __archive_sha1init(archive_sha1_ctx *ctx) { CC_SHA1_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { CC_SHA1_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { CC_SHA1_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) static int __archive_sha1init(archive_sha1_ctx *ctx) { mbedtls_sha1_init(ctx); if (mbedtls_sha1_starts_ret(ctx) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { if (mbedtls_sha1_finish_ret(ctx, md) == 0) { mbedtls_sha1_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha1_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) static int __archive_sha1init(archive_sha1_ctx *ctx) { sha1_init(ctx); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { sha1_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { sha1_digest(ctx, SHA1_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) static int __archive_sha1init(archive_sha1_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha1()); return (ARCHIVE_OK); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { /* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so * this is meant to cope with that. Real fix is probably to fix * archive_write_set_format_xar.c */ if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) static int __archive_sha1init(archive_sha1_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA1)); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { return (win_crypto_Final(md, 20, ctx)); } #else static int __archive_sha1init(archive_sha1_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1update(archive_sha1_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha1final(archive_sha1_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA256 implementations */ #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) static int __archive_sha256init(archive_sha256_ctx *ctx) { SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) static int __archive_sha256init(archive_sha256_ctx *ctx) { CC_SHA256_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { CC_SHA256_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { CC_SHA256_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) static int __archive_sha256init(archive_sha256_ctx *ctx) { mbedtls_sha256_init(ctx); if (mbedtls_sha256_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (mbedtls_sha256_finish_ret(ctx, md) == 0) { mbedtls_sha256_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha256_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) static int __archive_sha256init(archive_sha256_ctx *ctx) { sha256_init(ctx); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { sha256_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { sha256_digest(ctx, SHA256_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) static int __archive_sha256init(archive_sha256_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha256()); return (ARCHIVE_OK); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) static int __archive_sha256init(archive_sha256_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_256)); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { return (win_crypto_Final(md, 32, ctx)); } #else static int __archive_sha256init(archive_sha256_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256update(archive_sha256_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha256final(archive_sha256_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA384 implementations */ #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) static int __archive_sha384init(archive_sha384_ctx *ctx) { SHA384Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { SHA384Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { SHA384Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) static int __archive_sha384init(archive_sha384_ctx *ctx) { CC_SHA384_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { CC_SHA384_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { CC_SHA384_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) static int __archive_sha384init(archive_sha384_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 1) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) static int __archive_sha384init(archive_sha384_ctx *ctx) { sha384_init(ctx); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { sha384_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { sha384_digest(ctx, SHA384_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) static int __archive_sha384init(archive_sha384_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha384()); return (ARCHIVE_OK); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) static int __archive_sha384init(archive_sha384_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_384)); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { return (win_crypto_Final(md, 48, ctx)); } #else static int __archive_sha384init(archive_sha384_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384update(archive_sha384_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha384final(archive_sha384_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* SHA512 implementations */ #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) static int __archive_sha512init(archive_sha512_ctx *ctx) { SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) static int __archive_sha512init(archive_sha512_ctx *ctx) { CC_SHA512_Init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { CC_SHA512_Update(ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { CC_SHA512_Final(md, ctx); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) static int __archive_sha512init(archive_sha512_ctx *ctx) { mbedtls_sha512_init(ctx); if (mbedtls_sha512_starts_ret(ctx, 0) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0) return (ARCHIVE_OK); else return (ARCHIVE_FATAL); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (mbedtls_sha512_finish_ret(ctx, md) == 0) { mbedtls_sha512_free(ctx); return (ARCHIVE_OK); } else { mbedtls_sha512_free(ctx); return (ARCHIVE_FATAL); } } #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) static int __archive_sha512init(archive_sha512_ctx *ctx) { sha512_init(ctx); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { sha512_update(ctx, insize, indata); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { sha512_digest(ctx, SHA512_DIGEST_SIZE, md); return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) static int __archive_sha512init(archive_sha512_ctx *ctx) { if ((*ctx = EVP_MD_CTX_new()) == NULL) return (ARCHIVE_FAILED); EVP_DigestInit(*ctx, EVP_sha512()); return (ARCHIVE_OK); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { EVP_DigestUpdate(*ctx, indata, insize); return (ARCHIVE_OK); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { if (*ctx) { EVP_DigestFinal(*ctx, md, NULL); EVP_MD_CTX_free(*ctx); *ctx = NULL; } return (ARCHIVE_OK); } #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) static int __archive_sha512init(archive_sha512_ctx *ctx) { return (win_crypto_init(ctx, CALG_SHA_512)); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { return (win_crypto_Update(ctx, indata, insize)); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { return (win_crypto_Final(md, 64, ctx)); } #else static int __archive_sha512init(archive_sha512_ctx *ctx) { (void)ctx; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512update(archive_sha512_ctx *ctx, const void *indata, size_t insize) { (void)ctx; /* UNUSED */ (void)indata; /* UNUSED */ (void)insize; /* UNUSED */ return (ARCHIVE_FAILED); } static int __archive_sha512final(archive_sha512_ctx *ctx, void *md) { (void)ctx; /* UNUSED */ (void)md; /* UNUSED */ return (ARCHIVE_FAILED); } #endif /* NOTE: Message Digest functions are set based on availability and by the * following order of preference. * 1. libc * 2. libc2 * 3. libc3 * 4. libSystem * 5. Nettle * 6. OpenSSL * 7. libmd * 8. Windows API */ const struct archive_digest __archive_digest = { /* MD5 */ &__archive_md5init, &__archive_md5update, &__archive_md5final, /* RIPEMD160 */ &__archive_ripemd160init, &__archive_ripemd160update, &__archive_ripemd160final, /* SHA1 */ &__archive_sha1init, &__archive_sha1update, &__archive_sha1final, /* SHA256 */ &__archive_sha256init, &__archive_sha256update, &__archive_sha256final, /* SHA384 */ &__archive_sha384init, &__archive_sha384update, &__archive_sha384final, /* SHA512 */ &__archive_sha512init, &__archive_sha512update, &__archive_sha512final }; int main(int argc, char **argv) { archive_sha512_ctx ctx; archive_sha512_init(&ctx); archive_sha512_update(&ctx, *argv, argc); archive_sha512_final(&ctx, NULL); return 0; } Checking for curses support passed with the following output: Change Dir: /usr/src/cmake-3.22.0/Source/Checks/Curses-build Run Build Command(s):/bin/gmake -f Makefile CheckCurses && Scanning dependencies of target CheckCurses [ 50%] Building C object CMakeFiles/CheckCurses.dir/CheckCurses.c.o [100%] Linking C executable CheckCurses [100%] Built target CheckCurses Determining if the function wsyncup exists in the /usr/lib64/libcurses.so passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_49152/fast && gmake -f CMakeFiles/cmTC_49152.dir/build.make CMakeFiles/cmTC_49152.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_49152.dir/CheckFunctionExists.c.o /bin/gcc -DCHECK_FUNCTION_EXISTS=wsyncup -std=gnu99 -o CMakeFiles/cmTC_49152.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_49152 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_49152.dir/link.txt --verbose=1 /bin/gcc -DCHECK_FUNCTION_EXISTS=wsyncup CMakeFiles/cmTC_49152.dir/CheckFunctionExists.c.o -o cmTC_49152 -lcurses gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function cbreak exists in the /usr/lib64/libncurses.so passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_0725d/fast && gmake -f CMakeFiles/cmTC_0725d.dir/build.make CMakeFiles/cmTC_0725d.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0725d.dir/CheckFunctionExists.c.o /bin/gcc -DCHECK_FUNCTION_EXISTS=cbreak -std=gnu99 -o CMakeFiles/cmTC_0725d.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_0725d /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0725d.dir/link.txt --verbose=1 /bin/gcc -DCHECK_FUNCTION_EXISTS=cbreak CMakeFiles/cmTC_0725d.dir/CheckFunctionExists.c.o -o cmTC_0725d -lncurses gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the function nodelay exists in the /usr/lib64/libncurses.so passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_159c2/fast && gmake -f CMakeFiles/cmTC_159c2.dir/build.make CMakeFiles/cmTC_159c2.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_159c2.dir/CheckFunctionExists.c.o /bin/gcc -DCHECK_FUNCTION_EXISTS=nodelay -std=gnu99 -o CMakeFiles/cmTC_159c2.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.22.0/Modules/CheckFunctionExists.c Linking C executable cmTC_159c2 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_159c2.dir/link.txt --verbose=1 /bin/gcc -DCHECK_FUNCTION_EXISTS=nodelay CMakeFiles/cmTC_159c2.dir/CheckFunctionExists.c.o -o cmTC_159c2 -lncurses gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Determining if the use_default_colors exist passed with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_05174/fast && gmake -f CMakeFiles/cmTC_05174.dir/build.make CMakeFiles/cmTC_05174.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_05174.dir/CheckSymbolExists.c.o /bin/gcc -I/usr/src/cmake-3.22.0/Source/CursesDialog/form -std=c99 -o CMakeFiles/cmTC_05174.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_05174 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_05174.dir/link.txt --verbose=1 /bin/gcc CMakeFiles/cmTC_05174.dir/CheckSymbolExists.c.o -o cmTC_05174 -lncurses gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' File /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef use_default_colors return ((int*)(&use_default_colors))[argc]; #else (void)argc; return 0; #endif } Looking for a Fortran compiler passed with the following output: -- The Fortran compiler identification is GNU 4.8.5 -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Check for working Fortran compiler: /bin/f95 - skipped -- Configuring done -- Generating done -- Build files have been written to: /usr/src/cmake-3.22.0/Tests/CMakeFiles/CheckFortran Performing C++ SOURCE FILE Test run_pic_test succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_1a460/fast && gmake -f CMakeFiles/cmTC_1a460.dir/build.make CMakeFiles/cmTC_1a460.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_1a460.dir/src.cxx.o /bin/g++ -Drun_pic_test -fPIE -std=gnu++11 -o CMakeFiles/cmTC_1a460.dir/src.cxx.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.cxx Linking CXX executable cmTC_1a460 /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1a460.dir/link.txt --verbose=1 /bin/g++ CMakeFiles/cmTC_1a460.dir/src.cxx.o -o cmTC_1a460 gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: int main() { return 0; } Performing C++ SOURCE FILE Test run_inlines_hidden_test succeeded with the following output: Change Dir: /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp Run Build Command(s):/bin/gmake -f Makefile cmTC_7bf3a/fast && gmake -f CMakeFiles/cmTC_7bf3a.dir/build.make CMakeFiles/cmTC_7bf3a.dir/build gmake[1]: Entering directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_7bf3a.dir/src.cxx.o /bin/g++ -Drun_inlines_hidden_test -fvisibility-inlines-hidden -std=gnu++11 -o CMakeFiles/cmTC_7bf3a.dir/src.cxx.o -c /usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp/src.cxx Linking CXX executable cmTC_7bf3a /usr/src/cmake-3.22.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7bf3a.dir/link.txt --verbose=1 /bin/g++ CMakeFiles/cmTC_7bf3a.dir/src.cxx.o -o cmTC_7bf3a gmake[1]: Leaving directory `/usr/src/cmake-3.22.0/CMakeFiles/CMakeTmp' Source file was: int main() { return 0; }