hane 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -32
- package/binding.gyp +50 -50
- package/deps/win-nodeapi/node_api.def +158 -158
- package/package.json +34 -34
- package/src/native/addon.cc +183 -183
- package/src/native/zsign_driver.cc +86 -86
- package/src/native/zsign_driver.h +38 -38
- package/vendor/zlib/.cmake-format.yaml +245 -245
- package/vendor/zlib/.github/workflows/c-std.yml +230 -230
- package/vendor/zlib/.github/workflows/cmake.yml +112 -112
- package/vendor/zlib/.github/workflows/configure.yml +136 -136
- package/vendor/zlib/.github/workflows/fuzz.yml +25 -25
- package/vendor/zlib/.github/workflows/msys-cygwin.yml +77 -77
- package/vendor/zlib/BUILD.bazel +134 -134
- package/vendor/zlib/CMakeLists.txt +330 -330
- package/vendor/zlib/ChangeLog +1621 -1621
- package/vendor/zlib/FAQ +367 -367
- package/vendor/zlib/INDEX +68 -68
- package/vendor/zlib/LICENSE +22 -22
- package/vendor/zlib/MODULE.bazel +9 -9
- package/vendor/zlib/Makefile.in +419 -419
- package/vendor/zlib/README +115 -115
- package/vendor/zlib/README-cmake.md +83 -83
- package/vendor/zlib/adler32.c +164 -164
- package/vendor/zlib/amiga/Makefile.pup +69 -69
- package/vendor/zlib/amiga/Makefile.sas +68 -68
- package/vendor/zlib/compress.c +75 -75
- package/vendor/zlib/configure +966 -966
- package/vendor/zlib/contrib/README.contrib +57 -57
- package/vendor/zlib/contrib/ada/buffer_demo.adb +106 -106
- package/vendor/zlib/contrib/ada/mtest.adb +156 -156
- package/vendor/zlib/contrib/ada/read.adb +156 -156
- package/vendor/zlib/contrib/ada/readme.txt +65 -65
- package/vendor/zlib/contrib/ada/test.adb +463 -463
- package/vendor/zlib/contrib/ada/zlib-streams.adb +225 -225
- package/vendor/zlib/contrib/ada/zlib-streams.ads +114 -114
- package/vendor/zlib/contrib/ada/zlib-thin.adb +142 -142
- package/vendor/zlib/contrib/ada/zlib-thin.ads +450 -450
- package/vendor/zlib/contrib/ada/zlib.adb +701 -701
- package/vendor/zlib/contrib/ada/zlib.ads +328 -328
- package/vendor/zlib/contrib/ada/zlib.gpr +20 -20
- package/vendor/zlib/contrib/blast/Makefile +8 -8
- package/vendor/zlib/contrib/blast/README +4 -4
- package/vendor/zlib/contrib/blast/blast.c +466 -466
- package/vendor/zlib/contrib/blast/blast.h +83 -83
- package/vendor/zlib/contrib/delphi/ZLib.pas +557 -557
- package/vendor/zlib/contrib/delphi/ZLibConst.pas +11 -11
- package/vendor/zlib/contrib/delphi/readme.txt +76 -76
- package/vendor/zlib/contrib/delphi/zlibd32.mak +99 -99
- package/vendor/zlib/contrib/gcc_gvmat64/gvmat64.S +574 -574
- package/vendor/zlib/contrib/infback9/README +1 -1
- package/vendor/zlib/contrib/infback9/infback9.c +603 -603
- package/vendor/zlib/contrib/infback9/infback9.h +37 -37
- package/vendor/zlib/contrib/infback9/inffix9.h +107 -107
- package/vendor/zlib/contrib/infback9/inflate9.h +47 -47
- package/vendor/zlib/contrib/infback9/inftree9.c +319 -319
- package/vendor/zlib/contrib/infback9/inftree9.h +61 -61
- package/vendor/zlib/contrib/iostream/test.cpp +24 -24
- package/vendor/zlib/contrib/iostream/zfstream.cpp +329 -329
- package/vendor/zlib/contrib/iostream/zfstream.h +128 -128
- package/vendor/zlib/contrib/iostream2/zstream.h +307 -307
- package/vendor/zlib/contrib/iostream2/zstream_test.cpp +25 -25
- package/vendor/zlib/contrib/iostream3/README +35 -35
- package/vendor/zlib/contrib/iostream3/TODO +17 -17
- package/vendor/zlib/contrib/iostream3/test.cc +50 -50
- package/vendor/zlib/contrib/iostream3/zfstream.cc +479 -479
- package/vendor/zlib/contrib/iostream3/zfstream.h +466 -466
- package/vendor/zlib/contrib/minizip/CMakeLists.txt +380 -380
- package/vendor/zlib/contrib/minizip/Makefile +37 -37
- package/vendor/zlib/contrib/minizip/Makefile.am +45 -45
- package/vendor/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -6
- package/vendor/zlib/contrib/minizip/MiniZip64_info.txt +74 -74
- package/vendor/zlib/contrib/minizip/configure.ac +32 -32
- package/vendor/zlib/contrib/minizip/crypt.h +128 -128
- package/vendor/zlib/contrib/minizip/ints.h +57 -57
- package/vendor/zlib/contrib/minizip/ioapi.c +231 -231
- package/vendor/zlib/contrib/minizip/ioapi.h +183 -183
- package/vendor/zlib/contrib/minizip/iowin32.c +448 -448
- package/vendor/zlib/contrib/minizip/iowin32.h +28 -28
- package/vendor/zlib/contrib/minizip/make_vms.com +25 -25
- package/vendor/zlib/contrib/minizip/miniunz.c +647 -647
- package/vendor/zlib/contrib/minizip/miniunzip.1 +63 -63
- package/vendor/zlib/contrib/minizip/minizip.1 +46 -46
- package/vendor/zlib/contrib/minizip/minizip.c +512 -512
- package/vendor/zlib/contrib/minizip/minizip.pc.in +12 -12
- package/vendor/zlib/contrib/minizip/minizip.pc.txt +13 -13
- package/vendor/zlib/contrib/minizip/minizipConfig.cmake.in +35 -35
- package/vendor/zlib/contrib/minizip/mztools.c +288 -288
- package/vendor/zlib/contrib/minizip/mztools.h +37 -37
- package/vendor/zlib/contrib/minizip/skipset.h +361 -361
- package/vendor/zlib/contrib/minizip/test/CMakeLists.txt +121 -121
- package/vendor/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -29
- package/vendor/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -28
- package/vendor/zlib/contrib/minizip/test/find_package_test.cmake.in +25 -25
- package/vendor/zlib/contrib/minizip/test/test_helper.cm +32 -32
- package/vendor/zlib/contrib/minizip/unzip.c +1981 -1981
- package/vendor/zlib/contrib/minizip/unzip.h +441 -441
- package/vendor/zlib/contrib/minizip/zip.c +2199 -2199
- package/vendor/zlib/contrib/minizip/zip.h +370 -370
- package/vendor/zlib/contrib/nuget/nuget.csproj +43 -43
- package/vendor/zlib/contrib/nuget/nuget.sln +22 -22
- package/vendor/zlib/contrib/pascal/example.pas +599 -599
- package/vendor/zlib/contrib/pascal/readme.txt +76 -76
- package/vendor/zlib/contrib/pascal/zlibd32.mak +99 -99
- package/vendor/zlib/contrib/pascal/zlibpas.pas +276 -276
- package/vendor/zlib/contrib/puff/Makefile +42 -42
- package/vendor/zlib/contrib/puff/README +63 -63
- package/vendor/zlib/contrib/puff/puff.c +840 -840
- package/vendor/zlib/contrib/puff/puff.h +35 -35
- package/vendor/zlib/contrib/puff/pufftest.c +169 -169
- package/vendor/zlib/contrib/untgz/Makefile +14 -14
- package/vendor/zlib/contrib/untgz/Makefile.msc +17 -17
- package/vendor/zlib/contrib/untgz/untgz.c +667 -667
- package/vendor/zlib/contrib/vstudio/readme.txt +81 -81
- package/vendor/zlib/contrib/vstudio/vc12/miniunz.vcxproj +315 -315
- package/vendor/zlib/contrib/vstudio/vc12/minizip.vcxproj +312 -312
- package/vendor/zlib/contrib/vstudio/vc12/testzlib.vcxproj +421 -421
- package/vendor/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj +315 -315
- package/vendor/zlib/contrib/vstudio/vc12/zlib.rc +32 -32
- package/vendor/zlib/contrib/vstudio/vc12/zlibstat.vcxproj +458 -458
- package/vendor/zlib/contrib/vstudio/vc12/zlibvc.sln +119 -119
- package/vendor/zlib/contrib/vstudio/vc12/zlibvc.vcxproj +667 -667
- package/vendor/zlib/contrib/vstudio/vc14/miniunz.vcxproj +315 -315
- package/vendor/zlib/contrib/vstudio/vc14/minizip.vcxproj +312 -312
- package/vendor/zlib/contrib/vstudio/vc14/testzlib.vcxproj +421 -421
- package/vendor/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj +315 -315
- package/vendor/zlib/contrib/vstudio/vc14/zlib.rc +32 -32
- package/vendor/zlib/contrib/vstudio/vc14/zlibstat.vcxproj +458 -458
- package/vendor/zlib/contrib/vstudio/vc14/zlibvc.sln +119 -119
- package/vendor/zlib/contrib/vstudio/vc14/zlibvc.vcxproj +667 -667
- package/vendor/zlib/contrib/vstudio/vc17/miniunz.vcxproj +408 -408
- package/vendor/zlib/contrib/vstudio/vc17/minizip.vcxproj +404 -404
- package/vendor/zlib/contrib/vstudio/vc17/testzlib.vcxproj +472 -472
- package/vendor/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj +408 -408
- package/vendor/zlib/contrib/vstudio/vc17/zlib.rc +32 -32
- package/vendor/zlib/contrib/vstudio/vc17/zlibstat.vcxproj +601 -601
- package/vendor/zlib/contrib/vstudio/vc17/zlibvc.sln +179 -179
- package/vendor/zlib/contrib/vstudio/vc17/zlibvc.vcxproj +874 -874
- package/vendor/zlib/crc32.c +1049 -1049
- package/vendor/zlib/crc32.h +9446 -9446
- package/vendor/zlib/deflate.c +2152 -2152
- package/vendor/zlib/deflate.h +380 -380
- package/vendor/zlib/doc/algorithm.txt +209 -209
- package/vendor/zlib/doc/rfc1950.txt +619 -619
- package/vendor/zlib/doc/rfc1951.txt +955 -955
- package/vendor/zlib/doc/rfc1952.txt +675 -675
- package/vendor/zlib/doc/txtvsbin.txt +107 -107
- package/vendor/zlib/examples/README.examples +54 -54
- package/vendor/zlib/examples/enough.c +597 -597
- package/vendor/zlib/examples/fitblk.c +233 -233
- package/vendor/zlib/examples/gun.c +702 -702
- package/vendor/zlib/examples/gzappend.c +504 -504
- package/vendor/zlib/examples/gzjoin.c +449 -449
- package/vendor/zlib/examples/gzlog.c +1061 -1061
- package/vendor/zlib/examples/gzlog.h +91 -91
- package/vendor/zlib/examples/gznorm.c +474 -474
- package/vendor/zlib/examples/zlib_how.html +549 -549
- package/vendor/zlib/examples/zpipe.c +209 -209
- package/vendor/zlib/examples/zran.c +550 -550
- package/vendor/zlib/examples/zran.h +53 -53
- package/vendor/zlib/gzclose.c +23 -23
- package/vendor/zlib/gzguts.h +215 -215
- package/vendor/zlib/gzlib.c +585 -585
- package/vendor/zlib/gzread.c +603 -603
- package/vendor/zlib/gzwrite.c +631 -631
- package/vendor/zlib/infback.c +628 -628
- package/vendor/zlib/inffast.c +320 -320
- package/vendor/zlib/inffast.h +11 -11
- package/vendor/zlib/inffixed.h +94 -94
- package/vendor/zlib/inflate.c +1526 -1526
- package/vendor/zlib/inflate.h +126 -126
- package/vendor/zlib/inftrees.c +299 -299
- package/vendor/zlib/inftrees.h +62 -62
- package/vendor/zlib/make_vms.com +867 -867
- package/vendor/zlib/msdos/Makefile.bor +115 -115
- package/vendor/zlib/msdos/Makefile.dj2 +104 -104
- package/vendor/zlib/msdos/Makefile.emx +69 -69
- package/vendor/zlib/msdos/Makefile.msc +112 -112
- package/vendor/zlib/msdos/Makefile.tc +100 -100
- package/vendor/zlib/nintendods/Makefile +126 -126
- package/vendor/zlib/nintendods/README +5 -5
- package/vendor/zlib/old/Makefile.emx +69 -69
- package/vendor/zlib/old/Makefile.riscos +151 -151
- package/vendor/zlib/old/README +3 -3
- package/vendor/zlib/old/descrip.mms +48 -48
- package/vendor/zlib/old/os2/Makefile.os2 +136 -136
- package/vendor/zlib/old/os2/zlib.def +51 -51
- package/vendor/zlib/old/visual-basic.txt +160 -160
- package/vendor/zlib/os400/README400 +48 -48
- package/vendor/zlib/os400/bndsrc +133 -133
- package/vendor/zlib/os400/make.sh +366 -366
- package/vendor/zlib/os400/zlib.inc +531 -531
- package/vendor/zlib/qnx/package.qpg +141 -141
- package/vendor/zlib/test/CMakeLists.txt +265 -265
- package/vendor/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -29
- package/vendor/zlib/test/add_subdirectory_test.cmake.in +28 -28
- package/vendor/zlib/test/example.c +552 -552
- package/vendor/zlib/test/find_package_test.cmake.in +26 -26
- package/vendor/zlib/test/infcover.c +672 -672
- package/vendor/zlib/test/minigzip.c +590 -590
- package/vendor/zlib/treebuild.xml +116 -116
- package/vendor/zlib/trees.c +1119 -1119
- package/vendor/zlib/trees.h +128 -128
- package/vendor/zlib/uncompr.c +85 -85
- package/vendor/zlib/watcom/watcom_f.mak +43 -43
- package/vendor/zlib/watcom/watcom_l.mak +43 -43
- package/vendor/zlib/win32/DLL_FAQ.txt +381 -381
- package/vendor/zlib/win32/Makefile.bor +109 -109
- package/vendor/zlib/win32/Makefile.gcc +177 -177
- package/vendor/zlib/win32/Makefile.msc +159 -159
- package/vendor/zlib/win32/README-WIN32.txt +103 -103
- package/vendor/zlib/win32/VisualC.txt +3 -3
- package/vendor/zlib/win32/zlib1.rc +37 -37
- package/vendor/zlib/zconf.h.in +544 -544
- package/vendor/zlib/zlib.3 +149 -149
- package/vendor/zlib/zlib.h +1957 -1957
- package/vendor/zlib/zlib.map +103 -103
- package/vendor/zlib/zlib.pc.cmakein +13 -13
- package/vendor/zlib/zlib.pc.in +13 -13
- package/vendor/zlib/zlibConfig.cmake.in +26 -26
- package/vendor/zlib/zutil.c +299 -299
- package/vendor/zlib/zutil.h +257 -257
- package/vendor/zsign/.gitattributes +3 -3
- package/vendor/zsign/LICENSE +20 -20
- package/vendor/zsign/README.md +142 -142
- package/vendor/zsign/build/linux/Makefile +43 -43
- package/vendor/zsign/build/macos/Makefile +43 -43
- package/vendor/zsign/build/windows/vs2022/include/minizip/crypt.h +128 -128
- package/vendor/zsign/build/windows/vs2022/include/minizip/ioapi.h +216 -216
- package/vendor/zsign/build/windows/vs2022/include/minizip/iowin32.h +28 -28
- package/vendor/zsign/build/windows/vs2022/include/minizip/mztools.h +37 -37
- package/vendor/zsign/build/windows/vs2022/include/minizip/unzip.h +437 -437
- package/vendor/zsign/build/windows/vs2022/include/minizip/zip.h +364 -364
- package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_EPILOGUE.H +22 -22
- package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_PROLOGUE.H +26 -26
- package/vendor/zsign/build/windows/vs2022/include/openssl/aes.h +111 -111
- package/vendor/zsign/build/windows/vs2022/include/openssl/applink.c +153 -153
- package/vendor/zsign/build/windows/vs2022/include/openssl/asn1_mac.h +10 -10
- package/vendor/zsign/build/windows/vs2022/include/openssl/asn1err.h +142 -142
- package/vendor/zsign/build/windows/vs2022/include/openssl/async.h +104 -104
- package/vendor/zsign/build/windows/vs2022/include/openssl/asyncerr.h +29 -29
- package/vendor/zsign/build/windows/vs2022/include/openssl/bioerr.h +72 -72
- package/vendor/zsign/build/windows/vs2022/include/openssl/blowfish.h +78 -78
- package/vendor/zsign/build/windows/vs2022/include/openssl/bn.h +590 -590
- package/vendor/zsign/build/windows/vs2022/include/openssl/bnerr.h +47 -47
- package/vendor/zsign/build/windows/vs2022/include/openssl/buffer.h +62 -62
- package/vendor/zsign/build/windows/vs2022/include/openssl/buffererr.h +25 -25
- package/vendor/zsign/build/windows/vs2022/include/openssl/camellia.h +117 -117
- package/vendor/zsign/build/windows/vs2022/include/openssl/cast.h +71 -71
- package/vendor/zsign/build/windows/vs2022/include/openssl/cmac.h +52 -52
- package/vendor/zsign/build/windows/vs2022/include/openssl/cmp_util.h +56 -56
- package/vendor/zsign/build/windows/vs2022/include/openssl/cmperr.h +131 -131
- package/vendor/zsign/build/windows/vs2022/include/openssl/cmserr.h +125 -125
- package/vendor/zsign/build/windows/vs2022/include/openssl/comperr.h +38 -38
- package/vendor/zsign/build/windows/vs2022/include/openssl/conf_api.h +46 -46
- package/vendor/zsign/build/windows/vs2022/include/openssl/conferr.h +52 -52
- package/vendor/zsign/build/windows/vs2022/include/openssl/conftypes.h +44 -44
- package/vendor/zsign/build/windows/vs2022/include/openssl/core.h +236 -236
- package/vendor/zsign/build/windows/vs2022/include/openssl/core_dispatch.h +1022 -1022
- package/vendor/zsign/build/windows/vs2022/include/openssl/core_object.h +41 -41
- package/vendor/zsign/build/windows/vs2022/include/openssl/crmferr.h +50 -50
- package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr.h +56 -56
- package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr_legacy.h +1466 -1466
- package/vendor/zsign/build/windows/vs2022/include/openssl/cterr.h +45 -45
- package/vendor/zsign/build/windows/vs2022/include/openssl/decoder.h +133 -133
- package/vendor/zsign/build/windows/vs2022/include/openssl/decodererr.h +28 -28
- package/vendor/zsign/build/windows/vs2022/include/openssl/des.h +211 -211
- package/vendor/zsign/build/windows/vs2022/include/openssl/dh.h +339 -339
- package/vendor/zsign/build/windows/vs2022/include/openssl/dherr.h +59 -59
- package/vendor/zsign/build/windows/vs2022/include/openssl/dsa.h +280 -280
- package/vendor/zsign/build/windows/vs2022/include/openssl/dsaerr.h +44 -44
- package/vendor/zsign/build/windows/vs2022/include/openssl/dtls1.h +57 -57
- package/vendor/zsign/build/windows/vs2022/include/openssl/e_os2.h +310 -310
- package/vendor/zsign/build/windows/vs2022/include/openssl/e_ostime.h +38 -38
- package/vendor/zsign/build/windows/vs2022/include/openssl/ebcdic.h +39 -39
- package/vendor/zsign/build/windows/vs2022/include/openssl/ec.h +1588 -1588
- package/vendor/zsign/build/windows/vs2022/include/openssl/ecdh.h +10 -10
- package/vendor/zsign/build/windows/vs2022/include/openssl/ecdsa.h +10 -10
- package/vendor/zsign/build/windows/vs2022/include/openssl/ecerr.h +104 -104
- package/vendor/zsign/build/windows/vs2022/include/openssl/encoder.h +124 -124
- package/vendor/zsign/build/windows/vs2022/include/openssl/encodererr.h +28 -28
- package/vendor/zsign/build/windows/vs2022/include/openssl/engine.h +833 -833
- package/vendor/zsign/build/windows/vs2022/include/openssl/engineerr.h +63 -63
- package/vendor/zsign/build/windows/vs2022/include/openssl/esserr.h +32 -32
- package/vendor/zsign/build/windows/vs2022/include/openssl/evp.h +2231 -2231
- package/vendor/zsign/build/windows/vs2022/include/openssl/evperr.h +140 -140
- package/vendor/zsign/build/windows/vs2022/include/openssl/fips_names.h +50 -50
- package/vendor/zsign/build/windows/vs2022/include/openssl/hmac.h +62 -62
- package/vendor/zsign/build/windows/vs2022/include/openssl/hpke.h +169 -169
- package/vendor/zsign/build/windows/vs2022/include/openssl/http.h +118 -118
- package/vendor/zsign/build/windows/vs2022/include/openssl/httperr.h +56 -56
- package/vendor/zsign/build/windows/vs2022/include/openssl/idea.h +82 -82
- package/vendor/zsign/build/windows/vs2022/include/openssl/indicator.h +31 -31
- package/vendor/zsign/build/windows/vs2022/include/openssl/kdf.h +138 -138
- package/vendor/zsign/build/windows/vs2022/include/openssl/kdferr.h +16 -16
- package/vendor/zsign/build/windows/vs2022/include/openssl/macros.h +338 -338
- package/vendor/zsign/build/windows/vs2022/include/openssl/md2.h +56 -56
- package/vendor/zsign/build/windows/vs2022/include/openssl/md4.h +63 -63
- package/vendor/zsign/build/windows/vs2022/include/openssl/md5.h +62 -62
- package/vendor/zsign/build/windows/vs2022/include/openssl/mdc2.h +55 -55
- package/vendor/zsign/build/windows/vs2022/include/openssl/modes.h +219 -219
- package/vendor/zsign/build/windows/vs2022/include/openssl/obj_mac.h +5820 -5820
- package/vendor/zsign/build/windows/vs2022/include/openssl/objects.h +184 -184
- package/vendor/zsign/build/windows/vs2022/include/openssl/objectserr.h +28 -28
- package/vendor/zsign/build/windows/vs2022/include/openssl/ocsperr.h +53 -53
- package/vendor/zsign/build/windows/vs2022/include/openssl/opensslconf.h +17 -17
- package/vendor/zsign/build/windows/vs2022/include/openssl/ossl_typ.h +16 -16
- package/vendor/zsign/build/windows/vs2022/include/openssl/param_build.h +63 -63
- package/vendor/zsign/build/windows/vs2022/include/openssl/params.h +160 -160
- package/vendor/zsign/build/windows/vs2022/include/openssl/pem.h +543 -543
- package/vendor/zsign/build/windows/vs2022/include/openssl/pem2.h +19 -19
- package/vendor/zsign/build/windows/vs2022/include/openssl/pemerr.h +58 -58
- package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs12err.h +46 -46
- package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs7err.h +63 -63
- package/vendor/zsign/build/windows/vs2022/include/openssl/prov_ssl.h +38 -38
- package/vendor/zsign/build/windows/vs2022/include/openssl/proverr.h +162 -162
- package/vendor/zsign/build/windows/vs2022/include/openssl/provider.h +66 -66
- package/vendor/zsign/build/windows/vs2022/include/openssl/quic.h +70 -70
- package/vendor/zsign/build/windows/vs2022/include/openssl/rand.h +125 -125
- package/vendor/zsign/build/windows/vs2022/include/openssl/randerr.h +69 -69
- package/vendor/zsign/build/windows/vs2022/include/openssl/rc2.h +68 -68
- package/vendor/zsign/build/windows/vs2022/include/openssl/rc4.h +47 -47
- package/vendor/zsign/build/windows/vs2022/include/openssl/rc5.h +79 -79
- package/vendor/zsign/build/windows/vs2022/include/openssl/ripemd.h +59 -59
- package/vendor/zsign/build/windows/vs2022/include/openssl/rsa.h +615 -615
- package/vendor/zsign/build/windows/vs2022/include/openssl/rsaerr.h +107 -107
- package/vendor/zsign/build/windows/vs2022/include/openssl/seed.h +113 -113
- package/vendor/zsign/build/windows/vs2022/include/openssl/self_test.h +98 -98
- package/vendor/zsign/build/windows/vs2022/include/openssl/sha.h +139 -139
- package/vendor/zsign/build/windows/vs2022/include/openssl/srtp.h +68 -68
- package/vendor/zsign/build/windows/vs2022/include/openssl/ssl2.h +30 -30
- package/vendor/zsign/build/windows/vs2022/include/openssl/ssl3.h +357 -357
- package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr.h +379 -379
- package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr_legacy.h +467 -467
- package/vendor/zsign/build/windows/vs2022/include/openssl/stack.h +90 -90
- package/vendor/zsign/build/windows/vs2022/include/openssl/store.h +377 -377
- package/vendor/zsign/build/windows/vs2022/include/openssl/storeerr.h +49 -49
- package/vendor/zsign/build/windows/vs2022/include/openssl/symhacks.h +39 -39
- package/vendor/zsign/build/windows/vs2022/include/openssl/thread.h +31 -31
- package/vendor/zsign/build/windows/vs2022/include/openssl/tls1.h +1220 -1220
- package/vendor/zsign/build/windows/vs2022/include/openssl/trace.h +320 -320
- package/vendor/zsign/build/windows/vs2022/include/openssl/ts.h +522 -522
- package/vendor/zsign/build/windows/vs2022/include/openssl/tserr.h +67 -67
- package/vendor/zsign/build/windows/vs2022/include/openssl/txt_db.h +63 -63
- package/vendor/zsign/build/windows/vs2022/include/openssl/types.h +245 -245
- package/vendor/zsign/build/windows/vs2022/include/openssl/uierr.h +38 -38
- package/vendor/zsign/build/windows/vs2022/include/openssl/whrlpool.h +62 -62
- package/vendor/zsign/build/windows/vs2022/include/openssl/x509err.h +70 -70
- package/vendor/zsign/build/windows/vs2022/include/openssl/x509v3err.h +96 -96
- package/vendor/zsign/src/archo.cpp +742 -742
- package/vendor/zsign/src/archo.h +61 -61
- package/vendor/zsign/src/bundle.cpp +589 -589
- package/vendor/zsign/src/bundle.h +46 -46
- package/vendor/zsign/src/common/archive.cpp +246 -246
- package/vendor/zsign/src/common/archive.h +22 -22
- package/vendor/zsign/src/common/common.h +56 -56
- package/vendor/zsign/src/common/fs.cpp +573 -573
- package/vendor/zsign/src/common/fs.h +50 -50
- package/vendor/zsign/src/common/log.cpp +145 -145
- package/vendor/zsign/src/common/log.h +37 -37
- package/vendor/zsign/src/common/mach-o.h +585 -585
- package/vendor/zsign/src/common/sha.cpp +133 -133
- package/vendor/zsign/src/common/sha.h +24 -24
- package/vendor/zsign/src/common/timer.cpp +28 -28
- package/vendor/zsign/src/common/timer.h +17 -17
- package/vendor/zsign/src/common/util.cpp +185 -185
- package/vendor/zsign/src/common/util.h +25 -25
- package/vendor/zsign/src/macho.cpp +273 -273
- package/vendor/zsign/src/macho.h +38 -38
- package/vendor/zsign/src/openssl.cpp +698 -698
- package/vendor/zsign/src/openssl.h +71 -71
- package/vendor/zsign/src/signing.cpp +745 -745
- package/vendor/zsign/src/signing.h +59 -59
- package/vendor/zsign/src/zsign.cpp +317 -317
- package/vendor/zsign/test/dylib/demo/Makefile +12 -12
- package/vendor/zsign/test/dylib/demo/control +9 -9
- package/vendor/zsign/test/dylib/demo/demo.m +21 -21
- package/vendor/zsign/test/linux/test.sh +19 -19
- package/vendor/zsign/test/macos/test.sh +19 -19
|
@@ -1,512 +1,512 @@
|
|
|
1
|
-
/*
|
|
2
|
-
minizip.c
|
|
3
|
-
Version 1.1, February 14h, 2010
|
|
4
|
-
sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
|
|
5
|
-
|
|
6
|
-
Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
|
|
7
|
-
|
|
8
|
-
Modifications of Unzip for Zip64
|
|
9
|
-
Copyright (C) 2007-2008 Even Rouault
|
|
10
|
-
|
|
11
|
-
Modifications for Zip64 support on both zip and unzip
|
|
12
|
-
Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
|
|
17
|
-
#ifndef __USE_FILE_OFFSET64
|
|
18
|
-
#define __USE_FILE_OFFSET64
|
|
19
|
-
#endif
|
|
20
|
-
#ifndef __USE_LARGEFILE64
|
|
21
|
-
#define __USE_LARGEFILE64
|
|
22
|
-
#endif
|
|
23
|
-
#ifndef _LARGEFILE64_SOURCE
|
|
24
|
-
#define _LARGEFILE64_SOURCE
|
|
25
|
-
#endif
|
|
26
|
-
#ifndef _FILE_OFFSET_BIT
|
|
27
|
-
#define _FILE_OFFSET_BIT 64
|
|
28
|
-
#endif
|
|
29
|
-
#endif
|
|
30
|
-
|
|
31
|
-
#if defined(__APPLE__) || defined(__HAIKU__) || defined(MINIZIP_FOPEN_NO_64)
|
|
32
|
-
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
|
33
|
-
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
|
34
|
-
#define FTELLO_FUNC(stream) ftello(stream)
|
|
35
|
-
#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
|
|
36
|
-
#else
|
|
37
|
-
#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
|
|
38
|
-
#define FTELLO_FUNC(stream) ftello64(stream)
|
|
39
|
-
#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
|
|
40
|
-
#endif
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#ifndef _CRT_SECURE_NO_WARNINGS
|
|
45
|
-
# define _CRT_SECURE_NO_WARNINGS
|
|
46
|
-
#endif
|
|
47
|
-
#include <stdio.h>
|
|
48
|
-
#include <stdlib.h>
|
|
49
|
-
#include <string.h>
|
|
50
|
-
#include <time.h>
|
|
51
|
-
#include <errno.h>
|
|
52
|
-
#include <fcntl.h>
|
|
53
|
-
|
|
54
|
-
#ifdef _WIN32
|
|
55
|
-
# include <direct.h>
|
|
56
|
-
# include <io.h>
|
|
57
|
-
#else
|
|
58
|
-
# include <unistd.h>
|
|
59
|
-
# include <utime.h>
|
|
60
|
-
# include <sys/types.h>
|
|
61
|
-
# include <sys/stat.h>
|
|
62
|
-
#endif
|
|
63
|
-
|
|
64
|
-
#include "zip.h"
|
|
65
|
-
#include "ints.h"
|
|
66
|
-
|
|
67
|
-
#ifdef _WIN32
|
|
68
|
-
#define USEWIN32IOAPI
|
|
69
|
-
#include "iowin32.h"
|
|
70
|
-
#endif
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
#define WRITEBUFFERSIZE (16384)
|
|
75
|
-
#define MAXFILENAME (256)
|
|
76
|
-
|
|
77
|
-
#ifdef _WIN32
|
|
78
|
-
/* f: name of file to get info on, tmzip: return value: access,
|
|
79
|
-
modification and creation times, dt: dostime */
|
|
80
|
-
static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
|
|
81
|
-
(void)tmzip;
|
|
82
|
-
int ret = 0;
|
|
83
|
-
{
|
|
84
|
-
FILETIME ftLocal;
|
|
85
|
-
HANDLE hFind;
|
|
86
|
-
WIN32_FIND_DATAA ff32;
|
|
87
|
-
|
|
88
|
-
hFind = FindFirstFileA(f,&ff32);
|
|
89
|
-
if (hFind != INVALID_HANDLE_VALUE)
|
|
90
|
-
{
|
|
91
|
-
FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal);
|
|
92
|
-
FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0);
|
|
93
|
-
FindClose(hFind);
|
|
94
|
-
ret = 1;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return ret;
|
|
98
|
-
}
|
|
99
|
-
#elif defined(__unix__) || defined(__unix) || defined(__APPLE__)
|
|
100
|
-
/* f: name of file to get info on, tmzip: return value: access,
|
|
101
|
-
modification and creation times, dt: dostime */
|
|
102
|
-
static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
|
|
103
|
-
(void)dt;
|
|
104
|
-
int ret=0;
|
|
105
|
-
struct stat s; /* results of stat() */
|
|
106
|
-
struct tm* filedate;
|
|
107
|
-
time_t tm_t=0;
|
|
108
|
-
|
|
109
|
-
if (strcmp(f,"-")!=0)
|
|
110
|
-
{
|
|
111
|
-
char name[MAXFILENAME+1];
|
|
112
|
-
size_t len = strlen(f);
|
|
113
|
-
if (len > MAXFILENAME)
|
|
114
|
-
len = MAXFILENAME;
|
|
115
|
-
|
|
116
|
-
strncpy(name, f,MAXFILENAME-1);
|
|
117
|
-
/* strncpy doesn't append the trailing NULL, of the string is too long. */
|
|
118
|
-
name[ MAXFILENAME ] = '\0';
|
|
119
|
-
|
|
120
|
-
if (name[len - 1] == '/')
|
|
121
|
-
name[len - 1] = '\0';
|
|
122
|
-
/* not all systems allow stat'ing a file with / appended */
|
|
123
|
-
if (stat(name,&s)==0)
|
|
124
|
-
{
|
|
125
|
-
tm_t = s.st_mtime;
|
|
126
|
-
ret = 1;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
filedate = localtime(&tm_t);
|
|
130
|
-
|
|
131
|
-
tmzip->tm_sec = filedate->tm_sec;
|
|
132
|
-
tmzip->tm_min = filedate->tm_min;
|
|
133
|
-
tmzip->tm_hour = filedate->tm_hour;
|
|
134
|
-
tmzip->tm_mday = filedate->tm_mday;
|
|
135
|
-
tmzip->tm_mon = filedate->tm_mon ;
|
|
136
|
-
tmzip->tm_year = filedate->tm_year;
|
|
137
|
-
|
|
138
|
-
return ret;
|
|
139
|
-
}
|
|
140
|
-
#else
|
|
141
|
-
/* f: name of file to get info on, tmzip: return value: access,
|
|
142
|
-
modification and creation times, dt: dostime */
|
|
143
|
-
static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
|
|
144
|
-
(void)f;
|
|
145
|
-
(void)tmzip;
|
|
146
|
-
(void)dt;
|
|
147
|
-
return 0;
|
|
148
|
-
}
|
|
149
|
-
#endif
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
static int check_exist_file(const char* filename) {
|
|
155
|
-
FILE* ftestexist;
|
|
156
|
-
int ret = 1;
|
|
157
|
-
ftestexist = FOPEN_FUNC(filename,"rb");
|
|
158
|
-
if (ftestexist==NULL)
|
|
159
|
-
ret = 0;
|
|
160
|
-
else
|
|
161
|
-
fclose(ftestexist);
|
|
162
|
-
return ret;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
static void do_banner(void) {
|
|
166
|
-
printf("MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant\n");
|
|
167
|
-
printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n");
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
static void do_help(void) {
|
|
171
|
-
printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \
|
|
172
|
-
" -o Overwrite existing file.zip\n" \
|
|
173
|
-
" -a Append to existing file.zip\n" \
|
|
174
|
-
" -0 Store only\n" \
|
|
175
|
-
" -1 Compress faster\n" \
|
|
176
|
-
" -9 Compress better\n\n" \
|
|
177
|
-
" -j exclude path. store only the file name.\n\n");
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/* calculate the CRC32 of a file,
|
|
181
|
-
because to encrypt a file, we need known the CRC32 of the file before */
|
|
182
|
-
static int getFileCrc(const char* filenameinzip, void* buf, unsigned long size_buf, unsigned long* result_crc) {
|
|
183
|
-
unsigned long calculate_crc=0;
|
|
184
|
-
int err=ZIP_OK;
|
|
185
|
-
FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
|
|
186
|
-
|
|
187
|
-
unsigned long size_read = 0;
|
|
188
|
-
/* unsigned long total_read = 0; */
|
|
189
|
-
if (fin==NULL)
|
|
190
|
-
{
|
|
191
|
-
err = ZIP_ERRNO;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (err == ZIP_OK)
|
|
195
|
-
do
|
|
196
|
-
{
|
|
197
|
-
err = ZIP_OK;
|
|
198
|
-
size_read = (unsigned long)fread(buf,1,size_buf,fin);
|
|
199
|
-
if (size_read < size_buf)
|
|
200
|
-
if (feof(fin)==0)
|
|
201
|
-
{
|
|
202
|
-
printf("error in reading %s\n",filenameinzip);
|
|
203
|
-
err = ZIP_ERRNO;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
if (size_read>0)
|
|
207
|
-
calculate_crc = crc32_z(calculate_crc,buf,size_read);
|
|
208
|
-
/* total_read += size_read; */
|
|
209
|
-
|
|
210
|
-
} while ((err == ZIP_OK) && (size_read>0));
|
|
211
|
-
|
|
212
|
-
if (fin)
|
|
213
|
-
fclose(fin);
|
|
214
|
-
|
|
215
|
-
*result_crc=calculate_crc;
|
|
216
|
-
printf("file %s crc %lx\n", filenameinzip, calculate_crc);
|
|
217
|
-
return err;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
static int isLargeFile(const char* filename) {
|
|
221
|
-
int largeFile = 0;
|
|
222
|
-
ZPOS64_T pos = 0;
|
|
223
|
-
FILE* pFile = FOPEN_FUNC(filename, "rb");
|
|
224
|
-
|
|
225
|
-
if(pFile != NULL)
|
|
226
|
-
{
|
|
227
|
-
FSEEKO_FUNC(pFile, 0, SEEK_END);
|
|
228
|
-
pos = (ZPOS64_T)FTELLO_FUNC(pFile);
|
|
229
|
-
|
|
230
|
-
printf("File : %s is %"PUI64" bytes\n", filename, pos);
|
|
231
|
-
|
|
232
|
-
if(pos >= 0xffffffff)
|
|
233
|
-
largeFile = 1;
|
|
234
|
-
|
|
235
|
-
fclose(pFile);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
return largeFile;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
int main(int argc, char *argv[]) {
|
|
242
|
-
int i;
|
|
243
|
-
int opt_overwrite=0;
|
|
244
|
-
int opt_compress_level=Z_DEFAULT_COMPRESSION;
|
|
245
|
-
int opt_exclude_path=0;
|
|
246
|
-
int zipfilenamearg = 0;
|
|
247
|
-
char filename_try[MAXFILENAME+16];
|
|
248
|
-
int zipok;
|
|
249
|
-
int err=0;
|
|
250
|
-
unsigned long size_buf=0;
|
|
251
|
-
void* buf=NULL;
|
|
252
|
-
const char* password=NULL;
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
do_banner();
|
|
256
|
-
if (argc==1)
|
|
257
|
-
{
|
|
258
|
-
do_help();
|
|
259
|
-
return 0;
|
|
260
|
-
}
|
|
261
|
-
else
|
|
262
|
-
{
|
|
263
|
-
for (i=1;i<argc;i++)
|
|
264
|
-
{
|
|
265
|
-
if ((*argv[i])=='-')
|
|
266
|
-
{
|
|
267
|
-
const char *p=argv[i]+1;
|
|
268
|
-
|
|
269
|
-
while ((*p)!='\0')
|
|
270
|
-
{
|
|
271
|
-
char c=*(p++);
|
|
272
|
-
if ((c=='o') || (c=='O'))
|
|
273
|
-
opt_overwrite = 1;
|
|
274
|
-
if ((c=='a') || (c=='A'))
|
|
275
|
-
opt_overwrite = 2;
|
|
276
|
-
if ((c>='0') && (c<='9'))
|
|
277
|
-
opt_compress_level = c-'0';
|
|
278
|
-
if ((c=='j') || (c=='J'))
|
|
279
|
-
opt_exclude_path = 1;
|
|
280
|
-
|
|
281
|
-
if (((c=='p') || (c=='P')) && (i+1<argc))
|
|
282
|
-
{
|
|
283
|
-
password=argv[i+1];
|
|
284
|
-
i++;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
else
|
|
289
|
-
{
|
|
290
|
-
if (zipfilenamearg == 0)
|
|
291
|
-
{
|
|
292
|
-
zipfilenamearg = i ;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
size_buf = WRITEBUFFERSIZE;
|
|
299
|
-
buf = (void*)malloc(size_buf);
|
|
300
|
-
if (buf==NULL)
|
|
301
|
-
{
|
|
302
|
-
printf("Error allocating memory\n");
|
|
303
|
-
return ZIP_INTERNALERROR;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
if (zipfilenamearg==0)
|
|
307
|
-
{
|
|
308
|
-
zipok=0;
|
|
309
|
-
}
|
|
310
|
-
else
|
|
311
|
-
{
|
|
312
|
-
int len;
|
|
313
|
-
int dot_found=0;
|
|
314
|
-
|
|
315
|
-
zipok = 1 ;
|
|
316
|
-
strncpy(filename_try, argv[zipfilenamearg],MAXFILENAME-1);
|
|
317
|
-
/* strncpy doesn't append the trailing NULL, of the string is too long. */
|
|
318
|
-
filename_try[ MAXFILENAME ] = '\0';
|
|
319
|
-
|
|
320
|
-
len=(int)strlen(filename_try);
|
|
321
|
-
for (i=0;i<len;i++)
|
|
322
|
-
if (filename_try[i]=='.')
|
|
323
|
-
dot_found=1;
|
|
324
|
-
|
|
325
|
-
if (dot_found==0)
|
|
326
|
-
strcat(filename_try,".zip");
|
|
327
|
-
|
|
328
|
-
if (opt_overwrite==2)
|
|
329
|
-
{
|
|
330
|
-
/* if the file don't exist, we not append file */
|
|
331
|
-
if (check_exist_file(filename_try)==0)
|
|
332
|
-
opt_overwrite=1;
|
|
333
|
-
}
|
|
334
|
-
else
|
|
335
|
-
if (opt_overwrite==0)
|
|
336
|
-
if (check_exist_file(filename_try)!=0)
|
|
337
|
-
{
|
|
338
|
-
char rep=0;
|
|
339
|
-
do
|
|
340
|
-
{
|
|
341
|
-
char answer[128];
|
|
342
|
-
int ret;
|
|
343
|
-
printf("The file %s exists. Overwrite ? [y]es, [n]o, [a]ppend : ",filename_try);
|
|
344
|
-
ret = scanf("%1s",answer);
|
|
345
|
-
if (ret != 1)
|
|
346
|
-
{
|
|
347
|
-
exit(EXIT_FAILURE);
|
|
348
|
-
}
|
|
349
|
-
rep = answer[0] ;
|
|
350
|
-
if ((rep>='a') && (rep<='z'))
|
|
351
|
-
rep -= 0x20;
|
|
352
|
-
}
|
|
353
|
-
while ((rep!='Y') && (rep!='N') && (rep!='A'));
|
|
354
|
-
if (rep=='N')
|
|
355
|
-
zipok = 0;
|
|
356
|
-
if (rep=='A')
|
|
357
|
-
opt_overwrite = 2;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
if (zipok==1)
|
|
362
|
-
{
|
|
363
|
-
zipFile zf;
|
|
364
|
-
int errclose;
|
|
365
|
-
# ifdef USEWIN32IOAPI
|
|
366
|
-
zlib_filefunc64_def ffunc;
|
|
367
|
-
fill_win32_filefunc64A(&ffunc);
|
|
368
|
-
zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc);
|
|
369
|
-
# else
|
|
370
|
-
zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0);
|
|
371
|
-
# endif
|
|
372
|
-
|
|
373
|
-
if (zf == NULL)
|
|
374
|
-
{
|
|
375
|
-
printf("error opening %s\n",filename_try);
|
|
376
|
-
err= ZIP_ERRNO;
|
|
377
|
-
}
|
|
378
|
-
else
|
|
379
|
-
printf("creating %s\n",filename_try);
|
|
380
|
-
|
|
381
|
-
for (i=zipfilenamearg+1;(i<argc) && (err==ZIP_OK);i++)
|
|
382
|
-
{
|
|
383
|
-
if (!((((*(argv[i]))=='-') || ((*(argv[i]))=='/')) &&
|
|
384
|
-
((argv[i][1]=='o') || (argv[i][1]=='O') ||
|
|
385
|
-
(argv[i][1]=='a') || (argv[i][1]=='A') ||
|
|
386
|
-
(argv[i][1]=='p') || (argv[i][1]=='P') ||
|
|
387
|
-
((argv[i][1]>='0') && (argv[i][1]<='9'))) &&
|
|
388
|
-
(strlen(argv[i]) == 2)))
|
|
389
|
-
{
|
|
390
|
-
FILE * fin = NULL;
|
|
391
|
-
size_t size_read;
|
|
392
|
-
const char* filenameinzip = argv[i];
|
|
393
|
-
const char *savefilenameinzip;
|
|
394
|
-
zip_fileinfo zi;
|
|
395
|
-
unsigned long crcFile=0;
|
|
396
|
-
int zip64 = 0;
|
|
397
|
-
|
|
398
|
-
zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
|
|
399
|
-
zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0;
|
|
400
|
-
zi.dosDate = 0;
|
|
401
|
-
zi.internal_fa = 0;
|
|
402
|
-
zi.external_fa = 0;
|
|
403
|
-
filetime(filenameinzip,&zi.tmz_date,&zi.dosDate);
|
|
404
|
-
|
|
405
|
-
/*
|
|
406
|
-
err = zipOpenNewFileInZip(zf,filenameinzip,&zi,
|
|
407
|
-
NULL,0,NULL,0,NULL / * comment * /,
|
|
408
|
-
(opt_compress_level != 0) ? Z_DEFLATED : 0,
|
|
409
|
-
opt_compress_level);
|
|
410
|
-
*/
|
|
411
|
-
if ((password != NULL) && (err==ZIP_OK))
|
|
412
|
-
err = getFileCrc(filenameinzip,buf,size_buf,&crcFile);
|
|
413
|
-
|
|
414
|
-
zip64 = isLargeFile(filenameinzip);
|
|
415
|
-
|
|
416
|
-
/* The path name saved, should not include a leading slash. */
|
|
417
|
-
/*if it did, windows/xp and dynazip couldn't read the zip file. */
|
|
418
|
-
savefilenameinzip = filenameinzip;
|
|
419
|
-
while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' )
|
|
420
|
-
{
|
|
421
|
-
savefilenameinzip++;
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
/*should the zip file contain any path at all?*/
|
|
425
|
-
if( opt_exclude_path )
|
|
426
|
-
{
|
|
427
|
-
const char *tmpptr;
|
|
428
|
-
const char *lastslash = 0;
|
|
429
|
-
for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++)
|
|
430
|
-
{
|
|
431
|
-
if( *tmpptr == '\\' || *tmpptr == '/')
|
|
432
|
-
{
|
|
433
|
-
lastslash = tmpptr;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
if( lastslash != NULL )
|
|
437
|
-
{
|
|
438
|
-
savefilenameinzip = lastslash+1; /* base filename follows last slash. */
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
/**/
|
|
443
|
-
err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi,
|
|
444
|
-
NULL,0,NULL,0,NULL /* comment*/,
|
|
445
|
-
(opt_compress_level != 0) ? Z_DEFLATED : 0,
|
|
446
|
-
opt_compress_level,0,
|
|
447
|
-
/* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
|
|
448
|
-
-MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
|
|
449
|
-
password,crcFile, zip64);
|
|
450
|
-
|
|
451
|
-
if (err != ZIP_OK)
|
|
452
|
-
printf("error in opening %s in zipfile\n",filenameinzip);
|
|
453
|
-
else
|
|
454
|
-
{
|
|
455
|
-
fin = FOPEN_FUNC(filenameinzip,"rb");
|
|
456
|
-
if (fin==NULL)
|
|
457
|
-
{
|
|
458
|
-
err=ZIP_ERRNO;
|
|
459
|
-
printf("error in opening %s for reading\n",filenameinzip);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
if (err == ZIP_OK)
|
|
464
|
-
do
|
|
465
|
-
{
|
|
466
|
-
err = ZIP_OK;
|
|
467
|
-
size_read = fread(buf,1,size_buf,fin);
|
|
468
|
-
if (size_read < size_buf)
|
|
469
|
-
if (feof(fin)==0)
|
|
470
|
-
{
|
|
471
|
-
printf("error in reading %s\n",filenameinzip);
|
|
472
|
-
err = ZIP_ERRNO;
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
if (size_read>0)
|
|
476
|
-
{
|
|
477
|
-
err = zipWriteInFileInZip (zf,buf,(unsigned)size_read);
|
|
478
|
-
if (err<0)
|
|
479
|
-
{
|
|
480
|
-
printf("error in writing %s in the zipfile\n",
|
|
481
|
-
filenameinzip);
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
}
|
|
485
|
-
} while ((err == ZIP_OK) && (size_read>0));
|
|
486
|
-
|
|
487
|
-
if (fin)
|
|
488
|
-
fclose(fin);
|
|
489
|
-
|
|
490
|
-
if (err<0)
|
|
491
|
-
err=ZIP_ERRNO;
|
|
492
|
-
else
|
|
493
|
-
{
|
|
494
|
-
err = zipCloseFileInZip(zf);
|
|
495
|
-
if (err!=ZIP_OK)
|
|
496
|
-
printf("error in closing %s in the zipfile\n",
|
|
497
|
-
filenameinzip);
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
errclose = zipClose(zf,NULL);
|
|
502
|
-
if (errclose != ZIP_OK)
|
|
503
|
-
printf("error in closing %s\n",filename_try);
|
|
504
|
-
}
|
|
505
|
-
else
|
|
506
|
-
{
|
|
507
|
-
do_help();
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
free(buf);
|
|
511
|
-
return 0;
|
|
512
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
minizip.c
|
|
3
|
+
Version 1.1, February 14h, 2010
|
|
4
|
+
sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
|
|
5
|
+
|
|
6
|
+
Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
|
|
7
|
+
|
|
8
|
+
Modifications of Unzip for Zip64
|
|
9
|
+
Copyright (C) 2007-2008 Even Rouault
|
|
10
|
+
|
|
11
|
+
Modifications for Zip64 support on both zip and unzip
|
|
12
|
+
Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
|
|
17
|
+
#ifndef __USE_FILE_OFFSET64
|
|
18
|
+
#define __USE_FILE_OFFSET64
|
|
19
|
+
#endif
|
|
20
|
+
#ifndef __USE_LARGEFILE64
|
|
21
|
+
#define __USE_LARGEFILE64
|
|
22
|
+
#endif
|
|
23
|
+
#ifndef _LARGEFILE64_SOURCE
|
|
24
|
+
#define _LARGEFILE64_SOURCE
|
|
25
|
+
#endif
|
|
26
|
+
#ifndef _FILE_OFFSET_BIT
|
|
27
|
+
#define _FILE_OFFSET_BIT 64
|
|
28
|
+
#endif
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
#if defined(__APPLE__) || defined(__HAIKU__) || defined(MINIZIP_FOPEN_NO_64)
|
|
32
|
+
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
|
33
|
+
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
|
34
|
+
#define FTELLO_FUNC(stream) ftello(stream)
|
|
35
|
+
#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
|
|
36
|
+
#else
|
|
37
|
+
#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
|
|
38
|
+
#define FTELLO_FUNC(stream) ftello64(stream)
|
|
39
|
+
#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
|
|
40
|
+
#endif
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
#ifndef _CRT_SECURE_NO_WARNINGS
|
|
45
|
+
# define _CRT_SECURE_NO_WARNINGS
|
|
46
|
+
#endif
|
|
47
|
+
#include <stdio.h>
|
|
48
|
+
#include <stdlib.h>
|
|
49
|
+
#include <string.h>
|
|
50
|
+
#include <time.h>
|
|
51
|
+
#include <errno.h>
|
|
52
|
+
#include <fcntl.h>
|
|
53
|
+
|
|
54
|
+
#ifdef _WIN32
|
|
55
|
+
# include <direct.h>
|
|
56
|
+
# include <io.h>
|
|
57
|
+
#else
|
|
58
|
+
# include <unistd.h>
|
|
59
|
+
# include <utime.h>
|
|
60
|
+
# include <sys/types.h>
|
|
61
|
+
# include <sys/stat.h>
|
|
62
|
+
#endif
|
|
63
|
+
|
|
64
|
+
#include "zip.h"
|
|
65
|
+
#include "ints.h"
|
|
66
|
+
|
|
67
|
+
#ifdef _WIN32
|
|
68
|
+
#define USEWIN32IOAPI
|
|
69
|
+
#include "iowin32.h"
|
|
70
|
+
#endif
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
#define WRITEBUFFERSIZE (16384)
|
|
75
|
+
#define MAXFILENAME (256)
|
|
76
|
+
|
|
77
|
+
#ifdef _WIN32
|
|
78
|
+
/* f: name of file to get info on, tmzip: return value: access,
|
|
79
|
+
modification and creation times, dt: dostime */
|
|
80
|
+
static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
|
|
81
|
+
(void)tmzip;
|
|
82
|
+
int ret = 0;
|
|
83
|
+
{
|
|
84
|
+
FILETIME ftLocal;
|
|
85
|
+
HANDLE hFind;
|
|
86
|
+
WIN32_FIND_DATAA ff32;
|
|
87
|
+
|
|
88
|
+
hFind = FindFirstFileA(f,&ff32);
|
|
89
|
+
if (hFind != INVALID_HANDLE_VALUE)
|
|
90
|
+
{
|
|
91
|
+
FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal);
|
|
92
|
+
FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0);
|
|
93
|
+
FindClose(hFind);
|
|
94
|
+
ret = 1;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return ret;
|
|
98
|
+
}
|
|
99
|
+
#elif defined(__unix__) || defined(__unix) || defined(__APPLE__)
|
|
100
|
+
/* f: name of file to get info on, tmzip: return value: access,
|
|
101
|
+
modification and creation times, dt: dostime */
|
|
102
|
+
static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
|
|
103
|
+
(void)dt;
|
|
104
|
+
int ret=0;
|
|
105
|
+
struct stat s; /* results of stat() */
|
|
106
|
+
struct tm* filedate;
|
|
107
|
+
time_t tm_t=0;
|
|
108
|
+
|
|
109
|
+
if (strcmp(f,"-")!=0)
|
|
110
|
+
{
|
|
111
|
+
char name[MAXFILENAME+1];
|
|
112
|
+
size_t len = strlen(f);
|
|
113
|
+
if (len > MAXFILENAME)
|
|
114
|
+
len = MAXFILENAME;
|
|
115
|
+
|
|
116
|
+
strncpy(name, f,MAXFILENAME-1);
|
|
117
|
+
/* strncpy doesn't append the trailing NULL, of the string is too long. */
|
|
118
|
+
name[ MAXFILENAME ] = '\0';
|
|
119
|
+
|
|
120
|
+
if (name[len - 1] == '/')
|
|
121
|
+
name[len - 1] = '\0';
|
|
122
|
+
/* not all systems allow stat'ing a file with / appended */
|
|
123
|
+
if (stat(name,&s)==0)
|
|
124
|
+
{
|
|
125
|
+
tm_t = s.st_mtime;
|
|
126
|
+
ret = 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
filedate = localtime(&tm_t);
|
|
130
|
+
|
|
131
|
+
tmzip->tm_sec = filedate->tm_sec;
|
|
132
|
+
tmzip->tm_min = filedate->tm_min;
|
|
133
|
+
tmzip->tm_hour = filedate->tm_hour;
|
|
134
|
+
tmzip->tm_mday = filedate->tm_mday;
|
|
135
|
+
tmzip->tm_mon = filedate->tm_mon ;
|
|
136
|
+
tmzip->tm_year = filedate->tm_year;
|
|
137
|
+
|
|
138
|
+
return ret;
|
|
139
|
+
}
|
|
140
|
+
#else
|
|
141
|
+
/* f: name of file to get info on, tmzip: return value: access,
|
|
142
|
+
modification and creation times, dt: dostime */
|
|
143
|
+
static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
|
|
144
|
+
(void)f;
|
|
145
|
+
(void)tmzip;
|
|
146
|
+
(void)dt;
|
|
147
|
+
return 0;
|
|
148
|
+
}
|
|
149
|
+
#endif
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
static int check_exist_file(const char* filename) {
|
|
155
|
+
FILE* ftestexist;
|
|
156
|
+
int ret = 1;
|
|
157
|
+
ftestexist = FOPEN_FUNC(filename,"rb");
|
|
158
|
+
if (ftestexist==NULL)
|
|
159
|
+
ret = 0;
|
|
160
|
+
else
|
|
161
|
+
fclose(ftestexist);
|
|
162
|
+
return ret;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static void do_banner(void) {
|
|
166
|
+
printf("MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant\n");
|
|
167
|
+
printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n");
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
static void do_help(void) {
|
|
171
|
+
printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \
|
|
172
|
+
" -o Overwrite existing file.zip\n" \
|
|
173
|
+
" -a Append to existing file.zip\n" \
|
|
174
|
+
" -0 Store only\n" \
|
|
175
|
+
" -1 Compress faster\n" \
|
|
176
|
+
" -9 Compress better\n\n" \
|
|
177
|
+
" -j exclude path. store only the file name.\n\n");
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* calculate the CRC32 of a file,
|
|
181
|
+
because to encrypt a file, we need known the CRC32 of the file before */
|
|
182
|
+
static int getFileCrc(const char* filenameinzip, void* buf, unsigned long size_buf, unsigned long* result_crc) {
|
|
183
|
+
unsigned long calculate_crc=0;
|
|
184
|
+
int err=ZIP_OK;
|
|
185
|
+
FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
|
|
186
|
+
|
|
187
|
+
unsigned long size_read = 0;
|
|
188
|
+
/* unsigned long total_read = 0; */
|
|
189
|
+
if (fin==NULL)
|
|
190
|
+
{
|
|
191
|
+
err = ZIP_ERRNO;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (err == ZIP_OK)
|
|
195
|
+
do
|
|
196
|
+
{
|
|
197
|
+
err = ZIP_OK;
|
|
198
|
+
size_read = (unsigned long)fread(buf,1,size_buf,fin);
|
|
199
|
+
if (size_read < size_buf)
|
|
200
|
+
if (feof(fin)==0)
|
|
201
|
+
{
|
|
202
|
+
printf("error in reading %s\n",filenameinzip);
|
|
203
|
+
err = ZIP_ERRNO;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (size_read>0)
|
|
207
|
+
calculate_crc = crc32_z(calculate_crc,buf,size_read);
|
|
208
|
+
/* total_read += size_read; */
|
|
209
|
+
|
|
210
|
+
} while ((err == ZIP_OK) && (size_read>0));
|
|
211
|
+
|
|
212
|
+
if (fin)
|
|
213
|
+
fclose(fin);
|
|
214
|
+
|
|
215
|
+
*result_crc=calculate_crc;
|
|
216
|
+
printf("file %s crc %lx\n", filenameinzip, calculate_crc);
|
|
217
|
+
return err;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
static int isLargeFile(const char* filename) {
|
|
221
|
+
int largeFile = 0;
|
|
222
|
+
ZPOS64_T pos = 0;
|
|
223
|
+
FILE* pFile = FOPEN_FUNC(filename, "rb");
|
|
224
|
+
|
|
225
|
+
if(pFile != NULL)
|
|
226
|
+
{
|
|
227
|
+
FSEEKO_FUNC(pFile, 0, SEEK_END);
|
|
228
|
+
pos = (ZPOS64_T)FTELLO_FUNC(pFile);
|
|
229
|
+
|
|
230
|
+
printf("File : %s is %"PUI64" bytes\n", filename, pos);
|
|
231
|
+
|
|
232
|
+
if(pos >= 0xffffffff)
|
|
233
|
+
largeFile = 1;
|
|
234
|
+
|
|
235
|
+
fclose(pFile);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
return largeFile;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
int main(int argc, char *argv[]) {
|
|
242
|
+
int i;
|
|
243
|
+
int opt_overwrite=0;
|
|
244
|
+
int opt_compress_level=Z_DEFAULT_COMPRESSION;
|
|
245
|
+
int opt_exclude_path=0;
|
|
246
|
+
int zipfilenamearg = 0;
|
|
247
|
+
char filename_try[MAXFILENAME+16];
|
|
248
|
+
int zipok;
|
|
249
|
+
int err=0;
|
|
250
|
+
unsigned long size_buf=0;
|
|
251
|
+
void* buf=NULL;
|
|
252
|
+
const char* password=NULL;
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
do_banner();
|
|
256
|
+
if (argc==1)
|
|
257
|
+
{
|
|
258
|
+
do_help();
|
|
259
|
+
return 0;
|
|
260
|
+
}
|
|
261
|
+
else
|
|
262
|
+
{
|
|
263
|
+
for (i=1;i<argc;i++)
|
|
264
|
+
{
|
|
265
|
+
if ((*argv[i])=='-')
|
|
266
|
+
{
|
|
267
|
+
const char *p=argv[i]+1;
|
|
268
|
+
|
|
269
|
+
while ((*p)!='\0')
|
|
270
|
+
{
|
|
271
|
+
char c=*(p++);
|
|
272
|
+
if ((c=='o') || (c=='O'))
|
|
273
|
+
opt_overwrite = 1;
|
|
274
|
+
if ((c=='a') || (c=='A'))
|
|
275
|
+
opt_overwrite = 2;
|
|
276
|
+
if ((c>='0') && (c<='9'))
|
|
277
|
+
opt_compress_level = c-'0';
|
|
278
|
+
if ((c=='j') || (c=='J'))
|
|
279
|
+
opt_exclude_path = 1;
|
|
280
|
+
|
|
281
|
+
if (((c=='p') || (c=='P')) && (i+1<argc))
|
|
282
|
+
{
|
|
283
|
+
password=argv[i+1];
|
|
284
|
+
i++;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
else
|
|
289
|
+
{
|
|
290
|
+
if (zipfilenamearg == 0)
|
|
291
|
+
{
|
|
292
|
+
zipfilenamearg = i ;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
size_buf = WRITEBUFFERSIZE;
|
|
299
|
+
buf = (void*)malloc(size_buf);
|
|
300
|
+
if (buf==NULL)
|
|
301
|
+
{
|
|
302
|
+
printf("Error allocating memory\n");
|
|
303
|
+
return ZIP_INTERNALERROR;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (zipfilenamearg==0)
|
|
307
|
+
{
|
|
308
|
+
zipok=0;
|
|
309
|
+
}
|
|
310
|
+
else
|
|
311
|
+
{
|
|
312
|
+
int len;
|
|
313
|
+
int dot_found=0;
|
|
314
|
+
|
|
315
|
+
zipok = 1 ;
|
|
316
|
+
strncpy(filename_try, argv[zipfilenamearg],MAXFILENAME-1);
|
|
317
|
+
/* strncpy doesn't append the trailing NULL, of the string is too long. */
|
|
318
|
+
filename_try[ MAXFILENAME ] = '\0';
|
|
319
|
+
|
|
320
|
+
len=(int)strlen(filename_try);
|
|
321
|
+
for (i=0;i<len;i++)
|
|
322
|
+
if (filename_try[i]=='.')
|
|
323
|
+
dot_found=1;
|
|
324
|
+
|
|
325
|
+
if (dot_found==0)
|
|
326
|
+
strcat(filename_try,".zip");
|
|
327
|
+
|
|
328
|
+
if (opt_overwrite==2)
|
|
329
|
+
{
|
|
330
|
+
/* if the file don't exist, we not append file */
|
|
331
|
+
if (check_exist_file(filename_try)==0)
|
|
332
|
+
opt_overwrite=1;
|
|
333
|
+
}
|
|
334
|
+
else
|
|
335
|
+
if (opt_overwrite==0)
|
|
336
|
+
if (check_exist_file(filename_try)!=0)
|
|
337
|
+
{
|
|
338
|
+
char rep=0;
|
|
339
|
+
do
|
|
340
|
+
{
|
|
341
|
+
char answer[128];
|
|
342
|
+
int ret;
|
|
343
|
+
printf("The file %s exists. Overwrite ? [y]es, [n]o, [a]ppend : ",filename_try);
|
|
344
|
+
ret = scanf("%1s",answer);
|
|
345
|
+
if (ret != 1)
|
|
346
|
+
{
|
|
347
|
+
exit(EXIT_FAILURE);
|
|
348
|
+
}
|
|
349
|
+
rep = answer[0] ;
|
|
350
|
+
if ((rep>='a') && (rep<='z'))
|
|
351
|
+
rep -= 0x20;
|
|
352
|
+
}
|
|
353
|
+
while ((rep!='Y') && (rep!='N') && (rep!='A'));
|
|
354
|
+
if (rep=='N')
|
|
355
|
+
zipok = 0;
|
|
356
|
+
if (rep=='A')
|
|
357
|
+
opt_overwrite = 2;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
if (zipok==1)
|
|
362
|
+
{
|
|
363
|
+
zipFile zf;
|
|
364
|
+
int errclose;
|
|
365
|
+
# ifdef USEWIN32IOAPI
|
|
366
|
+
zlib_filefunc64_def ffunc;
|
|
367
|
+
fill_win32_filefunc64A(&ffunc);
|
|
368
|
+
zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc);
|
|
369
|
+
# else
|
|
370
|
+
zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0);
|
|
371
|
+
# endif
|
|
372
|
+
|
|
373
|
+
if (zf == NULL)
|
|
374
|
+
{
|
|
375
|
+
printf("error opening %s\n",filename_try);
|
|
376
|
+
err= ZIP_ERRNO;
|
|
377
|
+
}
|
|
378
|
+
else
|
|
379
|
+
printf("creating %s\n",filename_try);
|
|
380
|
+
|
|
381
|
+
for (i=zipfilenamearg+1;(i<argc) && (err==ZIP_OK);i++)
|
|
382
|
+
{
|
|
383
|
+
if (!((((*(argv[i]))=='-') || ((*(argv[i]))=='/')) &&
|
|
384
|
+
((argv[i][1]=='o') || (argv[i][1]=='O') ||
|
|
385
|
+
(argv[i][1]=='a') || (argv[i][1]=='A') ||
|
|
386
|
+
(argv[i][1]=='p') || (argv[i][1]=='P') ||
|
|
387
|
+
((argv[i][1]>='0') && (argv[i][1]<='9'))) &&
|
|
388
|
+
(strlen(argv[i]) == 2)))
|
|
389
|
+
{
|
|
390
|
+
FILE * fin = NULL;
|
|
391
|
+
size_t size_read;
|
|
392
|
+
const char* filenameinzip = argv[i];
|
|
393
|
+
const char *savefilenameinzip;
|
|
394
|
+
zip_fileinfo zi;
|
|
395
|
+
unsigned long crcFile=0;
|
|
396
|
+
int zip64 = 0;
|
|
397
|
+
|
|
398
|
+
zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
|
|
399
|
+
zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0;
|
|
400
|
+
zi.dosDate = 0;
|
|
401
|
+
zi.internal_fa = 0;
|
|
402
|
+
zi.external_fa = 0;
|
|
403
|
+
filetime(filenameinzip,&zi.tmz_date,&zi.dosDate);
|
|
404
|
+
|
|
405
|
+
/*
|
|
406
|
+
err = zipOpenNewFileInZip(zf,filenameinzip,&zi,
|
|
407
|
+
NULL,0,NULL,0,NULL / * comment * /,
|
|
408
|
+
(opt_compress_level != 0) ? Z_DEFLATED : 0,
|
|
409
|
+
opt_compress_level);
|
|
410
|
+
*/
|
|
411
|
+
if ((password != NULL) && (err==ZIP_OK))
|
|
412
|
+
err = getFileCrc(filenameinzip,buf,size_buf,&crcFile);
|
|
413
|
+
|
|
414
|
+
zip64 = isLargeFile(filenameinzip);
|
|
415
|
+
|
|
416
|
+
/* The path name saved, should not include a leading slash. */
|
|
417
|
+
/*if it did, windows/xp and dynazip couldn't read the zip file. */
|
|
418
|
+
savefilenameinzip = filenameinzip;
|
|
419
|
+
while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' )
|
|
420
|
+
{
|
|
421
|
+
savefilenameinzip++;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/*should the zip file contain any path at all?*/
|
|
425
|
+
if( opt_exclude_path )
|
|
426
|
+
{
|
|
427
|
+
const char *tmpptr;
|
|
428
|
+
const char *lastslash = 0;
|
|
429
|
+
for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++)
|
|
430
|
+
{
|
|
431
|
+
if( *tmpptr == '\\' || *tmpptr == '/')
|
|
432
|
+
{
|
|
433
|
+
lastslash = tmpptr;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
if( lastslash != NULL )
|
|
437
|
+
{
|
|
438
|
+
savefilenameinzip = lastslash+1; /* base filename follows last slash. */
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
/**/
|
|
443
|
+
err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi,
|
|
444
|
+
NULL,0,NULL,0,NULL /* comment*/,
|
|
445
|
+
(opt_compress_level != 0) ? Z_DEFLATED : 0,
|
|
446
|
+
opt_compress_level,0,
|
|
447
|
+
/* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
|
|
448
|
+
-MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
|
|
449
|
+
password,crcFile, zip64);
|
|
450
|
+
|
|
451
|
+
if (err != ZIP_OK)
|
|
452
|
+
printf("error in opening %s in zipfile\n",filenameinzip);
|
|
453
|
+
else
|
|
454
|
+
{
|
|
455
|
+
fin = FOPEN_FUNC(filenameinzip,"rb");
|
|
456
|
+
if (fin==NULL)
|
|
457
|
+
{
|
|
458
|
+
err=ZIP_ERRNO;
|
|
459
|
+
printf("error in opening %s for reading\n",filenameinzip);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if (err == ZIP_OK)
|
|
464
|
+
do
|
|
465
|
+
{
|
|
466
|
+
err = ZIP_OK;
|
|
467
|
+
size_read = fread(buf,1,size_buf,fin);
|
|
468
|
+
if (size_read < size_buf)
|
|
469
|
+
if (feof(fin)==0)
|
|
470
|
+
{
|
|
471
|
+
printf("error in reading %s\n",filenameinzip);
|
|
472
|
+
err = ZIP_ERRNO;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
if (size_read>0)
|
|
476
|
+
{
|
|
477
|
+
err = zipWriteInFileInZip (zf,buf,(unsigned)size_read);
|
|
478
|
+
if (err<0)
|
|
479
|
+
{
|
|
480
|
+
printf("error in writing %s in the zipfile\n",
|
|
481
|
+
filenameinzip);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
}
|
|
485
|
+
} while ((err == ZIP_OK) && (size_read>0));
|
|
486
|
+
|
|
487
|
+
if (fin)
|
|
488
|
+
fclose(fin);
|
|
489
|
+
|
|
490
|
+
if (err<0)
|
|
491
|
+
err=ZIP_ERRNO;
|
|
492
|
+
else
|
|
493
|
+
{
|
|
494
|
+
err = zipCloseFileInZip(zf);
|
|
495
|
+
if (err!=ZIP_OK)
|
|
496
|
+
printf("error in closing %s in the zipfile\n",
|
|
497
|
+
filenameinzip);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
errclose = zipClose(zf,NULL);
|
|
502
|
+
if (errclose != ZIP_OK)
|
|
503
|
+
printf("error in closing %s\n",filename_try);
|
|
504
|
+
}
|
|
505
|
+
else
|
|
506
|
+
{
|
|
507
|
+
do_help();
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
free(buf);
|
|
511
|
+
return 0;
|
|
512
|
+
}
|