X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=comstack%2Ftcpip.c;h=4c9b481d75a9e1497bfc91e90910e57d47578cda;hb=767ff54e1425e6be8208fe3fee6e7e1b9cadcfb6;hp=6887469c89d6dccbee974b3f67ad2e24f3f7a12c;hpb=03c1d6e9c2c2c0bb2ee01e38d7f464a311bfe9e9;p=yaz-moved-to-github.git diff --git a/comstack/tcpip.c b/comstack/tcpip.c index 6887469..4c9b481 100644 --- a/comstack/tcpip.c +++ b/comstack/tcpip.c @@ -3,7 +3,17 @@ * See the file LICENSE for details. * * $Log: tcpip.c,v $ - * Revision 1.37 2001-03-08 20:18:55 adam + * Revision 1.40 2001-08-23 09:02:46 adam + * WIN32 fixes: Socket not re-used for bind. yaz_log logs WIN32 error + * message. + * + * Revision 1.39 2001/07/19 19:49:40 adam + * Fixed bug in tcpip_set_blocking. + * + * Revision 1.38 2001/03/21 12:43:36 adam + * Implemented cs_create_host. Better error reporting for SSL comstack. + * + * Revision 1.37 2001/03/08 20:18:55 adam * Added cs_set_blocking. Patch from Matthew Carey. * * Revision 1.36 2001/02/21 13:46:53 adam @@ -494,6 +504,7 @@ int tcpip_connect(COMSTACK h, void *address) return 1; } #endif + h->cerrno = CSYSERR; return -1; } h->state = CS_CONNECTING; @@ -529,6 +540,7 @@ int tcpip_connect(COMSTACK h, void *address) h->io_pending = CS_WANT_WRITE; return 1; } + h->cerrno = CSERRORSSL; return -1; } } @@ -595,13 +607,15 @@ int tcpip_bind(COMSTACK h, void *address, int mode) #else TRC (fprintf (stderr, "tcpip_bind\n")); #endif +#ifndef WIN32 if (setsockopt(h->iofile, SOL_SOCKET, SO_REUSEADDR, (char*) &one, sizeof(one)) < 0) { h->cerrno = CSYSERR; return -1; } - if (bind(h->iofile, addr, sizeof(struct sockaddr_in)) < 0) +#endif + if (bind(h->iofile, addr, sizeof(struct sockaddr_in))) { h->cerrno = CSYSERR; return -1; @@ -940,6 +954,7 @@ int ssl_get(COMSTACK h, char **buf, int *bufsize) } if (res == 0) return 0; + h->cerrno = CSERRORSSL; return -1; } hasread += res; @@ -1064,6 +1079,7 @@ int ssl_put(COMSTACK h, char *buf, int size) yaz_log (LOG_LOG, "SSL_write. want_write"); return 1; } + h->cerrno = CSERRORSSL; return -1; } state->written += res; @@ -1145,9 +1161,8 @@ int static tcpip_set_blocking(COMSTACK p, int blocking) if (p->blocking == blocking) return 1; - if(blocking) #ifdef WIN32 - flag = blocking; + flag = 1; if (ioctlsocket(p->iofile, FIONBIO, &flag) < 0) return 0; #else