• src/conio/cterm.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 14 18:14:10 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/ca8315b574aecac775cdeed7
    Modified Files:
    src/conio/cterm.c
    Log Message:
    Fix up DECRQCRA a bit

    Better parameter validation, fix calculation in non-pixel mode.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 14 18:14:10 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4989d81de144af8c05fd37b8
    Modified Files:
    src/conio/cterm.c
    Log Message:
    Zero padding for DECRQCRA vmem_cell CRC

    There's potentially padding in struct vmem_cell, which means the
    crc may differ even if all the data is the same. Explicitly zero
    the padding before CRC calculation.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 14 18:14:10 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/bed40ce47064d9c18ba31af8
    Modified Files:
    src/conio/cterm.c
    Log Message:
    Add screenb pixels to crc

    Blink vs. not blink should permute the crc.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Mar 14 23:32:40 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d66235fc5c54446e0baa4177
    Modified Files:
    src/conio/cterm.c
    Log Message:
    A couple small fixes...

    DECRQSS 's' had the wrong final byte in DECSLRM
    CTSMRR didn't actually support 4 and 5.

    ---
    þ 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/d5f6d74b83317aa52edd776d
    Modified Files:
    src/conio/cterm.c
    Log Message:
    Fix musicbuf overflow and pixel checksum bounds in cterm.c

    musicbuf overflow (line 5930): ANSI music mode (triggered by ESC[|,
    ESC[N, or ESC[M with no params) appends each music character to
    musicbuf[1024] via strcat with no length check. A malicious server
    can send >1023 music characters to overflow the buffer. Add a
    bounds check before the strcat.

    Pixel checksum bounds (lines 3689/3691): The bounds checks for
    param_int[2] and param_int[4] (row parameters) were comparing
    against charwidth*width (the column pixel limit) instead of
    charheight*height (the row pixel limit). This made the check too
    permissive on wide screens and too strict on tall ones.

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

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