summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)Author
2022-10-24Log: Rename log file to go.logjwijenbergh
2022-10-24Log: Use a multiwriter and make output neaterjwijenbergh
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-18OAuth: Do not use url.Values Has(), only use Get()jwijenbergh
Has() was only added in Go 1.17
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: Use values Has and Get functions and check state after ISSjwijenbergh
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-13OAuth: Add a TODO note about ISSjwijenbergh
2022-10-13OAuth: Wrap template errorsjwijenbergh
2022-10-13OAuth: Return HTML response on authorizedjwijenbergh
HTML Template adapted from: https://github.com/eduvpn/apple/blob/5b18f834be7aebfed00570ae0c2f7bcbaf1c69cc/EduVPN/Helpers/Mac/OAuthRedirectHTTPHandler.m#L25
2022-10-13Server API: Use default timeout for /disconnectjwijenbergh
2022-10-13Format: Run gofumptjwijenbergh
2022-10-13Client + Config + FSM: Simplify file namesjwijenbergh
2022-10-11Client + Server: Set the current institute / custom server on addingjwijenbergh
2022-10-11Client: Refactor out adding a Server from getting a configjwijenbergh
2022-10-06OAuth: Use an available port instead of the hard-coded 8000jwijenbergh
2022-10-04Util Test: Remove function signature commentjwijenbergh
2022-10-04Server: Implement `prefer_tcp` according to specjwijenbergh
2022-10-04Refactor: Renmae force TCP to prefer TCPjwijenbergh
2022-09-27Log: Add 'inherit' that sets the error level as the log leveljwijenbergh
2022-09-26OAuth: Verifier and State docs improvementjwijenbergh
2022-09-26HTTP: Add the body to status errorjwijenbergh
2022-09-26OAuth: Add verifier testsjwijenbergh
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-20Go vet: Fixesjwijenbergh
2022-09-19API + HTTP: Set the /disconnect timeout to 1 secondjwijenbergh
2022-09-16Discovery: Expose c typesjwijenbergh
2022-09-14Refactor: Return without jsonjwijenbergh
2022-09-12Util: Add testsjwijenbergh
2022-09-12Util: ReplaceWAYF ensure that the template is validjwijenbergh
2022-09-12WireGuard: Add config replace testjwijenbergh
2022-09-12Types Error Traceback: Use 'Traceback:' after the initial error messagejwijenbergh
2022-09-12Types Error: Do not panic on JSON errorjwijenbergh
2022-09-12Types Error: Do not prefix the traceback with 'Traceback for error'jwijenbergh
2022-09-12Log: Helpers for each level and print to screen toojwijenbergh
2022-09-08OAuth: Separate login functions to get rid of callbackjwijenbergh
2022-09-07Refactor: Define FSM state constants inside the public packagejwijenbergh
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-06Discovery: Make orgID not exists error closer to the specificationjwijenbergh
2022-09-06State + FSM + Python: Rename the HAS_CONFIG state to DISCONNECTEDjwijenbergh
2022-09-06State + Discovery: Save the discovery data in the config JSONjwijenbergh
2022-09-06Server Common: ShouldRenewButton should expire *on* the expiry timejwijenbergh
2022-09-06FSM: Set back state for loading serverjwijenbergh