Commit Graph
9876 Commits
Author SHA1 Message Date
Jordan Dominion ec81fcdf41 Remove no-op call 2023-11-04 23:28:09 -04:00
Jordan Dominion edcd26e44f Allow GET /Jobs request spam again
Now that we have a hub as a better alternative, it should be less prevalent.
2023-11-04 23:27:57 -04:00
Jordan Dominion ebd09d7e86 Add JobCodes to strongly type jobs
- Default `0` for legacy jobs.
- Standardize job creation prior to registration.
- Add `RightsHelper.TypeToRight()`.
2023-11-04 21:12:25 -04:00
Jordan Dominion 85e1c0d5f1 Fix dotnet-ef version being out of sync 2023-11-04 20:47:41 -04:00
Jordan Dominion 189d594b4c Update nuget packages 2023-11-04 20:47:14 -04:00
Jordan Dominion 385771f477 Change this .OfType() to .Cast() 2023-11-04 20:41:59 -04:00
Jordan Dominion 6fb9ba6f37 Check registered jobs have instance and user IDs 2023-11-04 20:41:59 -04:00
Jordan Dominion 5b1e123e64 Add DeploymentActivation event 2023-11-04 20:41:56 -04:00
Jordan Dominion d85e2b8d36 Add SignalR
- Add one hub `/hubs/jobs`, strongly typed API included.
- Adjust request pipeline to support SignalR.
- Allow `Accept: text/event-stream` for SSE requests.
- Add client library support for hubs.
- Add integration tests.
- Add IPermissionSetNotifyee to support dynamic changes based on perms.
- Keep job state in `JobService` for pushing updates.
2023-11-04 19:22:48 -04:00
Jordan Dominion fda26e1f15 Fix issue with DMAPI validation shutdown timeouts
- Increase grace period to 30s to avoid false positives.
2023-11-04 17:44:00 -04:00
Jordan Dominion 61cae1a02d Fix nested default Linux log directory 2023-11-04 17:40:54 -04:00
Jordan Dominion be6fe8fa88 Run systemd as the user tgstation-server
- Fix .deb build only working in gh-actions tailored environment.
- Fix indentation in `rules`.
- Fix build script not working fully without a signing key.
- Standardize to node 20 as a build dependency.
- Fix my ADHD in the `README.md`.

Closes #1658
2023-11-04 17:29:54 -04:00
Jordan Dominion d851df8276 GET / with an Authorization header should fail if it's not valid 2023-11-02 23:10:34 -04:00
Jordan Dominion fb1aee74a1 Fix using spacing 2023-11-02 22:59:56 -04:00
Jordan Dominion 1b1a91361c Correct documentation for ApiContoller.NotFound() 2023-11-02 22:59:36 -04:00
Jordan Dominion 242c74955d Correct documentation for ApiHeaders.IsTokenAuthentication 2023-11-02 22:58:56 -04:00
Jordan Dominion ba0ccdff53 Set sleep_offline before del(world) 2023-10-31 23:16:19 -04:00
Jordan Dominion f58ea64c96 Remove spammy logging 2023-10-31 23:16:19 -04:00
Jordan Dominion e1d359d2f7 Change instance references to be a ulong 2023-10-31 23:16:18 -04:00
Jordan Dominion 29579a351d Fix JWT compliance issues.
- `nbf` and `exp` should be numbers, not strings.
- Parse JWT in `ApiHeaders` fully for errors.
- Use `iat` and increment `nbf` by one second if equal and may trigger the `LastPasswordUpdate` bug.
  - Make client aware of this change and move the delay there.
- Deprecated `TokenResponse.ExpiresAt`.
2023-10-31 23:16:18 -04:00
Jordan Dominion e41e59a48a Remove unnecessary checks for non-existent PosixSystemIdentitys 2023-10-31 23:16:17 -04:00
Jordan Dominion dd8c8df35f Fix NotImplementedException errors on non-github/gitlab deployments 2023-10-31 23:16:17 -04:00
Jordan Dominion eaebe733bd Improve HeadersException handling
Avoid recreating ApiHeaders in request pipeline where possible
2023-10-31 23:16:16 -04:00
Jordan Dominion 3901512693 The del world issue is caused by sleep_offline
Just do an infinite loop and ensure `sleep_offline` is off. It can't keep getting away with this.

