• src/syncterm/bbslist.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Mar 15 01:06:05 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/75cc9b15e717d6cf77dc90b0
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix stack buffer overflows in bbslist.c build_edit_list()

    The opt[][69] array has 69-byte elements, but several sprintf() calls
    could write past that:

    - "Address %s" with item->addr (LIST_ADDR_MAX=64, +18 = 83)
    - "Phone Number %s", "Device Name %s", etc. (same field)
    - "GHost Program %s" with item->password (MAX_PASSWD_LEN=128, +18 = 147)
    - "BBS Username %s" with item->password (same)
    - "Font %s" with item->font (80 bytes, +18 = 98)

    Changed these to snprintf(opt[i++], sizeof(opt[0]), ...) to truncate
    instead of overflowing. Other sprintf() calls in the same function
    already used printf_trunc() or format short bounded values (Yes/No,
    small ints, "********") and are not affected.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Mar 15 01:06:05 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d89bbbce2b372e8259d40fbc
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Clamp ANSIMusic value read from BBS list files

    entry->music was read with iniGetInteger() and used unchecked as an
    index into music_names[] (a 3-element array) in build_edit_list().
    A malicious web-hosted syncterm.lst could set ANSIMusic=999 and
    cause an out-of-bounds read, likely crashing when sprintf() tries
    to dereference the wild pointer.

    Clamp to the valid range [CTERM_MUSIC_SYNCTERM..CTERM_MUSIC_ENABLED]
    after reading, defaulting back to CTERM_MUSIC_BANSI on bad values.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Mar 15 14:09:13 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3c40ff95eaad51693eb4f60a
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix multiple bugs in bbslist.c

    - Add NULL check after malloc in BBS list entry creation, undoing the
    list manipulation on failure.
    - printf_trunc: guard against size_t underflow when remain_len < 5
    by falling back to "..." instead of indexing with a wrapped value.
    - Fix strlcpy using sizeof(tmpn) instead of sizeof(tmpv) for the
    destination buffer (harmless since both are same size, but wrong).
    - Fix memory leak: asprintf allocations for File Locations and Build
    Options showbuf dialogs were never freed. Add free(p) after each
    showbuf call, guarded by NULL check on p.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 21 17:44:35 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/153ec64873f7fe654a0c73c7
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix ticket 231

    Menu was being redrawn for no reason.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 21 20:46:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/7a9b5cfe88159244e8b00139
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Put explicit sort order first in the default sort orders.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 21 21:19:25 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8c8e6adfe91282cb21824903
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Wow, fix the things where things were wrong.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Mar 29 12:40:18 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4e78d51696a7414781a3d9f7
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Help text updates

    Direct users to Program Settings->Startup Screen Mode for initial/default screen mode.

    Wording update for Startup Screen Mode help.

    Indent the File Locations less as these paths are usually much longer on Windows and is ugly when wrapped here.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Apr 16 13:05:51 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/1c6aa05e3413aeb9bbfeca2c
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    If ":<port>" suffix is included in an added TCP address, parse/use it

    When adding a BBS entry with a TCP connection, if a ":port" suffix is included (e.g. "vert.synchro.net:23"), parse and use that port number for the new entry automatically and remove the suffix from the adddress itself.
    This is just a time saver when adding new BBS entries.

    Care was taken to not treat the following addresses in this manner:
    ":<port>" - would have resulted in a blank address
    "a::<port>" - possible IPv6 address
    "a:<port>b" - possible IPv6 address or ... ?
    "a:<invalid-port>"

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Mon May 1 13:59:10 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/969c3bb0ad1181654d62cc11
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Call kbwait() before wany uifc.list() we care about the return value of

    Fixes high CPU utilization at menus.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Mon May 1 20:22:52 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/baa1408944428d7301e5375d
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix to high CPU utilization fix.

    We don't just want the kbwait() problem back, only wait after WIN_DYN
    if there was no input.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Jun 8 21:37:47 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c32f057a323fe2778ff84911
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Add missing break.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Mon Jul 3 20:26:18 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f335e4e5b5a7f6b3e6de7d7a
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix missing NULL terminator for rip_versions string list

    Caught be GCC ASan.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Mon Feb 19 06:52:45 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/aa50abec0c00298b55611876
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    There is something horribly wrong with what sscanf(x, "%2hhx", &cptr)
    does when compiled with mingw32.

    Use "anything else" to convert hex to char.

    ---
    þ 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:22:23 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/cc333821a7a952f4f6e4212f
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Use new iniGetSString() for syncterm.lst

    Prevents buffer overlow with manually edited or corrupted files.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Feb 22 06:50:40 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6e11c699449acdff1e6796b3
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Use SAFECOPY() for no reason.

    Since old is a strdup() of list->comment, it's known that it will
    fit, but Coverity doesn't know that.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 7 19:42:00 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3c25c4071928fe82a907eec0
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Default SFTP Public Key to false.

    It causes connections to Mystic BBSs to fail, and assumes the
    server is running OpenSSH (or Synchronet, which is purposefully
    compatible with OpenSSH).

    I love the feature, but it's not good enough for on-by-default.

    After 1.2 is released, and I do a proper sftp client, I'll likely
    remove the option anyway, and just have a way to upload it on
    demand.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 14 10:29:34 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f6e70c6ecd89582f4a6de0ba
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Show SSH keys file path as well.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 14 16:35:33 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/efd9208ed0c5d2df8941e656
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Don't double-space between file locations.

    Don't want to have to scroll here.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 28 06:28:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/adb7818df382e835ac5dbeef
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Update help for connected BBS list editing.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 28 06:28:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e98e7de365d072b887cb3846
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix help text.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon May 6 12:48:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6e516aed4bad5d54e3cb7f79
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Use name as default address when creating new TCP dialing entry

    I usually use the hostname for the name of the dialing entry and got tired
    of always having to type the hostname twice when creating a new entry.

    If the name looks like a hostname or IP address (includes a dot but
    no spaces) and the connection type is appropriate, make the name the
    default string for the address (easily over-ridden if wrong, by just
    typing the correct address). This time-saving feature doesn't work for single-word hostnames (e.g. "localhost") or IPv6 addresses.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Mon Sep 30 17:48:22 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0e009861dc6cf4bb4c29c9b3
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix the macro used to detect X11.

    NO_X is defined in the ciolib GNUmakefile. DISABLE_X11 is defined
    on Common.gmake.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Oct 18 08:10:20 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/64ff68205c9e5227fbdec93a
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Don't copy the name to the address.

    The DNS lookup can cause delays on some systems.
    Fixes bug 154

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Nov 20 14:34:07 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/631f98785ea5c866475982d8
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Terminate parity_enum

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Nov 20 14:35:10 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d256c540f06ca1c3f335ac19
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Remove unused variable.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Nov 22 15:11:13 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2ff66c278ca6b77f7436b25b
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix editing of name broken in earlier commit, refactor

    Split generating help into separate function
    - Regenerated when the connection type changes
    Split generation the opt list into separate function
    - Regenerated after handling any selection

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Nov 22 15:28:34 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c1284baafe7ff60e8ef6828e
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Use enum values for field names

    Easier to match up than numbers.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Nov 22 15:50:55 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4143d73fd3d49364d492dcad
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Remove accidental zero-width unicode character.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Nov 24 21:07:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/fe32df7720449769d88fee9c
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Fix error in optmap creation

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Dec 28 16:35:10 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/af5ec10b350db87a54c617af
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Add JPEG XL to build options list

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Dec 29 12:03:44 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/75bc6e4e845524197d1d5c6a
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Another impossibug fixed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Apr 17 11:10:37 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f5edee7f3a4a8201e2673b2c
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Don't sort NULL lists.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Apr 17 11:10:37 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2cd859099186c46e106989fd
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Handle corrupted INI files better

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 19 01:13:13 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9efee1ee3a08a1b42faa6874
    Modified Files:
    src/syncterm/bbslist.c
    Log Message:
    Clean up orphaned BBS cache directories

    del_bbs() now removes the cache dir alongside the INI section, the
    rename path in edit_name() renames the cache dir to match, and
    show_bbslist() sweeps orphaned cache dirs on startup (preserving syncterm-system-cache).

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

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