• DD Upload Processor: More robust filename extension matching based on

    From Rob Swindell@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:04:44
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8213

    Just a notice, it seems like the `break` keyword here would work jut fine - no need to define/use a variable to control this loop.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:06:15
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8214

    There's the global file_getext() function that seems to do much of what this function does.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:14:43
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8215

    Just wanted to make sure you're aware, tar support is built-into synchro.net since v3.19 I think.

    Also, you don't need to change the cwd (cd command), that's usually a red flag/code smell:
    - tar (for Linux at least) has the `-C` option
    ```
    -C, --directory=DIR
    Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
    ```
    Also this option looks possibly relevant to your needs:
    ```
    --one-top-level[=DIR]
    Extract all files into DIR, or, if used without argument, into a subdirectory named by the base name of th
    e archive (minus standard compression suffixes recognizable by --auto-compress).
    ```

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Eric Oulashin@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:25:15
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8217

    If given a filename like "file.tar.gz", file_getext() returns ".gz". For the purposes of my upload processor, I'd like to match any configured extensions in its .ini file (so, if there's a defined extractor for .tar.gz, I'd like it to match ".tar.gz" as the filename extension). But per your comment about support for .tar archives, maybe there's an easier way to handle .tar.X files..

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Eric Oulashin@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:37:09
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8225

    Ah, I've made updates to this. And I wasn't sure exactly if the archive support includes just .tar or others such as .tar.gz and tar.zst etc. as well.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:40:19
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8226

    Yeah, my solution for that in Synchronet was to just rename .tar.gz files to .tgz. :-)

    According to https://github.com/libarchive/libarchive, ZST-compress tar files are supported, so you should be able to list and extract such files just using the built-in Archive JS class.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:40:41
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8227

    Everything libarchive supports should be supported.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Thursday, February 05, 2026 15:50:00
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/606#note_8229

    I am able to view and extract from *.tar.* files in Synchronet just fine right now though (using the integrated/libarchive support):
    ```
    Extract from: scores.tar.gz
    Searching all libraries ...
    Extracted 12 files from scores.tar.gz

    Temp Directory: L

    Filespec [All Files]:

    mlb_standings.json 34268 Feb 05 2026 03:46 pm
    mlb_today.json 13861 Feb 05 2026 03:46 pm
    mlb_tomorrow.json 17900 Feb 05 2026 03:46 pm
    mlb_yesterday.json 16496 Feb 05 2026 03:46 pm
    nhl.js 8299 Feb 05 2026 03:46 pm
    nhl_standings.json 44285 Feb 05 2026 03:46 pm
    nhl_today.json 1673 Feb 05 2026 03:46 pm
    nhl_tomorrow.json 1672 Feb 05 2026 03:46 pm
    nhl_yesterday.json 884 Feb 05 2026 03:46 pm
    readme.txt 430 Feb 05 2026 03:46 pm
    viewscores.js 25431 Feb 05 2026 03:46 pm
    viewscores.js.orig 44800 Feb 05 2026 03:46 pm

    205K bytes in 12 files
    ```

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