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

Function ssl_var_log_handler_c

modules/ssl/ssl_engine_vars.c:1204–1228  ·  view source on GitHub ↗

* implement the %{..}c log function * (we are the only function) */

Source from the content-addressed store, hash-verified

1202 * (we are the only function)
1203 */
1204static const char *ssl_var_log_handler_c(request_rec *r, char *a)
1205{
1206 SSLConnRec *sslconn = ssl_get_effective_config(r->connection);
1207 char *result;
1208
1209 if (sslconn == NULL || sslconn->ssl == NULL)
1210 return NULL;
1211 result = NULL;
1212 if (strEQ(a, "version"))
1213 result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_PROTOCOL");
1214 else if (strEQ(a, "cipher"))
1215 result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CIPHER");
1216 else if (strEQ(a, "subjectdn") || strEQ(a, "clientcert"))
1217 result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CLIENT_S_DN");
1218 else if (strEQ(a, "issuerdn") || strEQ(a, "cacert"))
1219 result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CLIENT_I_DN");
1220 else if (strEQ(a, "errcode"))
1221 result = "-";
1222 else if (strEQ(a, "errstr"))
1223 result = (char *)sslconn->verify_error;
1224 if (result) {
1225 result = *result ? ap_escape_logitem(r->pool, result) : NULL;
1226 }
1227 return result;
1228}
1229
1230/*
1231 * extend the implementation of the %{..}x log function

Callers

nothing calls this directly

Calls 3

ssl_get_effective_configFunction · 0.85
ap_escape_logitemFunction · 0.85
ssl_var_lookupFunction · 0.70

Tested by

no test coverage detected