Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

  1. 12 Apr, 2021 3 commits
  2. 10 Apr, 2021 2 commits
  3. 08 Apr, 2021 5 commits
    • Rob Swindell's avatar
      Pretty much a complete re-write and still a work-in-progress, but useful · 46c91758
      Rob Swindell authored
      The biggest difference is that you can combine all files from multiple dirs
      into a single sorted list and you can sort on any property (field) value.
      
      The byte/credit format is very customizeable, the output format is completely
      customizeable.
      
      By default, just the filenames are output, but either use '-ext' or one or
      more '-v' values to add more fields. Use -p=list to specify a comma-separated
      list of properties to print.
      46c91758
    • Rob Swindell's avatar
      When bytes is falsey and size is > 0 but < 1000*1024 don't return "0K" · c1fc6708
      Rob Swindell authored
      Instead, return the fractional size in KB's with 2 digits of precision.
      
      Fixed up some of the variable names.
      c1fc6708
    • Deucе's avatar
      Fix sizeof() target. · 77933477
      Deucе authored
      77933477
    • Deucе's avatar
      When a callback event is handled, get remote_addr · 287ee6e4
      Deucе authored
      Prevents weird issues with getting remote address.
      287ee6e4
    • Rob Swindell's avatar
      Sorted loadfiles() results were corrupted when detail was < normal · 4391ca75
      Rob Swindell authored
      When only reading the index (detail = file_detail_index), smb_getfile() just sets the file->name convenience pointer to point to the name in the index. Then when loadfiles() would sort the list, these pointers would not be adjusted (so they would point to the wrong names) resulting in a corrupted file list (e.g. name/size mismatches and no logical sort order).
      
      The solution is to call smb_getfile() on each file *after* the read index records have been sorted.
      
      This also means that the sort-by-name routines needed to always sort using the index name and not the convenience pointer (which is NULL in this case).
      
      While fixing this, I noticed there was no bounds checking in the loadfiles() and loadfilenames() read-loops, so if the indexes happened to be longer than the total_files value from the status header, a buffer under-alloc/overflow would occur and a likely crash as a result. So stop reading the index when the expected maximum number of index records have been read.
      4391ca75
  4. 07 Apr, 2021 12 commits
  5. 06 Apr, 2021 12 commits
  6. 05 Apr, 2021 6 commits