diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/gnutls.c | 23 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 74bb2a06cb9..3d92420e7cd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-10-11 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 2 | |||
| 3 | * gnutls.c (gnutls_audit_log_function): Add function for GnuTLS | ||
| 4 | audit logging (only used with GnuTLS 3.x) and enable it. | ||
| 5 | |||
| 1 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> | 6 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 7 | ||
| 3 | * dispnew.c (redraw_frame): Remove useless #ifdef because | 8 | * dispnew.c (redraw_frame): Remove useless #ifdef because |
diff --git a/src/gnutls.c b/src/gnutls.c index db0a6dac01c..2157d555053 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -55,6 +55,7 @@ static Lisp_Object QCgnutls_bootprop_verify_hostname_error; | |||
| 55 | static Lisp_Object QCgnutls_bootprop_callbacks_verify; | 55 | static Lisp_Object QCgnutls_bootprop_callbacks_verify; |
| 56 | 56 | ||
| 57 | static void gnutls_log_function (int, const char *); | 57 | static void gnutls_log_function (int, const char *); |
| 58 | static void gnutls_audit_log_function (gnutls_session_t, const char *); | ||
| 58 | static void gnutls_log_function2 (int, const char*, const char*); | 59 | static void gnutls_log_function2 (int, const char*, const char*); |
| 59 | 60 | ||
| 60 | 61 | ||
| @@ -108,6 +109,9 @@ DEF_GNUTLS_FN (void, gnutls_dh_set_prime_bits, | |||
| 108 | DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); | 109 | DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); |
| 109 | DEF_GNUTLS_FN (int, gnutls_global_init, (void)); | 110 | DEF_GNUTLS_FN (int, gnutls_global_init, (void)); |
| 110 | DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); | 111 | DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); |
| 112 | #ifdef HAVE_GNUTLS3 | ||
| 113 | DEF_GNUTLS_FN (void, gnutls_global_set_audit_log_function, (gnutls_audit_log_func)); | ||
| 114 | #endif | ||
| 111 | DEF_GNUTLS_FN (void, gnutls_global_set_log_level, (int)); | 115 | DEF_GNUTLS_FN (void, gnutls_global_set_log_level, (int)); |
| 112 | DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions, | 116 | DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions, |
| 113 | (gnutls_alloc_function, gnutls_alloc_function, | 117 | (gnutls_alloc_function, gnutls_alloc_function, |
| @@ -173,6 +177,9 @@ init_gnutls_functions (void) | |||
| 173 | LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); | 177 | LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); |
| 174 | LOAD_GNUTLS_FN (library, gnutls_global_init); | 178 | LOAD_GNUTLS_FN (library, gnutls_global_init); |
| 175 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); | 179 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); |
| 180 | #ifdef HAVE_GNUTLS3 | ||
| 181 | LOAD_GNUTLS_FN (library, gnutls_global_set_audit_log_function); | ||
| 182 | #endif | ||
| 176 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_level); | 183 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_level); |
| 177 | LOAD_GNUTLS_FN (library, gnutls_global_set_mem_functions); | 184 | LOAD_GNUTLS_FN (library, gnutls_global_set_mem_functions); |
| 178 | LOAD_GNUTLS_FN (library, gnutls_handshake); | 185 | LOAD_GNUTLS_FN (library, gnutls_handshake); |
| @@ -230,6 +237,9 @@ init_gnutls_functions (void) | |||
| 230 | #define fn_gnutls_error_is_fatal gnutls_error_is_fatal | 237 | #define fn_gnutls_error_is_fatal gnutls_error_is_fatal |
| 231 | #define fn_gnutls_global_init gnutls_global_init | 238 | #define fn_gnutls_global_init gnutls_global_init |
| 232 | #define fn_gnutls_global_set_log_function gnutls_global_set_log_function | 239 | #define fn_gnutls_global_set_log_function gnutls_global_set_log_function |
| 240 | #ifdef HAVE_GNUTLS3 | ||
| 241 | #define fn_gnutls_global_set_audit_log_function gnutls_global_set_audit_log_function | ||
| 242 | #endif | ||
| 233 | #define fn_gnutls_global_set_log_level gnutls_global_set_log_level | 243 | #define fn_gnutls_global_set_log_level gnutls_global_set_log_level |
| 234 | #define fn_gnutls_global_set_mem_functions gnutls_global_set_mem_functions | 244 | #define fn_gnutls_global_set_mem_functions gnutls_global_set_mem_functions |
| 235 | #define fn_gnutls_handshake gnutls_handshake | 245 | #define fn_gnutls_handshake gnutls_handshake |
| @@ -249,6 +259,16 @@ init_gnutls_functions (void) | |||
| 249 | #endif /* !WINDOWSNT */ | 259 | #endif /* !WINDOWSNT */ |
| 250 | 260 | ||
| 251 | 261 | ||
| 262 | /* Function to log a simple audit message. */ | ||
| 263 | static void | ||
| 264 | gnutls_audit_log_function (gnutls_session_t session, const char* string) | ||
| 265 | { | ||
| 266 | if (global_gnutls_log_level >= 1) | ||
| 267 | { | ||
| 268 | message ("gnutls.c: [audit] %s", string); | ||
| 269 | } | ||
| 270 | } | ||
| 271 | |||
| 252 | /* Function to log a simple message. */ | 272 | /* Function to log a simple message. */ |
| 253 | static void | 273 | static void |
| 254 | gnutls_log_function (int level, const char* string) | 274 | gnutls_log_function (int level, const char* string) |
| @@ -797,6 +817,9 @@ one trustfile (usually a CA bundle). */) | |||
| 797 | if (TYPE_RANGED_INTEGERP (int, loglevel)) | 817 | if (TYPE_RANGED_INTEGERP (int, loglevel)) |
| 798 | { | 818 | { |
| 799 | fn_gnutls_global_set_log_function (gnutls_log_function); | 819 | fn_gnutls_global_set_log_function (gnutls_log_function); |
| 820 | #ifdef HAVE_GNUTLS3 | ||
| 821 | fn_gnutls_global_set_audit_log_function (gnutls_audit_log_function); | ||
| 822 | #endif | ||
| 800 | fn_gnutls_global_set_log_level (XINT (loglevel)); | 823 | fn_gnutls_global_set_log_level (XINT (loglevel)); |
| 801 | max_log_level = XINT (loglevel); | 824 | max_log_level = XINT (loglevel); |
| 802 | XPROCESS (proc)->gnutls_log_level = max_log_level; | 825 | XPROCESS (proc)->gnutls_log_level = max_log_level; |