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