Changeset 84cb5b2 in mod_gnutls for src


Ignore:
Timestamp:
May 17, 2005, 5:00:53 PM (15 years ago)
Author:
Paul Querna <chip@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, master, msva, upstream
Children:
836c2f9
Parents:
836417f
Message:
  • add lua to do client verification
  • only use gcrypt locking when required to
Location:
src
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • src/Makefile.am

    r836417f r84cb5b2  
    11CLEANFILES = .libs/libmod_gnutls *~
    22
    3 libmod_gnutls_la_SOURCES = mod_gnutls.c gnutls_io.c gnutls_cache.c gnutls_config.c gnutls_hooks.c
    4 libmod_gnutls_la_CFLAGS = -Wall ${MODULE_CFLAGS}
    5 libmod_gnutls_la_LDFLAGS = -rpath ${AP_LIBEXECDIR} -module -avoid-version ${MODULE_LIBS}
     3libmod_gnutls_la_SOURCES = mod_gnutls.c gnutls_io.c gnutls_cache.c gnutls_config.c gnutls_hooks.c gnutls_lua.c
     4libmod_gnutls_la_CFLAGS = -Wall ${MODULE_CFLAGS} ${LUA_CFLAGS}
     5libmod_gnutls_la_LDFLAGS = -rpath ${AP_LIBEXECDIR} -module -avoid-version ${MODULE_LIBS} ${LUA_LIBS}
    66
    77lib_LTLIBRARIES = libmod_gnutls.la
  • src/gnutls_config.c

    r836417f r84cb5b2  
    318318}
    319319
     320void *mgs_config_dir_merge(apr_pool_t *p, void *basev, void *addv)
     321{
     322    mgs_dirconf_rec *new;
     323    mgs_dirconf_rec *base = (mgs_dirconf_rec *) basev;
     324    mgs_dirconf_rec *add = (mgs_dirconf_rec *) addv;
     325   
     326    new = (mgs_dirconf_rec *) apr_pcalloc(p, sizeof(mgs_dirconf_rec));
     327    new->lua_bytecode = apr_pstrmemdup(p, add->lua_bytecode,
     328                                       add->lua_bytecode_len);
     329    new->lua_bytecode_len = add->lua_bytecode_len;
     330    new->client_verify_mode = add->client_verify_mode;
     331    return new;
     332}
     333
    320334void *mgs_config_dir_create(apr_pool_t *p, char *dir)
    321335{
     
    323337   
    324338    dc->client_verify_mode = -1;
    325    
     339    dc->lua_bytecode = NULL;
     340    dc->lua_bytecode_len = 0;
    326341    return dc;
    327342}
  • src/gnutls_hooks.c

    r836417f r84cb5b2  
    1818#include "mod_gnutls.h"
    1919#include "http_vhost.h"
     20#include "ap_mpm.h"
    2021
    2122#if !USING_2_1_RECENT
     
    3132#endif
    3233
     34static int mpm_is_threaded;
     35
    3336static apr_status_t mgs_cleanup_pre_config(void *data)
    3437{
     
    4952
    5053#if APR_HAS_THREADS
    51     /* TODO: Check MPM Type here */
    52     gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
     54    ap_mpm_query(AP_MPMQ_IS_THREADED, &mpm_is_threaded);
     55    if (mpm_is_threaded) {
     56        gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
     57    }
     58#else
     59    mpm_is_threaded = 0;
    5360#endif
    5461
     
    235242                                               GNUTLS_OID_X520_COMMON_NAME, 0, 0,
    236243                                               sc->cert_cn, &data_len);
    237             ap_log_error(APLOG_MARK, APLOG_DEBUG, 0,
    238                          s,
    239                          "GnuTLS: sni-x509 cn: %s/%d pk: %s s: 0x%08X sc: 0x%08X", sc->cert_cn, rv,
    240                          gnutls_pk_algorithm_get_name(gnutls_x509_privkey_get_pk_algorithm(sc->privkey_x509)),
    241                          (unsigned int)s, (unsigned int)sc);
    242244        }
    243245    }
     
    569571        apr_table_setn(env, "SSL_SERVER_I_DN", apr_pstrmemdup(r->pool, buf, len));
    570572    }
    571    
    572573    return rv;
    573574}
     
    586587        return DECLINED;
    587588    }
    588    
    589     if (!dc) {
    590         dc = mgs_config_dir_create(r->pool, NULL);
    591     }
    592 
     589    ap_add_common_vars(r);
     590    mgs_hook_fixups(r);
     591    status = mgs_authz_lua(r);
     592    if (status != 0) {
     593        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
     594                      "GnuTLS: FAILED Lua Authorization Test");
     595        return HTTP_FORBIDDEN;
     596    }
    593597    if (dc->client_verify_mode == GNUTLS_CERT_IGNORE) {
    594598        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
  • src/mod_gnutls.c

    r836417f r84cb5b2  
    5555}
    5656
    57 
    5857static const command_rec mgs_config_cmds[] = {
    5958    AP_INIT_TAKE1("GnuTLSClientVerify", mgs_set_client_verify,
     
    8281                  "Cache Configuration"),
    8382    AP_INIT_TAKE1("GnuTLSEnable", mgs_set_enabled,
    84                   NULL, RSRC_CONF,
     83                  NULL,
     84                  RSRC_CONF,
    8585                  "Whether this server has GnuTLS Enabled. Default: Off"),
    86    
     86    AP_INIT_RAW_ARGS("<GnuTLSRequire", mgs_set_require_section,
     87                  NULL,
     88                  EXEC_ON_READ|OR_ALL,
     89                  "Whether this server has GnuTLS Enabled. Default: Off"),
     90    AP_INIT_RAW_ARGS("GnuTLSRequireByteCode", mgs_set_require_bytecode,
     91                     NULL,
     92                     OR_ALL,
     93                     "Internal Command for reading Lua Bytecode."),
    8794    {NULL}
    8895};
     
    9198    STANDARD20_MODULE_STUFF,
    9299    mgs_config_dir_create,
    93     NULL,
     100    mgs_config_dir_merge,
    94101    mgs_config_server_create,
    95102    NULL,
Note: See TracChangeset for help on using the changeset viewer.