httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jerenkra...@apache.org
Subject cvs commit: httpd-2.0 CHANGES
Date Mon, 28 Jul 2003 02:02:26 GMT
jerenkrantz    2003/07/27 19:02:26

  Modified:    modules/ssl Tag: APACHE_2_0_BRANCH ssl_engine_io.c
               .        Tag: APACHE_2_0_BRANCH CHANGES
  Log:
  Assure that we block on the read BIO when we invoke the read BIO for both
  first-use cases (via ssl_io_input_add_filter) and when we are writing and
  need response from the client (via ssl_io_filter_output).  Both of these
  cases are always blocking.
  
  PR: 19242
  Submitted by:   David Deaves <David.Deaves@dd.id.au>, William Rowe
  Reviewed by:	Justin Erenkrantz, Jeff Trawick
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.100.2.5 +14 -4     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.100.2.4
  retrieving revision 1.100.2.5
  diff -u -u -r1.100.2.4 -r1.100.2.5
  --- ssl_engine_io.c	5 Apr 2003 19:04:43 -0000	1.100.2.4
  +++ ssl_engine_io.c	28 Jul 2003 02:02:24 -0000	1.100.2.5
  @@ -1275,6 +1275,8 @@
   {
       apr_status_t status = APR_SUCCESS;
       ssl_filter_ctx_t *filter_ctx = f->ctx;
  +    bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)
  +                                 (filter_ctx->pbioRead->ptr);
   
       if (f->c->aborted) {
           apr_brigade_cleanup(bb);
  @@ -1286,6 +1288,13 @@
           return ap_pass_brigade(f->next, bb);
       }
   
  +    /* When we are the writer, we must initialize the inctx
  +     * mode so that we block for any required ssl input, because
  +     * output filtering is always nonblocking.
  +     */
  +    inctx->mode = AP_MODE_READBYTES;
  +    inctx->block = APR_BLOCK_READ;
  +
       if ((status = ssl_io_filter_connect(filter_ctx)) != APR_SUCCESS) {
           return ssl_io_filter_error(f, bb, status);
       }
  @@ -1359,15 +1368,16 @@
       filter_ctx->pbioRead = BIO_new(&bio_filter_in_method);
       filter_ctx->pbioRead->ptr = (void *)inctx;
   
  -    inctx->filter_ctx = filter_ctx;
       inctx->ssl = ssl;
       inctx->bio_out = filter_ctx->pbioWrite;
       inctx->f = filter_ctx->pInputFilter;
  -    inctx->bb = apr_brigade_create(c->pool, c->bucket_alloc);
  -
  +    inctx->rc = APR_SUCCESS;
  +    inctx->mode = AP_MODE_READBYTES;
       inctx->cbuf.length = 0;
  -
  +    inctx->bb = apr_brigade_create(c->pool, c->bucket_alloc);
  +    inctx->block = APR_BLOCK_READ;
       inctx->pool = c->pool;
  +    inctx->filter_ctx = filter_ctx;
   }
   
   void ssl_io_filter_init(conn_rec *c, SSL *ssl)
  
  
  
  No                   revision
  No                   revision
  1.988.2.141 +3 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.988.2.140
  retrieving revision 1.988.2.141
  diff -u -u -r1.988.2.140 -r1.988.2.141
  --- CHANGES	28 Jul 2003 01:58:32 -0000	1.988.2.140
  +++ CHANGES	28 Jul 2003 02:02:25 -0000	1.988.2.141
  @@ -1,5 +1,8 @@
   Changes with Apache 2.0.48
   
  +  *) Assure that we block properly when reading input bodies with SSL.
  +     PR 19242.  [David Deaves <David.Deaves@dd.id.au>, William Rowe]
  +
     *) Update mime.types to include latest IANA and W3C types.  [Roy Fielding]
   
     *) mod_ext_filter: Set additional environment variables for use by
  
  
  

Mime
View raw message