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

Function ssl_scache_store

modules/ssl/ssl_scache.c:113–145  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

111}
112
113BOOL ssl_scache_store(server_rec *s, IDCONST UCHAR *id, int idlen,
114 apr_time_t expiry, SSL_SESSION *sess,
115 apr_pool_t *p)
116{
117 SSLModConfigRec *mc = myModConfig(s);
118 unsigned char encoded[MODSSL_SESSION_MAX_DER], *ptr;
119 unsigned int len;
120 apr_status_t rv;
121
122 /* Serialise the session. */
123 len = i2d_SSL_SESSION(sess, NULL);
124 if (len > sizeof encoded) {
125 ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(01875)
126 "session is too big (%u bytes)", len);
127 return FALSE;
128 }
129
130 ptr = encoded;
131 len = i2d_SSL_SESSION(sess, &ptr);
132
133 if (mc->sesscache->flags & AP_SOCACHE_FLAG_NOTMPSAFE) {
134 ssl_mutex_on(s);
135 }
136
137 rv = mc->sesscache->store(mc->sesscache_context, s, id, idlen,
138 expiry, encoded, len, p);
139
140 if (mc->sesscache->flags & AP_SOCACHE_FLAG_NOTMPSAFE) {
141 ssl_mutex_off(s);
142 }
143
144 return rv == APR_SUCCESS ? TRUE : FALSE;
145}
146
147SSL_SESSION *ssl_scache_retrieve(server_rec *s, IDCONST UCHAR *id, int idlen,
148 apr_pool_t *p)

Callers 1

Calls 3

ssl_mutex_onFunction · 0.85
ssl_mutex_offFunction · 0.85
ap_log_errorFunction · 0.50

Tested by

no test coverage detected