diff options
Diffstat (limited to 'src/gnutls_hooks.c')
-rw-r--r-- | src/gnutls_hooks.c | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/src/gnutls_hooks.c b/src/gnutls_hooks.c index 54b0a83..57d3aaf 100644 --- a/src/gnutls_hooks.c +++ b/src/gnutls_hooks.c | |||
@@ -54,6 +54,9 @@ static void gnutls_debug_log_all(int level, const char *str) | |||
54 | { | 54 | { |
55 | apr_file_printf(debug_log_fp, "<%d> %s\n", level, str); | 55 | apr_file_printf(debug_log_fp, "<%d> %s\n", level, str); |
56 | } | 56 | } |
57 | #define _gnutls_log apr_file_printf | ||
58 | #else | ||
59 | # define _gnutls_log(...) | ||
57 | #endif | 60 | #endif |
58 | 61 | ||
59 | int | 62 | int |
@@ -67,11 +70,11 @@ int ret; | |||
67 | APR_APPEND | APR_WRITE | APR_CREATE, APR_OS_DEFAULT, | 70 | APR_APPEND | APR_WRITE | APR_CREATE, APR_OS_DEFAULT, |
68 | pconf); | 71 | pconf); |
69 | 72 | ||
70 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 73 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
71 | 74 | ||
72 | gnutls_global_set_log_level(9); | 75 | gnutls_global_set_log_level(9); |
73 | gnutls_global_set_log_function(gnutls_debug_log_all); | 76 | gnutls_global_set_log_function(gnutls_debug_log_all); |
74 | apr_file_printf(debug_log_fp, "gnutls: %s\n", gnutls_check_version(NULL)); | 77 | _gnutls_log(debug_log_fp, "gnutls: %s\n", gnutls_check_version(NULL)); |
75 | #endif | 78 | #endif |
76 | 79 | ||
77 | #if APR_HAS_THREADS | 80 | #if APR_HAS_THREADS |
@@ -84,14 +87,14 @@ int ret; | |||
84 | #endif | 87 | #endif |
85 | 88 | ||
86 | if (gnutls_check_version(LIBGNUTLS_VERSION)==NULL) { | 89 | if (gnutls_check_version(LIBGNUTLS_VERSION)==NULL) { |
87 | apr_file_printf(debug_log_fp, "gnutls_check_version() failed. Required: gnutls-%s Found: gnutls-%s\n", | 90 | _gnutls_log(debug_log_fp, "gnutls_check_version() failed. Required: gnutls-%s Found: gnutls-%s\n", |
88 | LIBGNUTLS_VERSION, gnutls_check_version(NULL)); | 91 | LIBGNUTLS_VERSION, gnutls_check_version(NULL)); |
89 | return -3; | 92 | return -3; |
90 | } | 93 | } |
91 | 94 | ||
92 | ret = gnutls_global_init(); | 95 | ret = gnutls_global_init(); |
93 | if (ret < 0) { | 96 | if (ret < 0) { |
94 | apr_file_printf(debug_log_fp, "gnutls_global_init: %s\n", gnutls_strerror(ret)); | 97 | _gnutls_log(debug_log_fp, "gnutls_global_init: %s\n", gnutls_strerror(ret)); |
95 | return -3; | 98 | return -3; |
96 | } | 99 | } |
97 | 100 | ||
@@ -109,7 +112,7 @@ static int mgs_select_virtual_server_cb(gnutls_session_t session) | |||
109 | int ret; | 112 | int ret; |
110 | int cprio[2]; | 113 | int cprio[2]; |
111 | 114 | ||
112 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 115 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
113 | 116 | ||
114 | ctxt = gnutls_transport_get_ptr(session); | 117 | ctxt = gnutls_transport_get_ptr(session); |
115 | 118 | ||
@@ -167,7 +170,7 @@ static int cert_retrieve_fn(gnutls_session_t session, gnutls_retr_st * ret) | |||
167 | { | 170 | { |
168 | mgs_handle_t *ctxt; | 171 | mgs_handle_t *ctxt; |
169 | 172 | ||
170 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 173 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
171 | ctxt = gnutls_transport_get_ptr(session); | 174 | ctxt = gnutls_transport_get_ptr(session); |
172 | 175 | ||
173 | if (ctxt == NULL) | 176 | if (ctxt == NULL) |
@@ -219,7 +222,7 @@ static int read_crt_cn(server_rec * s, apr_pool_t * p, | |||
219 | size_t data_len; | 222 | size_t data_len; |
220 | 223 | ||
221 | 224 | ||
222 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 225 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
223 | *cert_cn = NULL; | 226 | *cert_cn = NULL; |
224 | 227 | ||
225 | data_len = 0; | 228 | data_len = 0; |
@@ -271,7 +274,7 @@ static int read_pgpcrt_cn(server_rec * s, apr_pool_t * p, | |||
271 | size_t data_len; | 274 | size_t data_len; |
272 | 275 | ||
273 | 276 | ||
274 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 277 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
275 | *cert_cn = NULL; | 278 | *cert_cn = NULL; |
276 | 279 | ||
277 | data_len = 0; | 280 | data_len = 0; |
@@ -304,7 +307,7 @@ mgs_hook_post_config(apr_pool_t * p, apr_pool_t * plog, | |||
304 | int first_run = 0; | 307 | int first_run = 0; |
305 | const char *userdata_key = "mgs_init"; | 308 | const char *userdata_key = "mgs_init"; |
306 | 309 | ||
307 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 310 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
308 | apr_pool_userdata_get(&data, userdata_key, base_server->process->pool); | 311 | apr_pool_userdata_get(&data, userdata_key, base_server->process->pool); |
309 | if (data == NULL) { | 312 | if (data == NULL) { |
310 | first_run = 1; | 313 | first_run = 1; |
@@ -451,7 +454,7 @@ void mgs_hook_child_init(apr_pool_t * p, server_rec * s) | |||
451 | mgs_srvconf_rec *sc = ap_get_module_config(s->module_config, | 454 | mgs_srvconf_rec *sc = ap_get_module_config(s->module_config, |
452 | &gnutls_module); | 455 | &gnutls_module); |
453 | 456 | ||
454 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 457 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
455 | if (sc->cache_type != mgs_cache_none) { | 458 | if (sc->cache_type != mgs_cache_none) { |
456 | rv = mgs_cache_child_init(p, s, sc); | 459 | rv = mgs_cache_child_init(p, s, sc); |
457 | if (rv != APR_SUCCESS) { | 460 | if (rv != APR_SUCCESS) { |
@@ -470,7 +473,7 @@ const char *mgs_hook_http_scheme(const request_rec * r) | |||
470 | (mgs_srvconf_rec *) ap_get_module_config(r->server->module_config, | 473 | (mgs_srvconf_rec *) ap_get_module_config(r->server->module_config, |
471 | &gnutls_module); | 474 | &gnutls_module); |
472 | 475 | ||
473 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 476 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
474 | if (sc->enabled == GNUTLS_ENABLED_FALSE) { | 477 | if (sc->enabled == GNUTLS_ENABLED_FALSE) { |
475 | return NULL; | 478 | return NULL; |
476 | } | 479 | } |
@@ -484,7 +487,7 @@ apr_port_t mgs_hook_default_port(const request_rec * r) | |||
484 | (mgs_srvconf_rec *) ap_get_module_config(r->server->module_config, | 487 | (mgs_srvconf_rec *) ap_get_module_config(r->server->module_config, |
485 | &gnutls_module); | 488 | &gnutls_module); |
486 | 489 | ||
487 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 490 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
488 | if (sc->enabled == GNUTLS_ENABLED_FALSE) { | 491 | if (sc->enabled == GNUTLS_ENABLED_FALSE) { |
489 | return 0; | 492 | return 0; |
490 | } | 493 | } |
@@ -506,7 +509,7 @@ static int vhost_cb(void *baton, conn_rec * conn, server_rec * s) | |||
506 | mgs_srvconf_rec *tsc; | 509 | mgs_srvconf_rec *tsc; |
507 | vhost_cb_rec *x = baton; | 510 | vhost_cb_rec *x = baton; |
508 | 511 | ||
509 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 512 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
510 | tsc = (mgs_srvconf_rec *) ap_get_module_config(s->module_config, | 513 | tsc = (mgs_srvconf_rec *) ap_get_module_config(s->module_config, |
511 | &gnutls_module); | 514 | &gnutls_module); |
512 | 515 | ||
@@ -559,7 +562,7 @@ mgs_srvconf_rec *mgs_find_sni_server(gnutls_session_t session) | |||
559 | mgs_srvconf_rec *tsc; | 562 | mgs_srvconf_rec *tsc; |
560 | #endif | 563 | #endif |
561 | 564 | ||
562 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 565 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
563 | ctxt = gnutls_transport_get_ptr(session); | 566 | ctxt = gnutls_transport_get_ptr(session); |
564 | 567 | ||
565 | rv = gnutls_server_name_get(ctxt->session, sni_name, | 568 | rv = gnutls_server_name_get(ctxt->session, sni_name, |
@@ -637,7 +640,7 @@ static mgs_handle_t *create_gnutls_handle(apr_pool_t * pool, conn_rec * c) | |||
637 | module_config, | 640 | module_config, |
638 | &gnutls_module); | 641 | &gnutls_module); |
639 | 642 | ||
640 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 643 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
641 | ctxt = apr_pcalloc(pool, sizeof(*ctxt)); | 644 | ctxt = apr_pcalloc(pool, sizeof(*ctxt)); |
642 | ctxt->c = c; | 645 | ctxt->c = c; |
643 | ctxt->sc = sc; | 646 | ctxt->sc = sc; |
@@ -676,7 +679,7 @@ int mgs_hook_pre_connection(conn_rec * c, void *csd) | |||
676 | module_config, | 679 | module_config, |
677 | &gnutls_module); | 680 | &gnutls_module); |
678 | 681 | ||
679 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 682 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
680 | if (!(sc && (sc->enabled == GNUTLS_ENABLED_TRUE))) { | 683 | if (!(sc && (sc->enabled == GNUTLS_ENABLED_TRUE))) { |
681 | return DECLINED; | 684 | return DECLINED; |
682 | } | 685 | } |
@@ -706,7 +709,7 @@ int mgs_hook_fixups(request_rec * r) | |||
706 | mgs_handle_t *ctxt; | 709 | mgs_handle_t *ctxt; |
707 | int rv = OK; | 710 | int rv = OK; |
708 | 711 | ||
709 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 712 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
710 | apr_table_t *env = r->subprocess_env; | 713 | apr_table_t *env = r->subprocess_env; |
711 | 714 | ||
712 | ctxt = | 715 | ctxt = |
@@ -781,7 +784,7 @@ int mgs_hook_authz(request_rec * r) | |||
781 | mgs_dirconf_rec *dc = ap_get_module_config(r->per_dir_config, | 784 | mgs_dirconf_rec *dc = ap_get_module_config(r->per_dir_config, |
782 | &gnutls_module); | 785 | &gnutls_module); |
783 | 786 | ||
784 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 787 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
785 | ctxt = | 788 | ctxt = |
786 | ap_get_module_config(r->connection->conn_config, &gnutls_module); | 789 | ap_get_module_config(r->connection->conn_config, &gnutls_module); |
787 | 790 | ||
@@ -843,7 +846,7 @@ mgs_add_common_cert_vars(request_rec * r, gnutls_x509_crt_t cert, int side, | |||
843 | 846 | ||
844 | apr_table_t *env = r->subprocess_env; | 847 | apr_table_t *env = r->subprocess_env; |
845 | 848 | ||
846 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 849 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
847 | if (export_certificates_enabled != 0) { | 850 | if (export_certificates_enabled != 0) { |
848 | char cert_buf[10 * 1024]; | 851 | char cert_buf[10 * 1024]; |
849 | len = sizeof(cert_buf); | 852 | len = sizeof(cert_buf); |
@@ -950,7 +953,7 @@ mgs_add_common_pgpcert_vars(request_rec * r, gnutls_openpgp_crt_t cert, int side | |||
950 | size_t len; | 953 | size_t len; |
951 | int ret; | 954 | int ret; |
952 | 955 | ||
953 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 956 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
954 | apr_table_t *env = r->subprocess_env; | 957 | apr_table_t *env = r->subprocess_env; |
955 | 958 | ||
956 | if (export_certificates_enabled != 0) { | 959 | if (export_certificates_enabled != 0) { |
@@ -1017,7 +1020,7 @@ static int mgs_cert_verify(request_rec * r, mgs_handle_t * ctxt) | |||
1017 | } cert; | 1020 | } cert; |
1018 | apr_time_t activation_time, expiration_time, cur_time; | 1021 | apr_time_t activation_time, expiration_time, cur_time; |
1019 | 1022 | ||
1020 | apr_file_printf(debug_log_fp, "%s: %d\n", __func__, __LINE__); | 1023 | _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__); |
1021 | cert_list = | 1024 | cert_list = |
1022 | gnutls_certificate_get_peers(ctxt->session, &cert_list_size); | 1025 | gnutls_certificate_get_peers(ctxt->session, &cert_list_size); |
1023 | 1026 | ||