diff options
Diffstat (limited to 'pkg/auth/sip2/auth.go')
-rw-r--r-- | pkg/auth/sip2/auth.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/pkg/auth/sip2/auth.go b/pkg/auth/sip2/auth.go index f5ad0a4..58441e4 100644 --- a/pkg/auth/sip2/auth.go +++ b/pkg/auth/sip2/auth.go @@ -16,6 +16,9 @@ const SipPassVar string = "VPNWEB_SIP_PASS" const SipPortVar string = "VPNWEB_SIP_PORT" const SipHostVar string = "VPNWEB_SIP_HOST" const SipLibrLocVar string = "VPNWEB_SIP_LIBR_LOCATION" +const SipTerminatorVar string = "VPNWEB_SIP_TERMINATOR" + +const SipDefaultTerminator string = "\r\n" type Credentials struct { User string @@ -30,10 +33,18 @@ func getConfigFromEnv(envVar string) string { return val } +func setupTerminatorFromEnv() { + config.FallbackToEnv(&TelnetTerminator, SipTerminatorVar, SipDefaultTerminator) + if TelnetTerminator == "\\r" { + TelnetTerminator = "\r" + } else if TelnetTerminator == "\\r\\n" { + TelnetTerminator = "\r\n" + } +} + func SipAuthenticator(opts *config.Opts) http.HandlerFunc { - /* TODO -- catch connection errors */ - log.Println("Initializing sip2 authenticator") + log.Println("Initializing SIP2 authenticator") SipUser := getConfigFromEnv(SipUserVar) SipPass := getConfigFromEnv(SipPassVar) @@ -41,6 +52,8 @@ func SipAuthenticator(opts *config.Opts) http.HandlerFunc { SipPort := getConfigFromEnv(SipPortVar) SipLibrLoc := getConfigFromEnv(SipLibrLocVar) + setupTerminatorFromEnv() + sip := NewClient(SipHost, SipPort, SipLibrLoc) ok, err := sip.Connect() |