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