mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-30 16:24:09 +03:00
Changed the code to reserve bytes for hostname only if needed.
This commit is contained in:
24
ssl/tls1.c
24
ssl/tls1.c
@ -568,6 +568,8 @@ SSL *ssl_new(SSL_CTX *ssl_ctx, int client_fd)
|
||||
ssl->encrypt_ctx = malloc(sizeof(AES_CTX));
|
||||
ssl->decrypt_ctx = malloc(sizeof(AES_CTX));
|
||||
|
||||
ssl->host_name = NULL;
|
||||
|
||||
SSL_CTX_UNLOCK(ssl_ctx->mutex);
|
||||
return ssl;
|
||||
}
|
||||
@ -1852,14 +1854,24 @@ EXP_FUNC int STDCALL ssl_get_config(int offset)
|
||||
/**
|
||||
* Sets the SNI hostname
|
||||
*/
|
||||
EXP_FUNC int STDCALL ssl_set_hostname(const SSL *ssl, const char* host_name) {
|
||||
if(host_name == NULL || strlen(host_name) == 0 || strlen(host_name) > 255 ) {
|
||||
return 0;
|
||||
}
|
||||
EXP_FUNC int STDCALL ssl_set_hostname(SSL *ssl, const char* host_name) {
|
||||
if(host_name == NULL || strlen(host_name) == 0 || strlen(host_name) > 255 ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
strncpy((char*)&ssl->host_name, host_name, strlen(host_name));
|
||||
if(ssl->host_name != NULL) {
|
||||
free(ssl->host_name);
|
||||
}
|
||||
|
||||
return 1;
|
||||
ssl->host_name = (char *)malloc(strlen(host_name)+1);
|
||||
if(ssl->host_name == NULL) {
|
||||
// most probably there was no memory available
|
||||
return 0;
|
||||
}
|
||||
|
||||
strcpy(ssl->host_name, host_name);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SSL_CERT_VERIFICATION
|
||||
|
Reference in New Issue
Block a user