Fix exporter.
This commit is contained in:
		@@ -2019,9 +2019,10 @@ int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb,
 | 
				
			|||||||
/* Pre-shared secret session resumption functions */
 | 
					/* Pre-shared secret session resumption functions */
 | 
				
			||||||
int SSL_set_session_secret_cb(SSL *s, tls_session_secret_cb_fn tls_session_secret_cb, void *arg);
 | 
					int SSL_set_session_secret_cb(SSL *s, tls_session_secret_cb_fn tls_session_secret_cb, void *arg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int SSL_tls1_key_exporter(SSL *s, unsigned char *label, int label_len,
 | 
					int SSL_tls1_key_exporter(SSL *s,
 | 
				
			||||||
                           unsigned char *context, int context_len,
 | 
								  const unsigned char *label, int label_len,
 | 
				
			||||||
                           unsigned char *out, int olen);
 | 
								  const unsigned char *context, int context_len,
 | 
				
			||||||
 | 
								  unsigned char *out, int olen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void SSL_set_debug(SSL *s, int debug);
 | 
					void SSL_set_debug(SSL *s, int debug);
 | 
				
			||||||
int SSL_cache_hit(SSL *s);
 | 
					int SSL_cache_hit(SSL *s);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								ssl/t1_enc.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								ssl/t1_enc.c
									
									
									
									
									
								
							@@ -1250,23 +1250,32 @@ int tls1_alert_code(int code)
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int SSL_tls1_key_exporter(SSL *s, unsigned char *label, int label_len,
 | 
					int SSL_tls1_key_exporter(SSL *s,
 | 
				
			||||||
                           unsigned char *context, int context_len,
 | 
								  const unsigned char *label, int label_len,
 | 
				
			||||||
                           unsigned char *out, int olen)
 | 
								  const unsigned char *context, int context_len,
 | 
				
			||||||
 | 
								  unsigned char *out, int olen)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
	unsigned char *tmp;
 | 
						unsigned char *tmp;
 | 
				
			||||||
	int rv;
 | 
						int rv;
 | 
				
			||||||
 | 
						unsigned char context_len_16[2];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (context_len > 0xffff)
 | 
				
			||||||
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tmp = OPENSSL_malloc(olen);
 | 
						tmp = OPENSSL_malloc(olen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!tmp)
 | 
						if (!tmp)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						context_len_16[0] = context_len >> 8;
 | 
				
			||||||
 | 
						context_len_16[1] = context_len;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	rv = tls1_PRF(ssl_get_algorithm2(s),
 | 
						rv = tls1_PRF(ssl_get_algorithm2(s),
 | 
				
			||||||
			 label, label_len,
 | 
								 label, label_len,
 | 
				
			||||||
			 s->s3->client_random,SSL3_RANDOM_SIZE,
 | 
								 s->s3->client_random,SSL3_RANDOM_SIZE,
 | 
				
			||||||
			 s->s3->server_random,SSL3_RANDOM_SIZE,
 | 
								 s->s3->server_random,SSL3_RANDOM_SIZE,
 | 
				
			||||||
			 context, context_len, NULL, 0,
 | 
								 context_len_16, sizeof(context_len_16),
 | 
				
			||||||
 | 
								 context, context_len,
 | 
				
			||||||
			 s->session->master_key, s->session->master_key_length,
 | 
								 s->session->master_key, s->session->master_key_length,
 | 
				
			||||||
			 out, tmp, olen);
 | 
								 out, tmp, olen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user