diff options
| author | Toke Høiland-Jørgensen <toke@toke.dk> | 2014-11-26 22:56:57 +0100 |
|---|---|---|
| committer | Lars Magne Ingebrigtsen <larsi@gnus.org> | 2014-11-26 22:56:57 +0100 |
| commit | ccae04f205db7cffa0f247a463272f6c5af77122 (patch) | |
| tree | f20eca55e187667ee7ebf0af28f5941a5d64f896 | |
| parent | 7520f8919ae4030b5b2c3fbcc4141c85bb65aad1 (diff) | |
| download | emacs-ccae04f205db7cffa0f247a463272f6c5af77122.tar.gz | |
* gnutls.c (Fgnutls_boot): Send the server name over
Fixes: debbugs:18208
* gnutls.c (Fgnutls_boot): Send the server name over (bug#18208).
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/gnutls.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index da8746c..17e3c59 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2014-11-26 Toke Høiland-Jørgensen <toke@toke.dk> (tiny change) + + * gnutls.c (Fgnutls_boot): Send the server name over (bug#18208). + 2014-11-25 Paul Eggert <eggert@cs.ucla.edu> Fix gnutls problems caught by static checking. diff --git a/src/gnutls.c b/src/gnutls.c index baadaaf..5a4b39f 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -187,6 +187,9 @@ DEF_GNUTLS_FN (int, gnutls_x509_crt_get_key_id, DEF_GNUTLS_FN (const char*, gnutls_sec_param_get_name, (gnutls_sec_param_t)); DEF_GNUTLS_FN (const char*, gnutls_sign_algorithm_get_name, (gnutls_sign_algorithm_t)); +DEF_GNUTLS_FN (int, gnutls_server_name_set, (gnutls_session_t, + gnutls_server_name_type_t, + const void *, size_t)); static bool init_gnutls_functions (void) @@ -335,6 +338,7 @@ init_gnutls_functions (void) #define fn_gnutls_x509_crt_get_key_id gnutls_x509_crt_get_key_id #define fn_gnutls_sec_param_get_name gnutls_sec_param_get_name #define fn_gnutls_sign_algorithm_get_name gnutls_sign_algorithm_get_name +#define fn_gnutls_server_name_set gnutls_server_name_set #endif /* !WINDOWSNT */ @@ -1414,6 +1418,11 @@ one trustfile (usually a CA bundle). */) if (ret < GNUTLS_E_SUCCESS) return gnutls_make_error (ret); + ret = fn_gnutls_server_name_set (state, GNUTLS_NAME_DNS, c_hostname, + strlen(c_hostname)); + if (ret < GNUTLS_E_SUCCESS) + return gnutls_make_error (ret); + GNUTLS_INITSTAGE (proc) = GNUTLS_STAGE_CRED_SET; ret = emacs_gnutls_handshake (XPROCESS (proc)); if (ret < GNUTLS_E_SUCCESS) |
