httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wr...@apache.org
Subject cvs commit: httpd-2.0/modules/ssl ssl_engine_io.c
Date Tue, 05 Nov 2002 03:38:14 GMT
wrowe       2002/11/04 19:38:14

  Modified:    modules/ssl ssl_engine_io.c
  Log:
    With a last little bit of help from Justin, this should cause the
    appropriate amount of tumolt and turmoil if our client has 'gone away'
    on us, sparing us of further processing (and potential 'renegotiations'
    with a non-existant client.)
  
  Revision  Changes    Path
  1.94      +16 -0     httpd-2.0/modules/ssl/ssl_engine_io.c
  
  Index: ssl_engine_io.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_engine_io.c,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- ssl_engine_io.c	5 Nov 2002 03:16:33 -0000	1.93
  +++ ssl_engine_io.c	5 Nov 2002 03:38:14 -0000	1.94
  @@ -643,6 +643,12 @@
       apr_status_t status = APR_SUCCESS;
       SSLFilterRec *filter_ctx = f->ctx;
   
  +    if (f->c->aborted) {
  +        /* XXX: This works in 2.0.43, but this will change soon */
  +        apr_brigade_cleanup(bb);
  +        return APR_ECONNABORTED;
  +    }
  +
       if (!filter_ctx->pssl) {
           /* ssl_abort() has been called */
           return ap_pass_brigade(f->next, bb);
  @@ -949,6 +955,16 @@
   
       apr_size_t len = sizeof(inctx->buffer);
       int is_init = (mode == AP_MODE_INIT);
  +
  +    if (f->c->aborted) {
  +        /* XXX: Ok, if we aborted, we ARE at the EOS.  We also have
  +         * aborted.  This 'double protection' is probably redundant,
  +         * but also effective against just about anything.
  +         */
  +        apr_bucket *bucket = apr_bucket_eos_create(f->c->bucket_alloc);
  +        APR_BRIGADE_INSERT_TAIL(bb, bucket);
  +        return APR_ECONNABORTED;
  +    }
   
       if (!inctx->ssl) {
           return ap_get_brigade(f->next, bb, mode, block, readbytes);
  
  
  

Mime
View raw message