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/modules/ssl ssl_engine_io.c
Date Fri, 01 Nov 2002 10:37:07 GMT
jerenkrantz    2002/11/01 02:37:06

  Modified:    modules/ssl ssl_engine_io.c
  Log:
  Add some waypoints to understanding this code
  
  Revision  Changes    Path
  1.90      +8 -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.89
  retrieving revision 1.90
  diff -u -u -r1.89 -r1.90
  --- ssl_engine_io.c	1 Nov 2002 10:19:56 -0000	1.89
  +++ ssl_engine_io.c	1 Nov 2002 10:37:06 -0000	1.90
  @@ -378,6 +378,9 @@
       return inl;
   }
   
  +/* This function will read from a brigade and discard the read buckets as it
  + * proceeds.  It will read at most *len bytes.
  + */
   static apr_status_t brigade_consume(apr_bucket_brigade *bb,
                                       apr_read_type_e block,
                                       char *c, apr_size_t *len)
  @@ -694,6 +697,7 @@
   
       *len = 0;
   
  +    /* If we have something leftover from last time, try that first. */
       if ((bytes = char_buffer_read(&inctx->cbuf, buf, wanted))) {
           *len = bytes;
           if (inctx->mode == AP_MODE_SPECULATIVE) {
  @@ -724,6 +728,7 @@
           if (rc > 0) {
               *len += rc;
               if (inctx->mode == AP_MODE_SPECULATIVE) {
  +                /* We want to rollback this read. */
                   char_buffer_write(&inctx->cbuf, buf, rc);
               }
               return inctx->rc;
  @@ -735,6 +740,7 @@
               if (APR_STATUS_IS_EAGAIN(inctx->rc)
                       || APR_STATUS_IS_EINTR(inctx->rc)) {
                   if (inctx->block == APR_NONBLOCK_READ) {
  +                    /* Already read something, return APR_SUCCESS instead. */
                       if (*len > 0) {
                           inctx->rc = APR_SUCCESS;
                       }
  @@ -761,6 +767,7 @@
                   inctx->rc = APR_EAGAIN;
   
                   if (inctx->block == APR_NONBLOCK_READ) {
  +                    /* Already read something, return APR_SUCCESS instead. */
                       if (*len > 0) {
                           inctx->rc = APR_SUCCESS;
                       }
  @@ -962,6 +969,7 @@
           return ssl_io_filter_error(f, bb, status);
       }
   
  +    /* Create a transient bucket out of the decrypted data. */
       if (len > 0) {
           apr_bucket *bucket =
               apr_bucket_transient_create(inctx->buffer, len, f->c->bucket_alloc);
  
  
  

Mime
View raw message