• exec/load/binkp.js

    From rswindell@VERT to CVS commit on Sunday, July 08, 2018 21:50:00
    exec/load binkp.js 1.106 1.107
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv31064

    Modified Files:
    binkp.js
    Log Message:
    More log output around connecting to a node.
    I suspect that connect() may be blocking and causing Al's reported issue
    (A BinkIT poll never returns from the script and goes into some kind of infinite busy loop).



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, July 08, 2018 22:10:00
    exec/load binkp.js 1.107 1.108
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv545

    Modified Files:
    binkp.js
    Log Message:
    Fix what appears to be a few potential infinite loops where
    recvFrame() is being called in a loop and only breaking on specific
    conditions or if recvFrame returned undefined. Problem is, on timeout, recvFrame returns null (and when using === comparision, undefined !== null). Also added more debug output around sends where I suspect there might be another potential infinite loop.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, July 08, 2018 23:55:00
    exec/load binkp.js 1.108 1.109
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv11895

    Modified Files:
    binkp.js
    Log Message:
    Fix potential infinite loop in send_chunks(), some versions of Socket.send() can return false on error, which is >= 0, so this will just add 0 to the
    length and keep on looping forever in that case.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From echicken@VERT to CVS commit on Monday, September 24, 2018 02:57:00
    exec/load binkp.js 1.110 1.111
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv27619

    Modified Files:
    binkp.js
    Log Message:
    Can't be the current 'sending' file if we ain't sending no file.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Saturday, November 10, 2018 01:26:00
    exec/load binkp.js 1.111 1.112
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv5423

    Modified Files:
    binkp.js
    Log Message:
    Log the 'remote_addrs' value with each log message of LOG_ERR severity
    (yeah, those should all be LOG_ERR, not LOG_ERROR - oh well) since LOG_ERR messages go to the data/error.log and including this information is helpful
    to sysops that monitor this file and use it to help find/debug issues.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Monday, January 07, 2019 05:50:00
    exec/load binkp.js 1.112 1.113
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv16347

    Modified Files:
    binkp.js
    Log Message:
    3 new BinkP properties:
    .remote_operator (the value of the 'ZYZ' message, if received) .remote_capabilities (the value of the 'NDL' message, if received) .remote_info[], an associative array of any/all *other* M_NUL BinkP
    commands/messages (e.g. bp.remote_info['TIME'] contains the remote TIME
    message arguments, if such a message was received).



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Monday, January 07, 2019 07:17:00
    exec/load binkp.js 1.113 1.114
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv26978

    Modified Files:
    binkp.js
    Log Message:
    New BinkP properties:
    .connect_host
    .connect_port
    .connect_error
    Allows the application (binkit.js) to log detailed BinkP.connect() failures.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, April 30, 2019 21:41:00
    exec/load binkp.js 1.114 1.115
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv17754

    Modified Files:
    binkp.js
    Log Message:
    Lower the log level of teh "Timed out receiving packet data" log message from ERROR to WARNING - for Ragnarok.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Saturday, May 25, 2019 09:59:00
    exec/load binkp.js 1.115 1.116
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv23631

    Modified Files:
    binkp.js
    Log Message:
    When connecting a linked-node configured for PlainAuthOnly:
    - don't advertise support for encryption (by sending an "OPT CRYPT" message)
    - don't complain (send "Encryption requires CRAM-MD5" M_ERR) if the remote
    doesn't support CRAM-MD5



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Monday, May 27, 2019 02:08:00
    exec/load binkp.js 1.116 1.117
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv18909

    Modified Files:
    binkp.js
    Log Message:
    If plain_auth_only (PlainAuthOnly) is true, then we won't be encrypting.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, May 29, 2019 01:09:00
    exec/load binkp.js 1.117 1.118
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv12179

    Modified Files:
    binkp.js
    Log Message:
    Better error message (consistent with binkit.js):
    "CRAM-MD5 authentication required" instead of "MD5 required"



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, June 14, 2019 21:08:00
    exec/load binkp.js 1.118 1.119
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv27843/load

    Modified Files:
    binkp.js
    Log Message:
    Since Revision 1.36 of load/fidocfg.js (Jan-8-2019), a blank/unconfigured
    BinkP session password ("SessionPwd") in sbbsecho.ini would cause BinkIT/BinkP to behave as though a session password was specified. The reason for the change to fidocfg.js (specifying a default value for "SessionPwd" as a blank string) was to force the return value to a string so that numeric passwords were not returned as numbers but rather strings.
    The binkit.js and binkp.js code assumed that a blank password would be 'undefined' and not a blank string.
    This commit changes binkit.js and binkp.js to treat all of the following session password values as "no password" with respect to BinkP:
    - false
    - undefined
    - blank string ('')




    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tuesday, August 06, 2019 13:32:21
    exec/load binkp.js 1.120 1.121
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv22124/load

    Modified Files:
    binkp.js
    Log Message:
    Use ConnectedSocket class to support outgoing IPv6 connections.



    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, November 26, 2020 06:01:38
    https://gitlab.synchro.net/main/sbbs/-/commit/d1566e7d7b3a9e013f244cea
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Don't assume the BinkP VER message contains 3-space-delimited fields.

    According to both FTS-1026 and FSP-1024, the "mailer version" portion of this msg may contain spaces. Some mailers (e.g. Internet Rex), provide their version information with spaces, e.g. "Internet Rex 2.67 beta 1a OS/2 (binkp/1.1)", which also include a non-conformant protocol version indicator:
    " (binkp/1.1)" instead of " binkp/1.1".
    Additionally, only require that "binkp/" exist in the string, to find and
    parse the protocol version number, which is apparently critical to the proper operation of the protocol. This should resolve issue #185 reported by altere.

    I'm also storing the entire VER response in the binkp.remote_ver property and this will break the older Mystic/BinkP work-arounds in binkit.js. I dont' think we really need those workarounds any longer however. We'll soon see I guess.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Thursday, November 26, 2020 07:00:10
    https://gitlab.synchro.net/main/sbbs/-/commit/b846192f8b436fac248fd9d9
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Just parse VER using /^VER (.*) ([^ ]*?)$/

    This restores the meaning of remote_ver and still has a hack for
    broken, unfixable mailers that don't advertise protocol v1.1
    correctly (ie: Irex)

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Thursday, November 26, 2020 07:09:24
    https://gitlab.synchro.net/main/sbbs/-/commit/6b6a6f506c94d2ae98735741
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Log warning when peer does not indicate binkp/1.1 correctly, but
    we assume it's 1.1 anyway.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Thursday, November 26, 2020 07:12:02
    https://gitlab.synchro.net/main/sbbs/-/commit/aba949fa751a58c9e781372d
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Add comment containing what Internet Rex sends.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Friday, November 27, 2020 08:45:41
    https://gitlab.synchro.net/main/sbbs/-/commit/d218c8de9ff3cd359f101409
    Modified Files:
    exec/load/binkp.js
    Log Message:
    "Handle" frames with a data length of zero.

    These frames were already not allowed in the binkp/1.0 protocol,
    and it is mentioned in the spec (issued in 2005) as "Some old
    implementations do send empty frames as the last frame.".

    It's certainly not allowed now, and any mailer which does it is
    broken.

    For zero-length data packets, it will be seen as a frame containing
    zero data bytes which will also be logged as being after the file
    if it comes after the file has already been completely transferred.

    A zero-length command packet will abort with M_ERR, logging an error
    regarding command number NaN or something like that.

    This may fix #185 since attempting a recv() of zero bytes and
    succeeding is the only way I can see for a zero second timeout to
    have been logged in receving frame data. The software assumed that
    receiving zero bytes was a timeout, but if that's what you asked for,
    it's actually success.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Friday, November 27, 2020 09:02:50
    https://gitlab.synchro.net/main/sbbs/-/commit/f6cc52385b146eb2def3ad21
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Apparently we're editing file revisions like cavemen now.

    Call this one "2"
    Flashbacks to manually editing zone files here.
    I may end up going with YYYYMMDD numbers like I sometimes did in
    zone files, but maybe I'll just do the single number thing... not
    really sure yet.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Wednesday, December 02, 2020 20:49:20
    https://gitlab.synchro.net/main/sbbs/-/commit/a0b4a7cf8e4e1b79e75805ed
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Perform super-graceful shutdown of the socket on success.

    This should guard against a RST being sent on success. It's possible
    that the remote has sent data (ie: M_EOB) we would recv() after we
    commit to ending the session. If the script terminates while there
    is data to be read, this would result in sending a RST.

    To prevent this, we call shutdown(sock, SHUT_WR) via setting is_writeable
    to false (because that's how we roll), then recv() all data until the
    remote closes the session, or the timeout passes.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Friday, December 04, 2020 03:40:33
    https://gitlab.synchro.net/main/sbbs/-/commit/4322be29d519e065d4ba114a
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Fix this.sock is undefined error.

    Not sure how we get a successful shutdown after closing the socket,
    but the issue was reported by altere as happening in the wild.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Saturday, December 05, 2020 00:45:53
    https://gitlab.synchro.net/main/sbbs/-/commit/3b166abe0fbe19a8bbfd8f01
    Modified Files:
    exec/load/binkp.js
    Log Message:
    The property is ver1_1, not ver_1.1

    This should fix the binkd issue.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Saturday, December 05, 2020 00:46:17
    https://gitlab.synchro.net/main/sbbs/-/commit/b3a0377ee41701681e2723c2
    Modified Files:
    exec/load/binkp.js
    Log Message:
    And bump rev.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Monday, December 28, 2020 19:49:37
    https://gitlab.synchro.net/main/sbbs/-/commit/93c9d7e0bf770a5a3b626ec4
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Log the error on first-byte recv() timeout.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, January 04, 2021 01:57:37
    https://gitlab.synchro.net/main/sbbs/-/commit/8ef5e6c9dbaa2e086e2adc5a
    Modified Files:
    exec/load/binkp.js
    Log Message:
    Address "TypeError: buf is null" reported by Melkor

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