Re: SMB issues



On Wed, 2008-05-28 at 11:01 +0200, Tomas Bzatek wrote:
> Hi,
> 
> I've collected all recent SMB issues in gvfs/Nautilus and made a quick
> summary. Some of the issues were discussed with gicmo and seb128 last
> week. I wanted to open a discussion on the major design issues before we
> start implementing something.
> 
> (Some bugs listed here may be Fedora-only bugs, I haven't started filing
> their counterparts in Gnome bugzilla yet).

BTW, I saw this commit:

2008-05-21  Christian Kellner  <gicmo gnome org>

        * daemon/gvfsbackendsmb.c (do_mount):
        Set the information on the mount spec *after* having asked
        the user for credentials since username and domain can be
        changed by the user.

That doesn't look right to me (from a quick look). The mount spec and
the uri specified by the user must map one to one, or uri conversion
will fail and accessed won't work. This means if the uri specifies no
username or domain the registered mountspec should not have any either.
It should be the mount spec for the "generic" no-user, no-domain uri.


> Authentication in gvfs-smb-browse and gvfs-smb
> http://bugzilla.gnome.org/show_bug.cgi?id=524485
> https://bugzilla.redhat.com/show_bug.cgi?id=446822
> - judging from the number of bugs filed after final Fedora 9 release,
> people are having problems accessing their SMB shares. The big issue
> here is that list of shares differs with different username. So we need
> to allow user choose username (and domain) before exploring the server.
> Anonymous login should not be default anymore.
> - UI-wise there are several possibilities:
>    1. Present user the password dialog (with gnome-keyring integration
> of course) having an anonymous option there. Check the attachment for
> illustration. One way or another this is rather annoying, when browsing
> several servers in short time. 
>    2. Use anonymous login by default (if possible, otherwise show login
> dialog) and display cluebar in Nautilus (similar to the one in n-c-b)
> allowing user to switch user.
>    3. Integrate a menu item somewhere (popup menu over the SMB server
> icon) allowing to set/switch user.
> - anyway credentials used to browse the server should be used too when
> mounting the particular share - but here we have an issue with two
> separate gvfs backends having need to communicate between each other. If
> possible, I want to avoid code duplication in both backends.
> - other thing to care about: don't show any prompt dialogs when having
> valid kerberos tickets, but of course allow fallback to password entry
> when krb login fails (this is something libsmbclient does
> transparently).

This is tricky stuff. In general I think doing anon listing by default
is right, as this is what most people want and doesn't need to display
weird stuff. It also lets us automount smb browsing.

However, we should allow uris that specify a name so you can browse for
user-specific shares. And we should find some nice way to integrate this
into the UI.


> Mountspec issues - duplicate mount icons on desktop
> https://bugzilla.redhat.com/show_bug.cgi?id=443049
> https://bugzilla.redhat.com/show_bug.cgi?id=448008
> https://bugzilla.redhat.com/show_bug.cgi?id=443038
> - ok, we're setting real username and domain after successful mount now,
> but:
> - "gvfs-mount -l" output is wrong, should list URIs containing username
> and domain (if set). Now it only returns server/share, while is
> naturally possible to have one share mounted under different usernames.
>   --> modify client/smburi.c
> - we have username, domain, server and share parameters available to be
> set into mountspec. However username and domain shouldn't be set unless
> we really need them. At the moment, non-anonymous mounts have both
> username and domain set which confuses Nautilus. 
> This causes troubles when user gvfs-mount's smb://server/share but
> gvfs-ls can't find this location mounted then because it has username
> and domain set in mountspec.
> - the domain problem: libsmbclient accepts any domain string and still
> usually connects to the share. Sometimes even in ADS domain (weird). We
> need to detect when domain is really required to be set in order to
> connect to a server.

Ah, this is related to the ChangLog I noted.
I haven't looked into this. Why exactly do we get two mounts. I assume
we're accessing the share via two different URIs, but which ones?


> "Cannot mount smb share when its subdirs are accessible but its root
> not"
> http://bugzilla.gnome.org/show_bug.cgi?id=529277
> - patch needs to be redone. Basically, we always try to mount the share
> root which clearly fails here. Caching will need to be modified too.

This is really a libsmbclient problem. The stat of the root is just an
artificial way to trigger the mount operation. The reporter seems to
have some ideas how we could try to work around this.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]