• src/syncterm/ssh.c

    From deuce@VERT 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.



    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From deuce@VERT 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)



    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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!
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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().
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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!
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net