diff --git a/src/plugins/SSLPlugin/ssl_plugin.c b/src/plugins/SSLPlugin/ssl_plugin.c index 59ee50f..3a9dac7 100644 --- a/src/plugins/SSLPlugin/ssl_plugin.c +++ b/src/plugins/SSLPlugin/ssl_plugin.c @@ -121,10 +121,10 @@ static int ssl_send(SOCKET s, const void *msg, size_t len, int flags){ if((res = ssl_write(sslq->conn, (void *)msg, len)) <= 0){ err = SSL_get_error((SSL *)((ssl_conn*)sslq->conn)->ssl, res); if (err == SSL_ERROR_WANT_WRITE){ - _set_errno(EAGAIN); + seterrno3(EAGAIN); return -1; } - else _set_errno(err); + else seterrno3(err); } return res; } @@ -145,10 +145,10 @@ static int ssl_sendto(SOCKET s, const void *msg, size_t len, int flags, const st if((res = ssl_write(sslq->conn, (void *)msg, len)) <= 0) { err = SSL_get_error((SSL *)((ssl_conn*)sslq->conn)->ssl, res); if (err == SSL_ERROR_WANT_WRITE){ - _set_errno(EAGAIN); + seterrno3(EAGAIN); return -1; } - else _set_errno(err); + else seterrno3(err); } return res; } @@ -168,10 +168,10 @@ static int ssl_recvfrom(SOCKET s, void *msg, size_t len, int flags, struct socka if((res = ssl_read(sslq->conn, (void *)msg, len)) <= 0) { err = SSL_get_error((SSL *)((ssl_conn*)sslq->conn)->ssl, res); if (err == SSL_ERROR_WANT_READ) { - _set_errno(EAGAIN); + seterrno3(EAGAIN); return -1; } - else _set_errno(err); + else seterrno3(err); } return res; } @@ -190,10 +190,10 @@ static int WINAPI ssl_recv(SOCKET s, void *msg, size_t len, int flags){ if((res = ssl_read(sslq->conn, (void *)msg, len)) <= 0) { err = SSL_get_error((SSL *)((ssl_conn*)sslq->conn)->ssl, res); if (err == SSL_ERROR_WANT_READ) { - _set_errno(EAGAIN); + seterrno3(EAGAIN); return -1; } - else _set_errno(err); + else seterrno3(err); } return res; } diff --git a/src/proxy.h b/src/proxy.h index 01018e0..4ee1eb7 100644 --- a/src/proxy.h +++ b/src/proxy.h @@ -117,6 +117,9 @@ void daemonize(void); #ifdef _WIN32 #define strcasecmp stricmp #define strncasecmp strnicmp +#define seterrno3(x) _set_errno(x) +#else +#define seterrno3(x) (errno = x) #endif #ifndef SOCKET_ERROR