1. 01 Jul, 2020 1 commit
  2. 19 Jun, 2020 1 commit
  3. 18 Jun, 2020 1 commit
  4. 17 Jun, 2020 2 commits
  5. 08 Jun, 2020 3 commits
  6. 06 Jun, 2020 1 commit
  7. 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
  8. 02 Jun, 2020 2 commits
  9. 01 Jun, 2020 1 commit
  10. 30 May, 2020 1 commit
  11. 29 May, 2020 1 commit
  12. 27 May, 2020 1 commit
  13. 25 May, 2020 1 commit
  14. 19 May, 2020 3 commits
    • Harald Sitter's avatar
      smb: reshuffle discovery systems · 4e41727c
      Harald Sitter authored
      the modern discoveries were conditional on smbc_opendir succeeding but
      that is rather silly since smbc can fail on ENOENT if (for example)
      netbios is disabled. since top level server discovery may happen through
      all or none of NB/DNSSD/WSD that made no sense as even when NB fails
      we may be able to produce service listing through one of the other two
      discovery services.
      
      this piece of code would actually benefit from major refactoring because
      all three discovery systems should actually run at the same time while
      currently NB holds up the entire show. alas, too invasive for 20.04...
      so, reshuffling it is:
      
      smbc_opendir still runs initially. after that, if the url is browsing
      smb:// we'll jump into modern discovery. any errors produced by opendir
      will be ignored! authentication errors and the like cannot happen for
      smb:// because we aren't yet talking to any one server, which leaves
      actual browsing errors which are not fatal considering we have other
      options.
      for non-top-level urls we'll otherwise jump into error handling (e.g.
      server requires auth or something)
      at the end if we haven't returned early with an error we'll inject our
      `.` entries as per usual
      
      test plan:
      - add `disable netbios = yes` to smb.conf
      - browse network
      - discovers dnssd/wsd servers
      - also works with the option removed again
      
      BUG: 421624
      
      FIXED-IN: 20.04.2
      4e41727c
    • Harald Sitter's avatar
      Merge branch 'release/20.04' · d00b268c
      Harald Sitter authored
      d00b268c
    • Harald Sitter's avatar
      GIT_SILENT throw out outdated howto · 12622509
      Harald Sitter authored
      12622509
  15. 15 May, 2020 2 commits
    • Harald Sitter's avatar
      Merge branch 'release/20.04' · 139cc496
      Harald Sitter authored
      139cc496
    • Harald Sitter's avatar
      sftp: map sftp_open error to kio error · 07e44cb1
      Harald Sitter authored
      Summary:
      sftp gives out more relevant errors such as SSH_FX_PERMISSION_DENIED,
      let's forward them as KIO errors instead of using the general cannot open
      error.
      
      Test Plan: hoping for the best! bad permissions on the remote now actually raise suitable kio errors, functionally that seems to make little difference unfortunately
      
      Reviewers: feverfew
      
      Reviewed By: feverfew
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D29743
      07e44cb1
  16. 14 May, 2020 2 commits
    • Harald Sitter's avatar
      Merge branch 'release/20.04' · 10cf68d9
      Harald Sitter authored
      # Conflicts:
      #	CMakeLists.txt
      10cf68d9
    • Harald Sitter's avatar
      sftp: break large writes into multiple requests · 1df61748
      Harald Sitter authored
      Summary:
      servers have arbitrary limits that we should stay below. to ensure this
      happens use MAX_XFER_BUF_SIZE as maximum size per request. if we read
      data large than that, break it apart into multiple requests
      
      (I am mostly guessing here, the rfc doesn't seem to impose any size
       constraint on the write requests themselves, so probably packet
       constraints apply by default)
      
      BUG: 404890
      FIXED-IN: 20.04.2
      
      Test Plan:
      - fallocate -l 128M file
      - sftp to localhost
      - copy file from one dir to another
      - compare checksums match
      
      - open xls file (via kio-fuse)
      - change
      - save
      - close
      - open again
      - changes are still there
      
      Reviewers: ngraham, meven, feverfew
      
      Reviewed By: ngraham, meven, feverfew
      
      Subscribers: meven, feverfew, kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D29634
      1df61748
  17. 11 May, 2020 1 commit
  18. 09 May, 2020 3 commits
  19. 06 May, 2020 2 commits
    • Harald Sitter's avatar
      Merge branch 'release/20.04' · a14da6cf
      Harald Sitter authored
      a14da6cf
    • Harald Sitter's avatar
      smb: resolve potential dnssd names via kdnssd · a042130e
      Harald Sitter authored
      as it turns out this is vastly more efficient for our purposes. we already
      know that this address should only be a dnssd address, so we can ask our
      dnssd daemon directly instead of taking on the entire weight of qhostinfo
      and proper DNS resolution.
      asking avahi directly reduces successful resolution time down from ~4 s
      to ~4 ms (yes, ms!). on resolution failure the timing remains about
      the same it seems
      a042130e
  20. 04 May, 2020 1 commit
    • Méven Car's avatar
      filenamesearch: Implement stat to display metainfo · 951e2f2d
      Méven Car authored
      Summary:
      filenamesearch ioslave needed a stat implementation to be rendered properly in dolphin information panel.
      
      BUG: 420354
      FIXED-IN: 20.08
      
      Test Plan: Open filenamsearch:/ in dolphin and search something
      
      Reviewers: #dolphin, #frameworks, ngraham, elvisangelaccio
      
      Reviewed By: #dolphin, elvisangelaccio
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D29197
      951e2f2d
  21. 29 Apr, 2020 2 commits
    • Harald Sitter's avatar
      Merge branch 'release/20.04' · 7c7590a2
      Harald Sitter authored
      7c7590a2
    • Harald Sitter's avatar
      sftp: successfully write files to proftpd servers · effb511c
      Harald Sitter authored
      proftpd doesn't like zero size writes and returns with an error leading us
      to assume that the write failed, when in fact it was fine eitherway because
      we didn't write anything one way or the other.
      so, instead just break out of the loop early. there's nothing lost by
      us not doing that final EOF write since we don't need it from a protocol
      POV.
      the break occurs just before writing because preceding it is "spin-up" tech
      opening the file and so forth. we need to have that run even when putting
      a 0b file.
      
      this successfully writes 0B, 1B, and 128M files both with partial markers
      enabled and disabled to proftpd 1.3.6c
      
      BUG: 419999
      FIXED-IN: 20.04.1
      effb511c
  22. 27 Apr, 2020 4 commits
    • Harald Sitter's avatar
      smb: refine internal error string · afc32611
      Harald Sitter authored
      in master we can break the string so it's slightly less rubbish. give it
      context for the arguments. throw out the reference to stat since
      this may occur from a number of calls. flatten the nested composition of
      errno + strerr
      afc32611
    • Harald Sitter's avatar
      Merge branch 'release/20.04' · 935e8f6a
      Harald Sitter authored
      935e8f6a
    • Harald Sitter's avatar
      smb: put unmapped errno value into error message · 457ee4d5
      Harald Sitter authored
      otherwise it's annoyingly hard to figure out which error isn't mapped.
      this is done through a nested composition so as to not disturb the
      localized string in 20.04
      457ee4d5
    • Harald Sitter's avatar
      smb: accurately attempt to resolve the correct WSD host · a4aefbbd
      Harald Sitter authored
      this previously was the wrong variable. m_current_url is only set after
      url checking while kurl would be the current url under check. this lead
      to state confusion was implicit stat() calls from dolphin on host foo would
      evaluate the previous host (e.g. bar) for the wsd suffix. this meant we'll
      let a foo with suffix pass through the check, and that just mustn't ever
      happen.
      
      BUG: 420578
      FIXED-IN: 20.04.1
      a4aefbbd
  23. 24 Apr, 2020 1 commit
  24. 17 Apr, 2020 1 commit
    • Harald Sitter's avatar
      smb: put a bandaid on a dangling warning I left behind · 12e03aa5
      Harald Sitter authored
      many slaves seem to do this (process bytes, then say the processed size
      is the stat'd size when in fact it may not be). I'll believe it's not a
      huge concern because of that, but even so there should be some indication
      if that expectation fails. a warning should suffice
      12e03aa5