dfaure requested changes to this revision.
dfaure added inline comments.
This revision now requires changes to proceed.

INLINE COMMENTS

> file_unix.cpp:244
>  #endif
> -            dest_file.remove();  // don't keep partly copied file
> +            if (!!QFile::remove(dest)) {  // don't keep partly copied file
> +                execWithElevatedPrivilege(DEL, _dest);

Double negation, looks like one too many.

> file_unix.cpp:290
>  #endif
> -        dest_file.remove();  // don't keep partly copied file
> +        if (!!QFile::remove(dest)) {  // don't keep partly copied file
> +            execWithElevatedPrivilege(DEL, _dest);

same

> file_unix.cpp:327
>      } else {
> -        qCWarning(KIO_FILE) << QStringLiteral("Couldn't preserve group for 
> '%1'").arg(dest);
> +        if (!execWithElevatedPrivilege(CHOWN, _dest, buff_src.st_uid, 
> buff_src.st_gid))
> +            qCWarning(KIO_FILE) << QStringLiteral("Couldn't preserve group 
> for '%1'").arg(dest);

Can you test copying a file onto a FAT partition mounted as another uid? The 
ownership and permissions cannot be applied due to FAT limitations. Does that 
then trigger a kauth prompt, with this patch? That would be annoying, and wrong 
since root can't do better anyway.

If I'm right (please test it) then I think this method should remember "I 
needed root permissions for the main operation" and only in that case use 
elevated privileges for the small operations at the end like chmod, chown or 
utime.

Please review whether other methods need the same kind of change.

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

To: chinmoyr, dfaure, #frameworks
Cc: elvisangelaccio, #frameworks

Reply via email to