Changeset a66e147 in mod_gnutls for src/mod_gnutls.c


Ignore:
Timestamp:
Dec 10, 2004, 1:08:52 AM (15 years ago)
Author:
Paul Querna <chip@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, master, msva, upstream
Children:
95ca7c0
Parents:
76bd3bf
Message:

working support for a ssl session cache via memcached.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mod_gnutls.c

    r76bd3bf ra66e147  
    7171
    7272
    73     if(first_run) {
     73//    if(first_run) {
    7474        /* TODO: Should we regenerate these after X requests / X time ? */
    7575        gnutls_dh_params_init(&dh_params);
     
    7979        gnutls_rsa_params_generate2(rsa_params, RSA_BITS);
    8080#endif
    81     }
     81//    }
    8282
    8383    for (s = base_server; s; s = s->next) {
     
    106106}
    107107
     108static void mod_gnutls_hook_child_init(apr_pool_t *p, server_rec *s)
     109{
     110    apr_status_t rv = APR_SUCCESS;
     111    mod_gnutls_srvconf_rec *sc = ap_get_module_config(s->module_config,
     112                                                      &gnutls_module);
     113
     114    if(sc->cache_config != NULL) {
     115        rv = mod_gnutls_cache_child_init(p, s, sc);
     116        if(rv != APR_SUCCESS) {
     117            ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s,
     118                             "[GnuTLS] - Failed to run Cache Init");
     119        }
     120    }
     121    else {
     122            ap_log_error(APLOG_MARK, APLOG_CRIT, 0, s,
     123                             "[GnuTLS] - No Cache Configured. Hint: GnuTLSCache");
     124    }
     125}
     126
    108127static const char *mod_gnutls_hook_http_method(const request_rec * r)
    109128{
     
    173192    gnutls_dh_set_prime_bits(ctxt->session, DH_BITS);
    174193
     194    mod_gnutls_cache_session_init(ctxt);
    175195    return ctxt;
    176196}
     
    248268                                                        &gnutls_module);
    249269    sc->key_file = ap_server_root_relative(parms->pool, arg);
     270    return NULL;
     271}
     272
     273static const char *gnutls_set_cache(cmd_parms * parms, void *dummy,
     274                                       const char *arg)
     275{
     276    const char* err;
     277    mod_gnutls_srvconf_rec *sc = ap_get_module_config(parms->server->
     278                                                        module_config,
     279                                                        &gnutls_module);
     280    if ((err = ap_check_cmd_context(parms, GLOBAL_ONLY))) {
     281        return err;
     282    }
     283
     284    sc->cache_config = apr_pstrdup(parms->pool, arg);
    250285    return NULL;
    251286}
     
    280315                  RSRC_CONF,
    281316                  "SSL Server Certificate file"),
     317    AP_INIT_TAKE1("GnuTLSCache", gnutls_set_cache,
     318                  NULL,
     319                  RSRC_CONF,
     320                  "SSL Server Certificate file"),
    282321    AP_INIT_TAKE1("GnuTLSEnable", gnutls_set_enabled,
    283322                  NULL, RSRC_CONF,
     
    299338                           APR_HOOK_MIDDLE);
    300339    ap_hook_post_config(mod_gnutls_hook_post_config, NULL, NULL,
     340                        APR_HOOK_MIDDLE);
     341    ap_hook_child_init(mod_gnutls_hook_child_init, NULL, NULL,
    301342                        APR_HOOK_MIDDLE);
    302343    ap_hook_http_method(mod_gnutls_hook_http_method, NULL, NULL,
     
    332373    sc->key_file = NULL;
    333374    sc->cert_file = NULL;
     375    sc->cache_config = NULL;
    334376
    335377    i = 0;
Note: See TracChangeset for help on using the changeset viewer.