add readdirplus2 support for samba>=4.12
ClosedPublic

Authored by sitter on Feb 20 2020, 1:41 PM.

Details

Summary

unlike the dirent itering we do not need a separate stat call with this
new api by instead itering on what are effectively stat-like objects.

this simply runs before the regular itering which we still use to list
shares and workgroups. browse_stat_path has been split into stat and
udsentry-construction-from-stat so it can be used across both code
paths.

fun fact on the side: if there actually was a stat() api that returned
libsmb_file_info, we could use that as well and forget about the stats
structs in general :S

BUG: 402988
FIXED-IN: 20.04.0

Test Plan
  • build samba 4.12 rc
  • list server
  • list share
  • list dir in share
  • on 4.7
  • all of the above

Diff Detail

Repository
R320 KIO Extras
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
sitter created this revision.Feb 20 2020, 1:41 PM
Restricted Application added projects: Dolphin, Frameworks. · View Herald TranscriptFeb 20 2020, 1:41 PM
Restricted Application added subscribers: kfm-devel, kde-frameworks-devel. · View Herald Transcript
sitter requested review of this revision.Feb 20 2020, 1:41 PM
ngraham accepted this revision.Feb 20 2020, 11:02 PM

LGTM but please wait for @asn's undoubtedly more expert review. :)

This revision is now accepted and ready to land.Feb 20 2020, 11:02 PM
This revision was automatically updated to reflect the committed changes.