Adjustments to #2610.

This commit is contained in:
Dominik Picheta
2015-06-22 21:40:38 +01:00
parent 8853dfb353
commit 68f583ddb7
2 changed files with 15 additions and 5 deletions

View File

@@ -472,7 +472,16 @@ when defined(ssl):
socket.bioOut = bioNew(bio_s_mem())
sslSetBio(socket.sslHandle, socket.bioIn, socket.bioOut)
proc wrapSocket*(ctx: SslContext, socket: AsyncSocket, handshake: SslHandshakeType) =
proc wrapConnectedSocket*(ctx: SslContext, socket: AsyncSocket,
handshake: SslHandshakeType) =
## Wraps a connected socket in an SSL context. This function effectively
## turns ``socket`` into an SSL socket.
##
## This should be called on a connected socket, and will perform
## an SSL handshake immediately.
##
## **Disclaimer**: This code is not well tested, may be very unsafe and
## prone to security vulnerabilities.
wrapSocket(ctx, socket)
case handshake

View File

@@ -102,7 +102,7 @@ type
proc isIpAddress*(address_str: string): bool {.tags: [].}
proc parseIpAddress*(address_str: string): IpAddress
proc socketError*(socket: Socket, err: int = -1, async = false,
lastError = (-1).OSErrorCode): void
lastError = (-1).OSErrorCode): void
proc isDisconnectionError*(flags: set[SocketFlag],
lastError: OSErrorCode): bool =
@@ -259,9 +259,10 @@ when defined(ssl):
if SSLSetFd(socket.sslHandle, socket.fd) != 1:
raiseSSLError()
proc wrapSocket*(ctx: SSLContext, socket: Socket, handshake: SslHandshakeType) =
## Wraps a socket in an SSL context. This function effectively turns
## ``socket`` into an SSL socket.
proc wrapConnectedSocket*(ctx: SSLContext, socket: Socket,
handshake: SslHandshakeType) =
## Wraps a connected socket in an SSL context. This function effectively
## turns ``socket`` into an SSL socket.
##
## This should be called on a connected socket, and will perform
## an SSL handshake immediately.