• exec/load/cvslib.js gnatslib.js http.js ircbot_functions.js irclib.js json-client.js salib.js

    From deuce@VERT to CVS commit on Mon Dec 22 17:28:24 2014
    exec/load cvslib.js 1.17 1.18 gnatslib.js 1.25 1.26 http.js 1.22 1.23 ircbot_functions.js 1.26 1.27 irclib.js 1.16 1.17 json-client.js 1.27 1.28 salib.js 1.23 1.24
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv23280/load

    Modified Files:
    cvslib.js gnatslib.js http.js ircbot_functions.js irclib.js
    json-client.js salib.js
    Log Message:
    Explicitly close sockets that fail to connect() in potentially long-running scripts.

    If the socket is not close()ed, it results in a socket descriptor leak, and on *nix systems, FD_SET() may corrupt memory outside of the fd_set if a socket descriptor higher than FD_SETSIZE is set.

    This manifested itself via ircd.js which called connect() to servers, but never called close(). After many hours, the next socket descriptor was higher than 1024 (default FD_SETSIZE), and resulted in corruption of the private data pointer
    in js_socket.c:js_connect()... which in turn resulted in a crash.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ telnet://vert.synchro.net