OS/2 SAMBA client _________________ CONTENTS ________ 1. Introduction 2. License 3. Installation 4. SMBCD.EXE usage 5. NDPSMB.DLL usage 6. Changelog 1. Introduction _______________ SAMBA is a SMB/CIFS protocols file and print sharing server/client set originaly made for UNIX world to cooperate with corresponding Windows and OS/2 servers or clients. OS/2 has native implementation of SMB/CIFS server/client set - IBM LAN Manager and IBM Peer. These products haven't been updated for a long time and have some compatibility problems with modern Windows SMB/CIFS implementations. This package is the OS/2 port of SAMBA 3.0.9 client made as the plugin to NetDrive - a well known virtual file system for OS/2. OS/2 SAMBA client provides seamles access to SMB/CIFS file shares over your network using TCP/IP as the underlying transport protocol. The OS/2 SAMBA client consists of two modules: ndpsmb.dll - the NetDrive plugin itself. smbcd.exe - the SAMBA client daemon, which actually processes the requests from ndpsmb.dll. 2. License __________ SAMBA is freely available under the GNU General Public License. You can get the full sourcecode from our CVS repository, please refer to the SAMBA for OS/2 and eCS Homepage for details about downloading the source. The NetDrive plugin is also available with full sourcecode. However, netlabs.org hired nickk to port SAMBA to OS/2 and to create the NetDrive plugin. Future work on this plugin highly depends on the support of the OS/2 and eCS community. We also think about providing a SAMBA server implementation for OS/2 and eCS but that will cost money too. So if you are using our plugin we kindly ask you to support netlabs.org. Please refer to the SAMBA for OS/2 and eCS Homepage to learn how you can do that! NOTE: The current beta release needs NetDrive for OS/2. NetDrive is shareware but we are in contact with the developer of it, probably there will be a free stripped down SAMBA-only version of NetDrive when we release the final version. (Don't take that for granted yet, we will announce that in the future) Links: SAMBA for OS/2 and eCS Homepage: http://samba.netlabs.org/ NetDrive Homepage: http://www.blueprintsoftwareworks.com/netdrive/ SAMBA Homepage: http://www.samba.org/ 3. Installation _______________ You must have NetDrive 2.2.1 or newer installed prior to installation of this package. If you want to use 64bit file API, you should install 2.3 or newer version of NetDrive. The installation is semi-automatic and consists of two steps: - libc installation : Put libc06*.dll included into this package (the innotek gcc runtime dll) somewhere in your LIBPATH, if it is not here already. - ndpsmb.dll and smbcd.exe installation : Run instpl.cmd from this package. The installer will place smbcd.exe in the Netdrive home directory. When you will connect to CIFS share using the ndpsmb plugin, it will start the smbcd.exe automatically from this directory. However, you can start it manually, if you want. 4. SMBCD.EXE Usage __________________ SMBCD.EXE has the following parameters: -d (or --debug ) - debug level of output from 0 to 9. The more debug level provides more debugging output from SMBCD.EXE which may be used to solve the problems. -l (or --logfile ) - the filename to write the debug info from smbcd.exe. Default is to print all debug info to STDOUT stream. -q (or --quite) - tells smbcd.exe to be absolutely quiet. 5. NDPSMB.DLL Usage ___________________ NetDrive SAMBA plugin is used according to general NetDrive usage rules. Read the NetDrive documentation for more information. The SMB/CIFS resources could be mounted either using command line nd.exe utility or WPS ndpm.exe utility of NetDrive. The NetDrive SAMBA plugin parameters are: workgroup - the name of workgroup to connect to. server - the name of server to connect to. share - the name of server resource (share) to connect to. user - the name of user to login under. password - the password of selected user. master - the name of 'master' server or workgroup, used to get the list of workgroups when the concrete workgroup and server not specified. masterttype - 0 if 'master' is the name of master server, 1 if 'master' is the name of master workgroup. memlen - the size of shared memory buffer allocated for every connection to SBM/CIFS resources in size of 64k blocks. The higher values could provide better access speed, but consume more memory. logfile - file to log records from smbcd.exe. Used only in smbcd.exe is run by ndpsmb.dll plugin, not manually loglevel - level of logging (0-9) for smbcd.exe. Used only in smbcd.exe is run by ndpsmb.dll plugin, not manually easupport - 1 to support OS/2 Extended Attributes, 0 to not support it To mount the a exact server's share one need to specify both 'server' and 'share' parametres, the other parametres are optional. The root path of server's share will be mounted to the mounting path. If one want to access all servers shares, the only the 'server', not the 'share' parameter, should be specified,the other parametres are optional. The list of server's shares will be mounted to the mounting path. If one want to access all servers within the workgroup, the only the 'workgroup', not the 'server' parameter, should be specified, the other parametres are optional. The list of servers within the specified workgroup will be mounted to the mounting path. If one want to access all available workgroups within one master browser in network, the only the 'master', not the 'workgroup' or 'server' parameter, should be specified, the other parametres are optional. The list of workgroups will be mounted to the mounting path. The 'master' workgroup can be any known workgroup in the net. The 'master' server should be the master browser for workgroup[s]. By default the 'guest' user with blank password is used to access selected resources. If you get access denied (5) errors, try to specify another user and password combination. 6. Changelog ____________ beta3: - changelog created - fixed a bug with several network interfaces on one system - fixed a bug with broken cmd.exe builtin commands - fixed a bug with wrong dates of new and modified files - fixed a bunch of other bugs which are too small to remember ;) - smbcd.exe compiled against old tcp/ip stack interface beta4: - fixed errors on write to eCs shares - more fixes for wrong dates of files beta5: - added file locking - added 64bit file IO (when working with NDFS 2.3+) - moved to 3.0.9 samba code beta6: - fixed set attribute bug introduced in beta 5 - implemented setnewfilesize function. It may work not on all CIFS servers. - added automatic smbcd.exe starting if not started when connecting to CIFS share - added 'logfile' and 'loglevel' options to ndpsmb beta7: - moved to libc06b4.dll libc. beta8: - moved back to libc custom build. - added EA support - a bunch of bugs fixed beta9: - added EA support for DosOpen which was forgotten in beta8 beta10: - caching of EA size after file find request - moved to libc06b5.dll libc beta11: - moved to libc06r1.dll libc beta12: - NdpRsrcQueryFSAllocate rewritten - moved to libc06.dll from GA2 release beta13, the lucky one: - moved to libc061.dll from CSD1 release beta14: - moved to libc custom build