Rename OpenVPNError enum to OpenVPNAdapterError

This commit is contained in:
Sergey Abramchuk
2017-09-06 22:02:34 +03:00
parent b86e4f57ab
commit 85d1276520
2 changed files with 206 additions and 206 deletions
+139 -139
View File
@@ -58,8 +58,8 @@
- (void)readTUNPackets; - (void)readTUNPackets;
- (void)readVPNPacket:(NSData *)packet; - (void)readVPNPacket:(NSData *)packet;
- (OpenVPNEvent)eventByName:(NSString *)eventName; - (OpenVPNEvent)eventByName:(NSString *)eventName;
- (OpenVPNError)errorByName:(NSString *)errorName; - (OpenVPNAdapterError)errorByName:(NSString *)errorName;
- (NSString *)reasonForError:(OpenVPNError)error; - (NSString *)reasonForError:(OpenVPNAdapterError)error;
- (NSString *)subnetFromPrefixLength:(NSNumber *)prefixLength; - (NSString *)subnetFromPrefixLength:(NSNumber *)prefixLength;
- (void)performAsyncBlock:(void (^)())block; - (void)performAsyncBlock:(void (^)())block;
@@ -342,7 +342,7 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
NSString *message = [NSString stringWithUTF8String:event->info.c_str()]; NSString *message = [NSString stringWithUTF8String:event->info.c_str()];
if (event->error) { if (event->error) {
OpenVPNError errorCode = [self errorByName:name]; OpenVPNAdapterError errorCode = [self errorByName:name];
NSString *errorReason = [self reasonForError:errorCode]; NSString *errorReason = [self reasonForError:errorCode];
NSError *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain NSError *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain
@@ -437,9 +437,9 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
- (OpenVPNProperties *)applyConfiguration:(nonnull OpenVPNConfiguration *)configuration error:(out NSError * __nullable * __nullable)error { - (OpenVPNProperties *)applyConfiguration:(nonnull OpenVPNConfiguration *)configuration error:(out NSError * __nullable * __nullable)error {
ClientAPI::EvalConfig eval = self.vpnClient->eval_config(configuration.config); ClientAPI::EvalConfig eval = self.vpnClient->eval_config(configuration.config);
if (eval.error) { if (eval.error) {
NSString *errorReason = [self reasonForError:OpenVPNErrorConfigurationFailure]; NSString *errorReason = [self reasonForError:OpenVPNAdapterErrorConfigurationFailure];
if (error) *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain code:OpenVPNErrorConfigurationFailure userInfo:@{ if (error) *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain code:OpenVPNAdapterErrorConfigurationFailure userInfo:@{
NSLocalizedDescriptionKey: @"Failed to apply OpenVPN configuration.", NSLocalizedDescriptionKey: @"Failed to apply OpenVPN configuration.",
NSLocalizedFailureReasonErrorKey: errorReason, NSLocalizedFailureReasonErrorKey: errorReason,
OpenVPNAdapterErrorMessageKey: [NSString stringWithUTF8String:eval.message.c_str()], OpenVPNAdapterErrorMessageKey: [NSString stringWithUTF8String:eval.message.c_str()],
@@ -455,7 +455,7 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
ClientAPI::Status status = self.vpnClient->provide_creds(credentials.credentials); ClientAPI::Status status = self.vpnClient->provide_creds(credentials.credentials);
if (status.error) { if (status.error) {
if (error) { if (error) {
OpenVPNError errorCode = !status.status.empty() ? [self errorByName:[NSString stringWithUTF8String:status.status.c_str()]] : OpenVPNErrorCredentialsFailure; OpenVPNAdapterError errorCode = !status.status.empty() ? [self errorByName:[NSString stringWithUTF8String:status.status.c_str()]] : OpenVPNAdapterErrorCredentialsFailure;
NSString *errorReason = [self reasonForError:errorCode]; NSString *errorReason = [self reasonForError:errorCode];
*error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain code:errorCode userInfo:@{ *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain code:errorCode userInfo:@{
@@ -485,7 +485,7 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
ClientAPI::Status status = self.vpnClient->connect(); ClientAPI::Status status = self.vpnClient->connect();
if (status.error) { if (status.error) {
OpenVPNError errorCode = !status.status.empty() ? [self errorByName:[NSString stringWithUTF8String:status.status.c_str()]] : OpenVPNErrorUnknown; OpenVPNAdapterError errorCode = !status.status.empty() ? [self errorByName:[NSString stringWithUTF8String:status.status.c_str()]] : OpenVPNAdapterErrorUnknown;
NSString *errorReason = [self reasonForError:errorCode]; NSString *errorReason = [self reasonForError:errorCode];
NSError *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain NSError *error = [NSError errorWithDomain:OpenVPNAdapterErrorDomain
@@ -648,146 +648,146 @@ static void socketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
return event; return event;
} }
- (OpenVPNError)errorByName:(NSString *)errorName { - (OpenVPNAdapterError)errorByName:(NSString *)errorName {
NSDictionary *errors = @{ NSDictionary *errors = @{
@"NETWORK_RECV_ERROR": @(OpenVPNErrorNetworkRecvError), @"NETWORK_RECV_ERROR": @(OpenVPNAdapterErrorNetworkRecvError),
@"NETWORK_EOF_ERROR": @(OpenVPNErrorNetworkEOFError), @"NETWORK_EOF_ERROR": @(OpenVPNAdapterErrorNetworkEOFError),
@"NETWORK_SEND_ERROR": @(OpenVPNErrorNetworkSendError), @"NETWORK_SEND_ERROR": @(OpenVPNAdapterErrorNetworkSendError),
@"NETWORK_UNAVAILABLE": @(OpenVPNErrorNetworkUnavailable), @"NETWORK_UNAVAILABLE": @(OpenVPNAdapterErrorNetworkUnavailable),
@"DECRYPT_ERROR": @(OpenVPNErrorDecryptError), @"DECRYPT_ERROR": @(OpenVPNAdapterErrorDecryptError),
@"HMAC_ERROR": @(OpenVPNErrorDecryptError), @"HMAC_ERROR": @(OpenVPNAdapterErrorDecryptError),
@"REPLAY_ERROR": @(OpenVPNErrorReplayError), @"REPLAY_ERROR": @(OpenVPNAdapterErrorReplayError),
@"BUFFER_ERROR": @(OpenVPNErrorBufferError), @"BUFFER_ERROR": @(OpenVPNAdapterErrorBufferError),
@"CC_ERROR": @(OpenVPNErrorCCError), @"CC_ERROR": @(OpenVPNAdapterErrorCCError),
@"BAD_SRC_ADDR": @(OpenVPNErrorBadSrcAddr), @"BAD_SRC_ADDR": @(OpenVPNAdapterErrorBadSrcAddr),
@"COMPRESS_ERROR": @(OpenVPNErrorCompressError), @"COMPRESS_ERROR": @(OpenVPNAdapterErrorCompressError),
@"RESOLVE_ERROR": @(OpenVPNErrorResolveError), @"RESOLVE_ERROR": @(OpenVPNAdapterErrorResolveError),
@"SOCKET_PROTECT_ERROR": @(OpenVPNErrorSocketProtectError), @"SOCKET_PROTECT_ERROR": @(OpenVPNAdapterErrorSocketProtectError),
@"TUN_READ_ERROR": @(OpenVPNErrorTUNReadError), @"TUN_READ_ERROR": @(OpenVPNAdapterErrorTUNReadError),
@"TUN_WRITE_ERROR": @(OpenVPNErrorTUNWriteError), @"TUN_WRITE_ERROR": @(OpenVPNAdapterErrorTUNWriteError),
@"TUN_FRAMING_ERROR": @(OpenVPNErrorTUNFramingError), @"TUN_FRAMING_ERROR": @(OpenVPNAdapterErrorTUNFramingError),
@"TUN_SETUP_FAILED": @(OpenVPNErrorTUNSetupFailed), @"TUN_SETUP_FAILED": @(OpenVPNAdapterErrorTUNSetupFailed),
@"TUN_IFACE_CREATE": @(OpenVPNErrorTUNIfaceCreate), @"TUN_IFACE_CREATE": @(OpenVPNAdapterErrorTUNIfaceCreate),
@"TUN_IFACE_DISABLED": @(OpenVPNErrorTUNIfaceDisabled), @"TUN_IFACE_DISABLED": @(OpenVPNAdapterErrorTUNIfaceDisabled),
@"TUN_ERROR": @(OpenVPNErrorTUNError), @"TUN_ERROR": @(OpenVPNAdapterErrorTUNError),
@"TAP_NOT_SUPPORTED": @(OpenVPNErrorTAPNotSupported), @"TAP_NOT_SUPPORTED": @(OpenVPNAdapterErrorTAPNotSupported),
@"REROUTE_GW_NO_DNS": @(OpenVPNErrorRerouteGatewayNoDns), @"REROUTE_GW_NO_DNS": @(OpenVPNAdapterErrorRerouteGatewayNoDns),
@"TRANSPORT_ERROR": @(OpenVPNErrorTransportError), @"TRANSPORT_ERROR": @(OpenVPNAdapterErrorTransportError),
@"TCP_OVERFLOW": @(OpenVPNErrorTCPOverflow), @"TCP_OVERFLOW": @(OpenVPNAdapterErrorTCPOverflow),
@"TCP_SIZE_ERROR": @(OpenVPNErrorTCPSizeError), @"TCP_SIZE_ERROR": @(OpenVPNAdapterErrorTCPSizeError),
@"TCP_CONNECT_ERROR": @(OpenVPNErrorTCPConnectError), @"TCP_CONNECT_ERROR": @(OpenVPNAdapterErrorTCPConnectError),
@"UDP_CONNECT_ERROR": @(OpenVPNErrorUDPConnectError), @"UDP_CONNECT_ERROR": @(OpenVPNAdapterErrorUDPConnectError),
@"SSL_ERROR": @(OpenVPNErrorSSLError), @"SSL_ERROR": @(OpenVPNAdapterErrorSSLError),
@"SSL_PARTIAL_WRITE": @(OpenVPNErrorSSLPartialWrite), @"SSL_PARTIAL_WRITE": @(OpenVPNAdapterErrorSSLPartialWrite),
@"ENCAPSULATION_ERROR": @(OpenVPNErrorEncapsulationError), @"ENCAPSULATION_ERROR": @(OpenVPNAdapterErrorEncapsulationError),
@"EPKI_CERT_ERROR": @(OpenVPNErrorEPKICertError), @"EPKI_CERT_ERROR": @(OpenVPNAdapterErrorEPKICertError),
@"EPKI_SIGN_ERROR": @(OpenVPNErrorEPKISignError), @"EPKI_SIGN_ERROR": @(OpenVPNAdapterErrorEPKISignError),
@"HANDSHAKE_TIMEOUT": @(OpenVPNErrorHandshakeTimeout), @"HANDSHAKE_TIMEOUT": @(OpenVPNAdapterErrorHandshakeTimeout),
@"KEEPALIVE_TIMEOUT": @(OpenVPNErrorKeepaliveTimeout), @"KEEPALIVE_TIMEOUT": @(OpenVPNAdapterErrorKeepaliveTimeout),
@"INACTIVE_TIMEOUT": @(OpenVPNErrorInactiveTimeout), @"INACTIVE_TIMEOUT": @(OpenVPNAdapterErrorInactiveTimeout),
@"CONNECTION_TIMEOUT": @(OpenVPNErrorConnectionTimeout), @"CONNECTION_TIMEOUT": @(OpenVPNAdapterErrorConnectionTimeout),
@"PRIMARY_EXPIRE": @(OpenVPNErrorPrimaryExpire), @"PRIMARY_EXPIRE": @(OpenVPNAdapterErrorPrimaryExpire),
@"TLS_VERSION_MIN": @(OpenVPNErrorTLSVersionMin), @"TLS_VERSION_MIN": @(OpenVPNAdapterErrorTLSVersionMin),
@"TLS_AUTH_FAIL": @(OpenVPNErrorTLSAuthFail), @"TLS_AUTH_FAIL": @(OpenVPNAdapterErrorTLSAuthFail),
@"CERT_VERIFY_FAIL": @(OpenVPNErrorCertVerifyFail), @"CERT_VERIFY_FAIL": @(OpenVPNAdapterErrorCertVerifyFail),
@"PEM_PASSWORD_FAIL": @(OpenVPNErrorPEMPasswordFail), @"PEM_PASSWORD_FAIL": @(OpenVPNAdapterErrorPEMPasswordFail),
@"AUTH_FAILED": @(OpenVPNErrorAuthFailed), @"AUTH_FAILED": @(OpenVPNAdapterErrorAuthFailed),
@"CLIENT_HALT": @(OpenVPNErrorClientHalt), @"CLIENT_HALT": @(OpenVPNAdapterErrorClientHalt),
@"CLIENT_RESTART": @(OpenVPNErrorClientRestart), @"CLIENT_RESTART": @(OpenVPNAdapterErrorClientRestart),
@"RELAY": @(OpenVPNErrorRelay), @"RELAY": @(OpenVPNAdapterErrorRelay),
@"RELAY_ERROR": @(OpenVPNErrorRelayError), @"RELAY_ERROR": @(OpenVPNAdapterErrorRelayError),
@"N_PAUSE": @(OpenVPNErrorPauseNumber), @"N_PAUSE": @(OpenVPNAdapterErrorPauseNumber),
@"N_RECONNECT": @(OpenVPNErrorReconnectNumber), @"N_RECONNECT": @(OpenVPNAdapterErrorReconnectNumber),
@"N_KEY_LIMIT_RENEG": @(OpenVPNErrorKeyLimitRenegNumber), @"N_KEY_LIMIT_RENEG": @(OpenVPNAdapterErrorKeyLimitRenegNumber),
@"KEY_STATE_ERROR": @(OpenVPNErrorKeyStateError), @"KEY_STATE_ERROR": @(OpenVPNAdapterErrorKeyStateError),
@"PROXY_ERROR": @(OpenVPNErrorProxyError), @"PROXY_ERROR": @(OpenVPNAdapterErrorProxyError),
@"PROXY_NEED_CREDS": @(OpenVPNErrorProxyNeedCreds), @"PROXY_NEED_CREDS": @(OpenVPNAdapterErrorProxyNeedCreds),
@"KEV_NEGOTIATE_ERROR": @(OpenVPNErrorKevNegotiateError), @"KEV_NEGOTIATE_ERROR": @(OpenVPNAdapterErrorKevNegotiateError),
@"KEV_PENDING_ERROR": @(OpenVPNErrorKevPendingError), @"KEV_PENDING_ERROR": @(OpenVPNAdapterErrorKevPendingError),
@"N_KEV_EXPIRE": @(OpenVPNErrorKevExpireNumber), @"N_KEV_EXPIRE": @(OpenVPNAdapterErrorKevExpireNumber),
@"PKTID_INVALID": @(OpenVPNErrorPKTIDInvalid), @"PKTID_INVALID": @(OpenVPNAdapterErrorPKTIDInvalid),
@"PKTID_BACKTRACK": @(OpenVPNErrorPKTIDBacktrack), @"PKTID_BACKTRACK": @(OpenVPNAdapterErrorPKTIDBacktrack),
@"PKTID_EXPIRE": @(OpenVPNErrorPKTIDExpire), @"PKTID_EXPIRE": @(OpenVPNAdapterErrorPKTIDExpire),
@"PKTID_REPLAY": @(OpenVPNErrorPKTIDReplay), @"PKTID_REPLAY": @(OpenVPNAdapterErrorPKTIDReplay),
@"PKTID_TIME_BACKTRACK": @(OpenVPNErrorPKTIDTimeBacktrack), @"PKTID_TIME_BACKTRACK": @(OpenVPNAdapterErrorPKTIDTimeBacktrack),
@"DYNAMIC_CHALLENGE": @(OpenVPNErrorDynamicChallenge), @"DYNAMIC_CHALLENGE": @(OpenVPNAdapterErrorDynamicChallenge),
@"EPKI_ERROR": @(OpenVPNErrorEPKIError), @"EPKI_ERROR": @(OpenVPNAdapterErrorEPKIError),
@"EPKI_INVALID_ALIAS": @(OpenVPNErrorEPKIInvalidAlias), @"EPKI_INVALID_ALIAS": @(OpenVPNAdapterErrorEPKIInvalidAlias),
}; };
OpenVPNError error = errors[errorName] != nil ? (OpenVPNError)[errors[errorName] integerValue] : OpenVPNErrorUnknown; OpenVPNAdapterError error = errors[errorName] != nil ? (OpenVPNAdapterError)[errors[errorName] integerValue] : OpenVPNAdapterErrorUnknown;
return error; return error;
} }
- (NSString *)reasonForError:(OpenVPNError)error { - (NSString *)reasonForError:(OpenVPNAdapterError)error {
// TODO: Add missing error reasons // TODO: Add missing error reasons
switch (error) { switch (error) {
case OpenVPNErrorConfigurationFailure: return @"See OpenVPN error message for more details."; case OpenVPNAdapterErrorConfigurationFailure: return @"See OpenVPN error message for more details.";
case OpenVPNErrorCredentialsFailure: return @"See OpenVPN error message for more details."; case OpenVPNAdapterErrorCredentialsFailure: return @"See OpenVPN error message for more details.";
case OpenVPNErrorNetworkRecvError: return @"Errors receiving on network socket."; case OpenVPNAdapterErrorNetworkRecvError: return @"Errors receiving on network socket.";
case OpenVPNErrorNetworkEOFError: return @"EOF received on TCP network socket."; case OpenVPNAdapterErrorNetworkEOFError: return @"EOF received on TCP network socket.";
case OpenVPNErrorNetworkSendError: return @"Errors sending on network socket"; case OpenVPNAdapterErrorNetworkSendError: return @"Errors sending on network socket";
case OpenVPNErrorNetworkUnavailable: return @"Network unavailable."; case OpenVPNAdapterErrorNetworkUnavailable: return @"Network unavailable.";
case OpenVPNErrorDecryptError: return @"Data channel encrypt/decrypt error."; case OpenVPNAdapterErrorDecryptError: return @"Data channel encrypt/decrypt error.";
case OpenVPNErrorHMACError: return @"HMAC verification failure."; case OpenVPNAdapterErrorHMACError: return @"HMAC verification failure.";
case OpenVPNErrorReplayError: return @"Error from PacketIDReceive."; case OpenVPNAdapterErrorReplayError: return @"Error from PacketIDReceive.";
case OpenVPNErrorBufferError: return @"Exception thrown in Buffer methods."; case OpenVPNAdapterErrorBufferError: return @"Exception thrown in Buffer methods.";
case OpenVPNErrorCCError: return @"General control channel errors."; case OpenVPNAdapterErrorCCError: return @"General control channel errors.";
case OpenVPNErrorBadSrcAddr: return @"Packet from unknown source address."; case OpenVPNAdapterErrorBadSrcAddr: return @"Packet from unknown source address.";
case OpenVPNErrorCompressError: return @"Compress/Decompress errors on data channel."; case OpenVPNAdapterErrorCompressError: return @"Compress/Decompress errors on data channel.";
case OpenVPNErrorResolveError: return @"DNS resolution error."; case OpenVPNAdapterErrorResolveError: return @"DNS resolution error.";
case OpenVPNErrorSocketProtectError: return @"Error calling protect() method on socket."; case OpenVPNAdapterErrorSocketProtectError: return @"Error calling protect() method on socket.";
case OpenVPNErrorTUNReadError: return @"Read errors on TUN/TAP interface."; case OpenVPNAdapterErrorTUNReadError: return @"Read errors on TUN/TAP interface.";
case OpenVPNErrorTUNWriteError: return @"Write errors on TUN/TAP interface."; case OpenVPNAdapterErrorTUNWriteError: return @"Write errors on TUN/TAP interface.";
case OpenVPNErrorTUNFramingError: return @"Error with tun PF_INET/PF_INET6 prefix."; case OpenVPNAdapterErrorTUNFramingError: return @"Error with tun PF_INET/PF_INET6 prefix.";
case OpenVPNErrorTUNSetupFailed: return @"Error setting up TUN/TAP interface."; case OpenVPNAdapterErrorTUNSetupFailed: return @"Error setting up TUN/TAP interface.";
case OpenVPNErrorTUNIfaceCreate: return @"Error creating TUN/TAP interface."; case OpenVPNAdapterErrorTUNIfaceCreate: return @"Error creating TUN/TAP interface.";
case OpenVPNErrorTUNIfaceDisabled: return @"TUN/TAP interface is disabled."; case OpenVPNAdapterErrorTUNIfaceDisabled: return @"TUN/TAP interface is disabled.";
case OpenVPNErrorTUNError: return @"General tun error."; case OpenVPNAdapterErrorTUNError: return @"General tun error.";
case OpenVPNErrorTAPNotSupported: return @"Dev TAP is present in profile but not supported."; case OpenVPNAdapterErrorTAPNotSupported: return @"Dev TAP is present in profile but not supported.";
case OpenVPNErrorRerouteGatewayNoDns: return @"redirect-gateway specified without alt DNS servers."; case OpenVPNAdapterErrorRerouteGatewayNoDns: return @"redirect-gateway specified without alt DNS servers.";
case OpenVPNErrorTransportError: return @"General transport error"; case OpenVPNAdapterErrorTransportError: return @"General transport error";
case OpenVPNErrorTCPOverflow: return @"TCP output queue overflow."; case OpenVPNAdapterErrorTCPOverflow: return @"TCP output queue overflow.";
case OpenVPNErrorTCPSizeError: return @"Bad embedded uint16_t TCP packet size."; case OpenVPNAdapterErrorTCPSizeError: return @"Bad embedded uint16_t TCP packet size.";
case OpenVPNErrorTCPConnectError: return @"Client error on TCP connect."; case OpenVPNAdapterErrorTCPConnectError: return @"Client error on TCP connect.";
case OpenVPNErrorUDPConnectError: return @"Client error on UDP connect."; case OpenVPNAdapterErrorUDPConnectError: return @"Client error on UDP connect.";
case OpenVPNErrorSSLError: return @"Errors resulting from read/write on SSL object."; case OpenVPNAdapterErrorSSLError: return @"Errors resulting from read/write on SSL object.";
case OpenVPNErrorSSLPartialWrite: return @"SSL object did not process all written cleartext."; case OpenVPNAdapterErrorSSLPartialWrite: return @"SSL object did not process all written cleartext.";
case OpenVPNErrorEncapsulationError: return @"Exceptions thrown during packet encapsulation."; case OpenVPNAdapterErrorEncapsulationError: return @"Exceptions thrown during packet encapsulation.";
case OpenVPNErrorEPKICertError: return @"Error obtaining certificate from External PKI provider."; case OpenVPNAdapterErrorEPKICertError: return @"Error obtaining certificate from External PKI provider.";
case OpenVPNErrorEPKISignError: return @"Error obtaining RSA signature from External PKI provider."; case OpenVPNAdapterErrorEPKISignError: return @"Error obtaining RSA signature from External PKI provider.";
case OpenVPNErrorHandshakeTimeout: return @"Handshake failed to complete within given time frame."; case OpenVPNAdapterErrorHandshakeTimeout: return @"Handshake failed to complete within given time frame.";
case OpenVPNErrorKeepaliveTimeout: return @"Lost contact with peer."; case OpenVPNAdapterErrorKeepaliveTimeout: return @"Lost contact with peer.";
case OpenVPNErrorInactiveTimeout: return @"Disconnected due to inactive timer."; case OpenVPNAdapterErrorInactiveTimeout: return @"Disconnected due to inactive timer.";
case OpenVPNErrorConnectionTimeout: return @"Connection failed to establish within given time."; case OpenVPNAdapterErrorConnectionTimeout: return @"Connection failed to establish within given time.";
case OpenVPNErrorPrimaryExpire: return @"Primary key context expired."; case OpenVPNAdapterErrorPrimaryExpire: return @"Primary key context expired.";
case OpenVPNErrorTLSVersionMin: return @"Peer cannot handshake at our minimum required TLS version."; case OpenVPNAdapterErrorTLSVersionMin: return @"Peer cannot handshake at our minimum required TLS version.";
case OpenVPNErrorTLSAuthFail: return @"tls-auth HMAC verification failed."; case OpenVPNAdapterErrorTLSAuthFail: return @"tls-auth HMAC verification failed.";
case OpenVPNErrorCertVerifyFail: return @"Peer certificate verification failure."; case OpenVPNAdapterErrorCertVerifyFail: return @"Peer certificate verification failure.";
case OpenVPNErrorPEMPasswordFail: return @"Incorrect or missing PEM private key decryption password."; case OpenVPNAdapterErrorPEMPasswordFail: return @"Incorrect or missing PEM private key decryption password.";
case OpenVPNErrorAuthFailed: return @"General authentication failure"; case OpenVPNAdapterErrorAuthFailed: return @"General authentication failure";
case OpenVPNErrorClientHalt: return @"HALT message from server received."; case OpenVPNAdapterErrorClientHalt: return @"HALT message from server received.";
case OpenVPNErrorClientRestart: return @"RESTART message from server received."; case OpenVPNAdapterErrorClientRestart: return @"RESTART message from server received.";
case OpenVPNErrorRelay: return @"RELAY message from server received."; case OpenVPNAdapterErrorRelay: return @"RELAY message from server received.";
case OpenVPNErrorRelayError: return @"RELAY error."; case OpenVPNAdapterErrorRelayError: return @"RELAY error.";
case OpenVPNErrorPauseNumber: return @""; case OpenVPNAdapterErrorPauseNumber: return @"";
case OpenVPNErrorReconnectNumber: return @""; case OpenVPNAdapterErrorReconnectNumber: return @"";
case OpenVPNErrorKeyLimitRenegNumber: return @""; case OpenVPNAdapterErrorKeyLimitRenegNumber: return @"";
case OpenVPNErrorKeyStateError: return @"Received packet didn't match expected key state."; case OpenVPNAdapterErrorKeyStateError: return @"Received packet didn't match expected key state.";
case OpenVPNErrorProxyError: return @"HTTP proxy error."; case OpenVPNAdapterErrorProxyError: return @"HTTP proxy error.";
case OpenVPNErrorProxyNeedCreds: return @"HTTP proxy needs credentials."; case OpenVPNAdapterErrorProxyNeedCreds: return @"HTTP proxy needs credentials.";
case OpenVPNErrorKevNegotiateError: return @""; case OpenVPNAdapterErrorKevNegotiateError: return @"";
case OpenVPNErrorKevPendingError: return @""; case OpenVPNAdapterErrorKevPendingError: return @"";
case OpenVPNErrorKevExpireNumber: return @""; case OpenVPNAdapterErrorKevExpireNumber: return @"";
case OpenVPNErrorPKTIDInvalid: return @""; case OpenVPNAdapterErrorPKTIDInvalid: return @"";
case OpenVPNErrorPKTIDBacktrack: return @""; case OpenVPNAdapterErrorPKTIDBacktrack: return @"";
case OpenVPNErrorPKTIDExpire: return @""; case OpenVPNAdapterErrorPKTIDExpire: return @"";
case OpenVPNErrorPKTIDReplay: return @""; case OpenVPNAdapterErrorPKTIDReplay: return @"";
case OpenVPNErrorPKTIDTimeBacktrack: return @""; case OpenVPNAdapterErrorPKTIDTimeBacktrack: return @"";
case OpenVPNErrorDynamicChallenge: return @""; case OpenVPNAdapterErrorDynamicChallenge: return @"";
case OpenVPNErrorEPKIError: return @""; case OpenVPNAdapterErrorEPKIError: return @"";
case OpenVPNErrorEPKIInvalidAlias: return @""; case OpenVPNAdapterErrorEPKIInvalidAlias: return @"";
case OpenVPNErrorUnknown: return @"Unknown error."; case OpenVPNAdapterErrorUnknown: return @"Unknown error.";
} }
} }
+67 -67
View File
@@ -16,71 +16,71 @@ FOUNDATION_EXPORT NSString * __nonnull const OpenVPNAdapterErrorMessageKey;
/** /**
OpenVPN error codes OpenVPN error codes
*/ */
typedef NS_ENUM(NSInteger, OpenVPNError) { typedef NS_ENUM(NSInteger, OpenVPNAdapterError) {
OpenVPNErrorConfigurationFailure = 1, OpenVPNAdapterErrorConfigurationFailure = 1,
OpenVPNErrorCredentialsFailure, OpenVPNAdapterErrorCredentialsFailure,
OpenVPNErrorNetworkRecvError, OpenVPNAdapterErrorNetworkRecvError,
OpenVPNErrorNetworkEOFError, OpenVPNAdapterErrorNetworkEOFError,
OpenVPNErrorNetworkSendError, OpenVPNAdapterErrorNetworkSendError,
OpenVPNErrorNetworkUnavailable, OpenVPNAdapterErrorNetworkUnavailable,
OpenVPNErrorDecryptError, OpenVPNAdapterErrorDecryptError,
OpenVPNErrorHMACError, OpenVPNAdapterErrorHMACError,
OpenVPNErrorReplayError, OpenVPNAdapterErrorReplayError,
OpenVPNErrorBufferError, OpenVPNAdapterErrorBufferError,
OpenVPNErrorCCError, OpenVPNAdapterErrorCCError,
OpenVPNErrorBadSrcAddr, OpenVPNAdapterErrorBadSrcAddr,
OpenVPNErrorCompressError, OpenVPNAdapterErrorCompressError,
OpenVPNErrorResolveError, OpenVPNAdapterErrorResolveError,
OpenVPNErrorSocketProtectError, OpenVPNAdapterErrorSocketProtectError,
OpenVPNErrorTUNReadError, OpenVPNAdapterErrorTUNReadError,
OpenVPNErrorTUNWriteError, OpenVPNAdapterErrorTUNWriteError,
OpenVPNErrorTUNFramingError, OpenVPNAdapterErrorTUNFramingError,
OpenVPNErrorTUNSetupFailed, OpenVPNAdapterErrorTUNSetupFailed,
OpenVPNErrorTUNIfaceCreate, OpenVPNAdapterErrorTUNIfaceCreate,
OpenVPNErrorTUNIfaceDisabled, OpenVPNAdapterErrorTUNIfaceDisabled,
OpenVPNErrorTUNError, OpenVPNAdapterErrorTUNError,
OpenVPNErrorTAPNotSupported, OpenVPNAdapterErrorTAPNotSupported,
OpenVPNErrorRerouteGatewayNoDns, OpenVPNAdapterErrorRerouteGatewayNoDns,
OpenVPNErrorTransportError, OpenVPNAdapterErrorTransportError,
OpenVPNErrorTCPOverflow, OpenVPNAdapterErrorTCPOverflow,
OpenVPNErrorTCPSizeError, OpenVPNAdapterErrorTCPSizeError,
OpenVPNErrorTCPConnectError, OpenVPNAdapterErrorTCPConnectError,
OpenVPNErrorUDPConnectError, OpenVPNAdapterErrorUDPConnectError,
OpenVPNErrorSSLError, OpenVPNAdapterErrorSSLError,
OpenVPNErrorSSLPartialWrite, OpenVPNAdapterErrorSSLPartialWrite,
OpenVPNErrorEncapsulationError, OpenVPNAdapterErrorEncapsulationError,
OpenVPNErrorEPKICertError, OpenVPNAdapterErrorEPKICertError,
OpenVPNErrorEPKISignError, OpenVPNAdapterErrorEPKISignError,
OpenVPNErrorHandshakeTimeout, OpenVPNAdapterErrorHandshakeTimeout,
OpenVPNErrorKeepaliveTimeout, OpenVPNAdapterErrorKeepaliveTimeout,
OpenVPNErrorInactiveTimeout, OpenVPNAdapterErrorInactiveTimeout,
OpenVPNErrorConnectionTimeout, OpenVPNAdapterErrorConnectionTimeout,
OpenVPNErrorPrimaryExpire, OpenVPNAdapterErrorPrimaryExpire,
OpenVPNErrorTLSVersionMin, OpenVPNAdapterErrorTLSVersionMin,
OpenVPNErrorTLSAuthFail, OpenVPNAdapterErrorTLSAuthFail,
OpenVPNErrorCertVerifyFail, OpenVPNAdapterErrorCertVerifyFail,
OpenVPNErrorPEMPasswordFail, OpenVPNAdapterErrorPEMPasswordFail,
OpenVPNErrorAuthFailed, OpenVPNAdapterErrorAuthFailed,
OpenVPNErrorClientHalt, OpenVPNAdapterErrorClientHalt,
OpenVPNErrorClientRestart, OpenVPNAdapterErrorClientRestart,
OpenVPNErrorRelay, OpenVPNAdapterErrorRelay,
OpenVPNErrorRelayError, OpenVPNAdapterErrorRelayError,
OpenVPNErrorPauseNumber, OpenVPNAdapterErrorPauseNumber,
OpenVPNErrorReconnectNumber, OpenVPNAdapterErrorReconnectNumber,
OpenVPNErrorKeyLimitRenegNumber, OpenVPNAdapterErrorKeyLimitRenegNumber,
OpenVPNErrorKeyStateError, OpenVPNAdapterErrorKeyStateError,
OpenVPNErrorProxyError, OpenVPNAdapterErrorProxyError,
OpenVPNErrorProxyNeedCreds, OpenVPNAdapterErrorProxyNeedCreds,
OpenVPNErrorKevNegotiateError, OpenVPNAdapterErrorKevNegotiateError,
OpenVPNErrorKevPendingError, OpenVPNAdapterErrorKevPendingError,
OpenVPNErrorKevExpireNumber, OpenVPNAdapterErrorKevExpireNumber,
OpenVPNErrorPKTIDInvalid, OpenVPNAdapterErrorPKTIDInvalid,
OpenVPNErrorPKTIDBacktrack, OpenVPNAdapterErrorPKTIDBacktrack,
OpenVPNErrorPKTIDExpire, OpenVPNAdapterErrorPKTIDExpire,
OpenVPNErrorPKTIDReplay, OpenVPNAdapterErrorPKTIDReplay,
OpenVPNErrorPKTIDTimeBacktrack, OpenVPNAdapterErrorPKTIDTimeBacktrack,
OpenVPNErrorDynamicChallenge, OpenVPNAdapterErrorDynamicChallenge,
OpenVPNErrorEPKIError, OpenVPNAdapterErrorEPKIError,
OpenVPNErrorEPKIInvalidAlias, OpenVPNAdapterErrorEPKIInvalidAlias,
OpenVPNErrorUnknown OpenVPNAdapterErrorUnknown
}; };