Changeset cf6f974 in mod_gnutls


Ignore:
Timestamp:
Jan 11, 2020, 11:39:48 AM (9 months ago)
Author:
Fiona Klute <fiona.klute@…>
Branches:
master, proxy-ticket
Children:
de9b100
Parents:
98b37a1
Message:

mgs_get_ocsp_response: Accept request information from cert_retrieve_fn

With this the certificate retrieve function could request multiple
responses for stapling if it had the request information.

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/gnutls_hooks.c

    r98b37a1 rcf6f974  
    44 *  Copyright 2011 Dash Shendy
    55 *  Copyright 2013-2014 Daniel Kahn Gillmor
    6  *  Copyright 2015-2019 Fiona Klute
     6 *  Copyright 2015-2020 Fiona Klute
    77 *
    88 *  Licensed under the Apache License, Version 2.0 (the "License");
     
    417417            resp->exptime = 0;
    418418
    419             int ret = mgs_get_ocsp_response(session, NULL, &resp->response);
     419            int ret = mgs_get_ocsp_response(ctxt, ctxt->sc->ocsp,
     420                                            &resp->response);
    420421            if (ret == GNUTLS_E_SUCCESS)
    421422            {
  • src/gnutls_ocsp.c

    r98b37a1 rcf6f974  
    11/*
    2  *  Copyright 2016-2018 Fiona Klute
     2 *  Copyright 2016-2020 Fiona Klute
    33 *
    44 *  Licensed under the Apache License, Version 2.0 (the "License");
     
    808808
    809809
    810 int mgs_get_ocsp_response(gnutls_session_t session,
    811                           void *ptr __attribute__((unused)),
     810int mgs_get_ocsp_response(mgs_handle_t *ctxt,
     811                          struct mgs_ocsp_data *req_data,
    812812                          gnutls_datum_t *ocsp_response)
    813813{
    814     mgs_handle_t *ctxt = gnutls_session_get_ptr(session);
    815814    mgs_srvconf_rec *sc = ctxt->sc;
    816815
     
    827826    apr_status_t rv = mgs_cache_fetch(sc->ocsp_cache,
    828827                                      ctxt->c->base_server,
    829                                       sc->ocsp->fingerprint,
     828                                      req_data->fingerprint,
    830829                                      ocsp_response,
    831830                                      ctxt->c->pool);
     
    864863        rv = mgs_cache_fetch(sc->ocsp_cache,
    865864                             ctxt->c->base_server,
    866                              sc->ocsp->fingerprint,
     865                             req_data->fingerprint,
    867866                             ocsp_response,
    868867                             ctxt->c->pool);
     
    888887    }
    889888
    890     rv = mgs_cache_ocsp_response(ctxt->c->base_server, sc->ocsp, NULL);
     889    rv = mgs_cache_ocsp_response(ctxt->c->base_server, req_data, NULL);
    891890    if (rv != APR_SUCCESS)
    892891    {
     
    895894        /* cache failure to rate limit retries */
    896895        mgs_cache_ocsp_failure(ctxt->c->base_server,
    897                                sc->ocsp,
     896                               req_data,
    898897                               sc->ocsp_failure_timeout);
    899898        apr_global_mutex_unlock(sc->ocsp_mutex);
     
    905904    rv = mgs_cache_fetch(sc->ocsp_cache,
    906905                         ctxt->c->base_server,
    907                          sc->ocsp->fingerprint,
     906                         req_data->fingerprint,
    908907                         ocsp_response,
    909908                         ctxt->c->pool);
  • src/gnutls_ocsp.h

    r98b37a1 rcf6f974  
    11/*
    2  *  Copyright 2016-2018 Fiona Klute
     2 *  Copyright 2016-2020 Fiona Klute
    33 *
    44 *  Licensed under the Apache License, Version 2.0 (the "License");
     
    1818#define __MOD_GNUTLS_OCSP_H__
    1919
    20 #include "gnutls/gnutls.h"
    21 #include "gnutls/x509.h"
    22 #include "httpd.h"
    23 #include "http_config.h"
     20#include "mod_gnutls.h"
     21
     22#include <gnutls/gnutls.h>
     23#include <gnutls/x509.h>
     24#include <httpd.h>
     25#include <http_config.h>
    2426
    2527#define MGS_OCSP_MUTEX_NAME "gnutls-ocsp"
     
    122124                             server_rec *server);
    123125
    124 int mgs_get_ocsp_response(gnutls_session_t session, void *ptr,
     126int mgs_get_ocsp_response(mgs_handle_t *ctxt,
     127                          struct mgs_ocsp_data *req_data,
    125128                          gnutls_datum_t *ocsp_response);
    126129
Note: See TracChangeset for help on using the changeset viewer.