aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/gnutls.c14
2 files changed, 20 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 937b96107bc..829895d1b72 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12012-01-01 Eli Zaretskii <eliz@gnu.org>
2
3 * gnutls.c (init_gnutls_functions): Load gnutls_check_version.
4 Load gnutls_transport_set_lowat only if GnuTLS version is below
5 2.11.1.
6 (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
7 GnuTLS versions below 2.11.1.
8
12011-12-31 Antoine Levitt <antoine.levitt@gmail.com> 92011-12-31 Antoine Levitt <antoine.levitt@gmail.com>
2 10
3 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning 11 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning
diff --git a/src/gnutls.c b/src/gnutls.c
index 500f09432b1..bcec07b36e6 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -125,6 +125,7 @@ DEF_GNUTLS_FN (ssize_t, gnutls_record_send,
125 (gnutls_session_t, const void *, size_t)); 125 (gnutls_session_t, const void *, size_t));
126DEF_GNUTLS_FN (const char *, gnutls_strerror, (int)); 126DEF_GNUTLS_FN (const char *, gnutls_strerror, (int));
127DEF_GNUTLS_FN (void, gnutls_transport_set_errno, (gnutls_session_t, int)); 127DEF_GNUTLS_FN (void, gnutls_transport_set_errno, (gnutls_session_t, int));
128DEF_GNUTLS_FN (const char *, gnutls_check_version, (const char *));
128DEF_GNUTLS_FN (void, gnutls_transport_set_lowat, (gnutls_session_t, int)); 129DEF_GNUTLS_FN (void, gnutls_transport_set_lowat, (gnutls_session_t, int));
129DEF_GNUTLS_FN (void, gnutls_transport_set_ptr2, 130DEF_GNUTLS_FN (void, gnutls_transport_set_ptr2,
130 (gnutls_session_t, gnutls_transport_ptr_t, 131 (gnutls_session_t, gnutls_transport_ptr_t,
@@ -184,7 +185,11 @@ init_gnutls_functions (Lisp_Object libraries)
184 LOAD_GNUTLS_FN (library, gnutls_record_send); 185 LOAD_GNUTLS_FN (library, gnutls_record_send);
185 LOAD_GNUTLS_FN (library, gnutls_strerror); 186 LOAD_GNUTLS_FN (library, gnutls_strerror);
186 LOAD_GNUTLS_FN (library, gnutls_transport_set_errno); 187 LOAD_GNUTLS_FN (library, gnutls_transport_set_errno);
187 LOAD_GNUTLS_FN (library, gnutls_transport_set_lowat); 188 LOAD_GNUTLS_FN (library, gnutls_check_version);
189 /* We don't need to call gnutls_transport_set_lowat in GnuTLS 2.11.1
190 and later, and the function was removed entirely in 3.0.0. */
191 if (!fn_gnutls_check_version ("2.11.1"))
192 LOAD_GNUTLS_FN (library, gnutls_transport_set_lowat);
188 LOAD_GNUTLS_FN (library, gnutls_transport_set_ptr2); 193 LOAD_GNUTLS_FN (library, gnutls_transport_set_ptr2);
189 LOAD_GNUTLS_FN (library, gnutls_transport_set_pull_function); 194 LOAD_GNUTLS_FN (library, gnutls_transport_set_pull_function);
190 LOAD_GNUTLS_FN (library, gnutls_transport_set_push_function); 195 LOAD_GNUTLS_FN (library, gnutls_transport_set_push_function);
@@ -282,7 +287,12 @@ emacs_gnutls_handshake (struct Lisp_Process *proc)
282 (Note: this is probably not strictly necessary as the lowat 287 (Note: this is probably not strictly necessary as the lowat
283 value is only used when no custom pull/push functions are 288 value is only used when no custom pull/push functions are
284 set.) */ 289 set.) */
285 fn_gnutls_transport_set_lowat (state, 0); 290 /* According to GnuTLS NEWS file, lowat level has been set to
291 zero by default in version 2.11.1, and the function
292 gnutls_transport_set_lowat was removed from the library in
293 version 2.99.0. */
294 if (!fn_gnutls_check_version ("2.11.1"))
295 fn_gnutls_transport_set_lowat (state, 0);
286#else 296#else
287 /* This is how GnuTLS takes sockets: as file descriptors passed 297 /* This is how GnuTLS takes sockets: as file descriptors passed
288 in. For an Emacs process socket, infd and outfd are the 298 in. For an Emacs process socket, infd and outfd are the