summaryrefslogtreecommitdiff
path: root/client/client.go
AgeCommit message (Collapse)Author
2023-10-26Client: Support govVPN client IDsjwijenbergh
2023-09-29Client: Simplify mobile redirect logic to separate filejwijenbergh
2023-09-29Client + Server + OAuth: Support mobile redirectsjwijenbergh
2023-09-25Client + Locales: Update cleanup+renew canceled erorr messagejwijenbergh
2023-09-25Client: Refresh server endpoints on renew and cleanupjwijenbergh
2023-09-25Server: Have separate implementations for refreshing endpointsjwijenbergh
2023-09-25Client + l18n: Make some errors internal onlyjwijenbergh
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-25Client: Be less strict on chosen server transitionjwijenbergh
2023-09-25Client: Return immediately on profile validity check errorjwijenbergh
2023-09-25Client: Remove bogus chosen server transition for renewjwijenbergh
This is not correct, we already do chosen server in the callback function
2023-09-25Client: Save internal state regularlyjwijenbergh
Fixes #22
2023-09-25Client i18n: Add Sloveniajwijenbergh
2023-09-25Initial i18n implementationjwijenbergh
2023-09-25Client: Call Deregistered transition on Deregister()jwijenbergh
2023-09-25Client: Use a mutex for state transitionsjwijenbergh
2023-09-25Client + FSM: Check transitions and add SetStatejwijenbergh
Also make sure GotConfig can be used to go back to
2023-09-25Client: Disable identifier conversion for secure internetjwijenbergh
2023-09-25Client + OAuth + Server: Initialize the OAuth clientID on addjwijenbergh
2023-09-25Client + Types: Expose support contactjwijenbergh
2023-09-25Client: Remove Got Config state check for current serverjwijenbergh
2023-09-25Client: Do not defer NoServer transition when noninteractivejwijenbergh
2023-09-25Client: Relax state requirements for No Server on addjwijenbergh
2023-09-25Client: Fix institute servers map typojwijenbergh
2023-09-25Client: Return on refresh endpoints context errorjwijenbergh
2023-09-25Client: Re-create failover object on new calljwijenbergh
This additional bookkeeping is not needed now because we have contexts
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-25Refactor: Move client implementation to one filejwijenbergh
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-25Exports + Client: Refactor registering a clientjwijenbergh
- 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-25Exports + Client Register: Make sure to only update state if no errjwijenbergh
2023-09-25Client: Check if the base time is zero when getting expiry timesjwijenbergh
2023-09-25Client: Remove servers argument to transitionjwijenbergh
2023-09-25Types: Split server into subpackagejwijenbergh
2023-09-25Types: Split discovery into its own packagejwijenbergh
2023-09-25Format: Run gofumptjwijenbergh
2023-09-25Types: Split protocol into its ownjwijenbergh
2023-09-25Client: Add functions to convert to public typesjwijenbergh
2023-04-18Client: Fix ask profile linter errorjwijenbergh
2023-04-18Client + Server: Implement a token updater callbackjwijenbergh
2023-03-01Client: Allow max version to be 20 charactersjwijenbergh
Bit long maybe but we shouldn't limit it too much
2023-03-01Client: Make user agent equal to client ID namesjwijenbergh
See https://git.sr.ht/~fkooman/vpn-user-portal/tree/v3/item/src/OAuth/VpnClientDb.php
2023-03-01Format: Run black and gofumptjwijenbergh
2023-03-01Client + Exports + HTTP: Set a user-agent using the client's versionjwijenbergh
2023-02-28Log: Use a global logger instancejwijenbergh
2023-01-31Client: Check if client ID is validjwijenbergh
2023-01-10Client + Discovery: Implement further organizations expiryjwijenbergh
2023-01-05Logger: Do not interpret error string as format specifier argumentjwijenbergh
2022-12-21Failover: Initial implementationjwijenbergh
2022-12-14Client: If debug, log with stacktracejwijenbergh
2022-12-12simplify error handlingAleksandar Pesic
fixes #6 Signed-off-by: Aleksandar Pesic <peske.nis@gmail.com>