• src/syncterm/ssh.c

    From deuce@1:103/705 to CVS commit on Wed Apr 15 20:48:31 2020
    src/syncterm ssh.c 1.24 1.25
    Update of /cvsroot/sbbs/src/syncterm
    In directory cvs:/tmp/cvs-serv11789

    Modified Files:
    ssh.c
    Log Message:
    Flush the SSH session before popping data in case a rekey is needed.
    Fixes issue with large downloads over SSH.



    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu May 28 15:58:26 2020
    src/syncterm ssh.c 1.30 1.31
    Update of /cvsroot/sbbs/src/syncterm
    In directory cvs:/tmp/cvs-serv23494

    Modified Files:
    ssh.c
    Log Message:
    Fix timeout errors after a rekey. While rev 1.25 fixed large downloads,
    large uploads remained an issue as if there's no data received on the connection for over a second, the input thread would abort due to timeout.

    Fixes bug https://sf.net/p/syncterm/tickets/21/
    This is serious enough to trigger a new RC I believe (sigh)



    --- 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 Tue Dec 26 23:43:55 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/0c5a796cff1c4a2c99ec08af
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Somewhat working now... still some issues getting the second channel
    working reliably though.
    --- 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 Dec 29 09:50:11 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/468180f2be44185b50f0baff
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Remove debug output
    --- 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 Dec 29 09:52:38 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2e96a7e2a699035d7e7599fb
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Re-disable code accidentally enabled in last commit
    --- 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 Dec 29 10:18:32 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/5bf3dfcd018246bced648726
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Clean up sftp popups.
    --- 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 Dec 29 18:26:32 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/999b9b76a1f3725be712d634
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Always flush after grabbing ssh mutex
    When flushing, set timeouts high, then set zero read timeout
    Ensure channel IDs are protected by the ssh mutex
    Check channels are open every time though input thread and before sends
    Fix various locking errors
    Install public key in a background thread

    Once a startup race is fixed, this should be good to go!
    --- 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 Sat Dec 30 06:54:56 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ff1291b5710fa601a21a2762
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Set timeouts at start and leave them that way
    --- 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 Sat Dec 30 06:55:18 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/17cd7b169aea2d5c1f49d1ba
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Fix bug in last commit
    --- 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 Sat Dec 30 06:59:25 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/0a3c7b9c1d53ff3465456487
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Add include for asprintf() on Win32
    --- 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 Sun Jan 21 01:24:08 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/157650844ddb11acc6269f14
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Fix up handling of lost connections.

    Was spinning at 100% CPU on a lost connection if sftp was active.
    --- 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 Sun Jan 21 09:53:45 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/219303a61fa2e47752c5a974
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Check sftp_state before ending.

    Fixes assertion failure on hangup from SSH.
    --- 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 Sun Jan 21 10:46:43 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f6fe7c315f2f0fe3d9133a47
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    If we get a pop error, and there is no channel, we're done.
    --- 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 Sun Jan 21 12:16:12 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/81b1224cf11dc2ce0993e45a
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    More remote closing connection fixups.
    --- 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 Mon Feb 12 19:10:35 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8db8e78736120a18caca8a0d
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Zero-Iniitalize err_len

    If call to GetAttributeString() fails, err_len can contain garbage.
    --- 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 Mon Feb 12 20:23:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/407eca73d3f48af29fcfd8aa
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    If call to GetAttributeString() fails, we have a lot worse problems
    than err_len containing garbage.

    Handle the error and mention we didn't get the message.
    While we're here, check the return value of malloc().
    --- 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 Feb 16 10:01:55 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/43634f586821e25e09c6e45e
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Lower timeouts when closing SSH session.

    Reduces the time after a forced hangup that you need to wait before
    returning to the main menu.
    --- 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 Sat Feb 17 11:39:43 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/b855aa17bcc8b2c437968d9d
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Remove crufty code that effectively never does anything.
    --- 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 Sat Feb 17 11:45:41 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/80c10879c30446f7f74ec6d4
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Move sftp_channel under the ssh_mutex completely.
    --- 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 Sat Feb 17 12:02:52 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e7d411e01d7e8422c1ce74ee
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Move sftp_state inside ssh_mutex.

    This won't matter now since only one thread ever touches it, but
    when cool stuff happens, it could.
    --- 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 Mon Feb 19 10:00:46 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/b8bc029bb50b1f05d5d26d4b
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Expand ssh_mutex over the flushes.

    This should also resolve a conspiracy Coverity has about two input
    threads running at the same time.
    --- 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 Mon Feb 19 10:12:06 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/282069f99e40cfdd38fe2bf8
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Likely fix a bunch of Coverity warnings.

    This is a very crazy lock/unlock pattern... an extra assignment
    makes it easier to follow the logic.
    --- 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 Tue Feb 20 05:57:47 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c7a09e0f7ce76d9016906c9e
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Move an sftp_state check inside mutex to silence Coverity.

    There's still outstanding issues in Coverity around sftp_state and
    sftp_channel that need some deep thought, but this one is trivial.
    --- 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 Feb 21 06:06:48 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/abec3d19c45e767bb6757e35
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    More input thread cleanup. There was an errant lock in there.
    --- 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 Feb 22 20:53:08 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/b73c823bc200775056bbb0cd
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Catch when cryptFlushData() says the channel is closed.

    Also, fix an unlikely race condition. This, combined with the
    cryptlib patches, fixes various weird SSH hangs resulting from
    partial reads of the SSH packet headers... a rare event that's
    very hard to trigger. Special thanks to MeaTLoTioN for reporting
    this, and running a BBS that manages to trigger it reliably.

    Check out The Quantum Wormhole and say thanks!
    --- 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 Feb 22 20:53:08 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/b2041514748d0f4027763c73
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    sftp_channel is always -1 here.
    --- 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 Mar 7 11:45:11 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ccd73340c94c1eb688c7d561
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Fix LOR ion error path.
    --- 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 Mar 7 11:45:11 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/efc6e23418fbd7a19cb77759
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Fix double-unlock and add code for impoosible situation
    --- 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 Mar 8 09:37:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/7290558b5d91b75fd34f7b8c
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Move sftp_state setting outside of the ssh mutexes.

    Doesn't hurt anything where they were, but Coverity kinda reverse
    suggested 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 Sun Sep 22 16:22:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1bac2b62ef23ae473cb4622c
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Fix sourceforge issue 136

    With ssh_sock initialized to zero, if the connect fails, stdin was
    closed, preventing ANSI and curses modes from functioning.
    --- 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 Sun Sep 22 16:46:21 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8bc6f5f864e69b8d3c1f5680
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Some more ssh_close() cleanup

    Make ssh_active only true when ssh_session was set.
    Only do ssh cleanup if ssh_active is true.
    Initialize channel values to -1 (already done in ssh_connect(), but
    doesn't hurt anything).
    --- 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 Sun Sep 22 16:56:43 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3d425a47316e605164f7b3e5
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Be sure to close ssh_sock regardless of ssh_active
    --- 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 Sun Sep 22 16:59:14 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/69c11e5072818e18aeb38f5e
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    Destroy ssh_tx_mutex
    --- 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 Sun Sep 22 16:59:14 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5508a8a558058fcaeb356242
    Modified Files:
    src/syncterm/ssh.c
    Log Message:
    No no, *DESTROY* sftp_tx_mutex
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)