Skip to content

Commit 6bff01a

Browse files
Lukas Schmidtnuclearace
Lukas Schmidt
authored andcommitted
Proof of concept
1 parent 42d96d9 commit 6bff01a

File tree

9 files changed

+91
-110
lines changed

9 files changed

+91
-110
lines changed

Cartfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github "daltoniam/Starscream" ~> 2.0

Cartfile.resolved

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github "daltoniam/Starscream" "2.1.1"

Socket.IO-Client-Swift.xcodeproj/project.pbxproj

Lines changed: 52 additions & 103 deletions
Large diffs are not rendered by default.

Source/SocketIO/Client/SocketIOClientOption.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
// THE SOFTWARE.
2424

2525
import Foundation
26-
import StarscreamSocketIO
26+
import Starscream
2727

2828
protocol ClientOption : CustomStringConvertible, Equatable {
2929
func getSocketIOOptionValue() -> Any

Source/SocketIO/Engine/SocketEngine.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import Dispatch
2626
import Foundation
27-
import StarscreamSocketIO
27+
import Starscream
2828

2929
/// The class that handles the engine.io protocol and transports.
3030
/// See `SocketEnginePollable` and `SocketEngineWebsocket` for transport specific methods.
@@ -134,7 +134,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
134134
private var pongsMissedMax = 0
135135
private var probeWait = ProbeWaitQueue()
136136
private var secure = false
137-
private var security: SSLSecurity?
137+
private var security: SocketIO.SSLSecurity?
138138
private var selfSigned = false
139139

140140
// MARK: Initializers
@@ -330,7 +330,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
330330
ws?.enableCompression = compress
331331
ws?.delegate = self
332332
ws?.disableSSLCertValidation = selfSigned
333-
ws?.security = security
333+
ws?.security = security?.security
334334

335335
ws?.connect()
336336
}

Source/SocketIO/Engine/SocketEngineSpec.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
//
2525

2626
import Foundation
27-
import StarscreamSocketIO
27+
import Starscream
2828

2929
/// Specifies a SocketEngine.
3030
@objc public protocol SocketEngineSpec {

Source/SocketIO/Engine/SocketEngineWebsocket.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
//
2525

2626
import Foundation
27-
import StarscreamSocketIO
27+
import Starscream
2828

2929
/// Protocol that is used to implement socket.io WebSocket support
3030
public protocol SocketEngineWebsocket : SocketEngineSpec, WebSocketDelegate {
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//
2+
// SSLSecurity.swift
3+
// SocketIO-iOS
4+
//
5+
// Created by Lukas Schmidt on 24.09.17.
6+
//
7+
8+
import Starscream
9+
10+
public class SSLSecurity: NSObject {
11+
public let security: Starscream.SSLSecurity
12+
13+
init(security: Starscream.SSLSecurity) {
14+
self.security = security
15+
}
16+
17+
public convenience init(usePublicKeys: Bool = true) {
18+
let security = Starscream.SSLSecurity(usePublicKeys: usePublicKeys)
19+
self.init(security: security)
20+
}
21+
22+
public convenience init(certs: [SSLCert], usePublicKeys: Bool) {
23+
let security = Starscream.SSLSecurity(certs: certs, usePublicKeys: usePublicKeys)
24+
self.init(security: security)
25+
}
26+
27+
public func isValid(_ trust: SecTrust, domain: String?) -> Bool {
28+
return security.isValid(trust, domain: domain)
29+
}
30+
}

Source/SocketIO/Util/SocketExtensions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
// THE SOFTWARE.
2424

2525
import Foundation
26-
import StarscreamSocketIO
26+
import Starscream
2727

2828
enum JSONError : Error {
2929
case notArray

0 commit comments

Comments
 (0)