MCPcopy Create free account
hub / github.com/apache/httpd / ssl_var_lookup_ssl_cert_verify

Function ssl_var_lookup_ssl_cert_verify

modules/ssl/ssl_engine_vars.c:811–844  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

809}
810
811static char *ssl_var_lookup_ssl_cert_verify(apr_pool_t *p, SSLConnRec *sslconn)
812{
813 char *result;
814 long vrc;
815 const char *verr;
816 const char *vinfo;
817 SSL *ssl;
818 X509 *xs;
819
820 result = NULL;
821 ssl = sslconn->ssl;
822 verr = sslconn->verify_error;
823 vinfo = sslconn->verify_info;
824 vrc = SSL_get_verify_result(ssl);
825 xs = SSL_get_peer_certificate(ssl);
826
827 if (vrc == X509_V_OK && verr == NULL && xs == NULL)
828 /* no client verification done at all */
829 result = "NONE";
830 else if (vrc == X509_V_OK && verr == NULL && vinfo == NULL && xs != NULL)
831 /* client verification done successful */
832 result = "SUCCESS";
833 else if (vrc == X509_V_OK && vinfo != NULL && strEQ(vinfo, "GENEROUS"))
834 /* client verification done in generous way */
835 result = "GENEROUS";
836 else
837 /* client verification failed */
838 result = apr_psprintf(p, "FAILED:%s",
839 verr ? verr : X509_verify_cert_error_string(vrc));
840
841 if (xs)
842 X509_free(xs);
843 return result;
844}
845
846static char *ssl_var_lookup_ssl_cipher(apr_pool_t *p, SSLConnRec *sslconn, char *var)
847{

Callers 1

ssl_var_lookup_sslFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected