Changeset a66e147 in mod_gnutls for src/gnutls_io.c


Ignore:
Timestamp:
Dec 10, 2004, 1:08:52 AM (15 years ago)
Author:
Paul Querna <chip@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, master, msva, upstream
Children:
95ca7c0
Parents:
76bd3bf
Message:

working support for a ssl session cache via memcached.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/gnutls_io.c

    r76bd3bf ra66e147  
    274274            else {
    275275                /* Some Other Error. Report it. Die. */
    276                 ap_log_error(APLOG_MARK, APLOG_INFO, ctxt->input_rc,
    277                              ctxt->c->base_server,
    278                              "GnuTLS: Error reading data. (%d) '%s'", rc,
    279                              gnutls_strerror(rc));
     276                if(gnutls_error_is_fatal(rc)) {
     277                    ap_log_error(APLOG_MARK, APLOG_INFO, ctxt->input_rc,
     278                                 ctxt->c->base_server,
     279                                 "GnuTLS: Error reading data. (%d) '%s'", rc,
     280                                 gnutls_strerror(rc));
     281                }
     282                else if(*len > 0) {
     283                    ctxt->input_rc = APR_SUCCESS;
     284                    break;
     285                }
    280286            }
    281287
     
    450456    while (!APR_BRIGADE_EMPTY(bb)) {
    451457        apr_bucket *bucket = APR_BRIGADE_FIRST(bb);
    452         if (APR_BUCKET_IS_EOS(bucket)) {
    453 
    454             /* gnutls_bye(ctxt->session, GNUTLS_SHUT_RDWR); */
     458        if (APR_BUCKET_IS_EOS(bucket) || AP_BUCKET_IS_EOC(bucket)) {
     459
     460            gnutls_bye(ctxt->session, GNUTLS_SHUT_WR);
     461            gnutls_deinit(ctxt->session);
    455462
    456463            if ((status = ap_pass_brigade(f->next, bb)) != APR_SUCCESS) {
     
    465472            }
    466473            break;
    467 
    468         }
    469         else if (AP_BUCKET_IS_EOC(bucket)) {
    470 
    471             gnutls_bye(ctxt->session, GNUTLS_SHUT_WR);
    472             gnutls_deinit(ctxt->session);
    473             if ((status = ap_pass_brigade(f->next, bb)) != APR_SUCCESS) {
    474                 return status;
    475             }
    476             break;
    477 
    478474        }
    479475        else {
Note: See TracChangeset for help on using the changeset viewer.