Dane Everitt
fb73d5dbbf
Always run pprof when running debug through makefile
2022-01-30 15:11:17 -05:00
Dane Everitt
fd7ec2aaac
Generate normal and debug artifacts
2022-01-30 15:06:56 -05:00
Dane Everitt
c3df8d2309
Add support for proper use of pprof
2022-01-30 14:50:37 -05:00
Dane Everitt
1965e68a78
Include debug symbols in non-release binaries
2022-01-30 14:05:55 -05:00
Dane Everitt
3208b8579b
Add test coverage
2022-01-30 13:58:36 -05:00
Dane Everitt
c4ee82c4dc
Code cleanup, providing better commentary to decisions
2022-01-30 12:56:25 -05:00
Dane Everitt
0ec0fffa4d
Handle future scenarios where we forgot to add a listener
2022-01-30 11:58:53 -05:00
Dane Everitt
57daf0889a
Cleanup logic for updating stats to avoid calling mutex outside of file
2022-01-30 11:55:59 -05:00
Dane Everitt
d7c7155802
Make the powerlocker logic a little more idiomatic
2022-01-30 11:46:27 -05:00
Dane Everitt
11ae5e69ed
Improve performance of console output watcher; work directly with bytes rather than string conversions
2022-01-30 11:28:06 -05:00
Dane Everitt
fab88a380e
Use buffered channels and ring-buffer logic when processing console data
...
This change fixes pterodactyl/panel#3921 by implementing logic to drop the oldest message in a channel and push the newest message onto the channel when the channel buffer is full.
This is distinctly different than the previous implementation which just dropped the newest messages, leading to confusing behavior on the client side when a large amount of data was sent over the connection.
Up to 10ms per channel is allowed for blocking before falling back to the drop logic.
2022-01-30 10:55:45 -05:00
Matthew Penner
68d4fb454f
actions(test): fix caching, run tests with race detector
2022-01-24 19:06:14 -07:00
Matthew Penner
136540111d
docker: attach to container before starting
2022-01-24 19:01:33 -07:00
Dane Everitt
de04e73e82
Reduce the size of the buffered reader to improve CPU performance
2022-01-23 18:31:53 -05:00
Dane Everitt
d701b35954
Update CHANGELOG.md
2022-01-23 17:23:02 -05:00
Dane Everitt
34ecf20467
Re-implement ContainerInspect call in Wings to use more performant json encoder ( #119 )
...
* First pass at re-implementing the Docker inspect call to use more efficient json parser
* Improve logic
2022-01-23 14:13:49 -08:00
Dane Everitt
34c0db9dff
Replace encoding/json with goccy/go-json for cpu and memory usage improvement
...
This new package has significant better resource usage, and we do a _lot_ of JSON parsing in this application, so any amount of improvement becomes significant
2022-01-23 15:17:40 -05:00
Dane Everitt
301788805c
Ensure a file uploaded using SFTP is properly owned at the end; closes pterodactyl/panel#3689
2022-01-23 13:14:02 -05:00
Dane Everitt
4c8f5c21a3
Improve power lock logic ( #118 )
2022-01-23 09:49:35 -08:00
Dane Everitt
c52db4eec0
Add test coverage for sinks; prevent panic on nil channels
2022-01-23 10:41:12 -05:00
Dane Everitt
a4904365c9
Sink pool cleanup and organization; better future support when we add more sinks
2022-01-23 09:57:25 -05:00
Dane Everitt
2a9c9e893e
Add test for scan reader
2022-01-22 14:52:24 -05:00
Dane Everitt
1591d86e23
Quick note about the importance of the copy
2022-01-22 14:33:49 -05:00
Dane Everitt
b5536dfc77
Prevent excessive memory usage when large lines are sent over the console
2022-01-22 14:33:03 -05:00
Matthew Penner
45418c86dd
Update CHANGELOG.md
2022-01-20 09:58:47 -07:00
Matthew Penner
71e56c7da6
events: remove debug log
2022-01-20 09:50:13 -07:00
Matthew Penner
4ba5fe2866
events: don't explode when destroying a bus
...
Only attempt to close channels once, rather than per topic
they are subscribed to.
2022-01-20 09:48:18 -07:00
Matthew Penner
6d8c1d2225
diagnostics: properly redact endpoints
2022-01-20 09:12:24 -07:00
Matthew Penner
a6b77a31dc
fix send on closed channel for logging; closes #3895
2022-01-20 07:00:00 -07:00
Matthew Penner
c27e06bcb9
server: ensure last lines are always logged
2022-01-19 18:22:34 -07:00
Noah van der Aa
13a9ee9474
Use GID from config for container ( #106 )
2022-01-19 17:05:53 -08:00
Dane Everitt
760554f8f4
Update CHANGELOG.md
2022-01-19 20:03:11 -05:00
Matthew Penner
bb7ee24087
router: support the Access-Control-Request-Private-Network
header ( #117 )
2022-01-19 09:27:13 -07:00
Matthew Penner
649dc9663e
Server Event Optimizations ( #116 )
2022-01-17 20:23:29 -07:00
TacticalCatto
521cc2aef2
Don't turn SSL into lowercase ( #114 )
2022-01-17 20:22:13 -07:00
Matthew Penner
1892b270b1
environment: allow overriding memory overhead; closes pterodactyl/panel#3728 ( #111 )
2022-01-17 20:20:30 -07:00
Mrxbox98
ed4d903f21
Redacts redacted info from all ( #112 )
2022-01-17 19:55:29 -07:00
Chance Callahan
cdb86abac1
RPM is now tracking v1.5.3 ( #109 )
2022-01-17 19:55:13 -07:00
Matthew Penner
f92b502d6e
ci: fix release version, again
2021-11-15 13:17:47 -07:00
Matthew Penner
aa0d5d46c5
ci: fix version replace and Docker version
2021-11-15 11:19:44 -07:00
Charles Morgan
66eb993afa
Update diagnostics command ( #108 )
...
Co-authored-by: Matthew Penner <me@matthewp.io>
2021-11-15 10:56:43 -07:00
Matthew Penner
04b9ef69a1
run gofumpt
2021-11-15 10:37:56 -07:00
Matthew Penner
43d66d14b2
config: don't expand 'environment variables'
...
fixes https://github.com/pterodactyl/panel/issues/3692 , again :)
2021-11-15 10:35:59 -07:00
Matthew Penner
44dfb8fdd7
change default version to be 'develop'
2021-11-15 10:25:39 -07:00
Matthew Penner
d8df353ce8
replace deprecated ioutil function calls
2021-11-15 10:24:52 -07:00
Matthew Penner
be543ce3e0
parser(ini): allow setting the section name
...
In an egg replacer putting `[]` will cause it to not be split at the first dot.
Before this change putting `"find": { "/Script/Engine.GameSession.MaxPlayers": "<DATA>" }`
would make the section name `/Script/Engine` and the key `GameSession.MaxPlayers`. After
this change, the same behavior occurs, but if you wrap the key in `[]` it will set the
section name properly, for example `"find": { "[/Script/Engine.GameSession].MaxPlayers": "<DATA>" }`
would make the sesion name `/Script/Engine.GameSession` and the key `MaxPlayers`.
Closes https://github.com/pterodactyl/panel/issues/2533
2021-11-04 13:24:12 -06:00
Dane Everitt
7d689582e5
Update CHANGELOG.md
2021-10-25 21:28:45 -07:00
Dane Everitt
32d6594476
fix incorrect error handling logic when a JWT is created wrongly; closes pterodactyl/panel#3295
...
Prior to this logic not only was the error response incorrect for events, but we registered event listeners before the authentication event; so if auth failed we flooded the socket with tons of output that was never going to be sent anyways.
This change now waits to register listeners until the socket is fully authenticated and we're guaranteed to have a token present.
2021-10-25 21:23:45 -07:00
Dane Everitt
023d7ec1ec
Close websocket connections and allow the client to re-connect on send errors; ref pterodactyl/panel#3596
2021-10-24 16:14:00 -07:00
Dane Everitt
981756b456
Support escaping dollar signs in the YAML config file; closes pterodactyl/panel#3692
2021-10-24 15:20:27 -07:00