Bugfix.
authorBodo Möller <bodo@openssl.org>
Sat, 12 Jun 1999 11:07:52 +0000 (11:07 +0000)
committerBodo Möller <bodo@openssl.org>
Sat, 12 Jun 1999 11:07:52 +0000 (11:07 +0000)
crypto/bio/bss_bio.c
ssl/ssl_stat.c
ssl/ssltest.c

index ea9d5c714aed1716528a6bf3b198864136b5e15a..dae8b3b3e2eeace87ab1b26ac5f72cdf4adcd8f2 100644 (file)
@@ -186,7 +186,6 @@ static int bio_read(BIO *bio, char *buf, int size_)
                }
        while (rest);
        
-       peer_b->request -= size;
        return size;
        }
 
index 09194888b5a12b14885c340ee3738b4395923275..3eca4ee6017a17afc3a180569b8eea0d60fba9d8 100644 (file)
@@ -282,6 +282,8 @@ case SSL3_ST_CR_SRVR_DONE_A:                        str="3RSD_A"; break;
 case SSL3_ST_CR_SRVR_DONE_B:                   str="3RSD_B"; break;
 case SSL3_ST_CW_CERT_A:                                str="3WCC_A"; break;
 case SSL3_ST_CW_CERT_B:                                str="3WCC_B"; break;
+case SSL3_ST_CW_CERT_C:                                str="3WCC_C"; break;
+case SSL3_ST_CW_CERT_D:                                str="3WCC_D"; break;
 case SSL3_ST_CW_KEY_EXCH_A:                    str="3WCKEA"; break;
 case SSL3_ST_CW_KEY_EXCH_B:                    str="3WCKEB"; break;
 case SSL3_ST_CW_CERT_VRFY_A:                   str="3WCV_A"; break;
index 91813dc7da4d1ebb03ec435e6068d6c0eb794652..26483049115c277f3599f2aa5207e3bcecf80675 100644 (file)
@@ -705,9 +705,21 @@ int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count)
 
                        if (!progress && !prev_progress)
                                if (cw_num > 0 || cr_num > 0 || sw_num > 0 || sr_num > 0)
-                                        /* can't happen */
                                        {
                                        fprintf(stderr, "ERROR: got stuck\n");
+                                       if (strcmp("SSLv2", SSL_get_version(c_ssl)) == 0)
+                                               {
+                                               fprintf(stderr, "This can happen for SSL2 because "
+                                                       "CLIENT-FINISHED and SERVER-VERIFY are written \n"
+                                                       "concurrently ...");
+                                               if (strncmp("2SCF", SSL_state_string(c_ssl), 4) == 0
+                                                       && strncmp("2SSV", SSL_state_string(s_ssl), 4) == 0)
+                                                       {
+                                                       fprintf(stderr, " ok.\n");
+                                                       goto end;
+                                                       }
+                                               }
+                                       fprintf(stderr, " ERROR.\n");
                                        goto err;
                                        }
                        prev_progress = progress;
@@ -721,6 +733,7 @@ int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count)
                        SSL_get_version(c_ssl),
                        SSL_CIPHER_get_version(ciph),
                        SSL_CIPHER_get_name(ciph));
+ end:
        ret = 0;
 
  err: