On 1/25/22 4:54 PM, minf...@apache.org wrote:
> Author: minfrin
> Date: Tue Jan 25 15:54:22 2022
> New Revision: 1897458
> 
> URL: http://svn.apache.org/viewvc?rev=1897458&view=rev
> Log:
> ab: Respond appropriately to SSL_ERROR_WANT_READ and SSL_ERROR_WANT_WRITE.
> Previously the correct event was polled for, but the response to the poll
> would call write instead of read, and read instead of write. PR 55952
> 
> Added:
>     httpd/httpd/trunk/changes-entries/ab-ssl-sense-fix.txt
> Modified:
>     httpd/httpd/trunk/support/ab.c
> 

> Modified: httpd/httpd/trunk/support/ab.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/support/ab.c?rev=1897458&r1=1897457&r2=1897458&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/support/ab.c (original)
> +++ httpd/httpd/trunk/support/ab.c Tue Jan 25 15:54:22 2022

> @@ -810,9 +811,6 @@ static void ssl_proceed_handshake(struct
>  
>  static void write_request(struct connection * c)
>  {
> -    if (started >= requests) {
> -        return;
> -    }

Why is this no longer needed?

>  
>      do {
>          apr_time_t tnow;

> @@ -1461,7 +1465,6 @@ static void start_connect(struct connect
>      }
>  
>      /* connected first time */
> -    set_conn_state(c, STATE_CONNECTED);

Why don't we set the state to connected any longer?

>  #ifdef USE_SSL
>      if (c->ssl) {
>          ssl_proceed_handshake(c);

> @@ -1786,7 +1799,7 @@ read_more:
>          c->read = c->bread = 0;
>          /* zero connect time with keep-alive */
>          c->start = c->connect = lasttime = apr_time_now();
> -        set_conn_state(c, STATE_CONNECTED);

Why don't we set the state to connected any longer?

> +
>          write_request(c);
>      }
>  }

> @@ -2048,7 +2077,7 @@ static void test(void)
>                          continue;
>                      }
>                      else {
> -                        set_conn_state(c, STATE_CONNECTED);

Why don't we set the state to connected any longer?

> +
>  #ifdef USE_SSL
>                          if (c->ssl)
>                              ssl_proceed_handshake(c);


Regards

RĂ¼diger

Reply via email to