1. 06 Aug, 2020 9 commits
    • Harald Sitter's avatar
      style++ · 0c79c197
      Harald Sitter authored
      0c79c197
    • Harald Sitter's avatar
      fixup! copy FindTaglib from ECM · 5a4e114a
      Harald Sitter authored
      update taglib includes. the previous finder made the intentional
      assumption that one would include taglib/foo.h rather than foo.h. this
      is not true for the new finder in ECM, so update our includes
      accordingly
      
      this unbreaks the windows build (on posixy systems /usr/include could be
      in the default include list and so /usr/include/taglib would always be
      found)
      5a4e114a
    • Harald Sitter's avatar
      sftp: fix offset handling on short reads · cfa52aed
      Harald Sitter authored
      reads that came back with less data are fairly garbage to handle.
      
      the offset is increased when we make requests with read_begin so the
      original offset when we enter readchunks is the offset as if all pending
      requests had returned.
      async_read reduces that offset when a request cames back short.
      since we still want the missing data we make a new request for the
      missing data both we and libssh modify the offset as part of that
      re-requesting.
      after that dance we need to restore the most original offset to restore
      that initial condition where the offset is the offset as though all
      requests had returned. it remains unchanged because we've re-queued the
      missing data
      
      the original code lacked this offset restoring which meant that if we
      had a short request in the middle of a file it'd break the offset,
      return, the caller would queue more chunks and those chunsk would all
      have wrong offsets now: increasing from (missingoffset + missingsize) up
      to file.size **duplicating** whatever requests may still be pending at
      that time.
      cfa52aed
    • Harald Sitter's avatar
      sftp: give better debug messages on read failures · ebaa00ec
      Harald Sitter authored
      failure to read without context is kinda useless, so print all errors we
      can get our hand on
      ebaa00ec
    • Harald Sitter's avatar
      sftp: stop using an entire attr ptr in GetRequest · 18e111c6
      Harald Sitter authored
      we only need the maximum length we can read, beyond that it has no use.
      how the caller gets ahold of the maximum is entirely not a concern of
      GetRequest
      18e111c6
    • Harald Sitter's avatar
      sftp: style++ · 024fa38f
      Harald Sitter authored
      024fa38f
    • Harald Sitter's avatar
      sftp: convert sftp_attributes to a scopedpointer · 3b84832e
      Harald Sitter authored
      previously attr handling was a right mess with at least one leak I think.
      attrs must be freed but doing so manually all over the place complicates
      things considerably. since all attributes were ultimately scoped to the
      functions they were used in anyway it's much cleaner to use a
      qscopedpointer with custom deleter instead.
      
      this also enables us to stop GetRequest taking ownership (implicitly)
      of the sftp ptrs passed in. and that in turn was a huge blocker for
      letting ::read() use GetRequest
      3b84832e
    • Harald Sitter's avatar
      sftp: output in build directory using plugin dir structure · fb7d4489
      Harald Sitter authored
      allows loading it from build dir with QT_PLUGIN_PATH
      fb7d4489
    • Harald Sitter's avatar
      en_us++ · 43de728e
      Harald Sitter authored
      43de728e
  2. 05 Aug, 2020 1 commit
  3. 03 Aug, 2020 3 commits
    • Harald Sitter's avatar
      smb: fix sequence-point warning · c4f82139
      Harald Sitter authored
      tail was being modified twice
      c4f82139
    • Harald Sitter's avatar
      smb: unbreak space in workgroup support · e6b1724c
      Harald Sitter authored
      we cannot run the constructed urls through qurl. they aren't valid urls
      but samba "pseudo" urls which may contain spaces in hostnames (which is
      in fact the workgroup name)
      
      unbreaks smburltest
      e6b1724c
    • Harald Sitter's avatar
      smb: refactor auth and context logic out of slave · e2dc8491
      Harald Sitter authored
      in an effort to implement kdirnotify for smb I needed to revisit the
      ancient monolithic code structure :|
      
      authentication is now in an authenticator class the authenticator class
      is plugged into a context class and the context takes care of context
      initialization (and callback handling because the smbc API is a bit meh
      vis a vis callback context void*).
      
      since the authentication now doesn't live in the slavebase anymore the
      interaction with `checkCachedAuthentication()` was moved into a pure
      virtual interface class. slavebase has an implementation of that
      interface and so will the future kdirnotify thingy.
      e2dc8491
  4. 31 Jul, 2020 4 commits
  5. 24 Jul, 2020 1 commit
    • Tobias C. Berner's avatar
      Add missing <array> include · 16ebb781
      Tobias C. Berner authored
      smb/transfer.h:70:62: error: implicit instantiation of undefined template 'std::__1::array<std::__1::unique_ptr<TransferSegment, std::__1::default_delete<TransferSegment> >, 4>'
          std::array<std::unique_ptr<TransferSegment>, m_capacity> m_buffer;
                                                                   ^
      /usr/include/c++/v1/__tuple:219:64: note: template is declared here
      template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                                     ^
      1 error generated.
      16ebb781
  6. 22 Jul, 2020 1 commit
  7. 21 Jul, 2020 1 commit
  8. 11 Jul, 2020 1 commit
  9. 08 Jul, 2020 1 commit
  10. 01 Jul, 2020 1 commit
  11. 19 Jun, 2020 1 commit
  12. 18 Jun, 2020 1 commit
  13. 17 Jun, 2020 2 commits
  14. 08 Jun, 2020 3 commits
  15. 06 Jun, 2020 1 commit
  16. 04 Jun, 2020 2 commits
    • Harald Sitter's avatar
      55e47e71
    • Harald Sitter's avatar
      smb: refactor smbc discovery · c65aa7ef
      Harald Sitter authored
      this now too is based on the discovery design used for WSD and DNSSD.
      advantage being that we can then de-duplicate ALL discovieries through
      a single code path.
      
      since smbc technically is meant to be used in a dirent while(){} way I am
      pulling some tricks here to get this nicer balanced via the event loop.
      ideally smbc would be thread safe or at least allow for multiple contexts,
      but currently both scenarios aren't working due to upstream bugs :(
      so instead of actually blocking while looping each loop cycle is posted
      through the event loop. this gives the other discoverers a chance to
      get their signal events in and not get stuck waiting for smbc to do its
      thing.
      
      specifically also dnssd/wsd are started before smbc (if applicable anyway)
      so they get a head start speed things up quite a bit as previously
      they had to wait for smbc to do a full listing.
      
      the discoverer discovers a new smbcdiscovery which isn't terribly
      interesting but allows for a much more readable loop logic. furthermore
      the readdirplus2 ifdefs have been shuffled a bit, also with the goal
      of easing readability.
      c65aa7ef
  17. 02 Jun, 2020 2 commits
  18. 01 Jun, 2020 1 commit
  19. 30 May, 2020 1 commit
  20. 29 May, 2020 1 commit
  21. 27 May, 2020 1 commit
  22. 25 May, 2020 1 commit