List Info

Thread: OpenSSL: openssl/ssl/ s3_lib.c ssl.h ssl_err.c tls1.h




OpenSSL: openssl/ssl/ s3_lib.c ssl.h ssl_err.c tls1.h
country flaguser name
Germany
2007-08-27 20:08:47
  OpenSSL CVS Repository
  http://cvs.openssl.org/
 
____________________________________________________________
________________

  Server: cvs.openssl.org                  Name:   Dr.
Stephen Henson
  Root:   /v/openssl/cvs                   Email:  steveopenssl.org
  Module: openssl                          Date:  
28-Aug-2007 03:08:46
  Branch: HEAD                             Handle:
2007082802084302

  Modified files:
    openssl/ssl             s3_lib.c ssl.h ssl_err.c tls1.h

  Log:
    Add ctrls to set and get RFC4507bis keys to enable
several contexts to
    reuse the same tickets.

  Summary:
    Revision    Changes     Path
    1.115       +25 -0      openssl/ssl/s3_lib.c
    1.196       +3  -0      openssl/ssl/ssl.h
    1.64        +1  -0      openssl/ssl/ssl_err.c
    1.35        +5  -0      openssl/ssl/tls1.h
 
____________________________________________________________
________________

  patch -p0 <<' .'
  Index: openssl/ssl/s3_lib.c
 
============================================================
================
  $ cvs diff -u -r1.114 -r1.115 s3_lib.c
  --- openssl/ssl/s3_lib.c	12 Aug 2007 18:56:13 -0000	1.114
  +++ openssl/ssl/s3_lib.c	28 Aug 2007 01:08:43 -0000	1.115
   -2536,6 +2536,31 
   	case SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG:
   		ctx->tlsext_servername_arg=parg;
   		break;
  +	case SSL_CTRL_SET_TLSEXT_TICKET_KEYS:
  +	case SSL_CTRL_GET_TLSEXT_TICKET_KEYS:
  +		{
  +		unsigned char *keys = parg;
  +		if (!keys)
  +			return 48;
  +		if (larg != 48)
  +			{
  +			SSLerr(SSL_F_SSL3_CTX_CTRL,
SSL_R_INVALID_TICKET_KEYS_LENGTH);
  +			return 0;
  +			}
  +		if (cmd == SSL_CTRL_SET_TLSEXT_TICKET_KEYS)
  +			{
  +			memcpy(ctx->tlsext_tick_key_name, keys, 16);
  +			memcpy(ctx->tlsext_tick_hmac_key, keys + 16, 16);
  +			memcpy(ctx->tlsext_tick_aes_key, keys + 32, 16);
  +			}
  +		else
  +			{
  +			memcpy(keys, ctx->tlsext_tick_key_name, 16);
  +			memcpy(keys + 16, ctx->tlsext_tick_hmac_key, 16);
  +			memcpy(keys + 32, ctx->tlsext_tick_aes_key, 16);
  +			}
  +		return 1;
  +		}
   #endif /* !OPENSSL_NO_TLSEXT */
   	/* A Thawte special  */
   	case SSL_CTRL_EXTRA_CHAIN_CERT:
   .
  patch -p0 <<' .'
  Index: openssl/ssl/ssl.h
 
============================================================
================
  $ cvs diff -u -r1.195 -r1.196 ssl.h
  --- openssl/ssl/ssl.h	11 Aug 2007 23:18:22 -0000	1.195
  +++ openssl/ssl/ssl.h	28 Aug 2007 01:08:44 -0000	1.196
   -1302,6 +1302,8 
   #define SSL_CTRL_SET_TLSEXT_HOSTNAME		55
   #define SSL_CTRL_SET_TLSEXT_DEBUG_CB		56
   #define SSL_CTRL_SET_TLSEXT_DEBUG_ARG		57
  +#define SSL_CTRL_GET_TLSEXT_TICKET_KEYS		58
  +#define SSL_CTRL_SET_TLSEXT_TICKET_KEYS		59
   #endif
   
   #define SSL_session_reused(ssl) 
   -1946,6 +1948,7 
   #define SSL_R_INVALID_CHALLENGE_LENGTH			 158
   #define SSL_R_INVALID_COMMAND				 280
   #define SSL_R_INVALID_PURPOSE				 278
  +#define SSL_R_INVALID_TICKET_KEYS_LENGTH		 324
   #define SSL_R_INVALID_TRUST				 279
   #define SSL_R_KEY_ARG_TOO_LONG				 284
   #define SSL_R_KRB5					 285
   .
  patch -p0 <<' .'
  Index: openssl/ssl/ssl_err.c
 
============================================================
================
  $ cvs diff -u -r1.63 -r1.64 ssl_err.c
  --- openssl/ssl/ssl_err.c	11 Aug 2007 23:18:26 -0000	1.63
  +++ openssl/ssl/ssl_err.c	28 Aug 2007 01:08:45 -0000	1.64
   -338,6 +338,7 
   {ERR_REASON(SSL_R_INVALID_CHALLENGE_LENGTH),"invalid
challenge length"},
   {ERR_REASON(SSL_R_INVALID_COMMAND)       ,"invalid
command"},
   {ERR_REASON(SSL_R_INVALID_PURPOSE)       ,"invalid
purpose"},
 
+{ERR_REASON(SSL_R_INVALID_TICKET_KEYS_LENGTH),"invalid
ticket keys length"},
   {ERR_REASON(SSL_R_INVALID_TRUST)         ,"invalid
trust"},
   {ERR_REASON(SSL_R_KEY_ARG_TOO_LONG)      ,"key arg
too long"},
   {ERR_REASON(SSL_R_KRB5)                 
,"krb5"},
   .
  patch -p0 <<' .'
  Index: openssl/ssl/tls1.h
 
============================================================
================
  $ cvs diff -u -r1.34 -r1.35 tls1.h
  --- openssl/ssl/tls1.h	11 Aug 2007 23:18:29 -0000	1.34
  +++ openssl/ssl/tls1.h	28 Aug 2007 01:08:45 -0000	1.35
   -230,6 +230,11 
   
   #define SSL_CTX_set_tlsext_servername_arg(ctx, arg) 
   SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0,
(void *)arg)
  +
  +#define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen)

 
+	SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLXEXT_TICKET_KEYS,(keylen
),(keys))
  +#define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen)

 
+	SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLXEXT_TICKET_KEYS,(keylen
),(keys))
   #endif
   
   /* PSK ciphersuites from 4279 */
   .
____________________________________________________________
__________
OpenSSL Project                                 http://www.openssl.org
CVS Repository Commit List                    
openssl-cvsopenssl.org
Automated List Manager                          
majordomoopenssl.org

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )