@xuda.io/drive_module 1.1.1378 → 1.1.1380

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 (2) hide show
  1. package/index.mjs +45 -1
  2. package/package.json +1 -1
package/index.mjs CHANGED
@@ -948,7 +948,9 @@ export const extract_drive_file = async (req, job_id, headers) => {
948
948
 
949
949
  const ext = path.extname(file_path).toLowerCase();
950
950
 
951
- if (!_conf.archive_drive_ext.includes(ext)) {
951
+ const validation_ret = file_upload_validator(file_path);
952
+
953
+ if (!validation_ret.valid || validation_ret.category !== 'archive') {
952
954
  throw new Error('error - invalid archive file');
953
955
  }
954
956
 
@@ -2438,6 +2440,48 @@ export const file_upload_validator = function (file_name) {
2438
2440
  case 'psd':
2439
2441
  return { valid: true, category: 'image', mime: 'image/vnd.adobe.photoshop' };
2440
2442
 
2443
+ // ==============================
2444
+ // VALIDATE ARCHIVE & PACKAGE FILES
2445
+ // ==============================
2446
+ case 'zip':
2447
+ return { valid: true, category: 'archive', mime: 'application/zip' };
2448
+ case 'rar':
2449
+ return { valid: true, category: 'archive', mime: 'application/vnd.rar' };
2450
+ case '7z':
2451
+ return { valid: true, category: 'archive', mime: 'application/x-7z-compressed' };
2452
+ case 'tar':
2453
+ return { valid: true, category: 'archive', mime: 'application/x-tar' };
2454
+ case 'gz':
2455
+ case 'tgz':
2456
+ return { valid: true, category: 'archive', mime: 'application/gzip' };
2457
+ case 'bz2':
2458
+ return { valid: true, category: 'archive', mime: 'application/x-bzip2' };
2459
+ case 'xz':
2460
+ return { valid: true, category: 'archive', mime: 'application/x-xz' };
2461
+ case 'z':
2462
+ return { valid: true, category: 'archive', mime: 'application/x-compress' };
2463
+ case 'lzma':
2464
+ return { valid: true, category: 'archive', mime: 'application/x-lzma' };
2465
+ case 'cpio':
2466
+ return { valid: true, category: 'archive', mime: 'application/x-cpio' };
2467
+ case 'lzh':
2468
+ case 'lha':
2469
+ return { valid: true, category: 'archive', mime: 'application/x-lzh' };
2470
+ case 'ar':
2471
+ return { valid: true, category: 'archive', mime: 'application/x-archive' };
2472
+
2473
+ // Linux / Java Packages
2474
+ case 'deb':
2475
+ return { valid: true, category: 'archive', mime: 'application/vnd.debian.binary-package' };
2476
+ case 'rpm':
2477
+ return { valid: true, category: 'archive', mime: 'application/x-rpm' };
2478
+ case 'jar':
2479
+ return { valid: true, category: 'archive', mime: 'application/java-archive' };
2480
+ case 'war':
2481
+ return { valid: true, category: 'archive', mime: 'application/x-webarchive' };
2482
+ case 'ear':
2483
+ return { valid: true, category: 'archive', mime: 'application/octet-stream' };
2484
+
2441
2485
  // ==============================
2442
2486
  // DEFAULT (INVALID)
2443
2487
  // ==============================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xuda.io/drive_module",
3
- "version": "1.1.1378",
3
+ "version": "1.1.1380",
4
4
  "description": "Xuda Drive Server Module",
5
5
  "main": "index.mjs",
6
6
  "dependencies": {