• src/syncterm/syncterm.c

    From Deuc╨╡ to Git commit to main/sbbs/master on Wed Apr 26 10:39:20 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/28ba58eb331a7566d8de1110
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    SyncTERM should not be messing with window size values that were saved.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Tue May 2 22:46:27 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/efca499950fe7e1366e99679
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Remove -iWF as an option in SyncTERM

    Full-screen console doesn't scale anymore on modern Windows, so this
    flag is worse than useless.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed May 3 13:21:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/3856b4193148e1513a94c110
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Use scaling and not win size for initial window.

    Should fix issue 103 on SourceForge (Black bars on X11 window)
  • From Deuc╨╡ to Git commit to main/sbbs/master on Fri May 5 22:53:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/e54bed451b53f7db2526fe67
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Don't #include rgbmap.h unless you plan to use it.

    Should fix curses-only build.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed May 17 11:52:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/52fa4b0ead0702dd5d15df93
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Remove dead code found by Coverity.
  • From Rob Swindell (on ChromeOS) to Git commit to main/sbbs/master on Mon May 22 19:25:12 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/270019b55a3d9a4abc1f6dcd
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    getscaling() returns a double, not an int

    Caught/fixed by Deuce in Brookville, OH
  • From Deuce to Git commit to main/sbbs/master on Thu May 25 17:28:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f1f27ef7b161dfa1749cb683
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Have syncter-bitmap use syncterm terminfo entry
  • From Deuce to Git commit to main/sbbs/master on Thu Jun 1 06:02:17 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a50ed83e7af2caa015611d8b
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Add missing newline to terminfo entry
  • From Deuc╨╡ to Git commit to main/sbbs/master on Thu Jun 1 14:44:12 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2157755e5909f21fddb23ba6
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    More MSVC fixes (blatently unnecessary ones?)
  • From Deuce to Git commit to main/sbbs/master on Fri Jun 2 08:46:44 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a35745c2f7933340c8200596
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Add comment in terminfo to use -x to tic for user-defined caps
  • From Deuc╨╡ to Git commit to main/sbbs/master on Fri Jun 2 11:37:55 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/502962c723f84fb2b2889e98
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Make the initial icon 48x48
  • From Deuce to Git commit to main/sbbs/master on Fri Jun 2 16:44:34 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7b36cca7e4ce05389eaa0a24
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Don't SetThreadName() in main()

    On Linux, this changes the program name shown in top.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Dec 27 19:17:14 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4785e85822019fb3a240c2f3
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Now that UIFC_XF_QUIT is persistent, check when printing to exit
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Dec 27 20:18:07 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/20f24ccccac956291d64f48a
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix value in last commit
  • From Deuc╨╡ to Git commit to main/sbbs/master on Mon Jan 29 11:00:41 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6fa8c82e7afe2bfb2631ba27
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Don't include rgbmap.h anymore.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Mon Feb 12 22:08:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/80cb13a7f6f75f18d453a8e9
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    include ssh.h to fix MSVC warning about undefined init_crypt
  • From Deuc╨╡ to Git commit to main/sbbs/master on Thu Mar 14 10:29:34 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/45793a5709bdec5efbb0a155
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Use XDG paths, clean up code

    Instead of ~/.syncterm, use paths as specified in the XDG Base Directory Specification
    https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

    This should really have something that notifies a user everything
    moved and instructs them on where each thing should be placed to
    keep data from older versions.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Thu Mar 14 10:48:13 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f9d921f8ded7b794652e5c04
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Move list into .config on *nix

    Per https://wiki.debian.org/XDGBaseDirectorySpecification, CONFIG
    should be fairly small files that you would want to maintain in
    a VCS... the list makes sense here.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Thu Mar 14 10:51:04 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/35f0feff4832a9e8bcbb5bc1
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix windows build
  • From Deuc╨╡ to Git commit to main/sbbs/master on Thu Mar 14 16:16:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/cc8f53a57208dc0861d45def
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Add upgrade check and "help" text.

    It basically says "You should move files from where they are to
    where they should be".
  • From Deuc╨╡ to Git commit to main/sbbs/master on Thu Mar 14 16:19:56 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/af67404a3f56b11b9b01c159
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix random upper-case Letter.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Tue Apr 23 00:25:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/668d2e5942618af91e8bb7e7
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix apparent missing return statement in get_win_filename()

    Found by MSVC warning
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Sep 25 21:56:43 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).
  • From Rob Swindell (on ChromeOS) to Git commit to main/sbbs/master on Sat Sep 28 18:01:29 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.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Sun Sep 29 18:10:09 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. :(
  • From Deuc╨╡ 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.
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Fri Jan 3 13:15:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1af568c2496675d12b963ce6
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Annotate missing commas
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Wed Jan 8 20:52:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3ae264bc2c45beff90e5c30f
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Initialize bbs->fast_connected
  • From Deuc╨╡@shurd@sasktel.net 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.
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Wed Jan 22 20:50:27 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.
  • From Deuc╨╡@shurd@sasktel.net 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.
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Thu Jan 23 05:04:57 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. :(
  • From Deuc╨╡@shurd@sasktel.net 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.
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Sun Mar 15 14:09:13 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>
  • From Deucе@shurd@sasktel.net 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>
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Tue Mar 17 15:38:07 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.
  • From Deucе@shurd@sasktel.net to Git commit to main/sbbs/master on Wed Mar 18 17:35:47 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>
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Thu Mar 19 14:38:35 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>
  • From Deuc╨╡@shurd@sasktel.net to Git commit to main/sbbs/master on Thu Apr 2 19:59:03 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.