[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gcmd-dev] SMB browsing crash
From: |
Micha |
Subject: |
Re: [gcmd-dev] SMB browsing crash |
Date: |
Mon, 4 Dec 2006 17:59:04 +0100 |
User-agent: |
Alpenglühn 7.2 |
Hey i looked up the bug reports and this is a cool user survey isn't it ;)
Even if samba access fails, gcmd should not crash in any case.
The question is, what kind of 'crash' is that.
I. Possible directions of tracking:
(1) network access
This is a shell session log from a debian testing laptop with gcmd 1.2.0,
accessing the very same samba server, it says it could connect to the
server but it did not show anything, any of the shares, and i could not see
the slightest hit on the server interface so i think it's lying ;)
address@hidden:~$ gnome-commander -d=ms
[MM] Opening connection
[MM] CON_OPEN_OK detected
[MM] Emitting open_done signal
[MM] on_con_open_done
address@hidden:~$
The weird thing is, a previous attempt lead to a crash (with no useful debug
trace).
It works without problems with the smbclient commandline tool.
Remember, with 1.3.2 from my own laptop it just asks if 'the module is
installed'
but does not crash. I see CON_OPEN_FAILED in stderr.
Anyway, this is not Ubuntu specific, if at all it's debian specific.
As a special showcase, on the server PC itself I can launch gcmd, click the
icon, and after a
really far too long time it shows the \\ path. In iptable log i can see the
samba call is based
on a temproary new interface with IP from the routers DHCP service.
This is weird, i got a static IP, which is different, and with already working
interface there is
no need for any DHCP request. It explains, however, why it needs so long.
Unanswered DHCP requests for an IP can indeed cause a crash (waiting for Godot).
Also, firewall rules may block a request from unexpected IP.
(2) password request
I note these things in backtraces:
thread 0 and 2 end with something like
#24 0x081a19b8 in ?? ()
#25 0x080a1c1c in _IO_stdin_used ()
-- what stdin is that ?
How would gcmd handle password request (popup box) ?
________________
II. A generic list of questions related to connectig and authentificating to
the server.
Bug reporters should be asked to answer only those they can do, and omit
those
which seem to be obsolete.
1. Can you browse your samba/NT network through Nautilus or any other
filemanager ?
This is about the network overview, not specifying any host or path to a
share.
How long did you wait for a response ? Please give it some minutes, for
debugging.
2. Are you sure your workgroup is configured properly ?
Did you configure a special password for samba at any time in the past ?
Is your samba account connected to LDAP (or any other special environment)
?
3. What kind of server, samba or native Windows (NT) ?
What samba version ? Did your distribution upgrade samba from 2.2 to 3.x
recently,
and did it work with samba 2.2 before ?
III. Useful posts:
For logging a terminal (shell) session, use the 'script' command,
eg, you start with 'script my-logfile' and after you're done,
press Ctrl-d to end the script log. I will have been written to 'my-logfile'
which you may can attach to bug reports.
1. output of /sbin/ifconfig, from the users' host.
Can you ping the server IP ?
Do you get your IP by DHCP ?
Can you verify by any method (looking up /var/log/samba/log.smbd,
'arp -vn' command, dhcp table, ipfilter log...) that the users'
samba-request
really reaches the server box ?
(Note: Ports 137-139 Netbios and 445 CIFS need to be open)
2. If you have access to the samba server, please post the samba servers
/etc/samba/smb.conf. Especially the values of these options (if present):
security =
auth methods =
available =
guest only =
public =
bind interfaces only =
It would be even better to post the output of 'testparm -s /etc/samba/smb.conf'.
3. output of
smbclient -d3 -N -L hostname
smbclient -d3 -N -L //hostname/your-share-name
.... launched from a normal user account.
________________
Some explanations about passwords :)
A possible standard configuration of samba (smb.conf) is global "security =
share"
plus the share specific option "guest only = yes".
This matches point 6 below. Another standard setup on small local networks
are public shares, where you don't need a password ("public = yes").
Basically it works this way ( i just paste the manpage section).
1. If the client has passed a username/password pair and that
user-name/password
pair is validated by the UNIX system's password programs, the connection
is made
as that username. This includes the \servervice%username method of passing a
username.
2. If the client has previously registered a username with the system and now
supplies a
correct password for that username, the connection is allowed.
3. The client's NetBIOS name and any previously used usernames are checked
against
the supplied password. If they match, the connection is allowed as the
corresponding user.
4. If the client has previously validated a username/password pair with the
server and the client
has passed the validation token, that username is used.
5. If a user = field is given in the smb.conf file for the service and the
client has supplied a
password, and that password matches (according to the UNIX system's
password checking)
with one of the usernames from the user = field, the connection is made as
the username in the
user = line. If one of the usernames in the user = list begins with a @,
that name expands to a
list of names in the group of the same name.
6. If the service is a guest service, a connection is made as the user-name
given in the
"guest account =" for the service, irrespective of the supplied password.
I have to go, cut it here again, cu later.