Merge branch 'xcode8' into xcode8.1
This commit is contained in:
Коммит
54d8312dc2
|
@ -1 +1 @@
|
|||
Subproject commit c29f5da7f3e1c23a6394593f35740a901894f841
|
||||
Subproject commit 623b690242ffb6a9fd486c06d77fa83925f230a6
|
|
@ -1 +1 @@
|
|||
Subproject commit e7014ece61569374c2d5fcefdd1282186024cf4b
|
||||
Subproject commit 757e5c7705551ad46826bb2f907ee34b91297a94
|
|
@ -51,6 +51,7 @@ namespace XamCore.Security.Tls
|
|||
MonoTlsConnectionInfo connectionInfo;
|
||||
bool havePeerTrust;
|
||||
bool isAuthenticated;
|
||||
bool handshakeFinished;
|
||||
int handshakeStarted;
|
||||
|
||||
bool closed;
|
||||
|
@ -197,11 +198,12 @@ namespace XamCore.Security.Tls
|
|||
|
||||
public override bool ProcessHandshake ()
|
||||
{
|
||||
SslStatus status;
|
||||
if (handshakeFinished)
|
||||
throw new NotSupportedException ("Handshake already finished.");
|
||||
|
||||
do {
|
||||
while (true) {
|
||||
lastException = null;
|
||||
status = SSLHandshake (Handle);
|
||||
var status = SSLHandshake (Handle);
|
||||
Debug ("Handshake: {0} - {0:x}", status);
|
||||
|
||||
CheckStatusAndThrow (status, SslStatus.WouldBlock, SslStatus.PeerAuthCompleted, SslStatus.PeerClientCertRequested);
|
||||
|
@ -221,10 +223,11 @@ namespace XamCore.Security.Tls
|
|||
SetCertificate (clientIdentity, new SecCertificate [0]);
|
||||
} else if (status == SslStatus.WouldBlock) {
|
||||
return false;
|
||||
} else if (status == SslStatus.Success) {
|
||||
handshakeFinished = true;
|
||||
return true;
|
||||
}
|
||||
} while (status != SslStatus.Success);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
void RequirePeerTrust ()
|
||||
|
|
Загрузка…
Ссылка в новой задаче