Enlightenment CVS committal

Author  : tsauerbeck
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_con


Modified Files:
        ecore_con.c 


Log Message:
only call SSL_get_error() if the previous SSL call failed
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_con/ecore_con.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- ecore_con.c 4 Apr 2004 00:15:56 -0000       1.17
+++ ecore_con.c 12 Apr 2004 19:29:37 -0000      1.18
@@ -717,12 +717,12 @@
    assert(svr->connecting);
    assert(svr->ssl);
 
-   res = SSL_connect(svr->ssl);
-   ssl_err = SSL_get_error(svr->ssl, res);
-
-   if (ssl_err == SSL_ERROR_NONE)
+   if ((res = SSL_connect(svr->ssl)) == 1)
       return 1;
 
+   ssl_err = SSL_get_error(svr->ssl, res);
+   assert (ssl_err != SSL_ERROR_NONE);
+
    if (ssl_err == SSL_ERROR_WANT_READ)
       flag = ECORE_FD_READ;
    else if (ssl_err == SSL_ERROR_WANT_WRITE)
@@ -782,7 +782,7 @@
 {
    Ecore_Con_Server   *svr;
 #if USE_OPENSSL
-       int ssl_err = 0;
+       int ssl_err = SSL_ERROR_NONE;
 #endif
    
    svr = data;
@@ -812,8 +812,12 @@
 #if USE_OPENSSL
                 } else {
             num = SSL_read(svr->ssl, svr->read_buf, READBUFSIZ);
-            ssl_err = SSL_get_error(svr->ssl, num);
-            lost_server = (ssl_err == SSL_ERROR_ZERO_RETURN);
+
+            if (num < 1) {
+               ssl_err = SSL_get_error(svr->ssl, num);
+               lost_server = (ssl_err == SSL_ERROR_ZERO_RETURN);
+            } else
+               ssl_err = SSL_ERROR_NONE;
          }
 #endif
             if (num < 1)
@@ -958,7 +962,7 @@
 {
    int count, num, lost_server = 0;
 #if USE_OPENSSL
-   int ssl_err;
+   int ssl_err = SSL_ERROR_NONE;
 #endif
 
    if (!svr->write_buf) return;
@@ -984,8 +988,11 @@
 #if USE_OPENSSL
    } else {
       count = SSL_write(svr->ssl, svr->write_buf + svr->write_buf_offset, num);
-      ssl_err = SSL_get_error(svr->ssl, count);
-      lost_server = (ssl_err == SSL_ERROR_ZERO_RETURN);
+
+      if (count < 1) {
+         ssl_err = SSL_get_error(svr->ssl, count);
+         lost_server = (ssl_err == SSL_ERROR_ZERO_RETURN);
+      }
    }
 #endif
 




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to