ssl3_read() does indirect, while ssl3_write does not.

Doesn't seem intentional to me, on the contrary.

Tick choice:
[ ] Correct reasoning & fix?
[ ] Dead wrong, buster!


just in case: patch attached


--- h:\prj\1original\openssl\openssl\ssl\s3_lib.c    2009-11-19
02:34:54.000000000 +-0200
+++ h:\prj\3actual\openssl\ssl\s3_lib.c    2009-08-24 19:57:30.000000000
+-0200
@@ -3223,10 +3224,15 @@
     /* The second test is because the buffer may have been removed */
     if ((s->s3->flags & SSL3_FLAGS_POP_BUFFER) && (s->wbio == s->bbio))
         {
         /* First time through, we write into the buffer */
         if (s->s3->delay_buf_pop_ret == 0)
             {
+#if 0 /* [i_a] shouldn't this read like below??? */
             ret=ssl3_write_bytes(s,SSL3_RT_APPLICATION_DATA,
                          buf,len);
+#else
+            ret=s->method->ssl_write_bytes(s,SSL3_RT_APPLICATION_DATA,
+                        buf,len);
+#endif
             if (ret <= 0) return(ret);


-- 
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web:    http://www.hobbelt.com/
       http://www.hebbut.net/
mail:   [email protected]
mobile: +31-6-11 120 978
--------------------------------------------------

ssl3_read() does indirect, while ssl3_write does not.

Doesn't seem intentional to me, on the contrary.

Tick choice:
[ ] Correct reasoning & fix?
[ ] Dead wrong, buster!


just in case: patch attached


--- h:\prj\1original\openssl\openssl\ssl\s3_lib.c    2009-11-19 02:34:54.000000000 +-0200
+++ h:\prj\3actual\openssl\ssl\s3_lib.c    2009-08-24 19:57:30.000000000 +-0200
@@ -3223,10 +3224,15 @@
     /* The second test is because the buffer may have been removed */
     if ((s->s3->flags & SSL3_FLAGS_POP_BUFFER) && (s->wbio == s->bbio))
         {
         /* First time through, we write into the buffer */
         if (s->s3->delay_buf_pop_ret == 0)
             {
+#if 0 /* [i_a] shouldn't this read like below??? */
             ret=ssl3_write_bytes(s,SSL3_RT_APPLICATION_DATA,
                          buf,len);
+#else
+            ret=s->method->ssl_write_bytes(s,SSL3_RT_APPLICATION_DATA,
+                        buf,len);
+#endif
             if (ret <= 0) return(ret);
 

--
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web:    http://www.hobbelt.com/
       http://www.hebbut.net/
mail:   [email protected]
mobile: +31-6-11 120 978
--------------------------------------------------

Attachment: ssl_s3_lib_bug1.diff
Description: Binary data

Reply via email to