From cb7eb99783c7a88bc52fc80217195fa9bd9daa02 Mon Sep 17 00:00:00 2001 From: Miya Ren Date: Tue, 17 Jan 2023 17:08:13 +0800 Subject: [PATCH 1/4] fix crash for ios when ssl server down --- ios/TcpSockets.m | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/ios/TcpSockets.m b/ios/TcpSockets.m index 23c961f..345ba35 100644 --- a/ios/TcpSockets.m +++ b/ios/TcpSockets.m @@ -185,20 +185,23 @@ - (void)onWrittenData:(TcpSocketClient *)client msgId:(NSNumber *)msgId { - (void)onConnect:(TcpSocketClient *)client { GCDAsyncSocket *socket = [client getSocket]; - [self sendEventWithName:@"connect" - body:@{ - @"id" : client.id, - @"connection" : @{ - @"localAddress" : [socket localHost], - @"localPort" : - [NSNumber numberWithInt:[socket localPort]], - @"remoteAddress" : [socket connectedHost], - @"remotePort" : [NSNumber - numberWithInt:[socket connectedPort]], - @"remoteFamily" : [socket isIPv4] ? @"IPv4" - : @"IPv6" - } - }]; + if([socket localPort] != nil && [socket connectedPort] != nil) { + [self sendEventWithName:@"connect" + body:@{ + @"id" : client.id, + @"connection" : @{ + @"localAddress" : [socket localHost], + @"localPort" : + [NSNumber numberWithInt:[socket localPort]], + @"remoteAddress" : [socket connectedHost], + @"remotePort" : [NSNumber + numberWithInt:[socket connectedPort]], + @"remoteFamily" : [socket isIPv4] ? @"IPv4" + : @"IPv6" + } + }]; + } + } - (void)onListen:(TcpSocketClient *)server { From f6341374bcdd442a2089ffeef41ce8ef8be12935 Mon Sep 17 00:00:00 2001 From: Miya Ren Date: Wed, 1 Feb 2023 10:22:12 +0800 Subject: [PATCH 2/4] add error event when connectedPort is bull --- ios/TcpSockets.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ios/TcpSockets.m b/ios/TcpSockets.m index 345ba35..b2289c2 100644 --- a/ios/TcpSockets.m +++ b/ios/TcpSockets.m @@ -200,6 +200,10 @@ - (void)onConnect:(TcpSocketClient *)client { : @"IPv6" } }]; + } else { + NSString *msg = + [NSString stringWithFormat:@"no client found with id %@", client.id]; + [self sendEventWithName:@"error" body:@{@"id" : client.id, @"error" : msg}]; } } From 32d580892f0c5331c3e9ada6d5ad3fdf8a29b144 Mon Sep 17 00:00:00 2001 From: Miya Ren Date: Tue, 21 Mar 2023 14:21:24 +0800 Subject: [PATCH 3/4] remove kCFStreamSSLPeerName --- ios/TcpSocketClient.m | 3 --- 1 file changed, 3 deletions(-) diff --git a/ios/TcpSocketClient.m b/ios/TcpSocketClient.m index 80e22d5..e08667f 100644 --- a/ios/TcpSocketClient.m +++ b/ios/TcpSocketClient.m @@ -137,9 +137,6 @@ - (void)startTLS:(NSDictionary *)tlsOptions { _certPath = certResourcePath; [settings setObject:[NSNumber numberWithBool:YES] forKey:GCDAsyncSocketManuallyEvaluateTrust]; - } else { - // Default certificates - [settings setObject:_host forKey:(NSString *)kCFStreamSSLPeerName]; } _tls = true; [_tcpSocket startTLS:settings]; From 1ed1a20fb99b6d2d1a32087c2eb9fb2d59b928f0 Mon Sep 17 00:00:00 2001 From: Miya Ren Date: Thu, 25 May 2023 13:01:25 +0800 Subject: [PATCH 4/4] add error event when connectedPort is bull --- ios/TcpSockets.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ios/TcpSockets.m b/ios/TcpSockets.m index b2289c2..dcc5856 100644 --- a/ios/TcpSockets.m +++ b/ios/TcpSockets.m @@ -185,7 +185,8 @@ - (void)onWrittenData:(TcpSocketClient *)client msgId:(NSNumber *)msgId { - (void)onConnect:(TcpSocketClient *)client { GCDAsyncSocket *socket = [client getSocket]; - if([socket localPort] != nil && [socket connectedPort] != nil) { + if([socket localHost] != nil && [socket connectedHost] != nil && [socket localPort] != nil + && [socket connectedPort] != nil) { [self sendEventWithName:@"connect" body:@{ @"id" : client.id,