@appzung/react-native-code-push 8.3.2 → 10.0.0-rc1

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.
Files changed (191) hide show
  1. package/CodePush.js +22 -19
  2. package/CodePush.podspec +3 -3
  3. package/LICENSE.md +1 -1
  4. package/README.md +159 -296
  5. package/android/app/.gradle/config.properties +2 -0
  6. package/android/app/build.gradle +2 -0
  7. package/android/app/local.properties +8 -0
  8. package/android/app/src/main/AndroidManifest.xml +1 -2
  9. package/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java +27 -21
  10. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushBuilder.java +5 -5
  11. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushConstants.java +1 -1
  12. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushDialog.java +1 -1
  13. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInstallMode.java +2 -2
  14. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInvalidPublicKeyException.java +2 -2
  15. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInvalidUpdateException.java +1 -1
  16. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushMalformedDataException.java +2 -2
  17. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java +5 -5
  18. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushNotInitializedException.java +2 -2
  19. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushTelemetryManager.java +14 -14
  20. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUnknownException.java +2 -2
  21. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateManager.java +1 -1
  22. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateState.java +2 -2
  23. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateUtils.java +16 -9
  24. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUtils.java +1 -1
  25. package/android/app/src/main/java/com/microsoft/codepush/react/DownloadProgress.java +1 -1
  26. package/android/app/src/main/java/com/microsoft/codepush/react/DownloadProgressCallback.java +1 -1
  27. package/android/app/src/main/java/com/microsoft/codepush/react/FileUtils.java +1 -1
  28. package/android/app/src/main/java/com/microsoft/codepush/react/ReactInstanceHolder.java +1 -1
  29. package/android/app/src/main/java/com/microsoft/codepush/react/SettingsManager.java +1 -1
  30. package/android/app/src/main/java/com/microsoft/codepush/react/TLSSocketFactory.java +1 -1
  31. package/android/build.gradle +3 -0
  32. package/android/codepush.gradle +3 -3
  33. package/docs/advanced-usage.md +56 -0
  34. package/docs/api-android.md +12 -75
  35. package/docs/api-ios.md +5 -17
  36. package/docs/api-js.md +18 -55
  37. package/docs/setup-android.md +15 -397
  38. package/docs/setup-ios.md +24 -198
  39. package/docs/setup-windows.md +7 -74
  40. package/ios/CodePush/CodePush.h +4 -4
  41. package/ios/CodePush/CodePush.m +10 -9
  42. package/ios/CodePush/CodePushConfig.m +14 -11
  43. package/ios/CodePush/CodePushPackage.m +60 -60
  44. package/ios/CodePush/CodePushTelemetryManager.m +13 -13
  45. package/ios/CodePush.xcodeproj/project.pbxproj +24 -470
  46. package/ios/PrivacyInfo.xcprivacy +31 -0
  47. package/package.json +27 -24
  48. package/react-native.config.js +1 -1
  49. package/scripts/generateBundledResourcesHash.js +1 -1
  50. package/scripts/getFilesInFolder.js +1 -1
  51. package/scripts/recordFilesBeforeBundleCommand.js +1 -1
  52. package/typings/react-native-code-push.d.ts +22 -22
  53. package/windows/CodePush/CodePushConfig.cpp +3 -3
  54. package/windows/CodePush/CodePushConfig.h +3 -3
  55. package/windows/CodePush/CodePushNativeModule.cpp +27 -27
  56. package/windows/CodePush/CodePushNativeModule.h +4 -4
  57. package/windows/CodePush/CodePushTelemetryManager.cpp +12 -12
  58. package/windows/CodePush/CodePushTelemetryManager.h +1 -1
  59. package/.azurepipelines/build-rn-code-push-1es.yml +0 -104
  60. package/.azurepipelines/test-rn-code-push.yml +0 -94
  61. package/.config/CredScanSuppressions.json +0 -14
  62. package/SECURITY.md +0 -41
  63. package/docs/multi-deployment-testing-android.md +0 -148
  64. package/docs/multi-deployment-testing-ios.md +0 -59
  65. package/ios/CodePush/Base64/Base64/MF_Base64Additions.h +0 -34
  66. package/ios/CodePush/Base64/Base64/MF_Base64Additions.m +0 -252
  67. package/ios/CodePush/Base64/README.md +0 -47
  68. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithm.h +0 -69
  69. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.h +0 -16
  70. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.m +0 -51
  71. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.h +0 -15
  72. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.m +0 -55
  73. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.h +0 -24
  74. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.m +0 -41
  75. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.h +0 -28
  76. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.m +0 -205
  77. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.h +0 -103
  78. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.m +0 -322
  79. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.h +0 -37
  80. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.m +0 -145
  81. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.h +0 -35
  82. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.m +0 -551
  83. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTRSAlgorithm.h +0 -23
  84. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.h +0 -43
  85. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.m +0 -230
  86. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.h +0 -31
  87. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.m +0 -113
  88. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.h +0 -38
  89. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.m +0 -500
  90. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.h +0 -18
  91. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.m +0 -214
  92. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.h +0 -23
  93. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.m +0 -29
  94. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.h +0 -19
  95. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.m +0 -68
  96. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.h +0 -18
  97. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.m +0 -72
  98. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.h +0 -67
  99. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.m +0 -111
  100. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.h +0 -119
  101. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.m +0 -307
  102. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.h +0 -94
  103. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.m +0 -619
  104. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.h +0 -164
  105. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.m +0 -514
  106. package/ios/CodePush/JWT/Core/Coding/JWTCoding.h +0 -24
  107. package/ios/CodePush/JWT/Core/Coding/JWTCoding.m +0 -11
  108. package/ios/CodePush/JWT/Core/FrameworkSupplement/JWT.h +0 -52
  109. package/ios/CodePush/JWT/Core/FrameworkSupplement/Map.modulemap +0 -5
  110. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.h +0 -28
  111. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.m +0 -70
  112. package/ios/CodePush/JWT/Core/Supplement/JWTDeprecations.h +0 -22
  113. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.h +0 -34
  114. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.m +0 -73
  115. package/ios/CodePush/JWT/LICENSE +0 -19
  116. package/ios/CodePush/JWT/README.md +0 -489
  117. package/ios/CodePush/SSZipArchive/Common.h +0 -81
  118. package/ios/CodePush/SSZipArchive/README.md +0 -1
  119. package/ios/CodePush/SSZipArchive/SSZipArchive.h +0 -76
  120. package/ios/CodePush/SSZipArchive/SSZipArchive.m +0 -691
  121. package/ios/CodePush/SSZipArchive/aes/aes.h +0 -198
  122. package/ios/CodePush/SSZipArchive/aes/aes_via_ace.h +0 -541
  123. package/ios/CodePush/SSZipArchive/aes/aescrypt.c +0 -294
  124. package/ios/CodePush/SSZipArchive/aes/aeskey.c +0 -548
  125. package/ios/CodePush/SSZipArchive/aes/aesopt.h +0 -739
  126. package/ios/CodePush/SSZipArchive/aes/aestab.c +0 -391
  127. package/ios/CodePush/SSZipArchive/aes/aestab.h +0 -173
  128. package/ios/CodePush/SSZipArchive/aes/brg_endian.h +0 -126
  129. package/ios/CodePush/SSZipArchive/aes/brg_types.h +0 -219
  130. package/ios/CodePush/SSZipArchive/aes/entropy.c +0 -54
  131. package/ios/CodePush/SSZipArchive/aes/entropy.h +0 -16
  132. package/ios/CodePush/SSZipArchive/aes/fileenc.c +0 -144
  133. package/ios/CodePush/SSZipArchive/aes/fileenc.h +0 -121
  134. package/ios/CodePush/SSZipArchive/aes/hmac.c +0 -145
  135. package/ios/CodePush/SSZipArchive/aes/hmac.h +0 -103
  136. package/ios/CodePush/SSZipArchive/aes/prng.c +0 -155
  137. package/ios/CodePush/SSZipArchive/aes/prng.h +0 -82
  138. package/ios/CodePush/SSZipArchive/aes/pwd2key.c +0 -103
  139. package/ios/CodePush/SSZipArchive/aes/pwd2key.h +0 -57
  140. package/ios/CodePush/SSZipArchive/aes/sha1.c +0 -258
  141. package/ios/CodePush/SSZipArchive/aes/sha1.h +0 -73
  142. package/ios/CodePush/SSZipArchive/minizip/crypt.h +0 -130
  143. package/ios/CodePush/SSZipArchive/minizip/ioapi.c +0 -369
  144. package/ios/CodePush/SSZipArchive/minizip/ioapi.h +0 -175
  145. package/ios/CodePush/SSZipArchive/minizip/mztools.c +0 -284
  146. package/ios/CodePush/SSZipArchive/minizip/mztools.h +0 -31
  147. package/ios/CodePush/SSZipArchive/minizip/unzip.c +0 -1839
  148. package/ios/CodePush/SSZipArchive/minizip/unzip.h +0 -248
  149. package/ios/CodePush/SSZipArchive/minizip/zip.c +0 -1910
  150. package/ios/CodePush/SSZipArchive/minizip/zip.h +0 -202
  151. package/scripts/postlink/android/postlink.js +0 -87
  152. package/scripts/postlink/ios/postlink.js +0 -116
  153. package/scripts/postlink/run.js +0 -11
  154. package/scripts/postunlink/android/postunlink.js +0 -74
  155. package/scripts/postunlink/ios/postunlink.js +0 -87
  156. package/scripts/postunlink/run.js +0 -11
  157. package/scripts/tools/linkToolsAndroid.js +0 -57
  158. package/scripts/tools/linkToolsIos.js +0 -130
  159. package/windows-legacy/CodePush/CodePush.csproj +0 -128
  160. package/windows-legacy/CodePush/CodePushUtils.cs +0 -47
  161. package/windows-legacy/CodePush/FileUtils.cs +0 -40
  162. package/windows-legacy/CodePush/Properties/AssemblyInfo.cs +0 -29
  163. package/windows-legacy/CodePush/Properties/CodePush.rd.xml +0 -33
  164. package/windows-legacy/CodePush/UpdateManager.cs +0 -305
  165. package/windows-legacy/CodePush/UpdateUtils.cs +0 -46
  166. package/windows-legacy/CodePush.Net46/Adapters/Http/HttpProgress.cs +0 -28
  167. package/windows-legacy/CodePush.Net46/Adapters/Storage/ApplicationDataContainer.cs +0 -106
  168. package/windows-legacy/CodePush.Net46/CodePush.Net46.csproj +0 -103
  169. package/windows-legacy/CodePush.Net46/CodePushUtils.cs +0 -158
  170. package/windows-legacy/CodePush.Net46/FileUtils.cs +0 -55
  171. package/windows-legacy/CodePush.Net46/Properties/AssemblyInfo.cs +0 -36
  172. package/windows-legacy/CodePush.Net46/UpdateManager.cs +0 -330
  173. package/windows-legacy/CodePush.Net46/UpdateUtils.cs +0 -70
  174. package/windows-legacy/CodePush.Net46/packages.config +0 -5
  175. package/windows-legacy/CodePush.Net46.Test/ApplicationDataContainerTest.cs +0 -105
  176. package/windows-legacy/CodePush.Net46.Test/CodePush.Net46.Test.csproj +0 -137
  177. package/windows-legacy/CodePush.Net46.Test/Properties/AssemblyInfo.cs +0 -36
  178. package/windows-legacy/CodePush.Net46.Test/TelemetryManagerTest.cs +0 -117
  179. package/windows-legacy/CodePush.Net46.Test/app.config +0 -11
  180. package/windows-legacy/CodePush.Net46.Test/packages.config +0 -4
  181. package/windows-legacy/CodePush.Shared/CodePush.Shared.projitems +0 -22
  182. package/windows-legacy/CodePush.Shared/CodePush.Shared.shproj +0 -13
  183. package/windows-legacy/CodePush.Shared/CodePushConstants.cs +0 -35
  184. package/windows-legacy/CodePush.Shared/CodePushNativeModule.cs +0 -329
  185. package/windows-legacy/CodePush.Shared/CodePushReactPackage.cs +0 -235
  186. package/windows-legacy/CodePush.Shared/CodePushUtils.cs +0 -70
  187. package/windows-legacy/CodePush.Shared/InstallMode.cs +0 -9
  188. package/windows-legacy/CodePush.Shared/MinimumBackgroundListener.cs +0 -44
  189. package/windows-legacy/CodePush.Shared/SettingsManager.cs +0 -148
  190. package/windows-legacy/CodePush.Shared/TelemetryManager.cs +0 -250
  191. package/windows-legacy/CodePush.Shared/UpdateState.cs +0 -9
