BBS: TELESC.NET.BR Assunto: src/sbbs3/sftp.cpp De: Deuc¨ Data: Fri, 1 May 2026 09:47:56 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/2083238e5d015903563ddb11 Modified Files: src/sbbs3/sftp.cpp Log Message: sftp server: long-description availability + UTF-8 conversion Two changes to the sbbs3 SFTP server: 1. Mark filebase entries that have an extdesc. When SFTP_EXT_DESCS is negotiated, get_filebase_attrs() scans the loaded message header's dfield[] array for a TEXT_BODY with non-zero length and, if found, adds a zero-length descs@syncterm.net attribute extension to the entry's fattr. Presence of the extension is the marker; clients issue the existing descs@ EXTENDED request to fetch the actual text. No additional disk I/O file_detail_normal already loads the dfield array. 2. Convert CP437 UTF-8 at every user-visible string boundary that crosses into an SFTP attr extension or extended reply. The SFTP wire is UTF-8, but Synchronet stores filebase strings (lib lnames, dir lnames, file short descriptions, extdescs) in CP437. Adds a sftp_cp437_to_utf8_strdup() helper and applies it at the four sites: get_lib_attrs, get_dir_attrs, get_filebase_attrs (lname short-desc), and sftp_ext_descs (extended-reply long-desc). minval='\x80' matches the convention in writemsg / sbbsecho / msgtoqwk ASCII passes through unchanged. Co-Authored-By: Claude Opus 4.7 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]