Browse Source

* Some extra constants, specifically SNI related

git-svn-id: trunk@27701 -
michael 11 years ago
parent
commit
6c85e66390
2 changed files with 52 additions and 0 deletions
  1. 7 0
      packages/openssl/src/fpopenssl.pp
  2. 45 0
      packages/openssl/src/openssl.pas

+ 7 - 0
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);

+ 45 - 0
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;