aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Nokis Mavrogiannopoulos 2009-06-30 18:37:28 +0000
committerGravatar Nokis Mavrogiannopoulos 2009-06-30 18:37:28 +0000
commit45cbd99483fd410efd98bdf511f5669e5711a5d2 (patch)
treecacd12a09da872c30ac3c2fef5300e37da18453a /src
parentd07dc84dcdef333265ea6a349321507cda1dc7cb (diff)
Applied patch by AlainKnaff to correctly verify certificates per directory. Patch by AlainKnaff.
Solves: http://issues.outoforder.cc/view.php?id=93
Diffstat (limited to 'src')
-rw-r--r--src/gnutls_hooks.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gnutls_hooks.c b/src/gnutls_hooks.c
index 82a9a99..d761b56 100644
--- a/src/gnutls_hooks.c
+++ b/src/gnutls_hooks.c
@@ -123,7 +123,7 @@ static int mgs_select_virtual_server_cb(gnutls_session_t session)
123 ctxt->sc = tsc; 123 ctxt->sc = tsc;
124 124
125 gnutls_certificate_server_set_request(session, 125 gnutls_certificate_server_set_request(session,
126 ctxt->sc->client_verify_mode); 126 ctxt->sc->client_verify_mode);
127 127
128 /* set the new server credentials 128 /* set the new server credentials
129 */ 129 */
@@ -819,11 +819,13 @@ int mgs_hook_authz(request_rec * r)
819 ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, 819 ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r,
820 "GnuTLS: Peer is set to IGNORE"); 820 "GnuTLS: Peer is set to IGNORE");
821#endif 821#endif
822 } else { 822 return DECLINED;
823 rv = mgs_cert_verify(r, ctxt); 823 }
824 if (rv != DECLINED) { 824 rv = mgs_cert_verify(r, ctxt);
825 return rv; 825 if (rv != DECLINED &&
826 } 826 (rv != HTTP_FORBIDDEN ||
827 dc->client_verify_mode == GNUTLS_CERT_REQUIRE)) {
828 return rv;
827 } 829 }
828 } 830 }
829 831