• src/syncterm/syncterm.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Sep 25 21:56:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3247302d708bbf2569409083
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Start UIFC in insert mode.

    Per comment on reddit by dialsoft, the lack of an insert key on
    laptops can make manipulating the phonebook more difficult. Since
    all the other UIFC functions have an insert alternate, they don't
    need any changes now that there's a manual, but for editing a
    string, the insert key is the only way to toggle overstrike.

    Since the insert mode toggle persists, simply starting in overstrike
    mode should be fine.

    Maybe some weird control key of function key can be used (though
    I guess laptops don't have function keys either anymore).
    --- 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 Sep 28 18:01:28 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e04a5488f935fdc648f88036
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Add missing period in "Upgrade detected" help text.
    --- 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 29 18:10:08 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/acf5fca632a92e2ba9323396
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix bool inversion introduced by 8f7cfadf44

    quitting needs to be set to true, not false when quitting. :(
    --- 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 Oct 13 22:48:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/09daa29e768b4c5f870af086
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Get correct Haiku file paths.

    It appears the "right" place to put downloads is on the Desktop...
    and the OS won't tell you that.
    --- 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 3 13:15:42 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1af568c2496675d12b963ce6
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Annotate missing commas
    --- 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 Thu Jan 16 11:33:16 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/599aea8e39f425078a6f6f8d
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix OSS appearence in Audio settings.
    --- 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 Wed Jan 22 20:50:26 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/85f37c8f0f7a65194544346c
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    If stdout is a tty, use ANSI output mode

    Should make DigitalMan happy by making help output be in the console
    on Windows with syncterm.com. Hopefully syncterm.exe doesn't get
    the help output hosed by this.

    Also, if the output mode is ANSI, don't require a key press to exit.
    --- 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 Wed Jan 22 20:53:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/470f017137e276001a36ffc9
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Add an extra newline after displaying usage.
    --- 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 Thu Jan 23 05:04:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1987338c571f4b1eff57cdab
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    This is what 470f0171 was when I committed it. :(
    --- 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 Sat Jan 25 00:34:52 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8de3080760ec09d5f09c7c4e
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Don't show a size until we get the content-length or start getting bytes

    Prevents cached lists from showing zero.
    --- 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 Sun Mar 15 14:09:12 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2c65f4bde3b1958a96c50a60
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix multiple bugs in syncterm.c

    - get_xdg_path(): strcat("syncterm") ignored bufsz, return NULL if
    the path would overflow the buffer.
    - webget calloc: add NULL check, wrap download block in if(reqs!=NULL)
    to avoid NULL dereference on allocation failure.
    - Progress bar: change %.*s to %*s so spaces are actually printed,
    and scale percentage from 0-100 to 0-10 to match the bar width.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    --- SBBSecho 3.37-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 Mar 15 19:01:12 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/12fd92f158ca258ca2524ed6
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix webget progress bar wrapping in showbuf window

    The showbuf content area is 70 chars wide (74 - 2 borders - 2 padding),
    but the progress line was 73 chars, causing the bar to wrap. Reduce size
    field widths from %9s to %7s — no information is lost since byte_estimate_to_str() with precision=3 produces at most 7 characters.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    --- SBBSecho 3.37-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 Mar 17 15:38:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/90fd3acb4c9be21bd8e75bcc
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Only require a port number for network connections.

    Fixes URI command-line arguments for non-network connections.
    --- SBBSecho 3.37-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 18 17:35:46 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8e735467d51fd58dfb4bf28e
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix 9 terminfo bugs and add 5 missing capabilities

    Bugs fixed:
    rmam: \E[7l -> \E[?7l (was resetting wrong mode, not DECAWM)
    rs1: \E[c -> \Ec (was sending DA query, not RIS)
    hts: \E[H -> \EH (was cursor home, not set tab stop)
    smglr: \E?69l -> \E[?69l (missing bracket)
    mgc: \e[69l -> \E[?69l (lowercase escape + wrong mode prefix)
    smglp/smgrp: \E[69h/l -> \E[?69h/l (bare mode 69 doesn't exist)
    ind: \E[S -> \n (SU doesn't move cursor; LF is correct per xterm)
    ri: \E[T -> \EM (SD doesn't move cursor; ESC M is correct per xterm)
    csr: remove duplicate entry

    New capabilities:
    vpa — vertical position absolute (CSI Pn d)
    khome — Home key (\E[H)
    kich1 — Insert key (\E[@)
    u6/u7 — cursor position report format and DSR query

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-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 19 14:38:34 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e89754f2017a212123986411
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix zombie process on window close while connected (ticket 229)

    CIO_KEY_QUIT is pushed once when the window closes. After the main
    loop consumes it, check_exit() sets quitting but UIFC_XF_QUIT was
    never set, so any subsequent uifc.list() call blocks forever waiting
    for input from the dead window.

    Fix: check_exit() now returns true immediately if quitting is already
    set, and sets UIFC_XF_QUIT alongside quitting so all uifc calls bail
    out instead of blocking.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-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 Apr 2 19:59:02 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9ad6ac0765a4f972aa08b93c
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Use XDG_DOWNLOAD_DIR on *nix

    Default to $HOME/Downloads

    The default download directory on all *nix builds (except macOS)
    was previously $HOME. This meant that ZModem auto-downloads can
    place files directly in your home directory, potentially without
    you noticing if it's fast enough.

    While it would request confirmation if it's overwriting, if it's
    a file that doesn't exist, it would be dropped right there. This
    is potentially VERY BAD, it could create a .bash_profile if you're
    using .profile for example, a .xsessionrc, etc. files that are
    automatically executed and assumed trusted, but often don't exist
    already on most systems.

    While this technically isn't *quite* as bad as memory errors where
    the remote will potentially have full access to your system, it's
    much more trivial to turn into a real exploit.

    Reported by JQuast on IRC.
    Thanks again for reaching out and reporting these security issues
    with SyncTERM.

    I'd like to take this time to clarify that you SHOULD NOT use
    SyncTERM to access a POSIX shell, there's a LOT of sequences that
    "standard" terminal emulators have specifically stopped supporting
    because they pose clear security risks. SyncTERM gleefully supports
    these sequences. If you us this for a shell and ssh to untrusted
    systems, copy/paste commands in or out of the terminal, or even
    run things like curl and support redirects, there are strange gotchas
    waiting for you.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)