1. 03 Mar, 2020 1 commit
    • David Edmundson's avatar
      Correctly disable UDS_ACCESS being set · 01e442c7
      David Edmundson authored
      Summary:
      718abcb6 tries to disable UDS_ACCESS
      being set. See the long comment introduced.
      
      It did this by setting the value to -1 which doesn't achieve that
      result.
      
      -1 is a perfectly valid value that gets send to the client.
      
      Having it set breaks anyone calling udsEntry.numberValue(UDS_ACCESS,
      aLegitimateDefault) getting their default. Something used by kio-fuse.
      
      Test Plan:
      Used kio-fuse
      Opened a samba file in mplayer
      It opened
      
      Opened a text editor in kate (using regular kio)
      
      Reviewers: sitter, feverfew
      
      Reviewed By: sitter
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27810
      01e442c7
  2. 29 Feb, 2020 1 commit
  3. 14 Feb, 2020 3 commits
    • Harald Sitter's avatar
      smb: enable anonymous and domain extra field in authinfo · 9d52cd9c
      Harald Sitter authored
      Summary:
      this causes kiod to query the password with the relevant functionality
      enabled. domain additionally defaults to whatever smbc_getWorkgroup returns
      
      BUG: 327484
      FIXED-IN: 19.12.3
      
      Test Plan:
      - builds
      - auth query has new functionality
      - logging in still works as expected
      
      I couldn't actually get the original problem in 327484 to appear with a samba DC I threw together, so for all I know this doesn't actually fix the bug but I have no way to test :|
      
      Reviewers: ngraham, dfaure
      
      Reviewed By: ngraham
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27320
      9d52cd9c
    • Harald Sitter's avatar
      smb: disable mode bits getting forwarded to KIO · 718abcb6
      Harald Sitter authored
      Summary:
      mode bits in libsmb_stat are fairly cheaply constructed. file and directory
      qualification is alright, beyond that it is a bit of a shambles.
      specifically +W is set iff the DOS attribute READONLY isn't set, but
      that attribute doesn't mean what we think it means, at least not on
      NT+ systems. see exhaustive comment.
      
      long story short: we cannot represent mode bits accurately because NT's
      access controls simply do not map to posix mode bits. therefore I'm
      removing the mode setting for the udsentry, making all entries effectively
      writable.
      
      whether an entry truly is writable is hard to say anyway. specifically
      because SMB+NTFS have independent ACLs. so, the SMB ACL may allow a
      given user or group to do something, that doesn't mean they'll also
      have permissions on a file system level.
      
      BUG: 414482
      FIXED-IN: 19.12.3
      
      Test Plan:
      previously not writable shares as described in the bug report are now writable.
      permission dialog looks a bit meh now, it wasn't really designed around not knowing
      what the access situation is. gnome simply shows a "dunno what permissions we have" label
      instead of everything, that seems like a reasonable approach
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: dfaure, kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27372
      718abcb6
    • Harald Sitter's avatar
      smb: map ECONNABORTED to ERR_CONNECTION_BROKEN · 2075e763
      Harald Sitter authored
      Summary:
      seems the most reasonable candidate given the pretty strings in
      KIO::buildErrorString and the detailed causes in the detail function.
      
      this does not really improve the error message, but should dolphin
      ever learn to pick up details from detailedErrorStrings it would make
      diagnosing easier.
      
      ECONNABORTED can mean any number of things, so I guess a signle line
      error will always be incredibly vague.
      
      BUG: 415436
      FIXED-IN: 19.12.3
      
      Test Plan: hoping for the best!
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27377
      2075e763
  4. 13 Feb, 2020 7 commits
    • Harald Sitter's avatar
      smb: install smb as both smb:// and cifs:// · a5f51238
      Harald Sitter authored
      Summary:
      the latter while not IANA registered is apparently used in places. to
      cheaply support it we now configure the protocol file for both protocol
      'smb' and 'cifs' and installing two protocol files. they are still both
      backed by the same plugin and otherwise the same.
      code-wise this also required adjustments to the URL validation tech as
      it has hardcoded checks for smb schemes.
      
      FIXED-IN: 19.12.3
      BUG: 327295
      
      Test Plan:
      - cifs://host/share
      - cifs://host
      - cifs://
      
      all open correctly. they do get translated to smb because of the checkUrl code.
      
      checkUrl seems entirely pointless, SMBUrl does a bit of validation/fixing as part of
      updateCache. It occurs to me checkUrl should simply be incorporated into SMBUrl
      and we should construct an SMBUrl where we previously called checkUrl. before doing
      anything of value we construct SMBUrls anyway, so the isolated logic does absolutely
      nothing SMBUrl couldn't do just as well. also needs a unit test -.- ... too much
      refactoring for a bugfix though
      
      Reviewers: dfaure, ngraham
      
      Reviewed By: ngraham
      
      Subscribers: meven, feverfew, kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27291
      a5f51238
    • Harald Sitter's avatar
      smb: set the share comment as UDS_COMMENT for the UI to display · dddafae5
      Harald Sitter authored
      Summary:
      currently this seems to not really have any visibility through dolphin
      so concluding the fix also requires changes to dolphin to enable the
      comment somewhere. it is technically a column in the details view but
      that doesn't actually seem to work
      
      CCBUG: 105086
      
      Test Plan: hoping for the best in absence of a UI!
      
      Reviewers: ngraham
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27292
      dddafae5
    • Harald Sitter's avatar
      smb: do not map uid and gid · 25a02064
      Harald Sitter authored
      Summary:
      libsmbc returns the uid/gid of the process, not of the file, the data
      is entirely useless to us. do not list it.
      currently there is no way to get the actual uid/gid of a dirent. internally
      there seems to be tech available that uses the samba unix extension but
      that doesn't have any public API.
      
      in short: we can't determine ownership client-side
      
      BUG: 212801
      
      Test Plan: no longer shows current user as owner. in particular when that is not true!
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27293
      25a02064
    • Harald Sitter's avatar
      smb: fix free space calculation · 6832817f
      Harald Sitter authored
      Summary:
      - collapse statvfs call, there's no purpose in manually opening the file
        when libsmbc has a convenience wrapper that does exactly what we need
        with less code on our end
      - blockSize is now calculated as per the conditional branches in
        smbc_stat.c
      - free space calculation is now backwards compatible with slightly busted
        legacy versions of libsmbc not setting f_bavail
      
      FIXED-IN: 19.12.3
      BUG: 298801
      
      Test Plan: free space calculation now works with windows10, ubuntu18.04, ubuntu19.10
      
      Reviewers: ngraham, meven
      
      Reviewed By: ngraham, meven
      
      Subscribers: meven, kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27294
      6832817f
    • Harald Sitter's avatar
      smb: support more advanced hidden file flag · e2eadb75
      Harald Sitter authored
      Summary:
      smb attaches different meaning to the +x flags of files to represent DOS
      style flags. read them and hide hidden files. we currently have no
      KIO backing for the others but for documentation purpose I've mentioned
      them in detail so we can extend this in the future without having
      to descend into samba docs.
      
      FIXED-IN: 19.12.3
      BUG: 307353
      
      Test Plan:
      - set jpgs hidden as described in bug report
      - they are now hidden in dolphin
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27295
      e2eadb75
    • Harald Sitter's avatar
      smb: call smb_cutime on the correct url to actually set mtime properly · aaedd983
      Harald Sitter authored
      Summary:
      since the introduction of partial resume dstUrl would can be the .part url
      whereas dstOrigUrl is the final destination url.
      
      i.e.
      we called smbc_utime on smb://foo/bar.part rather than smb://foo/bar
      
      BUG: 356651
      FIXED-IN: 19.12.3
      
      Test Plan: moving file to smb retains mtime
      
      Reviewers: ngraham
      
      Reviewed By: ngraham
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27351
      aaedd983
    • Harald Sitter's avatar
      smb: retain atime properly · 7f47119b
      Harald Sitter authored
      Summary:
      this was broken since forever I guess. when the .part resume tech was
      added it didn't correctly retain the access time. it was trying to
      get the atime of 'file', but 'file' when resuming refers to the .part which
      was deleted prior to the mtime adjustment so the QFileInfo(file).lastRead
      would produce an Invalid QDateTime which then results in us setting random
      nonesense as access time on the file.
      instead simply use dstFile. it is the path of the actual final destination
      file of which the atime is **actually** the one we want to preserve here
      considering we've literally just accessed that file by copying it ^^
      
      BUG: 410624
      FIXED-IN: 19.12.3
      
      Test Plan: copy file form smb to local has sound atime
      
      Reviewers: ngraham, meven
      
      Reviewed By: meven
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27352
      7f47119b
  5. 02 Feb, 2020 1 commit
  6. 19 Jan, 2020 1 commit
  7. 05 Jan, 2020 1 commit
  8. 05 Dec, 2019 1 commit
  9. 26 Nov, 2019 1 commit
  10. 16 Nov, 2019 2 commits
  11. 14 Nov, 2019 1 commit
    • Harald Sitter's avatar
      make the libssh finder ensure the new ssh target is set · 24506c2a
      Harald Sitter authored
      Summary:
      starting with 0.9.2 the libssh cmake config defines a new ssh imported
      target, use this as the new gold standard and ensure older versions
      are compatible
      
      broken ubuntu: no cmake config -> manual finder -> target injected
      0.9.0 and earlier: cmake config -> target injected
      0.9.2: cmake config -> target already defined; noop
      
      (0.9.1 is broken as it neither matches the old nor the new expectation)
      
      Test Plan:
      no cmake config -> target injected
      older cmake config -> target injected
      newer cmake config (with merge request) -> noop
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D25170
      24506c2a
  12. 11 Nov, 2019 1 commit
  13. 10 Nov, 2019 1 commit
  14. 17 Oct, 2019 2 commits
    • Harald Sitter's avatar
      Merge branch 'Applications/19.08' · 4197683e
      Harald Sitter authored
      4197683e
    • Harald Sitter's avatar
      fix password error condition handling of smb mount · 45b1327a
      Harald Sitter authored
      Summary:
      this was previously wrong in two ways:
      
      1. errors from the password check would previously be ignored but
         still end in early termination of the mount command despite that command
         not having finished (successfully)
      2. since the password check is always run we may not actually require
         auth data in which case it is perfectly reasonable for the user to
         cancel the auth request (the user experience sucks, but there's not
         much we can do within the special command I think)
      
      to solve both issues special now exists in error when there was an error
      forwarded out of checkpassword (e.g. kiod is broken) BUT NOT when that
      error is that the user canceled the auth query.
      
      no auth info being provided is already supported later on in the actual
      mount code.
      
      testing code for posterity
      ```
      #define KIO_ARGS QByteArray packedArgs; QDataStream stream( &packedArgs, QIODevice::WriteOnly ); stream
      
          KIO_ARGS << int(1)
                   << QString("\\\\HOST/PATH/") // remotepath
                   << QString("/LOCAL/MNT") // mountpoint
                      ;
          auto job = KIO::special(QUrl("smb://HOST/PATH/"), packedArgs);
      ```
      
      Test Plan:
      # broken kiod
      
      - run job
      - get error about broken kiod
      
      # cancel with working kiod
      
      - run job
      - get error about smbmount not being installed (bc it hasn't been a thing since the 2000's ;))
      
      Reviewers: dfaure
      
      Reviewed By: dfaure
      
      Subscribers: kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D24487
      45b1327a
  15. 12 Oct, 2019 1 commit
  16. 08 Oct, 2019 2 commits
    • Harald Sitter's avatar
      Merge branch 'Applications/19.08' · ba97fc48
      Harald Sitter authored
      # Conflicts:
      #	CMakeLists.txt
      ba97fc48
    • Harald Sitter's avatar
      improve error reporting for when kpasswdserver is unreachable · 5a870554
      Harald Sitter authored
      Summary:
      previously we'd not forward the errors coming out of the password dialog
      helper and instead eventually end up on generic access denied errors.
      seeing as the access denied is likely because we couldn't query auth info
      that is fairly misleading.
      
      checkPassword is now returning an error code instead of a bool. when we
      actually consider checkPassword an error we'll now raise this error
      instead of the generic access denied errors. when the user canceled
      the query we'll continue to raise the more topical error from smb (e.g.
      "access denied")
      
      primarily these errors appear when kiod/kpasswdserver is defunct
      or not installed meaning query functionality will not work at all.
      
      Test Plan:
      # broken kiod
      
      - remove dbus service file
      - kill
      - dolphin smb://host
      - no auth query
      - error about broken dialog
      
      # cancel
      
      - repair kiod
      - dolphin smb://host
      - auth query
      - cancel
      - auth query
      - cancel
      - error about access denied (because refused to authenticate)
      
      Reviewers: #frameworks, dfaure
      
      Reviewed By: dfaure
      
      Subscribers: ngraham, kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D24387
      5a870554
  17. 06 Oct, 2019 1 commit
  18. 01 Oct, 2019 2 commits
  19. 24 Sep, 2019 1 commit
  20. 23 Sep, 2019 1 commit
  21. 16 Sep, 2019 1 commit
  22. 09 Sep, 2019 1 commit
    • Volker Krause's avatar
      Remove the man KPart, and thus the last KHtml user in kio-extras · f9f2ef10
      Volker Krause authored
      Summary:
      The man KPart was originally added to open troff files directly from
      Konqueror. This however doesn't work nowadays anymore as the man page
      files are compressed on most systems and thus cannot be detected as
      troff files.
      
      This does not affect the man kioslave, which remains to work as before.
      
      Reviewers: dfaure, broulik
      
      Reviewed By: dfaure, broulik
      
      Subscribers: ngraham, kde-frameworks-devel, kfm-devel
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D23809
      f9f2ef10
  23. 07 Sep, 2019 1 commit
    • Björn Feber's avatar
      [kio-extras] Use new activities icon · a4efa5e9
      Björn Feber authored
      Summary:
      Use the new icon added in D22155.
      {F6948410}
      
      Test Plan: Open the Dolphin view context menu and visit "activities:".
      
      Reviewers: #plasma, #vdg, ndavis
      
      Reviewed By: #vdg, ndavis
      
      Subscribers: kde-frameworks-devel, #vdg, kfm-devel, #plasma
      
      Tags: #dolphin, #frameworks
      
      Differential Revision: https://phabricator.kde.org/D22172
      a4efa5e9
  24. 01 Sep, 2019 1 commit
  25. 30 Aug, 2019 4 commits