File: SAMBA_VMS_2_0_6_SOURCE_NOTES.TXT This file describes notes about the source code for SAMBA 2.0.6 on OpenVMS. 18-Oct-2000 J. Malmberg [.client]client.c The prompt for sending messages was hardcoded to end the message with Control-D. OpenVMS requires Control-Z. Coded the patch to allow CONFIG.H to override the prompt string. [.include]proto.h Bug fix for a buffer overrun. This has been incorporated in the SAMBA UNIX code. [.lib]smbrun.c Bug fix for missing braces. This has been incorporated in the SAMBA UNIX code. [.lib]util.c Bug fix for incorrectly declared stat buffer. This has been incorporated in the SAMBA UNIX code. [.lib]util_sid.c Bug fix for incorrectly declared buffer that resulted in memory corruption. This has been incorporated in the SAMBA UNIX code. [.lib]vms_pidfile_create.c This replaces the pidfile_create() function. SMBD uses this to prevent multiple parent daemon process from running. Since on OpenVMS, all of the processes are parents, this new function does nothing. [.locking]locking_slow_vms.c This replaces the locking_slow.c module with one that is tailored to OpenVMS using the SAMBA lock files. An enhancement for a future version of OpenVMS is to change connection.c to take out a SYS$ENQW() lock on the share, and then use an OpenVMS module to replace the locking module to take out sublocks for the files on the master locks. [.param]vms_lp_load.c This replaces the lp_load() routine in the SAMBA UNIX code, checks logical names for the VMS specific options, and then calls the SAMBA lp_load() routine. This allows the VMS specific logical names to be scanned at the same time that smb.conf is checked for changes. [.passdb]passdb.c The fcntl() locking I implemented in OpenVMS requires that the locked record exists. SAMBA was checking to make sure in the case of a file create, that there were no records in the file. Can not use that check on OpenVMS. [.rpcclient]cmd_lsarpc.c Bug fix for incorrectly declared buffer that resulted in memory corruption. This has been incorporated in the SAMBA UNIX code. [.rpc_server]srv_lsa_hnd.c Bug fix for incorrectly declared buffer that resulted in memory corruption. This has been incorporated in the SAMBA UNIX code. [.smbd]connection.c Bug fix to allow running the SMBD daemon interactively in debug for multiple runs. This condition only appears to be an issue on OpenVMS. On a UNIX system it is unlikely that the process id would be used between runs. This fix is not required for normal operation of SAMBA on OpenVMS. [.smbd]open.c Patch to only open files for write that the client requested write access to. This was strongly requested by the OpenVMS community. It may or may not have bad effects with SAMBA lock processing. [.smbd]reply.c Patch to report the start offset of a file segment being transferred as part of the debug information when the debug level is raised. [.smbd]vms_reply_special.c Intercepts calls to reply_special() and checks to see if it is a new connection accept message. If so changes the process name to match. Then calls the SAMBA reply_special() routine. [.smbwrapper]shared.c Bug fix for incorrectly declared stat buffer. This has been incorporated in the SAMBA UNIX code. [.utils]make_smbcodepage.c A cast of (uint16) is needed remove a compiler diagnostic. []config.h or config.vms The specific configuration build file for OpenVMS. --------------- Last Minute update ---------------------- [.lib]interface.c It was possible that a memcmp of a negative number of bytes could be attempted. This has been fixed in the main SAMBA code. [.smbd]vms_server.c This module adds a new main() procedure for the SMBD program that understands how to handle being launched from the Auxiliary Server.