Inspired by BloodyIron's comments above, I investigated this issue and
was able to develop a patch that solves this problem for my use case:
browsing NAS devices running TrueNAS and OpenMediaVault.  It appears
that the gvfsd-smb-browse process is left in a bad state after
attempting to mount a workgroup, which occurs either when attempting to
open an URL like smb://WORKGROUP/ or during network discovery in gvfsd-
network.  My patch simply disables workgroup discovery/browsing
functionality, leaving *browsing* functionality intact for servers that
are *discovered* via DNS-SD (mDNS). This does not address the issue of
discovering Windows 10 servers that advertise themselves only via WS-
Discovery, but appears to work fine for devices that advertise
themselves using mDNS, allowing those devices to be successfully
browsed.

I note that workgroups are an obsolete concept in a post-NT1 (post-SMB1)
world, so the offending code should eventually just be yanked out, along
with the addition of support for WS-Discovery in Linux.  My patch does
not address the root cause, as whatever is going wrong while attempting
to mount a workgroup should result in a recoverable error.  I traced
gvfsbackendsmbbrowse.c:do_mount() up to the point at which
smbc_opendir() is called without any surprises, whereupon things went
south.  I did not investigate any further, but if I were to do so, I'd
be inclined to take a look for an unreleased lock.

** Patch added: "Disable broken workgroup discovery/browsing"
   
https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1828107/+attachment/5639041/+files/smb-browse-patch.diff

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gvfs in Ubuntu.
https://bugs.launchpad.net/bugs/1828107

Title:
  gvfs can't list shares from smb servers that disabled SMB1

Status in gvfs:
  New
Status in gvfs package in Ubuntu:
  Triaged

Bug description:
  After bug #1778322 is fixed (just needs a gvfs rebuild with newer
  samba), samba machines will start to show up again in the "windows
  network" tab in nautilus. But if a server has disabled the SMB1
  protocol, nautilus will show an error when that server is clicked on,
  instead of showing the shares list.

  Even with SMB1 disabled, it should still be technically possible to
  get a share list, since smbclient can do it:

  andreas@nsnx:~$ nmblookup -A 192.168.122.101
  Looking up status of 192.168.122.101
        D-NO-SMB1       <00> -         B <ACTIVE> 
        D-NO-SMB1       <03> -         B <ACTIVE> 
        D-NO-SMB1       <20> -         B <ACTIVE> 
        ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE> 
        WORKGROUP       <00> - <GROUP> B <ACTIVE> 
        WORKGROUP       <1d> -         B <ACTIVE> 
        WORKGROUP       <1e> - <GROUP> B <ACTIVE> 

          MAC Address = 00-00-00-00-00-00

  andreas@nsnx:~$ smbclient -L 192.168.122.101 -N
  WARNING: The "syslog" option is deprecated

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        pub_no_smb1     Disk      
        IPC$            IPC       IPC Service (d-no-smb1 server (Samba, Ubuntu))
  Reconnecting with SMB1 for workgroup listing.
  protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
  Failed to connect with SMB1 -- no workgroup available

  andreas@nsnx:~$ smbclient //192.168.122.101/pub_no_smb1 -U ubuntu%ubuntu -m 
NT1
  WARNING: The "syslog" option is deprecated
  protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

  andreas@nsnx:~$ smbclient //192.168.122.101/pub_no_smb1 -U ubuntu%ubuntu -m 
SMB2
  WARNING: The "syslog" option is deprecated
  Try "help" to get a list of possible commands.
  smb: \> dir
    .                                   D        0  Fri May  3 18:16:38 2019
    ..                                  D        0  Fri May  3 18:15:24 2019
    hello.txt                           N       21  Fri May  3 18:16:12 2019
    hello-from-nsnx.txt                 A        9  Fri May  3 18:16:38 2019

                  20509264 blocks of size 1024. 13121800 blocks
  available

To manage notifications about this bug go to:
https://bugs.launchpad.net/gvfs/+bug/1828107/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to