Commit Graph

84 Commits

Author SHA1 Message Date
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