Changeset ec06980 in mod_gnutls for src/gnutls_config.c


Ignore:
Timestamp:
Jan 11, 2013, 12:55:31 AM (7 years ago)
Author:
Daniel Kahn Gillmor <dkg@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, upstream
Children:
40ac29f, a4839ae
Parents:
70c2d86
Message:

Imported Upstream version 0.4.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/gnutls_config.c

    r70c2d86 rec06980  
    330330
    331331
    332 const char *mgs_set_mac(cmd_parms * parms, void *dummy, const char *arg)
    333 {
    334     mgs_srvconf_rec *sc =
    335         (mgs_srvconf_rec *) ap_get_module_config(parms->server->
    336                                                  module_config,
    337                                                  &gnutls_module);
    338 
    339     int ret = gnutls_mac_convert_priority( sc->macs, MAX_CIPHERS, arg, ' ');
    340 
    341     if (ret < 0)
    342         return "GnuTLSMACAlgorithms must be a comma separated list of SHA-1 or MD5";
    343 
    344     return NULL;
    345 }
    346 
    347 const char *mgs_set_kx(cmd_parms * parms, void *dummy, const char *arg)
    348 {
    349     mgs_srvconf_rec *sc =
    350         (mgs_srvconf_rec *) ap_get_module_config(parms->server->
    351                                                  module_config,
    352                                                  &gnutls_module);
    353 
    354     int ret = gnutls_kx_convert_priority( sc->key_exchange, MAX_CIPHERS, arg, ' ');
    355 
    356     if (ret < 0)
    357         return "GnuTLSKeyExchangeAlgorithms must be a comma separated list of RSA, RSA-EXPORT, DHE-RSA, DHE-DSS, SRP, SRP-RSA, SRP-DSS, ANON";
    358 
    359     return NULL;
    360 }
    361 
    362 
    363 const char *mgs_set_ciphers(cmd_parms * parms, void *dummy,
    364                             const char *arg)
    365 {
    366     mgs_srvconf_rec *sc =
    367         (mgs_srvconf_rec *) ap_get_module_config(parms->server->
    368                                                  module_config,
    369                                                  &gnutls_module);
    370 
    371     int ret = gnutls_cipher_convert_priority( sc->ciphers, MAX_CIPHERS, arg, ' ');
    372 
    373     if (ret < 0)
    374         return "GnuTLSCiphers must be a comma separated list of AES-128-CBC, CAMELIA-128-CBC, ARCFOUR-128, 3DES-CBC or ARCFOUR-40";
    375 
    376     return NULL;
    377 }
    378 
    379 
    380 const char *mgs_set_compression(cmd_parms * parms, void *dummy,
    381                                 const char *arg)
    382 {
    383     mgs_srvconf_rec *sc =
    384         (mgs_srvconf_rec *) ap_get_module_config(parms->server->
    385                                                  module_config,
    386                                                  &gnutls_module);
    387 
    388     int ret = gnutls_compression_convert_priority( sc->compression, MAX_CIPHERS, arg, ' ');
    389 
    390     if (ret < 0)
    391         return "GnuTLSCompressionMethods must be a comma separated list of NULL or DEFLATE";
    392 
    393     return NULL;
    394 }
    395 
    396 const char *mgs_set_protocols(cmd_parms * parms, void *dummy,
    397                                 const char *arg)
    398 {
    399     mgs_srvconf_rec *sc =
    400         (mgs_srvconf_rec *) ap_get_module_config(parms->server->
    401                                                  module_config,
    402                                                  &gnutls_module);
    403 
    404     int ret = gnutls_protocol_convert_priority( sc->protocol, MAX_CIPHERS, arg, ' ');
    405 
    406     if (ret < 0)
    407         return "GnuTLSProtocols must be a comma separated list of TLS1.1, TLS1.0 or SSL3.0";
    408 
    409     return NULL;
    410 }
    411 
     332const char *mgs_set_priorities(cmd_parms * parms, void *dummy, const char *arg)
     333{
     334    int ret;
     335    const char *err;
     336    mgs_srvconf_rec *sc =
     337        (mgs_srvconf_rec *) ap_get_module_config(parms->server->
     338                                                 module_config,
     339                                                 &gnutls_module);
     340
     341
     342    ret = gnutls_priority_init( &sc->priorities, arg, &err);
     343    if (ret < 0) {
     344      if (ret == GNUTLS_E_INVALID_REQUEST)
     345        return apr_psprintf(parms->pool, "GnuTLS: Syntax error parsing priorities string at: %s", err);
     346      return "Error setting priorities";
     347    }
     348
     349    return NULL;
     350}
    412351
    413352void *mgs_config_server_create(apr_pool_t * p, server_rec * s)
    414353{
    415     int i;
    416354    mgs_srvconf_rec *sc = apr_pcalloc(p, sizeof(*sc));
    417355
     
    435373    sc->client_verify_mode = GNUTLS_CERT_IGNORE;
    436374
    437     if (sc->protocol[0]==0) {
    438       i = 0;
    439       sc->protocol[i++] = GNUTLS_TLS1_1;
    440       sc->protocol[i++] = GNUTLS_TLS1;
    441       sc->protocol[i++] = GNUTLS_SSL3;
    442       sc->protocol[i] = 0;
    443     }
    444 
    445     if (sc->compression[0]==0) {
    446       i = 0;
    447       sc->compression[i++] = GNUTLS_COMP_NULL;
    448       sc->compression[i] = 0;
    449     }
    450 
    451     if (sc->cert_types[0]==0) {
    452       i = 0;
    453       sc->cert_types[i++] = GNUTLS_CRT_X509;
    454       sc->cert_types[i] = 0;
    455     }
    456 
    457375    return sc;
    458376}
Note: See TracChangeset for help on using the changeset viewer.