README for Samba Virtual File System (VFS) Examples
===================================================

This directory contains some sample code to demonstrate VFS
construction.  The following VFS modules are given:

	skel
		A skeleton VFS module.  When used, this module simply
		passes all requests back to the disk functions (i.e it
		operates as a passthrough filter).  It should be
		useful as a starting point for developing new VFS
		modules. 

	audit
		A simple module to audit file access to the syslog
		facility.  The following operations are logged: share
		connect/disconnect, directory opens/create/remove,
		file open/close/rename/unlink/chmod.

	recycle
		A recycle-bin like modules. When used any unlink call
		will be intercepted and files moved to the recycle
		directory nstead of beeing deleted.

	block
		A simple module to block access to certain mount points or 
		directories. This module only hides the specified directories 
		and all directories beneath them. It should NOT be used to
		secure directories. If the name of a file in one of those
		directories is known, the file can still be opened.

	netatalk
		A netatalk module, that will ease co-existence of samba and
		netatalk file sharing services.
		Looka t the README for more informations.

You may have problems to compile these modules, as shared libraries are
compiled and linked in different ways on different systems.
I currently tested them against GNU/linux and IRIX.

To use the VFS modules, create a share similar to the one below.  The
important parameter is the 'vfs object' parameter which must point to
the exact pathname of the shared library object.

       [audit]
                comment = Audited /data directory
                path = /data
                vfs object = /path/to/audit.so
                writeable = yes
                browseable = yes

Further documentation on writing VFS modules for Samba can be found in
docs directory of the Samba source distribution.
