Skip to content

Commit

Permalink
Bump to lipzip/rel-1-5-1/b95cf3fdd4c1271f922017f092d02a878873425c (do…
Browse files Browse the repository at this point in the history
…tnet#863)

Main reason is to include fixes for a couple CVEs. Changes:

 * 1.3.0
   * Support bzip2 compressed zip archives
   * Improve file progress callback code
   * Fix zip_fdopen()
   * CVE-2017-12858: Fix double free().
   * CVE-2017-14107: Improve EOCD64 parsing.
 * 1.3.1
   * Install zipconf.h into ${PREFIX}/include
   * Add zip_libzip_version()
   * Fix AES tests on Linux
 * 1.3.2
   * Fix bug introduced in last: zip_t was erroneously freed if zip_close()
     failed.
 * 1.4.0
   * Improve build with cmake
   * Retire autoconf/automake build system
   * Add zip_source_buffer_fragment().
   * Add support to clone unchanged beginning of archive (instead of
     rewriting it). Supported for buffer sources and on Apple File System.
   * Add support for Microsoft Universal Windows Platform.
 * 1.5.0
   * Use standard cryptographic library instead of custom AES
     implementation. This also simplifies the license.
   * Use clang-format to format the source code.
   * More Windows improvements.
 * 1.5.1
   * Choose format of installed documentation based on available tools.
   * Fix visibility of symbols.
   * Fix zipcmp directory support.
   * Don’t set RPATH on Linux.
   * Use Libs.private for link dependencies in pkg-config file.
   * Fix build with LibreSSL.
   * Various bugfixes.

Additionally:

 * make it possible to build Windows version of libzip on Linux with mingw (no
   mxe required)
 * build on macOS for Windows with system/brew cmake
  • Loading branch information
grendello committed May 24, 2018
1 parent 5797bea commit ae92207
Show file tree
Hide file tree
Showing 10 changed files with 67 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
[submodule "external/libzip"]
path = external/libzip
url = https://github.com/nih-at/libzip.git
branch = master
branch = rel-1-5-1
[submodule "external/LibZipSharp"]
path = external/LibZipSharp
url = https://github.com/grendello/LibZipSharp.git
Expand Down
2 changes: 1 addition & 1 deletion external/LibZipSharp
2 changes: 1 addition & 1 deletion external/libzip
Submodule libzip updated 551 files
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Content Include="$(XAInstallPrefix)xbuild\Xamarin\Android\libzip.3.0.dylib">
<Content Include="$(XAInstallPrefix)xbuild\Xamarin\Android\libzip.5.0.dylib">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/libzip-windows/libzip-windows.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />
<PropertyGroup>
<BuildDependsOnLocal Condition=" '$(HostOS)' == 'Darwin' ">
<BuildDependsOnLocal Condition=" '$(HostOS)' == 'Darwin' Or '$(HostOS)' == 'Linux' ">
ResolveReferences;
_BuildUnlessCached
</BuildDependsOnLocal>
Expand Down
21 changes: 17 additions & 4 deletions src/libzip-windows/libzip-windows.projitems
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(HostOS)' == 'Linux' ">
<CMakeBinary32>\usr\bin\cmake</CMakeBinary32>
<CMakeBinary64>$(CMakeBinary32)</CMakeBinary64>
<CMakeFlags32>-DCMAKE_TOOLCHAIN_FILE=$(MSBuildThisFileDirectory)\mingw-linux-32.cmake</CMakeFlags32>
<CMakeFlags64>-DCMAKE_TOOLCHAIN_FILE=$(MSBuildThisFileDirectory)\mingw-linux-64.cmake</CMakeFlags64>
</PropertyGroup>
<PropertyGroup Condition=" '$(HostOS)' == 'Darwin' ">
<CMakeBinary64>cmake</CMakeBinary64>
<CMakeBinary32>cmake</CMakeBinary32>
<CMakeCommonFlags>-DCMAKE_SYSTEM_NAME=Windows -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DBUILD_SHARED_LIBS=ON</CMakeCommonFlags>
<CMakeFlags32>$(CMakeCommonFlags) -DCMAKE_C_COMPILER=$(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-gcc -DCMAKE_CXX_COMPILER=$(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-g++ -DCMAKE_RC_COMPILER=$(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-windres -DCMAKE_FIND_ROOT_PATH=$(AndroidMxeFullPath)\$(MingwCommandPrefix32)</CMakeFlags32>
<CMakeFlags64>$(CMakeCommonFlags) -DCMAKE_C_COMPILER=$(AndroidMxeFullPath)\bin\$(MingwCommandPrefix64)-gcc -DCMAKE_CXX_COMPILER=$(AndroidMxeFullPath)\bin\$(MingwCommandPrefix64)-g++ -DCMAKE_RC_COMPILER=$(AndroidMxeFullPath)\bin\$(MingwCommandPrefix64)-windres -DCMAKE_FIND_ROOT_PATH=$(AndroidMxeFullPath)\$(MingwCommandPrefix64)</CMakeFlags64>
</PropertyGroup>
<ItemGroup>
<_LibZipTarget Include="host-mxe-Win64" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':mxe-Win64:'))">
<CMake>$(AndroidMxeFullPath)\bin\x86_64-w64-mingw32.static-cmake</CMake>
<CMakeFlags></CMakeFlags>
<CMake>$(CMakeBinary64)</CMake>
<CMakeFlags>$(CMakeFlags64)</CMakeFlags>
<OutputLibrary>x64/libzip.dll</OutputLibrary>
<OutputLibraryPath>lib/libzip.dll</OutputLibraryPath>
</_LibZipTarget>
<_LibZipTarget Include="host-mxe-Win32" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':mxe-Win32:'))">
<CMake>$(AndroidMxeFullPath)\bin\i686-w64-mingw32.static-cmake</CMake>
<CMakeFlags></CMakeFlags>
<CMake>$(CMakeBinary32)</CMake>
<CMakeFlags>$(CMakeFlags32)</CMakeFlags>
<OutputLibrary>libzip.dll</OutputLibrary>
<OutputLibraryPath>lib/libzip.dll</OutputLibraryPath>
</_LibZipTarget>
Expand Down
20 changes: 20 additions & 0 deletions src/libzip-windows/mingw-linux-32.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)

# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)

# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set(BUILD_SHARED_LIBS ON)
20 changes: 20 additions & 0 deletions src/libzip-windows/mingw-linux-64.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)

# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)

# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set(BUILD_SHARED_LIBS ON)
8 changes: 4 additions & 4 deletions src/libzip/libzip.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
<ItemGroup>
<_LibZipTarget Include="host-Darwin" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':Darwin:'))">
<CMake>cmake</CMake>
<CMakeFlags>-DCMAKE_OSX_ARCHITECTURES=&quot;i386;x86_64&quot;</CMakeFlags>
<OutputLibrary>libzip.3.0.dylib</OutputLibrary>
<OutputLibraryPath>lib/libzip.3.0.dylib</OutputLibraryPath>
<CMakeFlags>-DCMAKE_OSX_ARCHITECTURES=&quot;i386;x86_64&quot; -DBUILD_SHARED_LIBS=ON</CMakeFlags>
<OutputLibrary>libzip.5.0.dylib</OutputLibrary>
<OutputLibraryPath>lib/libzip.5.0.dylib</OutputLibraryPath>
</_LibZipTarget>
<_LibZipTarget Include="host-Linux" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':Linux:')) AND '$(_LinuxBuildLibZip)' == 'true' ">
<CMake>cmake</CMake>
<CMakeFlags></CMakeFlags>
<CMakeFlags>-DBUILD_SHARED_LIBS=ON</CMakeFlags>
<OutputLibrary>libzip.so</OutputLibrary>
<OutputLibraryPath>lib/libzip.so</OutputLibraryPath>
</_LibZipTarget>
Expand Down
2 changes: 1 addition & 1 deletion src/libzip/libzip.targets
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
Inputs="@(_LibZipTargetMakefile)"
Outputs="@(Content)">
<Exec
Command="make"
Command="make VERBOSE=1"
WorkingDirectory="$(IntermediateOutputPath)\%(_LibZipTarget.Identity)"
/>
<Copy
Expand Down

0 comments on commit ae92207

Please sign in to comment.