mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Expose whether a request was served over an Initial or Resumed SSL session to the environment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@779005 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -61,6 +61,7 @@ compatibility variables.</p>
|
|||||||
<tr><td><code>HTTPS</code></td> <td>flag</td> <td>HTTPS is being used.</td></tr>
|
<tr><td><code>HTTPS</code></td> <td>flag</td> <td>HTTPS is being used.</td></tr>
|
||||||
<tr><td><code>SSL_PROTOCOL</code></td> <td>string</td> <td>The SSL protocol version (SSLv2, SSLv3, TLSv1)</td></tr>
|
<tr><td><code>SSL_PROTOCOL</code></td> <td>string</td> <td>The SSL protocol version (SSLv2, SSLv3, TLSv1)</td></tr>
|
||||||
<tr><td><code>SSL_SESSION_ID</code></td> <td>string</td> <td>The hex-encoded SSL session id</td></tr>
|
<tr><td><code>SSL_SESSION_ID</code></td> <td>string</td> <td>The hex-encoded SSL session id</td></tr>
|
||||||
|
<tr><td><code>SSL_SESSION_RESUMED</code></td> <td>string</td> <td>Initial or Resumed SSL Session. Note: multiple requests may be served over the same (Initial or Resumed) SSL session if HTTP KeepAlive is in use</td></tr>
|
||||||
<tr><td><code>SSL_CIPHER</code></td> <td>string</td> <td>The cipher specification name</td></tr>
|
<tr><td><code>SSL_CIPHER</code></td> <td>string</td> <td>The cipher specification name</td></tr>
|
||||||
<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>string</td> <td><code>true</code> if cipher is an export cipher</td></tr>
|
<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>string</td> <td><code>true</code> if cipher is an export cipher</td></tr>
|
||||||
<tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>number</td> <td>Number of cipher bits (actually used)</td></tr>
|
<tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>number</td> <td>Number of cipher bits (actually used)</td></tr>
|
||||||
@@ -1285,13 +1286,13 @@ HTTPS SSL_CLIENT_M_VERSION SSL_SERVER_M_VERSION
|
|||||||
SSL_CLIENT_M_SERIAL SSL_SERVER_M_SERIAL
|
SSL_CLIENT_M_SERIAL SSL_SERVER_M_SERIAL
|
||||||
SSL_PROTOCOL SSL_CLIENT_V_START SSL_SERVER_V_START
|
SSL_PROTOCOL SSL_CLIENT_V_START SSL_SERVER_V_START
|
||||||
SSL_SESSION_ID SSL_CLIENT_V_END SSL_SERVER_V_END
|
SSL_SESSION_ID SSL_CLIENT_V_END SSL_SERVER_V_END
|
||||||
SSL_CIPHER SSL_CLIENT_S_DN SSL_SERVER_S_DN
|
SSL_SESSION_RESUMED SSL_CLIENT_S_DN SSL_SERVER_S_DN
|
||||||
SSL_CIPHER_EXPORT SSL_CLIENT_S_DN_C SSL_SERVER_S_DN_C
|
SSL_CIPHER SSL_CLIENT_S_DN_C SSL_SERVER_S_DN_C
|
||||||
SSL_CIPHER_ALGKEYSIZE SSL_CLIENT_S_DN_ST SSL_SERVER_S_DN_ST
|
SSL_CIPHER_EXPORT SSL_CLIENT_S_DN_ST SSL_SERVER_S_DN_ST
|
||||||
SSL_CIPHER_USEKEYSIZE SSL_CLIENT_S_DN_L SSL_SERVER_S_DN_L
|
SSL_CIPHER_ALGKEYSIZE SSL_CLIENT_S_DN_L SSL_SERVER_S_DN_L
|
||||||
SSL_VERSION_LIBRARY SSL_CLIENT_S_DN_O SSL_SERVER_S_DN_O
|
SSL_CIPHER_USEKEYSIZE SSL_CLIENT_S_DN_O SSL_SERVER_S_DN_O
|
||||||
SSL_VERSION_INTERFACE SSL_CLIENT_S_DN_OU SSL_SERVER_S_DN_OU
|
SSL_VERSION_LIBRARY SSL_CLIENT_S_DN_OU SSL_SERVER_S_DN_OU
|
||||||
SSL_CLIENT_S_DN_CN SSL_SERVER_S_DN_CN
|
SSL_VERSION_INTERFACE SSL_CLIENT_S_DN_CN SSL_SERVER_S_DN_CN
|
||||||
SSL_CLIENT_S_DN_T SSL_SERVER_S_DN_T
|
SSL_CLIENT_S_DN_T SSL_SERVER_S_DN_T
|
||||||
SSL_CLIENT_S_DN_I SSL_SERVER_S_DN_I
|
SSL_CLIENT_S_DN_I SSL_SERVER_S_DN_I
|
||||||
SSL_CLIENT_S_DN_G SSL_SERVER_S_DN_G
|
SSL_CLIENT_S_DN_G SSL_SERVER_S_DN_G
|
||||||
|
@@ -1047,6 +1047,7 @@ static const char *ssl_hook_Fixup_vars[] = {
|
|||||||
"SSL_SERVER_A_KEY",
|
"SSL_SERVER_A_KEY",
|
||||||
"SSL_SERVER_A_SIG",
|
"SSL_SERVER_A_SIG",
|
||||||
"SSL_SESSION_ID",
|
"SSL_SESSION_ID",
|
||||||
|
"SSL_SESSION_RESUMED",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -297,6 +297,12 @@ static char *ssl_var_lookup_ssl(apr_pool_t *p, conn_rec *c, char *var)
|
|||||||
buf, sizeof(buf)));
|
buf, sizeof(buf)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(ssl != NULL && strcEQ(var, "SESSION_RESUMED")) {
|
||||||
|
if (SSL_session_reused(ssl) == 1)
|
||||||
|
result = "Resumed";
|
||||||
|
else
|
||||||
|
result = "Initial";
|
||||||
|
}
|
||||||
else if (ssl != NULL && strlen(var) >= 6 && strcEQn(var, "CIPHER", 6)) {
|
else if (ssl != NULL && strlen(var) >= 6 && strcEQn(var, "CIPHER", 6)) {
|
||||||
result = ssl_var_lookup_ssl_cipher(p, c, var+6);
|
result = ssl_var_lookup_ssl_cipher(p, c, var+6);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user