samba-vms digest, Vol 1 #166 - 5 msgs

John Malmberg wb8tyw at qsl.net
Sat Dec 15 05:47:30 GMT 2001


[Any weird spacing in this E-mail curtesy of Mozilla test version bugs]

"john marchant" <jmarchant at cobbcounty.organization wrote:

> Date: Thu, 13 Dec 2001 15:29:03 -0500


>   DIGITAL TCP/IP Services for OpenVMS Alpha Version V5.0A
>   on a AlphaServer 2100 4/233 running OpenVMS V7.2-1


There have been a number of bugfixes since 5.0A.  Some may affect SAMBA,

particularly a bug where NMBD will go in to RWAST.  You may want to 
investigate getting more current on TCP/IP.


> 
> I found an old message that said I had to be SYSTEM to use smbpasswd.  I did
> this and added users. However, I still cannot fully connect from windows 98.
> I have included log.smb.



> I hope this is the correct thing to do.  I also added a samba__guest


> account to our NT machines and the smbpasswd.dat file with the same


> passwords.


The SAMBA__GUEST account must exist on OpenVMS.  It is used when Windows 
NT accesses the SAMBA server for some functions.

The account serves no purpose on the NT system, nor does it need to be 
in the SMBPASSWD.DAT file.

[It really needs to be investigated why SAMBA handles the NT connects 
this way.  Windows NT does not require a guest account under the same 
conditions.]

I would suspect that the presence of this account on the NT system or 
the record in the SMBPASSWD.DAT file will be ignored by SAMBA though.

> I also added myself with the same password that I
> have on Windows.  Here is the file (and smb.conf).  Thanks again.  If it
> matters, my smb.log file says it can't find printers.  Would this keep it
> from running?


No printers are needed.  It just means that none were configured in the 
printcap file.  There should be something in one of the readme files on 
how to configure them.


