| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-02-19 | Client: Ensure we are in GettingConfig | jwijenbergh | |
| 2024-02-19 | Client: Refactor to newest internal API | jwijenbergh | |
| 2024-02-19 | Client: Split client id and discovery functions | jwijenbergh | |
| 2023-10-26 | Client: Support govVPN client IDs | jwijenbergh | |
| 2023-09-29 | Client: Simplify mobile redirect logic to separate file | jwijenbergh | |
| 2023-09-29 | Client + Server + OAuth: Support mobile redirects | jwijenbergh | |
| 2023-09-25 | Client + Locales: Update cleanup+renew canceled erorr message | jwijenbergh | |
| 2023-09-25 | Client: Refresh server endpoints on renew and cleanup | jwijenbergh | |
| 2023-09-25 | Server: Have separate implementations for refreshing endpoints | jwijenbergh | |
| 2023-09-25 | Client + l18n: Make some errors internal only | jwijenbergh | |
| 2023-09-25 | Client + Exports + Python: Add a startup boolean to getconfig | jwijenbergh | |
| 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-25 | Client: Be less strict on chosen server transition | jwijenbergh | |
| 2023-09-25 | Client: Return immediately on profile validity check error | jwijenbergh | |
| 2023-09-25 | Client: Remove bogus chosen server transition for renew | jwijenbergh | |
| This is not correct, we already do chosen server in the callback function | |||
| 2023-09-25 | Client: Save internal state regularly | jwijenbergh | |
| Fixes #22 | |||
| 2023-09-25 | Client i18n: Add Slovenia | jwijenbergh | |
| 2023-09-25 | Initial i18n implementation | jwijenbergh | |
| 2023-09-25 | Client: Call Deregistered transition on Deregister() | jwijenbergh | |
| 2023-09-25 | Client: Use a mutex for state transitions | jwijenbergh | |
| 2023-09-25 | Client + FSM: Check transitions and add SetState | jwijenbergh | |
| Also make sure GotConfig can be used to go back to | |||
| 2023-09-25 | Client: Disable identifier conversion for secure internet | jwijenbergh | |
| 2023-09-25 | Client + OAuth + Server: Initialize the OAuth clientID on add | jwijenbergh | |
| 2023-09-25 | Client + Types: Expose support contact | jwijenbergh | |
| 2023-09-25 | Client: Remove Got Config state check for current server | jwijenbergh | |
| 2023-09-25 | Client: Do not defer NoServer transition when noninteractive | jwijenbergh | |
| 2023-09-25 | Client: Relax state requirements for No Server on add | jwijenbergh | |
| 2023-09-25 | Client: Fix institute servers map typo | jwijenbergh | |
| 2023-09-25 | Client: Return on refresh endpoints context error | jwijenbergh | |
| 2023-09-25 | Client: Re-create failover object on new call | jwijenbergh | |
| This additional bookkeeping is not needed now because we have contexts | |||
| 2023-09-25 | All: Implement a token handler | jwijenbergh | |
| 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-25 | Refactor: Move client implementation to one file | jwijenbergh | |
| Much easier to oversee and it forces me to keep the client type as small as possible. This also uses the cookie for cancellation We also no longer require tokens inside arguments. We will later implement them with callbacks | |||
| 2023-09-25 | Exports + Client: Refactor registering a client | jwijenbergh | |
| - Make sure the global exports state is only set on successful creating - Only call discovery when adding a server to ensure we get the most up to date args. Creating a client should have no network calls. Fixes #12 - Split creating a client in New and Register in the GO api | |||
| 2023-09-25 | Exports + Client Register: Make sure to only update state if no err | jwijenbergh | |
| 2023-09-25 | Client: Check if the base time is zero when getting expiry times | jwijenbergh | |
| 2023-09-25 | Client: Remove servers argument to transition | jwijenbergh | |
| 2023-09-25 | Types: Split server into subpackage | jwijenbergh | |
| 2023-09-25 | Types: Split discovery into its own package | jwijenbergh | |
| 2023-09-25 | Format: Run gofumpt | jwijenbergh | |
| 2023-09-25 | Types: Split protocol into its own | jwijenbergh | |
| 2023-09-25 | Client: Add functions to convert to public types | jwijenbergh | |
| 2023-04-18 | Client: Fix ask profile linter error | jwijenbergh | |
| 2023-04-18 | Client + Server: Implement a token updater callback | jwijenbergh | |
| 2023-03-01 | Client: Allow max version to be 20 characters | jwijenbergh | |
| Bit long maybe but we shouldn't limit it too much | |||
| 2023-03-01 | Client: Make user agent equal to client ID names | jwijenbergh | |
| See https://git.sr.ht/~fkooman/vpn-user-portal/tree/v3/item/src/OAuth/VpnClientDb.php | |||
| 2023-03-01 | Format: Run black and gofumpt | jwijenbergh | |
| 2023-03-01 | Client + Exports + HTTP: Set a user-agent using the client's version | jwijenbergh | |
| 2023-02-28 | Log: Use a global logger instance | jwijenbergh | |
| 2023-01-31 | Client: Check if client ID is valid | jwijenbergh | |
| 2023-01-10 | Client + Discovery: Implement further organizations expiry | jwijenbergh | |
| 2023-01-05 | Logger: Do not interpret error string as format specifier argument | jwijenbergh | |
