From 8219519a22c7a88be98d4673797a25afe259e05f Mon Sep 17 00:00:00 2001 From: Davide De Rosa Date: Fri, 19 Oct 2018 17:47:35 +0200 Subject: [PATCH] Fix credentials requirement in VPN configuration Refines #4 --- Passepartout/Sources/Model/ConnectionService.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Passepartout/Sources/Model/ConnectionService.swift b/Passepartout/Sources/Model/ConnectionService.swift index f16ed007..404ff60b 100644 --- a/Passepartout/Sources/Model/ConnectionService.swift +++ b/Passepartout/Sources/Model/ConnectionService.swift @@ -217,8 +217,11 @@ class ConnectionService: Codable { guard let profile = activeProfile else { throw ApplicationError.missingProfile } - guard let credentials = credentials(for: profile) else { - throw ApplicationError.missingCredentials + let creds = credentials(for: profile) + if profile.requiresCredentials { + guard creds != nil else { + throw ApplicationError.missingCredentials + } } let cfg = try profile.generate(from: tunnelConfiguration, preferences: preferences) @@ -226,7 +229,7 @@ class ConnectionService: Codable { withBundleIdentifier: GroupConstants.App.tunnelIdentifier, appGroup: appGroup, hostname: profile.mainAddress, - credentials: credentials + credentials: creds ) protocolConfiguration.disconnectOnSleep = preferences.disconnectsOnSleep