Dane Everitt
be9d1a3986
Replace error handling package with emperror; add better reporting for errors escaping server root
2020-11-08 13:52:20 -08:00
Dane Everitt
0f7bb1a371
Refactor filesystem to not be dependent on a server struct
2020-09-27 12:24:08 -07:00
Dane Everitt
de30e2fcc9
Dont attempt to get size within archive process, will return empty; ref pterodactyl/panel#2420
...
The stat call is operating against an unflushed file if called in the archive function, so you'll just get the emtpy archive size, rather than the final size.
Plus, we only used the file stat in one place, so slight efficiency win?
2020-09-27 11:16:38 -07:00
Dane Everitt
0b9ad3de05
More file size confirmations before performing some actions; closes pterodactyl/panel#2420
2020-09-26 16:02:41 -07:00
Dane Everitt
7624502ec4
Don't swap the int and cause a negative disk space... closes pterodactyl/panel#2401
2020-09-24 21:19:46 -07:00
Dane Everitt
bf1233def4
Don't ignore disk space limits when copying/archiving; closes pterodactyl/panel#2400
2020-09-24 21:18:10 -07:00
Dane Everitt
522c6c17e4
Merge branch 'develop' of https://github.com/pterodactyl/wings into develop
2020-09-22 20:41:16 -07:00
Dane Everitt
d8cd8ae36a
Don't treat certain "expected" errors from the filesystem as 500 errors; closes pterodactyl/panel#2376
2020-09-22 20:41:14 -07:00
Matthew Penner
ff597672db
Fix #2380
2020-09-20 12:51:12 -06:00
Dane Everitt
6ba49df485
Protect against zip bombs; closes pterodactyl/panel#883
2020-09-17 20:37:34 -07:00
Dane Everitt
ce76b9339e
better error handling for busy files; closes pterodactyl/panel#2332
2020-09-15 19:53:00 -07:00
Dane Everitt
ce2659fdd7
Simplify environment creation for server
2020-09-12 21:48:04 -07:00
Dane Everitt
57221bdd30
Make disk checking timeout configurable
2020-09-11 20:24:23 -07:00
Dane Everitt
0cd8dc2b5f
avoid deadlocks while processing tons of data over server event listeners; closes pterodactyl/panel#2298
2020-09-10 20:05:01 -07:00
Matthew Penner
7ba32aca84
Fix some typos and run gofmt on all .go files
2020-09-05 13:08:40 -06:00
Dane Everitt
481df3d543
Only create the directory structure if it is a file being renamed; closes pterodactyl/panel#2292
2020-08-31 21:02:06 -07:00
Dane Everitt
cbf914e7a1
Additional code cleanup for #53
2020-08-31 20:46:28 -07:00
CyberKitsune
d742acf308
Minimize blocking in Filesystem.getCachedDiskUsage ( #53 )
2020-08-31 20:27:41 -07:00
Dane Everitt
7d8710824c
Fix startup variables not being properly updated on server reboot; closes pterodactyl/panel#2255
2020-08-27 21:08:33 -07:00
Dane Everitt
68ab705aac
Don't push directories into the backup unless associated with a file
2020-08-27 19:55:43 -07:00
Dane Everitt
c7e732d084
2.5 minutes for lookups, not every minute
2020-08-24 20:52:05 -07:00
Dane Everitt
9eb795b1bb
Re-add disk space function
2020-08-24 20:46:19 -07:00
Dane Everitt
a1288565f0
Significant CPU and syscall performance improvements when iterating large directories
2020-08-24 20:45:54 -07:00
Matthew Penner
9f27119044
Fix log directory not being created, again..
2020-08-24 20:22:19 -06:00
Dane Everitt
09826fc7ad
Performance improvements by using a smaller buffer size
2020-08-23 17:18:40 -07:00
Dane Everitt
999947e387
Adjust sizes on the fly when files are written/decompressed
2020-08-23 15:58:56 -07:00
Dane Everitt
3b33e803e3
Handle deleting a directory
2020-08-23 14:34:42 -07:00
Dane Everitt
1e39487240
poc: when deleting a file automatically adjust the current disk space being tracked in the cache
2020-08-22 22:56:44 -07:00
Dane Everitt
c73a53dbe3
Replace cache with single int64
2020-08-22 22:50:49 -07:00
Dane Everitt
919bec2f87
Dependency updates
2020-08-06 18:55:29 -07:00
Dane Everitt
ecb2cb05ce
Rewrite the file/dir chowing to be less intense on the system and use walker function
2020-07-31 22:06:00 -07:00
Dane Everitt
cecc72110c
Merge pull request #46 from pterodactyl/feature/docker-repo-auth
...
Add Docker registry authentication
2020-07-31 20:27:35 -07:00
Matthew Penner
5b999db7f3
Add Docker registry authentication
2020-07-31 18:28:40 -06:00
Matthew Penner
e85b1cecb7
Fix 500 errors on file routes when accessing a file that doesn't exist
2020-07-31 16:01:32 -06:00
Dane Everitt
5079c67aee
Code cleanup and avoid server race
2020-07-19 17:50:39 -07:00
Dane Everitt
0cbaad5c72
Completely re-work the server configuration to be separated out better
2020-07-19 16:27:55 -07:00
Dane Everitt
0b9d923d15
Allow the deletion of a file or directory that is a symlink pointing outside the data dir
2020-07-18 12:19:54 -07:00
Dane Everitt
f0eeaae747
Remove debugging
2020-07-18 11:58:55 -07:00
Dane Everitt
085a02726b
Handle path resolution errors better in the file walker
2020-07-18 11:57:50 -07:00
Dane Everitt
4f1b0c67d6
Address security vulnerabilities allowing certain internal processes to potentiallty escape server data directory
2020-07-18 11:40:38 -07:00
Dane Everitt
7c3da84248
chown the cleaned location, not the original path
2020-07-18 10:49:28 -07:00
Dane Everitt
1b5684e6f8
Make sure errors are handled
2020-07-18 10:47:15 -07:00
Dane Everitt
f3c8220bd9
Change filewalker implementation to use a pool
2020-07-16 21:51:31 -07:00
Dane Everitt
7e1b7e7f36
Prevent race conditions when generating archives
2020-07-16 19:56:53 -07:00
Dane Everitt
a635cdd6b2
Support unarching in a better fashion with zip-slip protections and size checking
2020-07-15 21:16:08 -07:00
Dane Everitt
ae46add8ef
Remove unnecessary logic
2020-07-15 19:24:13 -07:00
Matthew Penner
f4c10e5a23
Add some missing error handling, fix a few typos
2020-07-15 13:11:12 -06:00
Matthew Penner
b64f1897fb
Add endpoint for decompressing archives
2020-07-15 12:28:45 -06:00
Matthew Penner
a98e376593
Calculate disk usage even if server has 'unlimited' disk space
2020-07-12 12:28:38 -06:00
Dane Everitt
eefc11bd0d
Remove accidental debug line
2020-07-12 10:26:26 -07:00