                           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.27a client made as the plugin to
NetDrive - a well known virtual file system for OS/2. OS/2 SAMBA client provides
seamless 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 SVN 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.

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!

Links:

SAMBA for OS/2 and eCS Homepage: http://svn.netlabs.org/samba
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 libc063.dll available from ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip (the kLibc 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 <debuglevel> (or --debug <debuglevel>) - 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 <logfile> (or --logfile <logfile>) - the filename to write the debug info
from smbcd.exe. Default is to print all debug info to STDOUT stream.
  -q (or --quiet) - 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

 beta15:
   - moved to 3.0.25rc3 samba code
   - moved to GCC for compiler for ndpsmb.dll
   - updated libc custom build

 beta16:
   - moved to 3.0.25a samba code
   - moved to libc063.dll from CSD3 release
   - timezone fixes from Yuri

 samba-3.0.25b-2007-06-28
   - Updated to 3.0.25b source code

 ndpsmb-3.0.25b-2007-08-01
   - DBCS fixes (Fixes ticket #20)
   - Minor changes to error return codes (Fixes ticket #21)
   - removed dependency on ldap.dll

 ndpsmb-3.0.25b-2007-08-02
   - don't log to smblog unless environment variable NDPSMB_DEBUG is set.  Note this statement must be set before ndpsmb.dll is loaded.
   - attempt to fix ticket #16 (file create/access times wrong)

 ndpsmb-3.0.25c-2007-08-22
   - another DBCS change (Thanks KO Myung-Hun!)
   - Fix some EA problems
   - Fix BUFFER OVERFLOW problem with WinXP Server (Thanks Vitali!)
   - Update to Samba 3.0.25c level code

 ndpsmb-3.0.25c-2007-09-05
  - mask password field with ** in ndpsmb (Thanks Vitali)
  - Fix serious problem with cli structure (Thanks Vitali)

 ndpsmb-3.0.26a-2007-09-12
  - Ticket 32 fixed - Resources do not automatically reconnect if smbcd closes (Thanks Vitali & Yuri)
  - Ticket 33 fixed - smbcd crash when SMB_DISCONNECT is issued (Thanks Yuri)

 ndpsmb-3.0.27a-2007-11-29
  - Update source to 3.0.27a
  - Support kerberos authentication for Windows 2003 AD servers - requires working kinit to login

 ndpsmb-3.0.28-2008-01-04 (not publically released)
  - Modify plugin/smbcd to always try kerberos authentication if the kerberos libraries have been used - fallback is to use the user/password supplied

 ndpsmb-3.0.28-2008-02-18
  - Kerberos enabled version is only available on request - will be included in future version of eCS
  - Do not print password details in logs, nor store them in plaintext in the ini files (Fixes ticket 50)
  - Restart smbcd.exe if it crashes - (Fixes ticket 52)

 ndpsmb-3.0.28a-2008-03-12
  - Update source to 3.0.28a

 ndpsmb-3.0.29-2008-05-23 (Not publically released)
  - Update source to 3.0.29

 ndpsmb-3.0.30-2008-05-29
  - Update source to 3.0.30