@@ -1,284 +0,0 @@
1
- /*
2
- Additional tools for Minizip
3
- Code: Xavier Roche '2004
4
- License: Same as ZLIB (www.gzip.org)
5
- */
6
-
7
- /* Code */
8
- #include <stdio.h>
9
- #include <stdlib.h>
10
- #include <string.h>
11
- #include "zlib.h"
12
- #include "unzip.h"
13
- #include "mztools.h"
14
-
15
- #define READ_8(adr) ((unsigned char)*(adr))
16
- #define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) )
17
- #define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) )
18
-
19
- #define WRITE_8(buff, n) do { \
20
- *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \
21
- } while(0)
22
- #define WRITE_16(buff, n) do { \
23
- WRITE_8((unsigned char*)(buff), n); \
24
- WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \
25
- } while(0)
26
- #define WRITE_32(buff, n) do { \
27
- WRITE_16((unsigned char*)(buff), (n) & 0xffff); \
28
- WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \
29
- } while(0)
30
-
31
- extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered)
32
- const char* file;
33
- const char* fileOut;
34
- const char* fileOutTmp;
35
- uLong* nRecovered;
36
- uLong* bytesRecovered;
37
- {
38
- int err = Z_OK;
39
- FILE* fpZip = fopen(file, "rb");
40
- FILE* fpOut = fopen(fileOut, "wb");
41
- FILE* fpOutCD = fopen(fileOutTmp, "wb");
42
- if (fpZip != NULL && fpOut != NULL) {
43
- int entries = 0;
44
- uLong totalBytes = 0;
45
- char header[30];
46
- char filename[256];
47
- char extra[1024];
48
- int offset = 0;
49
- int offsetCD = 0;
50
- while ( fread(header, 1, 30, fpZip) == 30 ) {
51
- int currentOffset = offset;
52
-
53
- /* File entry */
54
- if (READ_32(header) == 0x04034b50) {
55
- unsigned int version = READ_16(header + 4);
56
- unsigned int gpflag = READ_16(header + 6);
57
- unsigned int method = READ_16(header + 8);
58
- unsigned int filetime = READ_16(header + 10);
59
- unsigned int filedate = READ_16(header + 12);
60
- unsigned int crc = READ_32(header + 14); /* crc */
61
- unsigned int cpsize = READ_32(header + 18); /* compressed size */
62
- unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */
63
- unsigned int fnsize = READ_16(header + 26); /* file name length */
64
- unsigned int extsize = READ_16(header + 28); /* extra field length */
65
- filename[0] = extra[0] = '\0';
66
-
67
- /* Header */
68
- if (fwrite(header, 1, 30, fpOut) == 30) {
69
- offset += 30;
70
- } else {
71
- err = Z_ERRNO;
72
- break;
73
- }
74
-
75
- /* Filename */
76
- if (fnsize > 0) {
77
- if (fread(filename, 1, fnsize, fpZip) == fnsize) {
78
- if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {
79
- offset += fnsize;
80
- } else {
81
- err = Z_ERRNO;
82
- break;
83
- }
84
- } else {
85
- err = Z_ERRNO;
86
- break;
87
- }
88
- } else {
89
- err = Z_STREAM_ERROR;
90
- break;
91
- }
92
-
93
- /* Extra field */
94
- if (extsize > 0) {
95
- if (fread(extra, 1, extsize, fpZip) == extsize) {
96
- if (fwrite(extra, 1, extsize, fpOut) == extsize) {
97
- offset += extsize;
98
- } else {
99
- err = Z_ERRNO;
100
- break;
101
- }
102
- } else {
103
- err = Z_ERRNO;
104
- break;
105
- }
106
- }
107
-
108
- /* Data */
109
- {
110
- int dataSize = cpsize;
111
- if (dataSize == 0) {
112
- dataSize = uncpsize;
113
- }
114
- if (dataSize > 0) {
115
- char* data = malloc(dataSize);
116
- if (data != NULL) {
117
- if ((int)fread(data, 1, dataSize, fpZip) == dataSize) {
118
- if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) {
119
- offset += dataSize;
120
- totalBytes += dataSize;
121
- } else {
122
- err = Z_ERRNO;
123
- }
124
- } else {
125
- err = Z_ERRNO;
126
- }
127
- free(data);
128
- if (err != Z_OK) {
129
- break;
130
- }
131
- } else {
132
- err = Z_MEM_ERROR;
133
- break;
134
- }
135
- }
136
- }
137
-
138
- /* Central directory entry */
139
- {
140
- char centralDirectoryEntryHeader[46];
141
- //char* comment = "";
142
- //int comsize = (int) strlen(comment);
143
- WRITE_32(centralDirectoryEntryHeader, 0x02014b50);
144
- WRITE_16(centralDirectoryEntryHeader + 4, version);
145
- WRITE_16(centralDirectoryEntryHeader + 6, version);
146
- WRITE_16(centralDirectoryEntryHeader + 8, gpflag);
147
- WRITE_16(centralDirectoryEntryHeader + 10, method);
148
- WRITE_16(centralDirectoryEntryHeader + 12, filetime);
149
- WRITE_16(centralDirectoryEntryHeader + 14, filedate);
150
- WRITE_32(centralDirectoryEntryHeader + 16, crc);
151
- WRITE_32(centralDirectoryEntryHeader + 20, cpsize);
152
- WRITE_32(centralDirectoryEntryHeader + 24, uncpsize);
153
- WRITE_16(centralDirectoryEntryHeader + 28, fnsize);
154
- WRITE_16(centralDirectoryEntryHeader + 30, extsize);
155
- WRITE_16(centralDirectoryEntryHeader + 32, 0 /*comsize*/);
156
- WRITE_16(centralDirectoryEntryHeader + 34, 0); /* disk # */
157
- WRITE_16(centralDirectoryEntryHeader + 36, 0); /* int attrb */
158
- WRITE_32(centralDirectoryEntryHeader + 38, 0); /* ext attrb */
159
- WRITE_32(centralDirectoryEntryHeader + 42, currentOffset);
160
- /* Header */
161
- if (fwrite(centralDirectoryEntryHeader, 1, 46, fpOutCD) == 46) {
162
- offsetCD += 46;
163
-
164
- /* Filename */
165
- if (fnsize > 0) {
166
- if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) {
167
- offsetCD += fnsize;
168
- } else {
169
- err = Z_ERRNO;
170
- break;
171
- }
172
- } else {
173
- err = Z_STREAM_ERROR;
174
- break;
175
- }
176
-
177
- /* Extra field */
178
- if (extsize > 0) {
179
- if (fwrite(extra, 1, extsize, fpOutCD) == extsize) {
180
- offsetCD += extsize;
181
- } else {
182
- err = Z_ERRNO;
183
- break;
184
- }
185
- }
186
-
187
- /* Comment field */
188
- /*
189
- if (comsize > 0) {
190
- if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) {
191
- offsetCD += comsize;
192
- } else {
193
- err = Z_ERRNO;
194
- break;
195
- }
196
- }
197
- */
198
-
199
- } else {
200
- err = Z_ERRNO;
201
- break;
202
- }
203
- }
204
-
205
- /* Success */
206
- entries++;
207
-
208
- } else {
209
- break;
210
- }
211
- }
212
-
213
- /* Final central directory */
214
- {
215
- int entriesZip = entries;
216
- char finalCentralDirectoryHeader[22];
217
- //char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools";
218
- //int comsize = (int) strlen(comment);
219
- if (entriesZip > 0xffff) {
220
- entriesZip = 0xffff;
221
- }
222
- WRITE_32(finalCentralDirectoryHeader, 0x06054b50);
223
- WRITE_16(finalCentralDirectoryHeader + 4, 0); /* disk # */
224
- WRITE_16(finalCentralDirectoryHeader + 6, 0); /* disk # */
225
- WRITE_16(finalCentralDirectoryHeader + 8, entriesZip); /* hack */
226
- WRITE_16(finalCentralDirectoryHeader + 10, entriesZip); /* hack */
227
- WRITE_32(finalCentralDirectoryHeader + 12, offsetCD); /* size of CD */
228
- WRITE_32(finalCentralDirectoryHeader + 16, offset); /* offset to CD */
229
- WRITE_16(finalCentralDirectoryHeader + 20, 0 /*comsize*/); /* comment */
230
-
231
- /* Header */
232
- if (fwrite(finalCentralDirectoryHeader, 1, 22, fpOutCD) == 22) {
233
-
234
- /* Comment field */
235
- /*
236
- if (comsize > 0) {
237
- if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) {
238
- err = Z_ERRNO;
239
- }
240
- }
241
- */
242
- } else {
243
- err = Z_ERRNO;
244
- }
245
- }
246
-
247
- /* Final merge (file + central directory) */
248
- fclose(fpOutCD);
249
- if (err == Z_OK) {
250
- fpOutCD = fopen(fileOutTmp, "rb");
251
- if (fpOutCD != NULL) {
252
- int nRead;
253
- char buffer[8192];
254
- while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) {
255
- if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) {
256
- err = Z_ERRNO;
257
- break;
258
- }
259
- }
260
- fclose(fpOutCD);
261
- }
262
- }
263
-
264
- /* Close */
265
- fclose(fpZip);
266
- fclose(fpOut);
267
-
268
- /* Wipe temporary file */
269
- (void)remove(fileOutTmp);
270
-
271
- /* Number of recovered entries */
272
- if (err == Z_OK) {
273
- if (nRecovered != NULL) {
274
- *nRecovered = entries;
275
- }
276
- if (bytesRecovered != NULL) {
277
- *bytesRecovered = totalBytes;
278
- }
279
- }
280
- } else {
281
- err = Z_STREAM_ERROR;
282
- }
283
- return err;
284
- }
@@ -1,31 +0,0 @@
1
- /*
2
- Additional tools for Minizip
3
- Code: Xavier Roche '2004
4
- License: Same as ZLIB (www.gzip.org)
5
- */
6
-
7
- #ifndef _zip_tools_H
8
- #define _zip_tools_H
9
-
10
- #ifdef __cplusplus
11
- extern "C" {
12
- #endif
13
-
14
- #ifndef _ZLIB_H
15
- #include "zlib.h"
16
- #endif
17
-
18
- #include "unzip.h"
19
-
20
- /* Repair a ZIP file (missing central directory)
21
- file: file to recover
22
- fileOut: output file after recovery
23
- fileOutTmp: temporary file name used for recovery
24
- */
25
- extern int ZEXPORT unzRepair(const char* file,
26
- const char* fileOut,
27
- const char* fileOutTmp,
28
- uLong* nRecovered,
29
- uLong* bytesRecovered);
30
-
31
- #endif