• src/sbbs3/js_socket.c

    From Rob Swindell@1:103/705 to Git commit to sbbs/master on Sun Nov 22 00:14:40 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/ace3997a38743dbcb2f134bd
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Resolve gcc warnings about unused set variables.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Thu Nov 26 12:28:01 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/30d409114d29f84fb93d59c8
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix bug with Socket.getoption() of byte-sized optionsOnly observed on Windows, the option value variable (val) was uninitialized so querying byte-sized options using WinSock getsockopt() would leave the MSB of the value as undefined (garbage), resulting in sockinfo.js output like this:KEEPALIVE = -858993663instead of this:KEEPALIVE = 1
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Feb 15 21:32:41 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/a2a1448caeaf2b1a6add92e8
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Play this game.
    --- SBBSecho 3.12-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Mon Feb 15 21:33:43 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/a6efc1beffc68abb0f64e23e
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Merge remote-tracking branch 'origin/master'
    --- SBBSecho 3.12-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Mon Feb 15 21:59:14 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4e9ff218de9f9656b2451ae5
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix apparent memory leak in js_listening_socket_constructor()The socket set allocated by xpms_create() was never freed. Found by Coverity.
    --- SBBSecho 3.12-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Mar 17 10:46:53 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/ec7f57ab985273580f085bbb
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Close Socket on unhandled TLS errorsWhile errors on transmit seem to be handled well, errors on receivedo not, especially through js_recv_line() which has been seen totrigger a large number (hundreds) of ECONNRESET errors. To preventthis, simply close the socket when an otherwise unhandled erroroccurs.Almost certainly fixes that issue, but the underlying cause is stillundetermined. The calling script (imapservice.js) was checkingSocket.is_connected after each recv_line() call, so if the socketwas actually reset, it would be expected to only call it once.An alternative would be to explicitly handle the error that isseen (CRYPT_ERROR_PARAM1), but let's try a generic fix first and seeof anything breaks because of it. Most likely issue would be aninability to recv() data after calling shutdown(), but I don't thinkmany people do that except to move the TIME_WAIT to where they wantit.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 2 12:45:49 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/8eaa996b9092487ed67eb428
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix Socket.connect()Broken with the poll() update
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sun Apr 4 13:38:22 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4d23eff969882b00474af389
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix resource leaks caught by Coverity-scanCID 330950 and 319020
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sun Apr 4 15:13:57 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/8e9b1273d3b896afc02f6180
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    printf fmt/argument type mismatchesCID 319085 319089 319135 319142
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Apr 5 23:05:29 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7a8b54b954b6d0fbce888961
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix some bugs around sock.on('write'...) and sock.clearOn()
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Feb 23 23:25:45 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/4a50048e71c7c6d958acd428
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix invalid type in argument to printf format specifierCID 319135Fix the return value of js_socket_sendfilesocket() while we're here (off_t instead of int).
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Tue Oct 4 14:28:50 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/f0127e9d4572f8c1c44536dc
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Check socket writability in JS Socket.send()BINKP is suddenly frequently hanging on sendsocket() on Vertrauen on Windows(sending files to my Z1 hub) so try this as a solution.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Mon Nov 28 11:03:39 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/3389aadcb8d3bcc3b428b993
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Revert "Check socket writability in JS Socket.send()"This reverts commit f0127e9d4572f8c1c44536dcda240c310e18f7d8.This change was "wrong-headed" per Deuce and broke JS sends onblocking sockets. Thanks for the help.This fix for inifinite-wait on send() likely led to the infiniteBinkIT errors/log messages that led to commit 4dd32231.The real fix for this problem (which can block all other timedevents from running), would be a Socket.poll() on the socket beforesend in binkp.js.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat May 27 12:47:08 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ab4eca0e22c1c318db48edf6
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix misplaced JS_RESUMEREQUEST() - do thise *before* potential return
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 24 17:21:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/52d9a03d372792616091e4c6
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Apply socket options from sockopts.ini to sockets created by ListeningSocket()This socket constructor did not get the global socket options treatment whencreated (years ago).This should fix issue #402 as reported by Nelgin and more recently by Keyop.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 24 18:27:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7ff687ff15f690410daa0bdb
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Revert "Apply socket options from sockopts.ini to sockets created by ListeningSocket()"This reverts commit 52d9a03d372792616091e4c66b28d98d711d3b29.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 24 18:29:00 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/99e8c77caf4a718768e80e6a
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Revert "Revert "Apply socket options from sockopts.ini to sockets created by ListeningSocket()""This reverts commit 7ff687ff15f690410daa0bdbe2ecc468ea1b4a41.We're already passing a sock_init callback (ls_cb) which is supposed to setthe socket options (call set_socket_options), so this change shouldn't benecessary and reportedly caused more issues binding ircd sockets when runningircd.js via jsexec (though I didn't see this myself).
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 24 18:33:53 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f9a44f56e2ad13a4373e63cd
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Manual revert of the ListeningSocket contructor "fix" which wasn't necessaryI keep reverting/un-reverting the merge that includes an unrelated logon.cppchange. So just manually remove this new code that was added to attempt tofix issue #402 since I incorrectly concluded that sockopts.ini wasn't beingapplied to new sockets created with ListeningSocket().
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rickparrish@1:103/705 to Git commit to main/sbbs/master on Wed Sep 6 15:38:01 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f07baf44425fdbee1059e2e5
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix return value when p->peeked is true
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Sep 6 15:38:02 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/72d7a4904ccc668abc4dc3f5
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Merge branch 'Ree/js_socket_recv-fix' into 'master'Fix return value when p->peeked is trueSee merge request main/sbbs!328
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Nov 21 20:45:25 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2baafdb0f202ef1367fe6794
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Limit JS Socket TLS error levels to "warning" severity

    Ideally, this would use startup.tls_error_level, but which one? And how?

    Also, make a TODO comment to fix the fact that all JS Socket log messages
    are logged to the terminal server log output. :-(
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Nov 22 15:47:10 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f71b2650467aa655a44271ea
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Improve JS error reporting

    Include function names. Include host:port in "Unable to connect" error.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Nov 22 15:55:13 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/13b07dbad2c77cef9f9f0aaf
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    __FUNCTION__ is not a string constant in GCC, so can't do this

    error: expected ‘)’ before string constant

    Harumph.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Dec 20 15:43:52 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c9cb9c9cf9511b0f0ba29008
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix invalid pointer type waring (and bug)
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Dec 20 15:46:42 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/6aa310dfee947380e7513b35
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    get scfg from runtime before syncing cert
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 19 20:43:37 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/242d088a8b7f6d2baa3c7569
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Ugh, spaces instead of tabs... so gross.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 19 21:19:36 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/bebd0b64c36bccbc3f5d5cef
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Only tls servers should call destroy_session()

    TLS clients don't (currently) add a certificate, so there's no need
    to delete it.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Oct 3 09:34:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e67f51d0eaf484d995ade630
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Document the connect() callback thing.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Nov 9 20:30:54 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f1cdaea3b87caa96bbf9b8c6
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Don't check recvline() timeout *before* checking if there's data to receive

    This was a regression: Socket.recvline() used to not care what the timeout duration was so long as there were bytes to receive.

    Also, remove the ".0" from timeout values in documented mehtods that don't
    (any longer) accept floating point timeout durations. We used to support fractional seconds for some of these methods, and that was implied by using
    the floating point default values, but that's no longer the case. poll()
    still accepts a floating point timeout.
    --- SBBSecho 3.21-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Nov 11 23:50:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f4ea0c75823aafb6fa3d9da8
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Document return values of Socket.poll()
    --- SBBSecho 3.21-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sun Jan 5 21:06:01 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/82a999f46e27a33f425e4625
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Resolve MSVC warning about mismatch signed/unsigned compares
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 6 22:27:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/bf7ad258d687fdafff5a370a
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix TLS short send issue.

    On JS TLS sockets, sends over 16384 bytes would be truncated to
    the next multiple of 8192 higher than half the buffer length.

    This was triggered because we send chunks of 8192 bytes at a time,
    and decrement the length each time through the loop. We return
    "success" when the total sent so far is higher than the length
    remaining.

    Fixes bug reported in #Synchronet by Accession.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 6 22:37:02 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a4c676ed06a1f9b08850bacf
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix apparent copy pasta of the total/len in recv.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 20 21:45:29 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/42db53c892805678e0b3a474
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Add constants to the Socket class.

    This is just the ones mentioned in the jsdocs. I'll add more
    if/when I want them. :D
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 31 20:46:08 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5ac2c66c95c331f9a9d43b28
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Set Socket.type correctly on accept() from multisock
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 31 20:53:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a839a6f036fd4f280793e1d2
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Fix last commit.

    If we called accept(), it's not datagram, and if you're using SCTP
    and Synchronet lies to you, you can fix it yourself.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Feb 4 19:16:47 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/eda230f782c548aec09f51b8
    Modified Files:
    src/sbbs3/js_socket.c
    Log Message:
    Don't use deprecated function: inet_addr()
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)