From 1865b016d0cca74cd3703db5a3b4217917988dec Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 5 Jul 2022 13:17:24 +0200 Subject: Refactor: Handling of different servers and identifiers - Uses OrgID for Secure Internet and gets the data from discovery - Uses URL for Institute/Custom and gets the data from discovery - Implements SKIP WAYF as we now have the needed data - Implements an initial change location with a default location (NL right now) --- exports/exports.go | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) (limited to 'exports') diff --git a/exports/exports.go b/exports/exports.go index 567e189..6b33da6 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -107,22 +107,39 @@ func CancelOAuth(name *C.char) *C.char { return C.CString(cancelErrString) } -//export GetConnectConfig -func GetConnectConfig(name *C.char, url *C.char, isSecureInternet C.int, forceTCP C.int) (*C.char, *C.char, *C.char) { +//export GetConfigSecureInternet +func GetConfigSecureInternet(name *C.char, orgID *C.char, forceTCP C.int) (*C.char, *C.char, *C.char) { nameStr := C.GoString(name) state, stateErr := GetVPNState(nameStr) if stateErr != nil { return nil, nil, C.CString(ErrorToString(stateErr)) } - var config string - var configType string - var configErr error forceTCPBool := forceTCP == 1 - if isSecureInternet == 1 { - config, configType, configErr = state.GetConfigSecureInternet(C.GoString(url), forceTCPBool) - } else { - config, configType, configErr = state.GetConfigInstituteAccess(C.GoString(url), forceTCPBool) + config, configType, configErr := state.GetConfigSecureInternet(C.GoString(orgID), forceTCPBool) + return C.CString(config), C.CString(configType), C.CString(ErrorToString(configErr)) +} + +//export GetConfigInstituteAccess +func GetConfigInstituteAccess(name *C.char, url *C.char, forceTCP C.int) (*C.char, *C.char, *C.char) { + nameStr := C.GoString(name) + state, stateErr := GetVPNState(nameStr) + if stateErr != nil { + return nil, nil, C.CString(ErrorToString(stateErr)) } + forceTCPBool := forceTCP == 1 + config, configType, configErr := state.GetConfigInstituteAccess(C.GoString(url), forceTCPBool) + return C.CString(config), C.CString(configType), C.CString(ErrorToString(configErr)) +} + +//export GetConfigCustomServer +func GetConfigCustomServer(name *C.char, url *C.char, forceTCP C.int) (*C.char, *C.char, *C.char) { + nameStr := C.GoString(name) + state, stateErr := GetVPNState(nameStr) + if stateErr != nil { + return nil, nil, C.CString(ErrorToString(stateErr)) + } + forceTCPBool := forceTCP == 1 + config, configType, configErr := state.GetConfigCustomServer(C.GoString(url), forceTCPBool) return C.CString(config), C.CString(configType), C.CString(ErrorToString(configErr)) } -- cgit v1.2.3