mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-04-24 00:00:05 +08:00
Rename OpenVPNError enum to OpenVPNAdapterError
This commit is contained in:
+139
-139
@@ -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.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user