All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bernhard Huafbauer <huafbauer@compuserve.de>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] SAMBA support in QEMU
Date: Tue, 21 Dec 2004 23:13:18 +0100	[thread overview]
Message-ID: <200412212313.19065.huafbauer@compuserve.de> (raw)
In-Reply-To: <41C75CCE.7020806@bellard.org>

Hello,
think I found it ... (wasn't as easy as the port thing)
short before going crazy I called smbd with strace
it showed me two socket funcion calls - the first with a
matching close
	...
	16790 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
	16790 ioctl(4, 0x8912, 0xbfffbdf8)      = 0
	16790 ioctl(4, 0x8915, 0xbfffbe20)      = 0
	16790 ioctl(4, 0x8913, 0xbfffbe20)      = 0
	16790 ioctl(4, 0x891b, 0xbfffbe20)      = 0
	16790 ioctl(4, 0x8915, 0xbfffbe00)      = 0
	16790 ioctl(4, 0x8913, 0xbfffbe00)      = 0
	16790 ioctl(4, 0x891b, 0xbfffbe00)      = 0
	16790 close(4)                          = 0
	...
the second not
	...
	16790 socket(PF_UNIX, SOCK_DGRAM, 0)    = 6
	...
so I called smbd with gdb and set a
breakpoint to socket - continued the first time and the second
time the backtrace looked like this:
	Breakpoint 2, 0x4035ff90 in socket () from /lib/tls/libc.so.6
	(gdb) bt
	#0  0x4035ff90 in socket () from /lib/tls/libc.so.6
	#1  0x4035b12c in openlog_internal () from /lib/tls/libc.so.6
	#2  0x4035b6cb in vsyslog () from /lib/tls/libc.so.6
	#3  0x4035b24f in syslog () from /lib/tls/libc.so.6
	#4  0x081da12c in Debug1 ()
	#5  0x081da476 in dbghdr ()
	#6  0x08267784 in main ()
	(gdb) kill

by searching Debug1 in samba source I found
that by starting samba with option -i (interactive)
this syslog calls are not done and no datagram connection is opened -
but I cannot access now my share from the guest os - not so good ...

then another way - setting in the config file a entry "syslog = 0" helps
so my function "net_slirp_smb" looks now like this (and I can access \\10.0.2.4\qemu):
    fprintf(f, 
            "[global]\n"
            "private dir=%s\n"
            "smb ports=0\n"
            "socket address=127.0.0.1\n"
            "syslog = 0\n"
            "pid directory=%s\n"
            "lock directory=%s\n"
            "log file=%s/log.smbd\n"
            "smb passwd file=%s/smbpasswd\n"
            "security = share\n"
            "[qemu]\n"
            "path=%s\n"
            "read only=no\n"
            "guest ok=yes\n",
            smb_dir,
            smb_dir,
            smb_dir,
            smb_dir,
            smb_dir,
            exported_dir
            );


(To my sidenote from my last mail:
This will delete this "printing" directory in the /tmp/qemu-smb.xxx directory

in smb_exit before "rmdir(smb_dir);":
    snprintf(filename, sizeof(filename), "%s/%s",
             smb_dir, "printing");
    rmdir(filename);
)


Regards
Bernhard


Am Dienstag, 21. Dezember 2004 00:14 schrieb Fabrice Bellard:
> OK. 'smb ports=0' seems a good idea. Can you find why there is still a 
> datagram connection opened ?
> 
> I still wonder if the best solution would be to ship a specific smbd 
> version with QEMU...
> 
> Fabrice.
> 
> Bernhard Huafbauer wrote:
> > Hello,
> > I found nothing about disabling the opening of the ports
> > in the man page of the smb.conf.
> > The only thing I have found to prevent smbd to open a port is 
> > to give a config file with one of these lines:
> > 
> > 	smb ports=" "
> > 	smb ports=' '
> > 	smb ports=0
> > 
> > the samba source file /source/smbd/server.c line 242 (version 3.0.2a-SUSE) look like this:
> > ...
> > 			for (ptr=ports; next_token(&ptr, tok, NULL, sizeof(tok)); ) {
> > 				unsigned port = atoi(tok);
> > 				if (port == 0) continue;
> > 				s = fd_listenset[num_sockets] = open_socket_in(SOCK_STREAM, port, 0, ifip->s_addr, True);
> > ...
> > ...
> > 		for (ptr=ports; next_token(&ptr, tok, NULL, sizeof(tok)); ) {
> > 			unsigned port = atoi(tok);
> > 			if (port == 0) continue;
> > 			/* open an incoming socket */
> > 			s = open_socket_in(SOCK_STREAM, port, 0,
> > ...
> > 
> > Interesting the comparison to 0 and the continue ...
> > so setting it to 0 would be best the way?
> > 
> > with this setting a smbd called by hand doesn't open any port except this DGRAM thing
> > 	bernhard@wombl:/tmp/qemu-smb.8091> ps aux | grep smbd | grep -v grep
> > 	bernhard 10087  0.0  0.5  9912 2800 ?        Ss   21:16   0:00 /usr/sbin/smbd -s /tmp/qemu-smb.8091/smb.conf
> > 
> > 	bernhard@wombl:/tmp/qemu-smb.8091> netstat -anp | grep 10087
> > 	unix  2      [ ]         DGRAM                    23644  10087/smbd
> > 
> > when running qemu with this setting and accessing \\10.0.2.4\qemu
> > 	bernhard@wombl:/tmp> ps aux | grep smbd
> > 	bernhard 11976  0.0  0.0     0    0 ?        Z    22:02   0:00 [smbd] <defunct>
> > 	bernhard 12012  0.0  0.0     0    0 ?        Z    22:03   0:00 [smbd] <defunct>
> > 	bernhard 12045  0.1  0.6 10984 3492 ?        S    22:03   0:00 /usr/sbin/smbd -s /tmp/qemu-smb.11876/smb.conf
> > 	bernhard 12064  0.0  0.1  2648  736 pts/1    S+   22:04   0:00 grep smbd
> > 
> > and sometimes somthing like this (?):
> > 	bernhard@wombl:/tmp> netstat -anp | grep 12045
> > 	tcp        0      0 127.0.0.1:1357          127.0.0.1:1356          VERBUNDEN   12045/smbd
> > 	udp        0      0 127.0.0.1:1156          0.0.0.0:*                           12045/smbd
> > 
> > 
> > (As a sidenote:
> > the smb_exit cleans not all of the temp directory
> > there is still a directory printing so the last rmdir
> > call fails and a /tmp/qemu-smb.10542/printing/ remains.)
> > 
> > Regards
> > Bernhard
> > 
> > 
> > Am Montag, 20. Dezember 2004 00:40 schrieb Fabrice Bellard:
> > 
> >>Hi,
> >>
> >>It would be cleaner to find a way to disable the access to the port 445 
> >>(it seems to be an uneeded feature for QEMU and your patch may not work 
> >>if several instances of QEMU are launched). Can you look at the SAMBA 
> >>documentation to see if there is an option to do that ?
> >>
> >>Fabrice.
> >>
> >>Bernhard Huafbauer wrote:
> >>
> >>>Hello,
> >>>
> >>>With this little changes to the samba configuration
> >>>file I was able to access the share from the guest os
> >>>(winxp-oem-german-nosp, samba 3.0.2a-SUSE)
> >>>
> >>>Don't know how it would affect some samba 2.x installations ...
> >>>
> >>>The entry smb ports is because smbd wants to open port 445
> >>>(an I'm not allowed to as user).
> >>>
> >>>Regards,
> >>>Bernhard
> >>>
> >>>Am Donnerstag, 9. Dezember 2004 22:34 schrieb Adrian Smarzewski:
> >>>
> >>>
> >>>>David Still wrote:
> >>>>
> >>>>
> >>>>>This could also be why SAMBA support does not appear to work on Mac OS 
> >>>>>X.  Version 10.3.6  appears to use SAMBA version 3.0.5.
> >>>>
> >>>>3.0 was released more than year ago I think...
> >>>>Maybe It's more important to support 3.0.x than 2.x now.
> >>>>
> >>>
> >>>
> >>>bernhard@wombl:~/projekte/software/qemu> diff -Nru orig/qemu-cvs/qemu/vl.c qemu-cvs/qemu/vl.c
> >>>--- orig/qemu-cvs/qemu/vl.c     2004-12-17 21:10:34.000000000 +0100
> >>>+++ qemu-cvs/qemu/vl.c  2004-12-19 15:44:27.501826076 +0100
> >>>@@ -1535,6 +1535,9 @@
> >>>     }
> >>>     fprintf(f,
> >>>             "[global]\n"
> >>>+            "private dir=%s\n"
> >>>+            "smb ports=2445 2139\n"
> >>>+            "socket address=127.0.0.1\n"
> >>>             "pid directory=%s\n"
> >>>             "lock directory=%s\n"
> >>>             "log file=%s/log.smbd\n"
> >>>@@ -1548,6 +1551,7 @@
> >>>             smb_dir,
> >>>             smb_dir,
> >>>             smb_dir,
> >>>+            smb_dir,
> >>>             exported_dir
> >>>             );
> >>>     fclose(f);
> >>>
> >>>
> >>>_______________________________________________
> >>>Qemu-devel mailing list
> >>>Qemu-devel@nongnu.org
> >>>http://lists.nongnu.org/mailman/listinfo/qemu-devel
> >>>
> >>>
> >>>
> >>
> >>
> >>
> >>_______________________________________________
> >>Qemu-devel mailing list
> >>Qemu-devel@nongnu.org
> >>http://lists.nongnu.org/mailman/listinfo/qemu-devel
> >>
> > 
> > 
> > 
> > _______________________________________________
> > Qemu-devel mailing list
> > Qemu-devel@nongnu.org
> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
> > 
> > 
> > 
> 
> 
> 
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
> 

      reply	other threads:[~2004-12-21 22:33 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-05 23:24 [Qemu-devel] SAMBA support in QEMU Fabrice Bellard
2004-09-06  0:30 ` [Qemu-devel] " Ronald
2004-09-06 17:02   ` Ronald
2004-09-06 17:16     ` Ronald
2004-09-10 12:47     ` Ronald
2004-09-10 14:37       ` Johannes Schindelin
2004-09-10 16:22         ` [Qemu-devel] " Ronald
2004-09-06 18:05 ` [Qemu-devel] " John R. Hogerhuis
2004-09-06 19:06 ` Mikesch Nepomuk
2004-09-11  7:12   ` [Qemu-devel] " Mark.Jonckheere
2004-09-11 13:19     ` Andreas Bollhalder
2004-09-06 19:46 ` [Qemu-devel] " Laurent Amon
2004-12-07 14:45 ` Adrian Smarzewski
2004-12-07 16:50   ` Johannes Schindelin
2004-12-08  9:26   ` Adrian Smarzewski
2004-12-08 12:36     ` Adrian Smarzewski
2004-12-08 12:56       ` Jens Arm
2004-12-08 13:04         ` Jens Arm
2004-12-08 21:56           ` Fabrice Bellard
2004-12-08 15:04     ` Adrian Smarzewski
2004-12-08 18:21       ` Felipe Sanchez
2004-12-08 21:59       ` Fabrice Bellard
2004-12-09  9:11         ` carlo.andreoli
2004-12-09 18:44         ` David Still
2004-12-09 21:34           ` Adrian Smarzewski
2004-12-19 15:18             ` Bernhard Huafbauer
2004-12-19 23:40               ` Fabrice Bellard
2004-12-20 21:14                 ` Bernhard Huafbauer
2004-12-20 23:14                   ` Fabrice Bellard
2004-12-21 22:13                     ` Bernhard Huafbauer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200412212313.19065.huafbauer@compuserve.de \
    --to=huafbauer@compuserve.de \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.