• src/xpdev/sockwrap.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 21, 2021 04:38:19
    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 Sunday, March 21, 2021 10:43:22
    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 Sunday, March 21, 2021 14:31:12
    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 Monday, March 22, 2021 21:45:51
    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 Saturday, April 10, 2021 13:08:14
    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 Saturday, April 10, 2021 13:13:56
    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 Friday, May 21, 2021 20:04:42
    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 Saturday, April 30, 2022 18:56:34
    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 Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 21, 2024 06:36:38
    https://gitlab.synchro.net/main/sbbs/-/commit/5bc000c5ba8137ff5be8d3b8
    Modified Files:
    src/xpdev/sockwrap.c
    Log Message:
    Fix warning on Win64 build

    ---
    þ 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 Sunday, December 01, 2024 20:17:35
    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 Thursday, January 02, 2025 10:25:53
    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 Thursday, January 02, 2025 10:31:21
    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 Friday, January 03, 2025 01:38:06
    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 Friday, January 03, 2025 08:59:56
    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