diff --git a/packages/openssl/src/fpopenssl.pp b/packages/openssl/src/fpopenssl.pp index cc06f19e24..7190d6878e 100644 --- a/packages/openssl/src/fpopenssl.pp +++ b/packages/openssl/src/fpopenssl.pp @@ -84,6 +84,7 @@ Type function Peek(buf: SslPtr; num: cInt):cInt; function Write(buf: SslPtr; num: cInt):cInt; Function PeerCertificate : PX509; + function Ctrl(cmd: cInt; larg: clong; parg: Pointer): cInt; function Pending:cInt; Function GetError(AResult :cint) : cint; function GetCurrentCipher :SslPtr; @@ -370,6 +371,12 @@ begin inherited Destroy; end; +function TSSL.Ctrl(cmd: cInt; larg: clong; parg: Pointer): cInt; + +begin + Result:=sslCtrl(fSSL,cmd,larg,parg); +end; + function TSSL.SetFd(fd: cInt): cInt; begin Result:=sslSetFD(fSSL,fd); diff --git a/packages/openssl/src/openssl.pas b/packages/openssl/src/openssl.pas index f9e86ed4a0..71def322be 100644 --- a/packages/openssl/src/openssl.pas +++ b/packages/openssl/src/openssl.pas @@ -459,6 +459,50 @@ const SSL_CTRL_GET_SESS_CACHE_MODE = 45; SSL_CTRL_GET_MAX_CERT_LIST = 50; SSL_CTRL_SET_MAX_CERT_LIST = 51; + SSL_CTRL_SET_MAX_SEND_FRAGMENT = 52; + SSL_CTRL_SET_TLSEXT_SERVERNAME_CB = 53; + SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG = 54; + SSL_CTRL_SET_TLSEXT_HOSTNAME = 55; + SSL_CTRL_SET_TLSEXT_DEBUG_CB = 56; + SSL_CTRL_SET_TLSEXT_DEBUG_ARG = 57; + SSL_CTRL_GET_TLSEXT_TICKET_KEYS = 58; + SSL_CTRL_SET_TLSEXT_TICKET_KEYS = 59; + SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT = 60; + SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB = 61; + SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG = 62; + SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB = 63; + SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG = 64; + SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE = 65; + SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS = 66; + SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS = 67; + SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS = 68; + SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS = 69; + SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP = 70; + SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP = 71; + SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB = 72; + SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB = 75; + SSL_CTRL_SET_SRP_VERIFY_PARAM_CB = 76; + SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB = 77; + SSL_CTRL_SET_SRP_ARG = 78; + SSL_CTRL_SET_TLS_EXT_SRP_USERNAME = 79; + SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH = 80; + SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD = 81; + SSL_CTRL_GET_EXTRA_CHAIN_CERTS = 82; + SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS = 83; + SSL_CTRL_TLS_EXT_SEND_HEARTBEAT = 85; + SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING = 86; + SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS = 87; + // Some missing values ? + + + DTLS_CTRL_GET_TIMEOUT = 73; + DTLS_CTRL_HANDLE_TIMEOUT = 74; + DTLS_CTRL_LISTEN = 75; + SSL_CTRL_GET_RI_SUPPORT = 76; + SSL_CTRL_CLEAR_OPTIONS = 77; + SSL_CTRL_CLEAR_MODE = 78; + + TLSEXT_NAMETYPE_host_name = 0; SSL_MODE_ENABLE_PARTIAL_WRITE = 1; SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER = 2; @@ -643,6 +687,7 @@ const DES_ENCRYPT = 1; DES_DECRYPT = 0; + var SSLLibHandle: TLibHandle = 0; SSLUtilHandle: TLibHandle = 0;