> JENNY>>edit log.smb
>     1       [2001/12/13 15:07:12, 6]
> CMS_ROOT:[SAMBA.SOURCE.PARAM]LOADPARM.C;2:(
> 1855)
> *c
> 
> [2001/12/13 15:07:12, 6] CMS_ROOT:[SAMBA.SOURCE.PARAM]LOADPARM.C;2:(1855)
>   lp_file_list_changed()
>   file SAMBA_ROOT/LIB/SMB.CONF -> SAMBA_ROOT/LIB/SMB.CONF  last mod_time:
> Thu D`
> 
> [2001/12/13 15:07:13, 2] CMS_ROOT:[SAMBA_VMS.SOURCE.LIB]INTERFACE.C;1:(83)

>   added interface ip=10.73.112.25 bcast=10.73.255.255 nmask=255.255.0.0



> [2001/12/13 15:07:13, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(148)
>   Failed to set socket option SO_KEEPALIVE (Error protocol not available )
> [2001/12/13 15:07:13, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(148)
>   Failed to set socket option TCP_NODELAY (Error protocol not available )


Fix is to remove the socket option TCP_NODELAY from the smb.conf file.
Otherwise the message is harmless.


> [2001/12/13 15:07:13, 6] CMS_ROOT:[SAMBA.SOURCE.LIB]CHARSET.C;2:(339)
>   codepage_initialise: client code page = 850
> [2001/12/13 15:07:13, 5] CMS_ROOT:[SAMBA.SOURCE.LIB]CHARSET.C;2:(196)
>   load_client_codepage: loading codepage 850.
>   Adding chars 0x85 0xb7 (l->u = True) (u->l = True)

<snip>

  Adding chars 0x9c 0x0 (l->u = False) (u->l = False)
> [2001/12/13 15:07:14, 7] CMS_ROOT:[SAMBA_VMS.SOURCE.LIB]UTIL_SID.C;1:(302)
>   string_to_sid: converted SID S-1-5-32 ok

<snip>

> [2001/12/13 15:07:15, 7] CMS_ROOT:[SAMBA_VMS.SOURCE.LIB]UTIL_SID.C;1:(302)
>   string_to_sid: converted SID S-1-5-21-2664311613-1836170955-2857447695
>    ok
> [2001/12/13 15:07:15, 3] CMS_ROOT:[SAMBA.SOURCE.SMBD]SERVER.C;2:(699)
>   loaded services



> [2001/12/13 15:07:16, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(148)
>   Failed to set socket option SO_KEEPALIVE (Error protocol not available )
> [2001/12/13 15:07:16, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(148)
>   Failed to set socket option TCP_NODELAY (Error protocol not available )


It basically means that these options are not supported by TCPIP 5.0A.
If you remove them from the smb.conf, the warnings will go away.  The 
code will work the same.

> [2001/12/13 15:07:16, 6] CMS_ROOT:[SAMBA.SOURCE.PARAM]LOADPARM.C;2:(1855)
>   lp_file_list_changed()
>   file SAMBA_ROOT/LIB/SMB.CONF -> SAMBA_ROOT/LIB/SMB.CONF  last mod_time:
> Thu D`
> 
> [2001/12/13 15:07:17, 2] CMS_ROOT:[SAMBA.SOURCE.SMBD]SERVER.C;2:(735)
>   Changed root to /
> [2001/12/13 15:07:17, 3] CMS_ROOT:[SAMBA.SOURCE.SMBD]OPLOCK.C;2:(86)
>   open_oplock_ipc: opening loopback UDP socket.
> [2001/12/13 15:07:17, 3] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(865)
>   bind succeeded on port 0
> [2001/12/13 15:07:17, 3] CMS_ROOT:[SAMBA.SOURCE.SMBD]OPLOCK.C;2:(113)
>   open_oplock ipc: pid = 541246279, global_oplock_port = 2796
> [2001/12/13 15:07:17, 4] CMS_ROOT:[SAMBA.SOURCE.LIB]TIME.C;2:(110)
>   Serverzone is 18000
> [2001/12/13 15:07:17, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(989)
>   getpeername failed. Error was socket is not connected


Ok, this is the puzzler.  Setting a higher debug level might give more
information.

<snip>

>  [2001/12/13 15:07:17, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(537)
>   write_socket_data: write failure. Error = broken pipe


This generally means one side or the other broke the connection.

> [2001/12/13 15:07:17, 6] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(560)
>   write_socket(3,5) wrote -1
> [2001/12/13 15:07:17, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(562)
>   write_socket: Error writing 5 bytes to socket 3: ERRNO = broken pipe
> [2001/12/13 15:07:18, 0] CMS_ROOT:[SAMBA.SOURCE.LIB]UTIL_SOCK.C;2:(751)
>   Error writing 5 bytes to client. -1. Exiting
> 
> 
> [global]
>         workgroup = workgroup
>         netbios name = my_name
>         server string = OpenVMS -- %h
>         remote announce = 192.168.20.60/mydomain
>         name resolve order = WINS host
>  ;       security = DOMAIN
>         security = user
>         encrypt passwords = Yes
>         password server = 192.168.20.60
> 
>         log file = /samba_root/var/log.nmb
> 
>         wins server = 192.168.20.60
>         hosts allow = 192.168.20.
>      map archive = no
> 
>    printing = bsd
> 
>    printcap name = /$1$dka0/sys0/tcpip$lpd/tpcip$printcap.dat


It would probably work better if you used:

        sys$sysroot/tcpip$lpd/tcpip$printcap.dat.

Putting physical device names in configuration files causes maintenance 
problems, and IMHO, any software that requires it is seriously broken.

> ;   load printers = yes
>    status = yes
>    print command = print %f/queue=%p/delete/passall/name="""""%s"""""
>    lprm command = delete/entry=%j


These only work with some print jobs, and will not work with SAMBA 
2.0.6.  This is because SAMBA is only tracking the low byte of the job 
number.  This means that a command procedure is needed to verify SAMBA's 
guess at the real job number.

The template supplied with SAMBA 2.0.6 should have the correct routines.

So basically SAMBA is mapping an 8 bit NT queue number to a 32 bit 
OpenVMS job number.  Guess what happens if your job id gets higher than 255.


Note SAMBA 2.0.6 for OpenVMS is feature and bug compatable with the UNIX 
version.  Older versions of SAMBA for OpenVMS ignored large portions of 
the SMB.CONF file because the reference code was not implemented.


It does not appear that there is any error in your smb.conf that will 
prevent SAMBA 2.0.6 from starting.


Based on past postings of other people, one of the common issues is that 
  the SMBD process attempts to set it's default directory to the one 
specified in the SAMBA__GUEST account, and then finds either the 
directory does not exist, or the SAMBA__GUEST account does not have 
write access to it.  Also the SAMBA__GUEST account can be disusered, 
since nothing actually loggs into it, or checks a password against it.


In the SAMBA 2.0.6 for OpenVMS kit, there should be a command procedure 
that will set up the SAMBA__GUEST account and it's directory.


Of an interesting note:  In the log files, if the directory is 
[SAMBA.*], then this is the original UNIX source.  If the directory is 
[SAMBA_VMS.*] then it is an OpenVMS specific module or patch.


-John
wb8tyw at qsl.network
Personal Opinion Only





More information about the samba-vms mailing list