101a102,127
> #if (defined(NETWARE) || defined(WIN32))
> #define write(a,b,c) send(a,b,c,0)
> #define read(a,b,c) recv(a,b,c,0)
> #define STATIC 
> 
> static int setsocktimeout (int sock, int timeout)
> {
>     u_long msec = 0;
> 
>     /* Make sure that we are in blocking mode */
>     if (ioctlsocket(sock, FIONBIO, &msec) == SOCKET_ERROR) {
>         return h_errno;
>     }
> 
>     /* Win32 timeouts are in msec, represented as int */
>     msec = timeout * 1000;
>     setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, 
>                (char *) &msec, sizeof(msec));
>     setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, 
>                (char *) &msec, sizeof(msec));
> 
>     return 0;
> }
> #else /* NETWARE || WIN32 */
> 
> #define STATIC static
108a135
> #endif
240,242c267,269
<     static char user[RFC1413_USERLEN + 1];	/* XXX */
<     static char *result;
<     static int sock;
---
>     STATIC char user[RFC1413_USERLEN + 1];	/* XXX */
>     STATIC char *result;
>     STATIC int sock;
248,250c275,277
< 	ap_log_error(APLOG_MARK, APLOG_CRIT, srv,
< 		    "socket: rfc1413: error creating socket");
< 	conn->remote_logname = result;
---
>     	ap_log_error(APLOG_MARK, APLOG_CRIT, srv,
>     		    "socket: rfc1413: error creating socket");
>     	conn->remote_logname = result;
255a283,288
> #if (defined(NETWARE) || defined(WIN32))
>     if (setsocktimeout(sock, ap_rfc1413_timeout) == 0) {
>         if (get_rfc1413(sock, &conn->local_addr, &conn->remote_addr, user, srv) >= 0)
>             result = user;
>     }
> #else
262a296
> #endif
267a302
> 
