Changeset e798149 in mod_gnutls


Ignore:
Timestamp:
Jan 11, 2020, 10:40:09 AM (11 months ago)
Author:
Fiona Klute <fiona.klute@…>
Branches:
master, proxy-ticket
Children:
75f2d96
Parents:
bdd10be
git-author:
Fiona Klute <fiona.klute@…> (01/11/20 10:33:11)
git-committer:
Fiona Klute <fiona.klute@…> (01/11/20 10:40:09)
Message:

do_ocsp_request: Require responder URI

This method just handles a binary request and response pair, it
doesn't need additional data. With this change it can be used for any
certificate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/gnutls_ocsp.c

    rbdd10be re798149  
    473473
    474474static apr_status_t do_ocsp_request(apr_pool_t *p, server_rec *s,
     475                                    apr_uri_t *uri,
    475476                                    gnutls_datum_t *request,
    476477                                    gnutls_datum_t *response)
    477478    __attribute__((nonnull));
    478479static apr_status_t do_ocsp_request(apr_pool_t *p, server_rec *s,
     480                                    apr_uri_t *uri,
    479481                                    gnutls_datum_t *request,
    480482                                    gnutls_datum_t *response)
     
    483485        ap_get_module_config(s->module_config, &gnutls_module);
    484486
    485     if (apr_strnatcmp(sc->ocsp->uri->scheme, "http"))
     487    if (apr_strnatcmp(uri->scheme, "http"))
    486488    {
    487489        ap_log_error(APLOG_MARK, APLOG_ERR, APR_EGENERAL, s,
    488490                     "Scheme \"%s\" is not supported for OCSP requests!",
    489                      sc->ocsp->uri->scheme);
     491                     uri->scheme);
    490492        return APR_EINVAL;
    491493    }
    492494
    493     const char* header = http_post_header(p, sc->ocsp->uri,
     495    const char* header = http_post_header(p, uri,
    494496                                          OCSP_REQ_TYPE, OCSP_RESP_TYPE,
    495497                                          request->size);
     
    498500
    499501    /* Find correct port */
    500     apr_port_t port = sc->ocsp->uri->port ?
    501         sc->ocsp->uri->port : apr_uri_port_of_scheme(sc->ocsp->uri->scheme);
     502    apr_port_t port = uri->port ?
     503        uri->port : apr_uri_port_of_scheme(uri->scheme);
    502504
    503505    apr_sockaddr_t *sa;
    504     apr_status_t rv = apr_sockaddr_info_get(&sa, sc->ocsp->uri->hostname,
     506    apr_status_t rv = apr_sockaddr_info_get(&sa, uri->hostname,
    505507                                            APR_UNSPEC, port, 0, p);
    506508    if (rv != APR_SUCCESS)
     
    508510        ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
    509511                     "Address resolution for OCSP responder %s failed.",
    510                      sc->ocsp->uri->hostinfo);
     512                     uri->hostinfo);
    511513    }
    512514
     
    535537        ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
    536538                     "Connecting to OCSP responder %s failed.",
    537                      sc->ocsp->uri->hostinfo);
     539                     uri->hostinfo);
    538540        return rv;
    539541    }
     
    570572        ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
    571573                     "Invalid HTTP response status from %s: %s",
    572                      sc->ocsp->uri->hostinfo, h);
     574                     uri->hostinfo, h);
    573575        rv = APR_ECONNRESET;
    574576        goto exit;
     
    587589        ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
    588590                     "Error while reading HTTP response header from %s",
    589                      sc->ocsp->uri->hostinfo);
     591                     uri->hostinfo);
    590592        rv = APR_ECONNRESET;
    591593        goto exit;
     
    704706        }
    705707
    706         rv = do_ocsp_request(tmp, s, &req, &resp);
     708        rv = do_ocsp_request(tmp, s, sc->ocsp->uri, &req, &resp);
    707709        gnutls_free(req.data);
    708710        if (rv != APR_SUCCESS)
Note: See TracChangeset for help on using the changeset viewer.