Since latest 1.2b1 release there is a new bug.
Just connect, disconnect a few times and the app becomes unresponsive. Sometimes errors are shown in the GUI. It seems the DNS resolver is often not correctly set back.
Also the connecting time, before see a green icon, takes much longer than release version 1.1
Sun Feb 17 22:10:33 2019 MANAGEMENT: Client disconnected
Sun Feb 17 22:10:33 2019 WARNING: Failed running command (--up/--down):
external program exited with error status: 134
Sun Feb 17 22:10:33 2019 Exiting due to fatal error
Since latest 1.2b1 release there is a new bug. Just connect, disconnect a few times and the app becomes unresponsive. Sometimes errors are shown in the GUI. It seems the DNS resolver is often not correctly set back.
Also the connecting time, before see a green icon, takes much longer than release version 1.1
This error is shown often in de log:
2019-02-17 22:10:33.407 scutil[77141:7578955] Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' -[NSArrayM insertObject:atIndex:]: object cannot be nil' *** First throw call stack: ( 0 CoreFoundation 0x00007fff4c0f523b exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fff73389c76 objc_exception_throw + 48 2 CoreFoundation 0x00007fff4c1364c4 _CFThrowFormattedException + 202 3 CoreFoundation 0x00007fff4c013730 -[__NSArrayM insertObject:atIndex:] + 1264 4 scutil 0x00000001022e749a scutil + 9370 5 scutil 0x00000001022e5ed5 scutil + 3797 6 scutil 0x00000001022e6837 scutil + 6199 7 libdyld.dylib 0x00007fff73fa3015 start + 1 8 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException /Applications/eduVPN.app/Contents/Resources/openvpn-2.4.6-openssl-1.1.0h/client.up.eduvpn.sh: line 287: 77141 Abort trap: 6 scutil > /dev/null <<-EOF open
Store our variables for the other scripts (leasewatch, down, etc.) to use
d.init
The '#' in the next line does NOT start a comment; it indicates to
scutil that a number follows it (as opposed to a string or an array) d.add PID # ${PPID} d.add Service ${PSID} d.add LeaseWatcherPlistPath "${LEASEWATCHER_PLIST_PATH}" d.add RemoveLeaseWatcherPlist "${REMOVE_LEASEWATCHER_PLIST}" d.add ScriptLogFile "${SCRIPT_LOG_FILE}" d.add MonitorNetwork "${ARG_MONITOR_NETWORK_CONFIGURATION}" d.add RestoreOnDNSReset "${ARG_RESTORE_ON_DNS_RESET}" d.add RestoreOnWINSReset "${ARG_RESTORE_ON_WINS_RESET}" d.add IgnoreOptionFlags "${ARG_IGNORE_OPTION_FLAGS}" d.add IsTapInterface "${ARG_TAP}" d.add FlushDNSCache "${ARG_FLUSH_DNS_CACHE}" d.add ResetPrimaryInterface "${ARG_RESET_PRIMARY_INTERFACE_ON_DISCONNECT}" d.add RouteGatewayIsDhcp "${bRouteGatewayIsDhcp}" d.add bAlsoUsingSetupKeys "${bAlsoUsingSetupKeys}" d.add TapDeviceHasBeenSetNone "false" d.add TunnelDevice "$dev" d.add RestoreIpv6Services "$ipv6_disabled_services_encoded" d.add NetworkSetupRestorednsserversInfo "$network_setup_restore_dns_info" d.add NetworkSetupRestoresearchdomainsInfo "$network_setup_restore_searchdomains_info" set State:/Network/OpenVPN
Back up the device's current DNS and SMB configurations,
Indicate 'no such key' by a dictionary with a single entry:
"eduVPNNoSuchKey : true"
If there isn't a key, "eduVPNNoSuchKey : true" won't be removed.
If there is a key, "eduVPNNoSuchKey : true" will be removed and the
key's contents will be used
d.init d.add eduVPNNoSuchKey true get State:/Network/Service/${PSID}/DNS set State:/Network/OpenVPN/OldDNS
d.init d.add eduVPNNoSuchKey true get Setup:/Network/Service/${PSID}/DNS set State:/Network/OpenVPN/OldDNSSetup
d.init d.add eduVPNNoSuchKey true get State:/Network/Service/${PSID}/SMB set State:/Network/OpenVPN/OldSMB
Initialize the new DNS map via State:
${SKP_DNS}d.init ${SKP_DNS}${SKP_DNS_SA}d.add ServerAddresses ${FIN_DNS_SA} ${SKP_DNS}${SKP_DNS_SD}d.add SearchDomains ${FIN_DNS_SD} ${SKP_DNS}${SKP_DNS_DN}d.add DomainName ${FIN_DNS_DN} ${SKP_DNS}set State:/Network/Service/${PSID}/DNS
If necessary, initialize the new DNS map via Setup: also
${SKP_SETUP_DNS}${SKP_DNS}d.init ${SKP_SETUP_DNS}${SKP_DNS}${SKP_DNS_SA}d.add ServerAddresses ${FIN_DNS_SA} ${SKP_SETUP_DNS}${SKP_DNS}${SKP_DNS_SD}d.add SearchDomains ${FIN_DNS_SD} ${SKP_SETUP_DNS}${SKP_DNS}${SKP_DNS_DN}d.add DomainName ${FIN_DNS_DN} ${SKP_SETUP_DNS}${SKP_DNS}set Setup:/Network/Service/${PSID}/DNS
Initialize the SMB map
${SKP_SMB}d.init ${SKP_SMB}${SKP_SMB_NN}d.add NetBIOSName ${FIN_SMB_NN} ${SKP_SMB}${SKP_SMB_WG}d.add Workgroup ${FIN_SMB_WG} ${SKP_SMB}${SKP_SMB_WA}d.add WINSAddresses * ${FIN_SMB_WA} ${SKP_SMB}set State:/Network/Service/${PSID}/SMB
quit EOF
Sun Feb 17 22:10:33 2019 MANAGEMENT: Client disconnected Sun Feb 17 22:10:33 2019 WARNING: Failed running command (--up/--down): external program exited with error status: 134 Sun Feb 17 22:10:33 2019 Exiting due to fatal error