Skip to content

Commit 1e20b86

Browse files
committed
see 01/06 log
1 parent 358cfa7 commit 1e20b86

28 files changed

+3922
-475
lines changed

bus-gradle-plugin/src/main/java/com/blankj/util/ZipUtils.java

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,13 +291,23 @@ public static List<File> unzipFileByKeyword(final File zipFile,
291291
if (isSpace(keyword)) {
292292
while (entries.hasMoreElements()) {
293293
ZipEntry entry = ((ZipEntry) entries.nextElement());
294-
if (!unzipChildFile(destDir, files, zip, entry)) return files;
294+
String entryName = entry.getName();
295+
if (entryName.contains("../")) {
296+
System.err.println("entryName: " + entryName + " is dangerous!");
297+
continue;
298+
}
299+
if (!unzipChildFile(destDir, files, zip, entry, entryName)) return files;
295300
}
296301
} else {
297302
while (entries.hasMoreElements()) {
298303
ZipEntry entry = ((ZipEntry) entries.nextElement());
299-
if (entry.getName().contains(keyword)) {
300-
if (!unzipChildFile(destDir, files, zip, entry)) return files;
304+
String entryName = entry.getName();
305+
if (entryName.contains("../")) {
306+
System.out.println("entryName: " + entryName + " is dangerous!");
307+
continue;
308+
}
309+
if (entryName.contains(keyword)) {
310+
if (!unzipChildFile(destDir, files, zip, entry, entryName)) return files;
301311
}
302312
}
303313
}
@@ -310,8 +320,9 @@ public static List<File> unzipFileByKeyword(final File zipFile,
310320
private static boolean unzipChildFile(final File destDir,
311321
final List<File> files,
312322
final ZipFile zip,
313-
final ZipEntry entry) throws IOException {
314-
File file = new File(destDir, entry.getName());
323+
final ZipEntry entry,
324+
final String name) throws IOException {
325+
File file = new File(destDir, name);
315326
files.add(file);
316327
if (entry.isDirectory()) {
317328
return createOrExistsDir(file);
@@ -365,7 +376,13 @@ public static List<String> getFilesPath(final File zipFile)
365376
ZipFile zip = new ZipFile(zipFile);
366377
Enumeration<?> entries = zip.entries();
367378
while (entries.hasMoreElements()) {
368-
paths.add(((ZipEntry) entries.nextElement()).getName());
379+
String entryName = ((ZipEntry) entries.nextElement()).getName();
380+
if (entryName.contains("../")) {
381+
System.out.println("entryName: " + entryName + " is dangerous!");
382+
paths.add(entryName);
383+
} else {
384+
paths.add(entryName);
385+
}
369386
}
370387
zip.close();
371388
return paths;

utilcode/README-CN.md

Lines changed: 75 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,23 @@ isSupportNavBar : 判断是否支持导航栏
9898
post: 发送
9999
```
100100

101+
* ### 磁盘缓存相关 -> [CacheDiskStaticUtils.java][cacheDiskStatic.java] -> [Test][cacheDiskStatic.test]
102+
```
103+
setDefaultCacheDiskUtils: 设置默认磁盘缓存实例
104+
put : 缓存中写入数据
105+
getBytes : 缓存中读取字节数组
106+
getString : 缓存中读取 String
107+
getJSONObject : 缓存中读取 JSONObject
108+
getJSONArray : 缓存中读取 JSONArray
109+
getBitmap : 缓存中读取 Bitmap
110+
getDrawable : 缓存中读取 Drawable
111+
getParcelable : 缓存中读取 Parcelable
112+
getSerializable : 缓存中读取 Serializable
113+
getCacheSize : 获取缓存大小
114+
getCacheCount : 获取缓存个数
115+
remove : 根据键值移除缓存
116+
clear : 清除所有缓存
117+
```
101118

102119
* ### 磁盘缓存相关 -> [CacheDiskUtils.java][cacheDisk.java] -> [Test][cacheDisk.test]
103120
```
@@ -117,6 +134,25 @@ Instance.remove : 根据键值移除缓存
117134
Instance.clear : 清除所有缓存
118135
```
119136

137+
* ### 二级缓存相关 -> [CacheDoubleStaticUtils.java][cacheDoubleStatic.java] -> [Test][cacheDoubleStatic.test]
138+
```
139+
setDefaultCacheDoubleUtils: 设置默认二级缓存实例
140+
put : 缓存中写入数据
141+
getBytes : 缓存中读取字节数组
142+
getString : 缓存中读取 String
143+
getJSONObject : 缓存中读取 JSONObject
144+
getJSONArray : 缓存中读取 JSONArray
145+
getBitmap : 缓存中读取 Bitmap
146+
getDrawable : 缓存中读取 Drawable
147+
getParcelable : 缓存中读取 Parcelable
148+
getSerializable : 缓存中读取 Serializable
149+
getCacheDiskSize : 获取磁盘缓存大小
150+
getCacheDiskCount : 获取磁盘缓存个数
151+
getCacheMemoryCount : 获取内存缓存个数
152+
remove : 根据键值移除缓存
153+
clear : 清除所有缓存
154+
```
155+
120156
* ### 二级缓存相关 -> [CacheDoubleUtils.java][cacheDouble.java] -> [Test][cacheDouble.test]
121157
```
122158
getInstance : 获取缓存实例
@@ -136,6 +172,16 @@ Instance.remove : 根据键值移除缓存
136172
Instance.clear : 清除所有缓存
137173
```
138174

175+
* ### 内存缓存相关 -> [CacheMemoryStaticUtils.java][cacheMemoryStatic.java] -> [Test][cacheMemoryStatic.test]
176+
```
177+
setDefaultCacheMemoryUtils: 设置默认内存缓存实例
178+
put : 缓存中写入数据
179+
get : 缓存中读取字节数组
180+
getCacheCount : 获取缓存个数
181+
remove : 根据键值移除缓存
182+
clear : 清除所有缓存
183+
```
184+
139185
* ### 内存缓存相关 -> [CacheMemoryUtils.java][cacheMemory.java] -> [Test][cacheMemory.test]
140186
```
141187
getInstance : 获取缓存实例
@@ -667,6 +713,7 @@ addView : 添加 snackbar 视图
667713

668714
* ### SpannableString 相关 -> [SpanUtils.java][span.java] -> [Demo][span.demo]
669715
```
716+
with : 设置控件
670717
setFlag : 设置标识
671718
setForegroundColor: 设置前景色
672719
setBackgroundColor: 设置背景色
@@ -700,18 +747,23 @@ appendSpace : 追加空白
700747
create : 创建样式字符串
701748
```
702749

703-
* ### SP 相关 -> [SPUtils.java][sp.java] -> [Demo][sp.demo]
750+
* ### SP 相关 -> [SPStaticUtils.java][spStatic.java] -> [Demo][spStatic.demo]
751+
```
752+
setDefaultSPUtils: 设置默认 SP 实例
753+
put : SP 中写入数据
754+
getString : SP 中读取 String
755+
getInt : SP 中读取 int
756+
getLong : SP 中读取 long
757+
getFloat : SP 中读取 float
758+
getBoolean : SP 中读取 boolean
759+
getAll : SP 中获取所有键值对
760+
contains : SP 中是否存在该 key
761+
remove : SP 中移除该 key
762+
clear : SP 中清除所有数据
763+
```
764+
765+
* ### SP 相关 -> [SPUtils.java][sp.java]
704766
```
705-
putStatic : SP 中写入数据
706-
getStringStatic : SP 中读取 String
707-
getIntStatic : SP 中读取 int
708-
getLongStatic : SP 中读取 long
709-
getFloatStatic : SP 中读取 float
710-
getBooleanStatic : SP 中读取 boolean
711-
getAllStatic : SP 中获取所有键值对
712-
containsStatic : SP 中是否存在该 key
713-
removeStatic : SP 中移除该 key
714-
clearStatic : SP 中清除所有数据
715767
getInstance : 获取 SP 实例
716768
Instance.put : SP 中写入数据
717769
Instance.getString : SP 中读取 String
@@ -856,12 +908,21 @@ getComments : 获取压缩文件中的注释链表
856908
[bus.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/BusUtils.java
857909
[bus.readme]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-STATIC-BUS.md
858910

911+
[cacheDiskStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDiskStaticUtils.java
912+
[cacheDiskStatic.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDiskStaticUtilsTest.java
913+
859914
[cacheDisk.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDiskUtils.java
860915
[cacheDisk.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDiskUtilsTest.java
861916

917+
[cacheDoubleStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDoubleStaticUtils.java
918+
[cacheDoubleStatic.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDoubleStaticUtilsTest.java
919+
862920
[cacheDouble.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDoubleUtils.java
863921
[cacheDouble.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDoubleUtilsTest.java
864922

923+
[cacheMemoryStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheMemoryStaticUtils.java
924+
[cacheMemoryStatic.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheMemoryStaticUtilsTest.java
925+
865926
[cacheMemory.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheMemoryUtils.java
866927
[cacheMemory.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheMemoryUtilsTest.java
867928

@@ -958,8 +1019,10 @@ getComments : 获取压缩文件中的注释链表
9581019
[span.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/SpanUtils.java
9591020
[span.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/span/SpanActivity.java
9601021

1022+
[spStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/SPStaticUtils.java
1023+
[spStatic.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/spStatic/SPStaticActivity.java
1024+
9611025
[sp.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/SPUtils.java
962-
[sp.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/sp/SPActivity.java
9631026

9641027
[string.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/StringUtils.java
9651028
[string.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/StringUtilsTest.java

utilcode/README.md

Lines changed: 75 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,23 @@ isSupportNavBar
9898
post
9999
```
100100

101+
* ### About CacheDiskStatic -> [CacheDiskStaticUtils.java][cacheDiskStatic.java] -> [Test][cacheDiskStatic.test]
102+
```
103+
setDefaultCacheDiskUtils
104+
put
105+
getBytes
106+
getString
107+
getJSONObject
108+
getJSONArray
109+
getBitmap
110+
getDrawable
111+
getParcelable
112+
getSerializable
113+
getCacheSize
114+
getCacheCount
115+
remove
116+
clear
117+
```
101118

102119
* ### About CacheDisk -> [CacheDiskUtils.java][cacheDisk.java] -> [Test][cacheDisk.test]
103120
```
@@ -117,6 +134,25 @@ Instance.remove
117134
Instance.clear
118135
```
119136

137+
* ### About CacheDoubleStatic -> [CacheDoubleStaticUtils.java][cacheDoubleStatic.java] -> [Test][cacheDoubleStatic.test]
138+
```
139+
setDefaultCacheDoubleUtils
140+
put
141+
getBytes
142+
getString
143+
getJSONObject
144+
getJSONArray
145+
getBitmap
146+
getDrawable
147+
getParcelable
148+
getSerializable
149+
getCacheDiskSize
150+
getCacheDiskCount
151+
getCacheMemoryCount
152+
remove
153+
clear
154+
```
155+
120156
* ### About CacheDouble -> [CacheDoubleUtils.java][cacheDouble.java] -> [Test][cacheDouble.test]
121157
```
122158
getInstance
@@ -136,6 +172,16 @@ Instance.remove
136172
Instance.clear
137173
```
138174

175+
* ### About CacheMemoryStatic -> [CacheMemoryStaticUtils.java][cacheMemoryStatic.java] -> [Test][cacheMemoryStatic.test]
176+
```
177+
setDefaultCacheMemoryUtils
178+
put
179+
get
180+
getCacheCount
181+
remove
182+
clear
183+
```
184+
139185
* ### About CacheMemory -> [CacheMemoryUtils.java][cacheMemory.java] -> [Test][cacheMemory.test]
140186
```
141187
getInstance
@@ -667,6 +713,7 @@ addView
667713

668714
* ### About Span -> [SpanUtils.java][span.java] -> [Demo][span.demo]
669715
```
716+
with
670717
setFlag
671718
setForegroundColor
672719
setBackgroundColor
@@ -700,7 +747,22 @@ appendSpace
700747
create
701748
```
702749

703-
* ### About SP -> [SPUtils.java][sp.java] -> [Demo][sp.demo]
750+
* ### About SPStatic -> [SPStaticUtils.java][spStatic.java] -> [Demo][spStatic.demo]
751+
```
752+
setDefaultSPUtils
753+
put
754+
getString
755+
getInt
756+
getLong
757+
getFloat
758+
getBoolean
759+
getAll
760+
contains
761+
remove
762+
clear
763+
```
764+
765+
* ### About SP -> [SPUtils.java][sp.java]
704766
```
705767
getInstance
706768
Instance.put
@@ -846,12 +908,21 @@ getComments
846908
[bus.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/BusUtils.java
847909
[bus.readme]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-STATIC-BUS.md
848910

911+
[cacheDiskStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDiskStaticUtils.java
912+
[cacheDiskStatic.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDiskStaticUtilsTest.java
913+
849914
[cacheDisk.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDiskUtils.java
850915
[cacheDisk.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDiskUtilsTest.java
851916

917+
[cacheDoubleStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDoubleStaticUtils.java
918+
[cacheDoubleStatic.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDoubleStaticUtilsTest.java
919+
852920
[cacheDouble.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDoubleUtils.java
853921
[cacheDouble.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheDoubleUtilsTest.java
854922

923+
[cacheMemoryStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheMemoryStaticUtils.java
924+
[cacheMemoryStatic.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheMemoryStaticUtilsTest.java
925+
855926
[cacheMemory.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheMemoryUtils.java
856927
[cacheMemory.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/CacheMemoryUtilsTest.java
857928

@@ -948,8 +1019,10 @@ getComments
9481019
[span.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/SpanUtils.java
9491020
[span.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/span/SpanActivity.java
9501021

1022+
[spStatic.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/SPStaticUtils.java
1023+
[spStatic.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/spStatic/SPStaticActivity.java
1024+
9511025
[sp.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/SPUtils.java
952-
[sp.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/sp/SPActivity.java
9531026

9541027
[string.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/main/java/com/blankj/utilcode/util/StringUtils.java
9551028
[string.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/lib/src/test/java/com/blankj/utilcode/util/StringUtilsTest.java

utilcode/lib/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ readme {
1515
apply from: "${rootDir.path}/gradle/bintrayUploadAndroid.gradle"
1616

1717
dependencies {
18-
api dep.gson
18+
compile dep.gson
1919

2020
compileOnly dep.support.appcompat_v7
2121
compileOnly dep.support.design

0 commit comments

Comments
 (0)