Authentication Cache for libsmb (gnome-vfs-extras)


the attached patch will add an authentication cache system to libsmb:

You can query for an authentication info either by server (and share) or by uri. In the latter case it is checked if an authentication is provided with the uri - which will be used (and cached) then. Otherwise authentication is queried by server (and share). Authentications are cached by server (and if given by share). Additionally the authentication used to log into a share is cached with a special key. That is in case there is no cached authentication when querying for another share on that server it can be used as a fallback. If a previous attempt failed authentication will be queried by dialog (and cached) either way.

There are still some issues with smb authentication, though not directly related to the patch:

(1) There is no per connection auth caching, so if there are two nautilus windows open with smb connections and you change authentication in one it will automatically change for the other too. 

(2) There is still no way to log into a server so you can access user dependent shares (like eg home directories). I do not fully understand how to do that right now: it seems like you can alway anonymously log into a samba servers IPC share, so that      one would have to query for an auth before logging into the IPC share. But that would be a horror for workgroups with lots of share-based-auth servers. Still since 2000/NT/XP is able to recognize wether the server has user- or share-based authentication.

(3) When using smb://<the-servers-ip> on a server that is a master browser you get not only the servers shares listed in the nautilus view, but as well some of the other servers in the workgroup. 

I will have a look into (1) and (2) later this week, so if anyone has any idea I would really appreciate it.

Btw, if the patch gets accepted it fixes bug #81481.


knut neumann uni-duesseldorf de

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