sitter created this revision.
sitter added a reviewer: dfaure.
Herald added projects: Dolphin, Frameworks.
Herald added subscribers: kfm-devel, kde-frameworks-devel.
sitter requested review of this revision.

REVISION 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 ;))

REPOSITORY
  R320 KIO Extras

BRANCH
  Applications/19.08

REVISION DETAIL
  https://phabricator.kde.org/D24487

AFFECTED FILES
  smb/kio_smb_mount.cpp

To: sitter, dfaure
Cc: kde-frameworks-devel, kfm-devel, iasensio, fprice, LeGast00n, MrPepe, 
fbampaloukas, alexde, GB_2, Codezela, feverfew, meven, michaelh, spoorun, 
navarromorales, firef, ngraham, andrebarros, bruns, emmanuelp, mikesomov

Reply via email to