summaryrefslogtreecommitdiff
path: root/internal/server/common.go
AgeCommit message (Collapse)Author
2022-11-28Server: Split more into multiple implementation filesjwijenbergh
2022-11-28Lint: Use gocritic linter and fix errors returned by itjwijenbergh
2022-11-28Formatting: Run golinesjwijenbergh
2022-11-28Formatting: Run gofumpt -wjwijenbergh
2022-11-28Refactor: Fix revive linter errors by deleting redundant prefixesjwijenbergh
2022-11-28OAuth: Refactor Token getting and do not save them in the configjwijenbergh
This commit refactors getting the tokens into receiver methods. This means that functions do not have to call the cryptic "EnsureTokens" method. The receiver getter then already verifier whether or not the tokens could be obtained (and refreshes too). The downside is that some things are now private, so testing for invalid tokens needs to be done somewhere else. This needs another patch such that clients can save the tokens themselves using a keyring.
2022-11-28Lint: Run godot fixjwijenbergh
Full command: golangci-lint run --disable-all -E godot --fix
2022-11-28Refactor: Remove most get prefixes for receiver functionsjwijenbergh
2022-11-24Style: Use stylecheck and fix errorsjwijenbergh
2022-11-24Discovery + Server: Get rid of unused importsjwijenbergh
2022-11-24Util: Get rid of current time helperjwijenbergh
Fixes #5
2022-11-14Client + Server: Refresh the endpoints before checking for a valid profilejwijenbergh
2022-11-10Server: Re-initialize endpoints when getting a configjwijenbergh
2022-10-24Client + Server + Exports: Implement optional WireGuard supportjwijenbergh
2022-10-19OAuth + Server: Fix ISS for secure internetjwijenbergh
The wrong base url was used. Use the one from the home server NOT the current location
2022-10-19Refactor: Make errors use the parent's error leveljwijenbergh
- All wrapped errors have to be created with types.NewWrappedError to inherit the error level from the parent - Or types.NewWrappedErrorLevel can be used which means a custom error level is given. For example this is done with cancelling OAuth - Client public errors are forwarded with handleError that also logs it with the error's level
2022-10-19Discovery + Server: Remove unused 'Raw' stringsjwijenbergh
2022-10-17Client + Server: Delete tokens before attempting a login for renewjwijenbergh
2022-10-17Server + Util: Ensure the base URL already ends with a /jwijenbergh
2022-10-17OAuth: Implement Authorization Server Issuer Identification (ISS)jwijenbergh
- This patch implements ISS checking according to RFC 9207 https://datatracker.ietf.org/doc/html/rfc9207 - This tries to prevent so called "mix-up" attacks where the client is fooled into authorizing with an honest AS through a malicious entity
2022-10-11Client + Server: Set the current institute / custom server on addingjwijenbergh
2022-10-04Server: Implement `prefer_tcp` according to specjwijenbergh
2022-10-04Refactor: Renmae force TCP to prefer TCPjwijenbergh
2022-09-26Refactor: Errors into custom export types and expose typesjwijenbergh
2022-09-20API: Append paths using path's Join methodjwijenbergh
2022-09-20Module: Move to eduvpn/eduvpn-commonjwijenbergh
2022-09-20Golang-ci-lint: Fixesjwijenbergh
2022-09-16Discovery: Expose c typesjwijenbergh
2022-09-08OAuth: Separate login functions to get rid of callbackjwijenbergh
2022-09-07Refactor: Remove the usage of the FSM in other internal packagesjwijenbergh
This removes the FSM from being imported and thus used in other internal packages such as `oauth` or `server`. The benefit is that it becomes much easier now to reason about the FSM as it's only used in the public package. Additionally, we do not have to re-initialize the server and the oauth structure with the FSM pointer.
2022-09-06State + FSM + Python: Rename the HAS_CONFIG state to DISCONNECTEDjwijenbergh
2022-09-06Server Common: ShouldRenewButton should expire *on* the expiry timejwijenbergh
2022-08-23Formatting: Run golinesjwijenbergh
2022-08-19State + FSM: Properly handle the disconnect flowjwijenbergh
- /disconnect is now called - A new state is added (DISCONNECTING) that waits for the disconnect to complete - A helper function is exposed (InFSMState) that can be used by clients to see in which state they are in
2022-08-16Refactor: Use an interface for the data in the FSM callbackjwijenbergh
2022-08-10Server: Make the default time zero Unixjwijenbergh
2022-08-10Server: Always show renew button when session is expiredjwijenbergh
This is useful for servers which have a custom expiry < 30 minutes
2022-08-09Formatting: Run gofumptjwijenbergh
2022-08-09Refactor: Cleanup time calculations and usagejwijenbergh
2022-07-20Refactor: Do not log in internal packagesjwijenbergh
The reason behind this is that we then do not have to pass a lot to each function. Logging inside internal packages is less useful as we want to let them return errors and only log in the 'public' facing API or let the client decide
2022-07-19Server: Give JSON for the configured servers used in the main screenjwijenbergh
2022-07-19Server: Split CustomServer and split types into multiple filesjwijenbergh