Quentin McGaw (desktop)
3d8e61900b
Maint: make VPN connection not specific to OpenVPN
...
- Add VPN field to ServerSelection struct
- Set VPN type to server selection at start using VPN_TYPE
- Change OpenVPNConnection to Connection with Type field
- Rename Provider GetOpenVPNConnection to GetConnection
- Rename GetTargetIPOpenVPNConnection to GetTargetIPConnection
- Rename PickRandomOpenVPNConnection to PickRandomConnection
- Add 'OpenVPN' prefix to OpenVPN specific methods on connection
2021-08-19 14:09:41 +00:00
Quentin McGaw (desktop)
105d81c018
Maint: move Openvpn package files
...
- Move internal/openvpn/config/*.go to internal/openvpn/
- Move internal/openvpn/setup.go to internal/vpn/openvpn.go
2021-08-19 13:31:12 +00:00
Quentin McGaw (desktop)
d4ca5cf257
Maint: internal/vpn package for vpn loop
2021-08-18 22:01:04 +00:00
Quentin McGaw (desktop)
05018ec971
Maint: use VPN settings instead of OpenVPN in loop
2021-08-18 21:27:09 +00:00
Quentin McGaw (desktop)
0027a76c49
Maint: move OpenVPN streams processing to config package
2021-08-18 21:16:28 +00:00
Quentin McGaw (desktop)
a0cb6fabfd
Maint: rename openvpn command.go to start.go
2021-08-18 20:47:03 +00:00
Quentin McGaw (desktop)
9e5400f52d
Maint: split out OpenVPN version functions to openvpn/config/version.go
2021-08-18 20:46:20 +00:00
Quentin McGaw (desktop)
7a1d0ff3ec
Maint: internal/openvpn setup.go file
2021-08-18 20:43:47 +00:00
Quentin McGaw (desktop)
d9fbecaa01
Maint: minor changes to openvpn/config package
...
- Constructor returns concrete struct instead of interface
- Rename conf to openvpnConf in openvpn loop
2021-08-18 20:28:42 +00:00
Quentin McGaw (desktop)
ecdf9396a5
Maint: move OpenVPN configurator to openvpn/config
2021-08-18 20:23:50 +00:00
Quentin McGaw (desktop)
df51aa40f4
Maint: split custom config files in openvpn/custom
2021-08-18 20:18:49 +00:00
Quentin McGaw (desktop)
996942af47
Maint: move custom config files to custom package
2021-08-18 20:14:02 +00:00
Quentin McGaw (desktop)
f17a4eae3e
Maint: rework OpenVPN custom configuration code
...
- Refactor code and errors returned
- Add unit tests
- Make custom config code independent from loop
2021-08-18 20:12:26 +00:00
Quentin McGaw (desktop)
c515603d2f
Fix: Openvpn custom config: remove user set
2021-08-18 17:41:53 +00:00
Quentin McGaw (desktop)
14c3b6429b
Maint: openvpn process user in Openvpn settings
2021-08-18 16:16:47 +00:00
Quentin McGaw (desktop)
bd110b960b
Maint: remove startPFCh from Openvpn loop
2021-08-18 16:07:35 +00:00
Quentin McGaw (desktop)
3ad4319163
Maint: minor Openvpn loop simplifications
2021-08-18 15:52:38 +00:00
Quentin McGaw (desktop)
97340ec70b
Fix: chown openvpn configuration file
2021-08-18 15:47:11 +00:00
Quentin McGaw (desktop)
5140a7b010
Maint: set PUID and PGID in openvpn configurator
2021-08-18 15:44:58 +00:00
Quentin McGaw (desktop)
da30ae287f
Maint: decouple OpenVPN config writer from loop
2021-08-18 15:35:07 +00:00
Quentin McGaw (desktop)
6a545aa088
Maint: tun package to handle tun device operations
...
- Moved from openvpn package to tun package
- TUN check verifies Rdev value
- TUN create
- Inject as interface to main function
- Add integration test
- Clearer log message for end users if tun device does not exist
- Remove unix package (unneeded for tests)
- Remove tun file opening at the end of tun file creation
- Do not mock unix.Mkdev (no OS operation)
- Remove Tun operations from OpenVPN configurator
2021-08-18 15:31:08 +00:00
Quentin McGaw (desktop)
cc2235653a
Maint: refactor VPN configuration structure
...
- Paves the way for Wireguard
- VPN struct contains Type, Openvpn and Provider configurations
- OpenVPN specific options (e.g. client key) moved from Provider to Openvpn configuration struct
- Move Provider configuration from OpenVPN configuration to VPN
- HTTP control server returns only openvpn settings (not provider settings)
2021-08-17 15:44:11 +00:00
Quentin McGaw (desktop)
836412b032
Maint: move routeReadyEvents to openvpn package
2021-08-16 19:19:41 +00:00
Quentin McGaw (desktop)
ba16270059
Maint: context aware collectLines functions
2021-08-16 19:19:33 +00:00
Quentin McGaw (desktop)
0bcc6ed597
Fix: port forwarding deadlock bug, fix #547
2021-07-29 01:13:16 +00:00
Quentin McGaw
2998cf5e48
Maint: port forwarding refactoring ( #543 )
...
- portforward package
- portforward run loop
- Less functional arguments and cycles
2021-07-28 08:35:44 -07:00
Quentin McGaw (desktop)
b98f2456c0
Fix: deadlock for openvpn, dns and publicip loops
2021-07-27 14:12:22 +00:00
Quentin McGaw (desktop)
564cc2b0bc
Maint: move misplaced writeOpenvpnConf in openvpn
2021-07-26 16:30:51 +00:00
Quentin McGaw (desktop)
73c383fd65
Maint: remove routing configurator from Openvpn Loop
2021-07-26 16:18:35 +00:00
Quentin McGaw (desktop)
7a222923c7
Maint: use narrower interfaces for firewall config
2021-07-26 16:07:50 +00:00
Quentin McGaw (desktop)
430512dd27
Maint: openvpn configurator interface composition
2021-07-26 16:03:04 +00:00
Quentin McGaw (laptop)
8105437815
Maint: add missing interface compilation checks
2021-07-24 19:54:15 +00:00
Quentin McGaw (laptop)
7b20cec035
Maint: rename SettingsGetterSetter to SettingsGetSetter
2021-07-24 19:49:50 +00:00
Quentin McGaw (laptop)
c8ad9b942a
Maint: openvpn loop is a concrete struct
2021-07-24 19:14:49 +00:00
Quentin McGaw (laptop)
8153d4bb2a
Maint: better openvpn loop interface composition
2021-07-24 18:56:42 +00:00
Quentin McGaw (laptop)
3f1fb52fcb
Maint: upgrade qdm12 dependencies
...
- Upgrade qdm12/golibs
- Upgrade qdm12/dns to v1.11.0
2021-07-24 17:59:22 +00:00
Quentin McGaw (desktop)
72a5e1f695
Maint: openvpn package split files
2021-07-23 20:46:57 +00:00
Quentin McGaw (desktop)
253310bd1a
Maint: loopstate package used in Openvpn state
2021-07-23 20:41:45 +00:00
Quentin McGaw (desktop)
fa6ccb08bd
Fix: openvpn loop: unlock read mutex for GetSettingsAndServers
2021-07-23 20:13:02 +00:00
Quentin McGaw (desktop)
c5d92ae02c
Maint: inject Commander to openvpn and firewall
2021-07-23 18:25:30 +00:00
Quentin McGaw (desktop)
b23eb8f29d
Maint: prefer empty string comparison
2021-07-23 17:39:38 +00:00
Quentin McGaw (desktop)
3c44214d01
Maint: pass only single strings to logger methods
...
- Do not assume formatting from logger's interface
- Allow to change golibs in the future to accept only strings for logger methods
2021-07-23 17:36:08 +00:00
Quentin McGaw (desktop)
21f4cf7ab5
Maint: do not mock os functions
...
- Use filepaths with /tmp for tests instead
- Only mock functions where filepath can't be specified such as user.Lookup
2021-07-23 16:06:19 +00:00
Quentin McGaw (desktop)
394abbbe35
Feat: specify Openvpn flags with OPENVPN_FLAGS
2021-07-19 15:10:53 +00:00
Quentin McGaw (desktop)
c0d27b4bfc
Maint: rework openvpn restart on unhealthy
2021-07-18 03:17:48 +00:00
Quentin McGaw (desktop)
39068dda17
Maint: rework Openvpn run loop
2021-07-16 21:20:34 +00:00
Quentin McGaw (desktop)
7c44188130
Fix: controlled interrupt exit for subprograms
...
- Openvpn and Unbound do not receive OS signals
- Openvpn and Unbound run in a different process group than the entrypoint
- Openvpn and Unbound are gracefully shutdown by the entrypoint
- Update golibs with a modified command package
- Update dns to v1.9.0 where Unbound is luanched in its own group
2021-07-16 20:04:17 +00:00
Quentin McGaw (desktop)
c2d527bbd3
Fix: openvpn run loop panic about stdout streams
2021-07-16 19:02:04 +00:00
Quentin McGaw (desktop)
0ed738cd61
Maint: make all set status context aware
2021-07-16 00:49:59 +00:00
Quentin McGaw (desktop)
6bbb7c8f7d
Maint: remove outdated Auth log warning about PIA
2021-07-16 00:49:50 +00:00