1. 10 Jun, 2021 1 commit
    • Rob Swindell's avatar
      Standardize on "metadata" as the description of a file's "tail" dfield · 3549be9f
      Rob Swindell authored
      It's anticipated that this will be used for JS-populated file metadata in JSON format in the future (and not just "archive contents" in .ini format).
      
      Also, fix the double-free issue that was occurring when moving files with extended file descriptions (sbbs_t::movefile()). This was actually the primary problem I was fixing here, but noticed the metadata issue: metadata would not have been moved along with the other file info between bases.
      3549be9f
  2. 14 May, 2021 1 commit
  3. 13 May, 2021 1 commit
    • Rob Swindell's avatar
      Fix crash in smb_addfile_withlist() when passed a non-NULL empty list · cfee914f
      Rob Swindell authored
      Don't allocate and memset a buffer of -1:
      #1  0x0000559222bc167f in strListCombine (list=0x559224220720, buf=0x559224226550 "", maxlen=18446744073709551615,
          delimit=0x559222bcce0a "\r\n") at str_list.c:447
      447             memset(buf, 0, maxlen);
      (gdb) print maxlen
      $1 = 18446744073709551615
      (gdb) up
      #2  0x0000559222ba3841 in smb_addfile_withlist (smb=0x7ffce63a7e90, file=0x7ffce63a5bc0, storage=1, extdesc=0x0,
          list=0x559224220720, path=0x7ffce63a6e80 "/xfer/loons/manhater.mp3") at smbfile.c:365
      365                     strListCombine(list, content, size - 1, "\r\n");
      (gdb) print list
      $2 = (str_list_t) 0x559224220720
      (gdb) print list[0]
      $3 = 0x0
      
      Found/reported by plt via irc. Thanks!
      cfee914f
  4. 02 May, 2021 1 commit
    • Rob Swindell's avatar
      Store contents (list) of archive files in filebase (in the "msg tail") · 5374a113
      Rob Swindell authored
      This will allow fast/easy display of archive contents without actually reading the archive files.
      
      Introduces some new functions:
      - list_archive_contents()
      - smb_adddfile_withlist()
      
      A new SMB convenience variable ("tail", aliased as "content" for a file).
      A new file detail level ("file_detail_content", exposed in JS as FileBase.DETAIL.CONTENTS) which adds a "content" array property to file metadata objects for JS FileBase.get().
      
      Files already added to the new filebases won't have this archive content automatically - I'm looking into that now (likely a new or updated JS script to run).
      5374a113
  5. 04 Apr, 2021 1 commit
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
      fcf58640
  6. 05 Feb, 2021 1 commit
  7. 16 Aug, 2020 1 commit
  8. 14 Apr, 2020 1 commit
  9. 11 Apr, 2020 1 commit
  10. 11 Apr, 2019 1 commit
  11. 19 Mar, 2019 1 commit
    • rswindell's avatar
      Use DEFFILEMODE (which is user/group/other read/writeable by default on *nix) · 34a65a1f
      rswindell authored
      in smb_open*() when creating msgbase files.
      smblib wasn't using the same default file creation mode (permissions) as
      the rest of the Synchronet executables. smblib was creating msgbase files
      as user read/writeable *only* (no group or other permissions) - so the umask
      value for the group/other permissions flags had no effect on msgbase files
      created via smblib.
      This could lead to permissions issues for other users/groups on *nix systems
      trying to access (read or write) msgbases. No change for non-*nix systems.
      34a65a1f
  12. 30 Dec, 2018 1 commit
  13. 29 Nov, 2016 2 commits
  14. 06 Dec, 2015 1 commit
    • rswindell's avatar
      smb_hfield_add_netaddr(), and by extension, the smb_hfield_netaddr() macro, · a760467d
      rswindell authored
      If the specified or detected net_type is not Internet, only store the address
      portion of the email address in the *NETADDR hfield.
      If the net_type argument is a NULL pointer, automatically add the *NETTYPE
      hfield too.
      New functions:
      - smb_netaddr_type() - returns the string/name of a specified net_type.
      - smb_get_net_type_by_addr() - parses just the network address field.
      Change short/ushort's to int16_t/uint16_t's.
      Remove date from copyright.
      a760467d
  15. 29 Sep, 2005 1 commit
  16. 27 Sep, 2005 1 commit
  17. 29 Dec, 2004 1 commit
  18. 15 Dec, 2004 1 commit
  19. 23 Sep, 2004 1 commit
  20. 20 Sep, 2004 1 commit
  21. 17 Sep, 2004 1 commit
  22. 13 Sep, 2004 1 commit
  23. 11 Sep, 2004 1 commit