Changeset f8ffc43 in mod_gnutls for src


Ignore:
Timestamp:
Jan 11, 2013, 12:57:17 AM (8 years ago)
Author:
Daniel Kahn Gillmor <dkg@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, upstream
Children:
4ecf14f, f809816
Parents:
8ce897a
Message:

Imported Upstream version 0.5.3

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/gnutls_hooks.c

    r8ce897a rf8ffc43  
    5555    apr_file_printf(debug_log_fp, "<%d> %s\n", level, str);
    5656}
     57#define _gnutls_log apr_file_printf
     58#else
     59# define _gnutls_log(...)
    5760#endif
    5861
     
    6265{
    6366int ret;
     67
     68#if MOD_GNUTLS_DEBUG
     69    apr_file_open(&debug_log_fp, "/tmp/gnutls_debug",
     70                  APR_APPEND | APR_WRITE | APR_CREATE, APR_OS_DEFAULT,
     71                  pconf);
     72
     73    _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__);
     74
     75    gnutls_global_set_log_level(9);
     76    gnutls_global_set_log_function(gnutls_debug_log_all);
     77    _gnutls_log(debug_log_fp, "gnutls: %s\n", gnutls_check_version(NULL));
     78#endif
    6479
    6580#if APR_HAS_THREADS
     
    7388
    7489    if (gnutls_check_version(LIBGNUTLS_VERSION)==NULL) {
    75         fprintf(stderr, "gnutls_check_version() failed. Required: gnutls-%s Found: gnutls-%s\n",
     90        _gnutls_log(debug_log_fp, "gnutls_check_version() failed. Required: gnutls-%s Found: gnutls-%s\n",
    7691          LIBGNUTLS_VERSION, gnutls_check_version(NULL));
    7792        return -3;
     
    8095    ret = gnutls_global_init();
    8196    if (ret < 0) {
    82         fprintf(stderr, "gnutls_global_init: %s\n", gnutls_strerror(ret));
     97        _gnutls_log(debug_log_fp, "gnutls_global_init: %s\n", gnutls_strerror(ret));
    8398        return -3;
    8499    }
     
    87102                              apr_pool_cleanup_null);
    88103
    89 #if MOD_GNUTLS_DEBUG
    90     apr_file_open(&debug_log_fp, "/tmp/gnutls_debug",
    91                   APR_APPEND | APR_WRITE | APR_CREATE, APR_OS_DEFAULT,
    92                   pconf);
    93 
    94     gnutls_global_set_log_level(9);
    95     gnutls_global_set_log_function(gnutls_debug_log_all);
    96     apr_file_printf(debug_log_fp, "gnutls: %s\n", gnutls_check_version(NULL));
    97 #endif
    98104
    99105    return OK;
     
    106112    int ret;
    107113    int cprio[2];
     114
     115    _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__);
    108116
    109117    ctxt = gnutls_transport_get_ptr(session);
     
    163171    mgs_handle_t *ctxt;
    164172
     173    _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__);
    165174    ctxt = gnutls_transport_get_ptr(session);
     175
     176    if (ctxt == NULL)
     177        return GNUTLS_E_INTERNAL_ERROR;
    166178
    167179    if (gnutls_certificate_type_get( session) == GNUTLS_CRT_X509) {
     
    211223
    212224
     225    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    213226    *cert_cn = NULL;
    214227
     
    262275
    263276
     277    _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__);
    264278    *cert_cn = NULL;
    265279
     
    294308    const char *userdata_key = "mgs_init";
    295309
     310    _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__);
    296311    apr_pool_userdata_get(&data, userdata_key, base_server->process->pool);
    297312    if (data == NULL) {
     
    395410#endif
    396411
    397             if (sc->certs_x509[0] == NULL
    398                 && sc->enabled == GNUTLS_ENABLED_TRUE) {
     412            if (sc->certs_x509[0] == NULL &&
     413                sc->cert_pgp == NULL &&
     414                sc->enabled == GNUTLS_ENABLED_TRUE) {
    399415                ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s,
    400416                             "[GnuTLS] - Host '%s:%d' is missing a "
     
    404420            }
    405421
    406             if (sc->privkey_x509 == NULL
    407                 && sc->enabled == GNUTLS_ENABLED_TRUE) {
     422            if (sc->enabled == GNUTLS_ENABLED_TRUE &&
     423              ((sc->certs_x509[0] != NULL && sc->privkey_x509 == NULL) ||
     424              (sc->cert_pgp != NULL && sc->privkey_pgp == NULL))) {
    408425                ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s,
    409426                             "[GnuTLS] - Host '%s:%d' is missing a "
     
    440457                                               &gnutls_module);
    441458
     459    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    442460    if (sc->cache_type != mgs_cache_none) {
    443461        rv = mgs_cache_child_init(p, s, sc);
     
    458476                                                 &gnutls_module);
    459477
     478    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    460479    if (sc->enabled == GNUTLS_ENABLED_FALSE) {
    461480        return NULL;
     
    471490                                                 &gnutls_module);
    472491
     492    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    473493    if (sc->enabled == GNUTLS_ENABLED_FALSE) {
    474494        return 0;
     
    492512    vhost_cb_rec *x = baton;
    493513
     514    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    494515    tsc = (mgs_srvconf_rec *) ap_get_module_config(s->module_config,
    495516                                                   &gnutls_module);
     
    544565#endif
    545566
     567    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    546568    ctxt = gnutls_transport_get_ptr(session);
    547569
     
    621643                                                 &gnutls_module);
    622644
     645    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    623646    ctxt = apr_pcalloc(pool, sizeof(*ctxt));
    624647    ctxt->c = c;
     
    659682                                                 &gnutls_module);
    660683
     684    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    661685    if (!(sc && (sc->enabled == GNUTLS_ENABLED_TRUE))) {
    662686        return DECLINED;
     
    688712    int rv = OK;
    689713
     714    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    690715    apr_table_t *env = r->subprocess_env;
    691716
     
    762787                                               &gnutls_module);
    763788
     789    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    764790    ctxt =
    765791        ap_get_module_config(r->connection->conn_config, &gnutls_module);
     
    823849    apr_table_t *env = r->subprocess_env;
    824850
     851    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    825852    if (export_certificates_enabled != 0) {
    826853        char cert_buf[10 * 1024];
     
    929956    int ret;
    930957
     958    _gnutls_log(debug_log_fp,   "%s: %d\n", __func__, __LINE__);
    931959    apr_table_t *env = r->subprocess_env;
    932960
     
    9951023    apr_time_t activation_time, expiration_time, cur_time;
    9961024
     1025    _gnutls_log(debug_log_fp, "%s: %d\n", __func__, __LINE__);
    9971026    cert_list =
    9981027        gnutls_certificate_get_peers(ctxt->session, &cert_list_size);
  • src/gnutls_io.c

    r8ce897a rf8ffc43  
    7373    if (buffer->length > inl) {
    7474        /* we have have enough to fill the caller's buffer */
    75         memcpy(in, buffer->value, inl);
     75        memmove(in, buffer->value, inl);
    7676        buffer->value += inl;
    7777        buffer->length -= inl;
     
    7979    else {
    8080        /* swallow remainder of the buffer */
    81         memcpy(in, buffer->value, buffer->length);
     81        memmove(in, buffer->value, buffer->length);
    8282        inl = buffer->length;
    8383        buffer->value = NULL;
     
    354354}
    355355
    356 #define HANDSHAKE_MAX_TRIES 100
     356#define HANDSHAKE_MAX_TRIES 1024
    357357static int gnutls_do_handshake(mgs_handle_t * ctxt)
    358358{
Note: See TracChangeset for help on using the changeset viewer.