diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index a0c2ae638fc3a333a8eecf02827b93376b9cba56..9f2dfdd38f551c2e36ffd2f241753c831df65be9 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -865,7 +865,7 @@ js_connect(JSContext *cx, uintN argc, jsval *arglist) result = ERROR_VALUE; if(result == EWOULDBLOCK || result == EINPROGRESS) { result = ETIMEDOUT; - if (socket_readable(p->sock, timeout)) { + if (socket_writable(p->sock, timeout)) { int so_error = -1; socklen_t optlen = sizeof(so_error); if(getsockopt(p->sock, SOL_SOCKET, SO_ERROR, (void*)&so_error, &optlen) == 0 && so_error == 0) diff --git a/src/sbbs3/sockopts.c b/src/sbbs3/sockopts.c index 1af7a7b9fa6cf3c766cf11b0a8ff5d484dc0fb84..f740476ed4282a4d277b77444c70068617f66141 100644 --- a/src/sbbs3/sockopts.c +++ b/src/sbbs3/sockopts.c @@ -58,8 +58,14 @@ int DLLCALL set_socket_options(scfg_t* cfg, SOCKET sock, const char* protocol, c /* Set user defined socket options */ iniFileName(cfgfile,sizeof(cfgfile),cfg->ctrl_dir,"sockopts.ini"); - if((fp=iniOpenFile(cfgfile,FALSE))==NULL) + if((fp=iniOpenFile(cfgfile,FALSE))==NULL) { +#ifdef JSDOOR + int optval = 1; + // Set the only sane choice... + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&optval, sizeof(optval)); +#endif return(0); + } list=iniReadFile(fp); fclose(fp);