Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Yershov <yershov@corp.mail.ru>2016-10-21 19:37:54 +0300
committerSergey Yershov <yershov@corp.mail.ru>2016-10-25 17:16:00 +0300
commit9e736d00a54d507e95da0a0979d678bc549b6d6b (patch)
treed1636506cf2ddf3014edb97983ab02265960f754 /platform
parent671f29af9155f1edc764e106c40b4f48a52f418d (diff)
[ios] Correct initialization of SSL socket
Diffstat (limited to 'platform')
-rw-r--r--platform/socket.hpp2
-rw-r--r--platform/socket_apple.mm19
2 files changed, 12 insertions, 9 deletions
diff --git a/platform/socket.hpp b/platform/socket.hpp
index 43083630ee..9e0c2f75d3 100644
--- a/platform/socket.hpp
+++ b/platform/socket.hpp
@@ -25,5 +25,5 @@ public:
virtual void SetTimeout(uint32_t milliseconds) = 0;
};
-unique_ptr<Socket> createSocket();
+unique_ptr<Socket> CreateSocket();
} // namespace platform
diff --git a/platform/socket_apple.mm b/platform/socket_apple.mm
index 670f8a4692..d38fd9ba2d 100644
--- a/platform/socket_apple.mm
+++ b/platform/socket_apple.mm
@@ -30,17 +30,19 @@
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
- CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)(host), port, &readStream,
+ CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)(host), (UInt32)port, &readStream,
&writeStream);
+ NSDictionary * settings = @{(id)kCFStreamSSLValidatesCertificateChain : @NO,
+ (id)kCFStreamSSLLevel : (id)kCFStreamSocketSecurityLevelTLSv1,
+ };
+
+ CFReadStreamSetProperty(readStream, kCFStreamPropertySSLSettings, (CFTypeRef)settings);
+ CFWriteStreamSetProperty(writeStream, kCFStreamPropertySSLSettings, (CFTypeRef)settings);
+
self.inputStream = (__bridge_transfer NSInputStream *)readStream;
self.outputStream = (__bridge_transfer NSOutputStream *)writeStream;
- [self.inputStream setProperty:NSStreamSocketSecurityLevelNegotiatedSSL
- forKey:NSStreamSocketSecurityLevelKey];
- [self.outputStream setProperty:NSStreamSocketSecurityLevelNegotiatedSSL
- forKey:NSStreamSocketSecurityLevelKey];
-
[self.inputStream open];
[self.outputStream open];
@@ -113,8 +115,9 @@
if (!self.outputStream || self.outputStream.streamStatus != NSStreamStatusOpen)
return NO;
- NSDate * writeStart = [NSDate date];
uint8_t const * writePtr = data;
+
+ NSDate * writeStart = [NSDate date];
while (count != 0 && [[NSDate date] timeIntervalSinceDate:writeStart] < self.timeout)
{
NSInteger const writeCount = [self.outputStream write:writePtr maxLength:count];
@@ -164,7 +167,7 @@ private:
SocketImpl * m_socketImpl = nullptr;
};
-unique_ptr<Socket> createSocket()
+unique_ptr<Socket> CreateSocket()
{
return make_unique<PlatformSocket>();
}