summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)Author
2024-02-19API: Include regular wireguard profile even when prefer TCP is truejwijenbergh
Otherwise breaks servers that only have wireguard support and we pass prefer tcp
2024-02-19Ping windows: Add missing fmt importjwijenbergh
2024-02-19Format: Run gofumptjwijenbergh
2024-02-19Discovery: Mark orgs expired on org by id errorjwijenbergh
2024-02-19FSM: Allow to always go to deregisteredjwijenbergh
2024-02-19API + Server: Support vpn_proto_transport_listjwijenbergh
2024-02-19WireGuard: TCP support using proxyguardjwijenbergh
2024-02-19WireGuard: Add an ini parserjwijenbergh
Needed to replace TCP endpoint and for adding the private key
2024-02-19Discovery: Use new HTTP Clientjwijenbergh
2024-02-19HTTP: Make NewClient accept an underlying http clientjwijenbergh
if the argument is nil, a fresh one is automatically created
2024-02-19HTTP: Fix register agent to include version packagejwijenbergh
2024-02-19Server: Refactor internal server package to use new state filejwijenbergh
This completely rewrites the internal server package. Some advantages: - Caches less - Uses a callback interface so that the client package does not get so convoluted - Introduce a new API package that only deals with the server API and uses github.com/jwijenbergh/eduoauth-go
2024-02-19Config: New state filejwijenbergh
Caches less. Also convert the V1 state file
2024-02-19Server: Delete old files to prepare for new internal APIjwijenbergh
2024-02-19Util + OAuth: Delete internal OAuth implementationjwijenbergh
Preparing to move to github.com/jwijenbergh/eduoauth-go
2024-02-19All: Prepare to get rid of go-errors/errors libjwijenbergh
2024-02-19HTTP: Make sure to add all headersjwijenbergh
Now needed as we do some of the header code differently. Previously it worked because e.g. the accept header had one value that was capitalized
2024-02-19i18nerr + HTTP: Properly convert timeout errorsjwijenbergh
2024-02-19Test: Add an AssertError helperjwijenbergh
2024-02-19Version: Initial packagejwijenbergh
2023-11-01OAuth + Server: Make ISS optional for custom serversjwijenbergh
2023-09-29OAuth: Check for error parameter in authorization responsejwijenbergh
2023-09-29OAuth Test: Fix redirect URI + listener changesjwijenbergh
2023-09-29OAuth: Correctly pass Redirect URI to token requestjwijenbergh
2023-09-29Client + Server + OAuth: Support mobile redirectsjwijenbergh
2023-09-25Server: Have separate implementations for refreshing endpointsjwijenbergh
2023-09-25Server: Set OAuth endpoints on refreshjwijenbergh
This fixes OAuth endpoints after e.g. an update from 2.x to 3.x
2023-09-25Client + Exports + Python: Add a startup boolean to getconfigjwijenbergh
To be used for autoconnect on startup. If autoconnect on startup set to true This ignores any callbacks that require user input (profile, authorization & location callbacks)
2023-09-25Initial i18n implementationjwijenbergh
2023-09-25FSM: Allow to always go back to the initial statejwijenbergh
2023-09-25Client + FSM: Check transitions and add SetStatejwijenbergh
Also make sure GotConfig can be used to go back to
2023-09-25Discovery: Ignore embeded discovery filesSimon Rozman
They are not part of the Git repository and are downloaded in the build process. Signed-off-by: Simon Rozman <simon@rozman.si>
2023-09-25Client + OAuth + Server: Initialize the OAuth clientID on addjwijenbergh
2023-09-25OAuth: Always set the scheme to HTTPS for the authorization URLjwijenbergh
Useful if the cache is busted
2023-09-25API Test: Add test for invalid authorization endpoint schemejwijenbergh
2023-09-25Endpoints: Double check HTTPS schemejwijenbergh
Now the note in the CLI is really not needed, but maybe wise to keep it there?
2023-09-25Version: Update to 2.0.0jwijenbergh
2023-09-25Secure: Do not set current location as it is already donejwijenbergh
2023-09-25Verify Test: Use callStr on errorjwijenbergh
2023-09-25OAuth Token: Set previous refresh token if new refresh token is emptyjwijenbergh
This is for 2.x servers that return an empty refresh token after refreshing
2023-09-25Custom: Use the hostname for custom servers display namejwijenbergh
2023-09-25All: Implement a token handlerjwijenbergh
This implements a token handler for OAuth tokens. Clients can use the SetTokenHandler function in exports to set a token handler. It needs two arguments, a getter and a setter. The getter is a callback with three arguments: - The server to get the tokens for, in types.server.current as JSON - The output buffer - The output buffer maximum length The tokens should be written to the output buffer with maximum length. The type should be types.server.Tokens and be marshalled as JSON. If no tokens are available, leave the output buffer intact The token setter is a callback with two arguments: - The server for which to set the tokens for, in types.server.Current as JSON - The tokens, defined in types.server.Tokens as JSON Breaking changes: - No more tokens as arguments, was already deprecated in previous commits - Tokens are no longer returned in types.server.Configuration
2023-09-25OAuth: Implement the Public() method for tokensjwijenbergh
2023-09-25Refactor: Split internal server into multiple packagesjwijenbergh
- Pass contexts - Have separate packages for e.g. custom, institute and secure - internet servers, profiles.... - Return types from the public ./types package with a Public() method
2023-09-25HTTP: Pass context around and optionally trail path in urljwijenbergh
2023-09-25OAuth: Pass a context aroundjwijenbergh
2023-09-25Failover: Pass a context aroundjwijenbergh
2023-09-25Format: Run gofumpt (Go) + black (py)jwijenbergh
2023-09-25Discovery: Pass a context aroundjwijenbergh
2023-09-25Fix connection monitoring on WindowsSimon Rozman
Linux requires su for `ip4:icmp` pings. Windows does not support `udp4` pings. Signed-off-by: Simon Rozman <simon@rozman.si>