diff options
author | Nathan Hoad <nathan@getoffmalawn.com> | 2015-03-08 13:39:37 +1100 |
---|---|---|
committer | Nathan Hoad <nathan@getoffmalawn.com> | 2015-03-08 13:39:37 +1100 |
commit | 19ddae38da79b592b66452810a9415a075617e71 (patch) | |
tree | e6559b4f4b2ebf582b6b031ee528918d5b495fd0 | |
parent | e214308cb19c5085979dc470c4804d0173eccb1e (diff) | |
download | Nim-19ddae38da79b592b66452810a9415a075617e71.tar.gz |
Some more documentation for the SNI related procs.
-rw-r--r-- | lib/wrappers/openssl.nim | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/wrappers/openssl.nim b/lib/wrappers/openssl.nim index 1305d1f31..34e2d6ff5 100644 --- a/lib/wrappers/openssl.nim +++ b/lib/wrappers/openssl.nim @@ -315,12 +315,24 @@ proc SSL_ctrl*(ssl: SslPtr, cmd: cInt, larg: int, parg: pointer): int{. proc SSL_set_tlsext_host_name*(ssl: SslPtr, name: cstring): int = result = SSL_ctrl(ssl, SSL_CTRL_SET_TLSEXT_HOSTNAME, TLSEXT_NAMETYPE_host_name, name) + ## Set the SNI server name extension to be used in a client hello. + ## Returns 1 if SNI was set, 0 if current SSL configuration doesn't support SNI. + proc SSL_get_servername*(ssl: SslPtr, typ: cInt = TLSEXT_NAMETYPE_host_name): cstring {.cdecl, dynlib: DLLSSLName, importc.} + ## Retrieve the server name requested in the client hello. This can be used + ## in the callback set in `SSL_CTX_set_tlsext_servername_callback` to + ## implement virtual hosting. May return `nil`. proc SSL_CTX_set_tlsext_servername_callback*(ctx: SslCtx, cb: PFunction): int = ## Set the callback to be used on listening SSL connections when the client hello is received. ## Callback proc ``cb`` should be of the form `proc (ssl: SslPtr, cb_id: int, arg: pointer): int` + ## + ## The callback should return one of: + ## * SSL_TLSEXT_ERR_OK + ## * SSL_TLSEXT_ERR_ALERT_WARNING + ## * SSL_TLSEXT_ERR_ALERT_FATAL + ## * SSL_TLSEXT_ERR_NOACK result = SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_TLSEXT_SERVERNAME_CB, cb) proc SSL_CTX_set_tlsext_servername_arg*(ctx: SslCtx, arg: pointer): int = |