Bump DMAPI version
2023-10-31 23:16:16 -04:00
Jordan Dominion 7bb565d0da Better message formatting for HeadersException 2023-10-31 23:16:16 -04:00
Jordan Dominion ad460d9ae4 Silence VS messages about new() expressions 2023-10-31 23:16:15 -04:00
Jordan Dominion 808f96b968 Clean up some using ordering 2023-10-31 23:16:15 -04:00
Jordan Dominion b86bd51e1f Fix some logging formatter messages 2023-10-31 23:16:15 -04:00
Jordan Dominion 23a4f5758f Include InstanceId in JobResponse 2023-10-31 23:16:10 -04:00
Jordan Dominion ed618de29e ODR use of "Bearer" string 2023-10-29 16:39:56 -04:00
Jordan Dominion 1d0371f84a Make TestServerService more analyzer friendly 2023-10-29 16:23:52 -04:00
Jordan Dominion 6dbf357b8a Silence VS message about a new() expression 2023-10-29 16:23:29 -04:00
Jordan Dominion fd44b61a24 Authentication pipeline rewrite
If you're looking for the future CVE it probably came from here.
2023-10-29 16:23:01 -04:00
Jordan Dominion 590f5c6a55 Fix ApiHeaders improperly storing OAuthCode
- Store in its own property instead of `Token`
2023-10-29 16:23:00 -04:00
Jordan Dominion 4b39bde25d Fix HardFailLogger/provider logging non-errors 2023-10-29 16:23:00 -04:00
Jordan Dominion a7cb72ca84 Fix BOM in ServerClient.cs 2023-10-29 16:23:00 -04:00
Jordan Dominion 78669f486c Fix issue with CORS not working properly 2023-10-29 16:23:00 -04:00
Jordan Dominion 5b615ea04b Upgrade "webpanel not built" message to Debug 2023-10-29 16:22:59 -04:00
Jordan Dominion 49a351ecc6 Move client cache disabling to new ApiControllerBase
It's probably not in a good middleware spot anymore with endpoint routing.

Also disable CA1501 (Excessive inheritance) because our use cases appear to be consistently valid.
2023-10-29 16:22:59 -04:00
Jordan Dominion 548d8ccf09 Minor code cleanups in TokenFactory 2023-10-29 16:22:59 -04:00
Jordan Dominion 10728657df Move custom controller results to new namespace 2023-10-29 16:22:59 -04:00
Jordan Dominion 9325e545fd Simplify some Substring calls 2023-10-29 16:22:58 -04:00
Jordan Dominion 5a5997492b Fix routing in ControlPanelController
- This was generating an unnecessary 301 when getting `/app` instead of `/app`.
2023-10-29 16:22:58 -04:00
Jordan Dominion 4f3f12f05d Silence a VS message about a new() expression 2023-10-29 16:22:57 -04:00
Jordan Dominion c3168c4e00 Remove unnecessary braces 2023-10-29 16:22:57 -04:00
Jordan Dominion 8ead755799 Clean up line width 2023-10-29 16:22:57 -04:00
Jordan Dominion 30f57d28da Store TokenResponse in ApiHeaders
- Decode it from JWT if necessary.
2023-10-29 16:22:51 -04:00
Jordan Dominion d46292bbdb Nuget package updates 2023-10-29 14:37:40 -04:00
Jordan Dominion 9e2bf3f161 Merge branch 'dev' into SignalR 2023-10-29 14:32:09 -04:00
Jordan Dominion e7652c2739 Merge branch 'V6' into OpenDream 2023-10-25 18:58:44 -04:00