[kio-extras] [Bug 421624] refactor modern discovery out of NB discovery

Harald Sitter bugzilla_noreply at kde.org
Mon May 25 10:04:38 BST 2020


https://bugs.kde.org/show_bug.cgi?id=421624

Harald Sitter <sitter at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/netw
                   |                            |ork/kio-extras/commit/4e417
                   |                            |27c9626e714477b91cf14bd9a1e
                   |                            |fa1e8c8b
   Version Fixed In|                            |20.04.2
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #11 from Harald Sitter <sitter at kde.org> ---
Git commit 4e41727c9626e714477b91cf14bd9a1efa1e8c8b by Harald Sitter.
Committed on 19/05/2020 at 13:16.
Pushed by sitter into branch 'release/20.04'.

smb: reshuffle discovery systems

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

FIXED-IN: 20.04.2

M  +83   -83   smb/kio_smb_browse.cpp

https://invent.kde.org/network/kio-extras/commit/4e41727c9626e714477b91cf14bd9a1efa1e8c8b

-- 
You are receiving this mail because:
You are on the CC list for the bug.



More information about the kfm-devel mailing list