• src/xpdev/sockwrap.c

    From Deucе@VERT to Git commit to main/sbbs/master on Sun Mar 21 04:38:19 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/2890ff74180bd24979b1a98b
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    A poll() failure with EINTR does not mean a socket is closed.

    This won't impact Synchronet as it has a separate signal handling
    thread, but we still need to behave properly for processes that
    don't. I'm also saying that ENOMEM does not indicate a disconnection,
    though it may be better to pretend it was disconnected...

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sun Mar 21 10:43:22 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/9765a2ea6673ef0fef41ece4
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Fix poll()-based socket_check() implementation

    Was returning disconnected when it wasn't at times.

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sun Mar 21 14:31:12 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/c53a903d90ffc62b681e059b
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    We still need to peek a byte to tell that recv is done with poll()

    Not all implementations set POLLHUP when a TCP socket is half-closed.

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Mon Mar 22 21:45:51 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e6e83a5d66d8e38f00000c4d
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Properly set buffer size when calling getsockopt()

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Apr 10 13:08:14 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/90ca5a36c511c97538784089
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Finally document socket_check() behaviour.

    Tweak the poll() implementation to match.

    Should fix #248

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Apr 10 13:13:56 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/3fa3ad981f51aa082c07abf8
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Add more detail to socket_check() comment

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri May 21 20:04:42 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/baa72abe9c9ed0b56bfde91e
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Make inet_ptoaddr() not crash and work with IPv4 address strings

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Apr 30 18:56:34 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/6de0ebc0d5c8fc4a5fba8064
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Fix xp_inet_pton: was just writing 0x02 (address family)to 'dst', always

    Tried using this function in a new project and didn't work. My guess: it wasn't tested. <looks at Deuce>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Dec 1 20:17:35 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1ad5e791f021bedaf6884b42
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Fix typo in get_socket_errno() definition

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Jan 2 10:25:53 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/dc6a8901e1b62a031afb399a
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Some more Coverity paranoia.

    This ones does require SSIZE_MAX... so let's see what the pipes say...

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thu Jan 2 10:31:21 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8b8e70ac870bb4dd29dc7e85
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Actually we only need to not pass rd, SSIZE_MAX doesn't matter

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Jan 3 01:38:06 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2f78d96038cd3ce3581b75da
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Bring some sanity to sendfilesocket()

    Not that there's any need to, it appears that it was written for
    the web server, then discarded for that purpose and now is only
    called from the JS Socket.sendfile() method, which always passes
    NULL and 0 for the last two parameters, and has a copy/pasted
    implementation for TLS sockets. The only consumer of that in
    the tree appears to be gopher_service.js.

    It was apparently to use as a wrapper for the high-performance
    FreeBSD sendfile(), but that code behaved differently than all
    the other platforms, and was disabled (behind USE_SENDFILE, which
    isn't defined anywhere).

    This should really just be folded into either js_socket_sendfilesocket()
    or js_sendfile() with the extra knobs broken off and all the TODO
    comments I'm adding here addressed.

    Though, since Socket.sendfile() returns a bool where true indicates
    that either the size of the file at the start of the function
    was sent, or an EOF was reached, and false indicates that
    "something else happened", some of the TODO comments don't really
    need to be addressed.

    Basically, this is a crap function and it's only used by an even
    more crap JS wrapper, it should be tucked into a backward
    compatibility function, removed from the JSDocs, and forgotten
    about.

    If Coverity keeps complaining about this, I'll wait until after
    the next release and drag this out back and shoot it. Otherwise,
    I'll just forget it ever existed.

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Jan 3 08:59:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8c4af199650226fd7a11fd74
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    *Sigh* Borland.

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net