Samba Client Plugin for eCS (OS/2) Version _VERSION_ Build _BUILD_ __________________________________ CONTENTS ________ 1. Introduction 2. License 3. Installation 3.1 Netdrive 3.2 EVFS 4. NDPSMB.DLL usage 4.1 Netdrive 4.2 EVFS 5. Debugging 6. Changelog 1. Introduction _______________ Samba is a SMB/CIFS protocols file and print sharing server/client suite originally made for the UNIX world to cooperate with corresponding Windows and eCS (OS/2) servers or clients. eCS (OS/2) has a 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 eCS (OS/2) port of Samba client made as the plugin for - NetDrive for eCS (OS/2) - a well known virtual file system for eCS (OS/2) or - EVFS - the eComStation Virtual Filesystem for SMB. eCS (OS/2) Samba client provides seamless access to SMB/CIFS file shares over your network using TCP/IP as the underlying transport protocol. The eCS (OS/2) Samba client consists of one module: ndpsmb.dll - the NetDrive/EVFS plugin itself. Releases prior to version 1.5.0 had a second module which is now deprecated: 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 SVN repository, please refer to the Samba for eCS (OS/2) Homepage for details about downloading the source. The NetDrive plugin is also available with full sourcecode. So if you are using our plugin we kindly ask you to support netlabs.org. Please refer to the Samba for eCS (OS/2) Homepage to learn how you can do that! Links: Samba for eCS (OS/2) Homepage: http://samba.netlabs.org/ NetDrive Homepage: http://www.blueprintsoftwareworks.com/netdrive/ Samba Homepage: http://www.samba.org/ 3. Installation _______________ The plugin needs the klibc runtime named libc06*.dll (the innotek gcc runtime DLL) somewhere in your LIBPATH, if it is not there already (It comes with any recent eComStation release). 3.1 Netdrive ____________ 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: - ndpsmb.dll installation : Run instpl.cmd from this package will place all files to the netdrive plugin directory. 3.2 EVFS ________ - ndpsmb.dll installation : Put ndpsmb.dll into x:\ecs\dll (where x: is your bootdrive) 4. NDPSMB.DLL _____________ 4.1. Usage with Netdrive ______________________ 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. easupport - 1 to support eCS (OS/2) Extended Attributes, 0 to not support it To mount the exact server's share one need to specify both 'server' and 'share' parameters, the other parameters are optional. The root path of server's share will be mounted to the mounting path. If one want to access all server shares, then only the 'server', not the 'share' parameter, should be specified,the other parameters are optional. The list of server shares will be mounted to the mounting path. If one want to access all servers within the workgroup, then only the 'workgroup', not the 'server' parameter, should be specified, the other parameters 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 within the network, then only the 'master', not the 'workgroup' nor the 'server' parameter, should be specified, the other parameters 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. 4.2 Usage with EVFS ___________________ eComStation comes with a GUI program named EVFSGUI which is even more feature rich than the Netdrive GUI. Refer to the documentaion that comes with eCS. 5. Debugging ____________ To produce a logfile please add an empty file called ndpsmb.dbg into the root drive. The logfile is placed to your LOGFILES env path, if available. If the LOGFILES environment variable is missing, the logfile is placed into the Netdrive directory. The logfile is called log.ndpsmb for the Netdrive part and log.smbc for the Samba part. 6. Changelog ____________ v1.0 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 v1.0 beta4: - fixed errors on write to eCs shares - more fixes for wrong dates of files v1.0 beta5: - added file locking - added 64bit file IO (when working with NDFS 2.3+) - moved to 3.0.9 samba code v1.0 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 v1.0 beta7: - moved to libc06b4.dll libc. v1.0 beta8: - moved back to libc custom build. - added EA support - a bunch of bugs fixed v1.0 beta9: - added EA support for DosOpen which was forgotten in beta8 v1.0 beta10: - caching of EA size after file find request - moved to libc06b5.dll libc v1.0 beta11: - moved to libc06r1.dll libc v1.0 beta12: - NdpRsrcQueryFSAllocate rewritten - moved to libc06.dll from GA2 release v1.0 beta13, the lucky one: - moved to libc061.dll from CSD1 release v1.0 beta14: - moved to libc custom build v1.0 GA: - changelog was not updated v1.5.0 alpha1: - smbdc.exe was implemented within ndpsmb.dll - a lot of other changes v1.5.0 beta1: - logging feature rewritten - fixed free disk space - added more return codes in the mount part (for evfsgui) v1.5.0 beta2: - update to Samba 3.0.35 client code v1.5.0 beta3: - update to Samba 3.0.36 client code - codepage fix for system running non IBM-850 codepages (Ticket #100) v1.5.0 beta4: - update to Samba 3.0.37 client code - codepage fix for Ticket #68 v1.5.0: - Fix memory leak in EA code - Ticket #111 - Remove unused MEMLEN, LOGFILE and LOGLEVEL token (Compatibility warning: These tokens must also be removed from older *.ndc *.evp and volumes.cfg files in order to restore connections with the new plugin properly) - added logging feature for samba messages