samba3-vscan/f-secure vscan-fsav.c,1.1.1.1,1.2 vscan-fsav.h,1.1.1.1,1.2 vscan-fsav_core.c,1.1.1.1,1.2 vscan-fsav_core.h,1.1.1.1,1.2

Rainer Link <[email protected]> Sat, 23 Jul 2005 14:47:47 +0000
Newsgroups gmane.comp.security.virus.openantivirus.cvs
Message-ID <[email protected]>
Update of /cvsroot/openantivirus/samba3-vscan/f-secure
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8372/f-secure

Modified Files:
	vscan-fsav.c vscan-fsav.h vscan-fsav_core.c vscan-fsav_core.h 
Log Message:
remove Samba 2.2 support, Samba3 is from now on supported only


Index: vscan-fsav.h
===================================================================
RCS file: /cvsroot/openantivirus/samba3-vscan/f-secure/vscan-fsav.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- vscan-fsav.h	23 Jul 2005 14:34:00 -0000	1.1.1.1
+++ vscan-fsav.h	23 Jul 2005 14:47:45 -0000	1.2
@@ -38,7 +38,7 @@
 
 /* configuration section */
 
-/* default location of samba-style configuration file (needs Samba >= 2.2.4 or Samba 3.0 */
+/* default location of samba-style configuration file */
 
 #define PARAMCONF "/etc/samba/vscan-fsav.conf"
 

Index: vscan-fsav.c
===================================================================
RCS file: /cvsroot/openantivirus/samba3-vscan/f-secure/vscan-fsav.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- vscan-fsav.c	23 Jul 2005 14:34:00 -0000	1.1.1.1
+++ vscan-fsav.c	23 Jul 2005 14:47:45 -0000	1.2
@@ -1,12 +1,12 @@
 /*
  *  $Id$
  *
- * Virusscanning VFS module for samba.  
+ * Virusscanning VFS module for Samba3.  
  * Log infected files via syslog
  * facility and block access using fsecure antivirus
  *
  * Copyright (C) Monex AG  Oliver Jehle, 2003
- * Copyright (C) Rainer Link, 2004
+ * Copyright (C) Rainer Link, 2004-2005
  *               OpenAntiVirus.org <rainer-pBPPa8WU5k41Tgt60Rntydi2O/[email protected]>
  *
  * based on the existing  F-PROT module by
@@ -107,33 +107,18 @@
 
 /* Implementation of vfs_ops.  */
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 static int vscan_connect(vfs_handle_struct * handle,
 			 connection_struct * conn, const char *svc,
 			 const char *user)
-#else
-static int vscan_connect(struct connection_struct *conn, 
-			PROTOTYPE_CONST char *svc, 
-			PROTOTYPE_CONST char *user)
-#endif
 {
         fstring config_file;            /* location of config file, either
                                            PARAMCONF or as set via vfs options
                                         */
-
-        #if (SAMBA_VERSION_MAJOR==2 && SAMBA_VERSION_RELEASE>=4) || SAMBA_VERSION_MAJOR==3
-         #if !(SMB_VFS_INTERFACE_VERSION >= 6)
-          pstring opts_str;
-          PROTOTYPE_CONST char *p;
-         #endif
-        #endif
         int retval;
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 	vscan_syslog
 	    ("samba-vscan (%s) connected (Samba 3.0), (c) by Rainer Link, OpenAntiVirus.org",
 	     module_id);
-#endif
 
 	/* set default value for configuration files */
 	fstrcpy(config_file, PARAMCONF);
@@ -158,23 +143,21 @@
 
 	vscan_syslog("INFO: connect to service %s by user %s", svc, user);
 
-        #if (SAMBA_VERSION_MAJOR==2 && SAMBA_VERSION_RELEASE>=4) || SAMBA_VERSION_MAJOR==3
 
-         fstrcpy(config_file, get_configuration_file(conn, VSCAN_MODULE_STR, PARAMCONF));
-         DEBUG(3, ("configuration file is: %s\n", config_file));
+	fstrcpy(config_file, get_configuration_file(conn, VSCAN_MODULE_STR, PARAMCONF));
+	DEBUG(3, ("configuration file is: %s\n", config_file));
 
- 	 retval = pm_process(config_file, do_section, do_parameter);
-	 DEBUG(10, ("pm_process returned %d\n", retval));
+	retval = pm_process(config_file, do_section, do_parameter);
+	DEBUG(10, ("pm_process returned %d\n", retval));
 
-         /* FIXME: this is lame! */
-         verbose_file_logging = vscan_config.common.verbose_file_logging;
-         send_warning_message = vscan_config.common.send_warning_message;
+        /* FIXME: this is lame! */
+        verbose_file_logging = vscan_config.common.verbose_file_logging;
+        send_warning_message = vscan_config.common.send_warning_message;
 
-	 if (!retval)
+	if (!retval)
 		vscan_syslog
 		    ("ERROR: could not parse configuration file '%s'. File not found or not read-able. Using compiled-in defaults",
 		     config_file);
-	#endif
 
 	/* initialise lrufiles list */
 	DEBUG(5, ("init lrufiles list\n"));
@@ -187,19 +170,11 @@
         /* initialise file regexp */
         fileregexp_init(vscan_config.common.exclude_file_regexp);
 
-        #if (SMB_VFS_INTERFACE_VERSION >= 6)
-         return SMB_VFS_NEXT_CONNECT(handle, conn, svc, user);
-        #else
-         return default_vfs_ops.connect(conn, svc, user);
-        #endif
+	return SMB_VFS_NEXT_CONNECT(handle, conn, svc, user);
 }
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 static void vscan_disconnect(vfs_handle_struct * handle,
 			     connection_struct * conn)
-#else
-static void vscan_disconnect(struct connection_struct *conn)
-#endif
 {
 
 	vscan_syslog("INFO: disconnected");
@@ -207,21 +182,11 @@
 	lrufiles_destroy_all();
 	filetype_close();
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
         SMB_VFS_NEXT_DISCONNECT(handle, conn);
-#else
-        default_vfs_ops.disconnect(conn);
-#endif
 }
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 static int vscan_open(vfs_handle_struct * handle, connection_struct * conn,
 		      const char *fname, int flags, mode_t mode)
-#else
-static int vscan_open(struct connection_struct *conn, 
-			PROTOTYPE_CONST char *fname, int flags, mode_t mode)
-
-#endif
 {
 	int retval, must_be_checked;
 	SMB_STRUCT_STAT stat_buf;
@@ -240,34 +205,17 @@
 	/* scan files while opening? */
         if ( !vscan_config.common.scan_on_open ) {
                 DEBUG(3, ("samba-vscan - open: File '%s' not scanned as scan_on_open is not set\n", fname));
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
                 return SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
-#else
-                return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
         }
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
         if ( (SMB_VFS_NEXT_STAT(handle, conn, fname, &stat_buf)) != 0 )    /* an error occured */
                 return SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
-#else
-        if ( (default_vfs_ops.stat(conn, fname, &stat_buf)) != 0 )    /* an error occured */
-                return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
         else if ( S_ISDIR(stat_buf.st_mode) )   /* is it a directory? */
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
                 return SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
-#else
-                return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
         else if ( ( stat_buf.st_size > vscan_config.common.max_size ) && ( vscan_config.common.max_size > 0 ) ) /* file is too large */
                 vscan_syslog("INFO: File %s is larger than specified maximum file size! Not scanned!", fname);
         else if ( stat_buf.st_size == 0 ) /* do not scan empty files */
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
                 return SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
-#else
-                return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
         else if ( fileregexp_skipscan(filepath) == VSCAN_FR_SKIP_SCAN ) {
                 if ( vscan_config.common.verbose_file_logging )
                         vscan_syslog("INFO: file '%s' not scanned as file is machted by exclude regexp", filepath);
@@ -275,11 +223,7 @@
         else if ( filetype_skipscan(filepath) == VSCAN_FT_SKIP_SCAN ) {
                 if ( vscan_config.common.verbose_file_logging )
                         vscan_syslog("INFO: file '%s' not scanned as file type is on exclude list", filepath);
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
                 return SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
-#else
-                return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
 	} else {
 		fsav = fsav_create_handle();
 		if (fsav) {
@@ -341,13 +285,9 @@
 				fsav_free_handle(fsav);
 
 				/* grant access */
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 				return SMB_VFS_NEXT_OPEN(handle, conn,
 							 fname, flags,
 							 mode);
-#else
-				return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
 			}
 			/* ok, we must check the file */
 
@@ -387,21 +327,12 @@
 			} else if (retval == VSCAN_SCAN_VIRUS_FOUND) {
 				fsav_free_handle(fsav);
 				/* do action ... */
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 				rc = vscan_do_infected_file_action(handle,
 								   conn,
 								   filepath,
 								   vscan_config.common.quarantine_dir,
 								   vscan_config.common.quarantine_prefix,
 						   		   vscan_config.common.infected_file_action);
-#else
-				rc = rc = vscan_do_infected_file_action(&default_vfs_ops,
-                                                                   conn,
-                                                                   filepath,
-                                                                   vscan_config.common.quarantine_dir,
-                                                                   vscan_config.common.quarantine_prefix,
-                                                                   vscan_config.common.infected_file_action);
-#endif
 
 				/* add/update file. mark file as infected! */
 				lrufiles_add(filepath, stat_buf.st_mtime,
@@ -420,20 +351,12 @@
 		/* close handle */
 		fsav_free_handle(fsav);
 	}
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
        return SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
-#else
-       return default_vfs_ops.open(conn, fname, flags, mode);
-#endif
 
 }
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 static int vscan_close(vfs_handle_struct * handle, files_struct * fsp,
 		       int fd)
-#else
-static int vscan_close(struct files_struct *fsp, int fd)
-#endif
 {
 	fsav_handle *fsav;
 	pstring filepath;
@@ -441,11 +364,7 @@
 	char client_ip[CLIENT_IP_SIZE];
 
 	/* First close the file */
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
         retval = SMB_VFS_NEXT_CLOSE(handle, fsp, fd);
-#else
-        retval = default_vfs_ops.close(fsp, fd);
-#endif
 
 	if (!vscan_config.common.scan_on_close) {
 		DEBUG(3,
@@ -518,21 +437,12 @@
 		rv = fsav_scan(fsav, filepath, client_ip);
 		if (rv == VSCAN_SCAN_VIRUS_FOUND) {
 			/* virus was found */
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 			rc = vscan_do_infected_file_action(handle,
 							   fsp->conn,
 							   filepath,
 							   vscan_config.common.quarantine_dir,
 							   vscan_config.common.quarantine_prefix,
 							   vscan_config.common.infected_file_action);
-#else
-			rc = vscan_do_infected_file_action(&default_vfs_ops,
-                                                           fsp->conn,
-                                                           filepath,
-                                                           vscan_config.common.quarantine_dir,
-                                                           vscan_config.common.quarantine_prefix,
-                                                           vscan_config.common.infected_file_action);
-#endif
 		}
 		/* FIXME: shouldn't we handle errors as well? */
 
@@ -540,7 +450,6 @@
 	return retval;
 }
 
-#if (SMB_VFS_INTERFACE_VERSION >= 6)
 /* Samba 3.0 */
 NTSTATUS init_module(void)
 {
@@ -556,111 +465,9 @@
 
 	return ret;
 }
-#else
-/* VFS initialisation function.  Return initialised vfs_ops structure
-   back to SAMBA. */
-#if SAMBA_VERSION_MAJOR==3
- /* Samba 3.0 alphaX */
- vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops,
-                        struct smb_vfs_handle_struct *vfs_handle)
-#else
- /* Samba 2.2.x */
- #if SAMBA_VERSION_RELEASE>=4
-  /* Samba 2.2.4 */
-  struct vfs_ops *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops)
- #elif SAMBA_VERSION_RELEASE==2
-  /* Samba 2.2.2 / Samba 2.2.3 !!! */
-  struct vfs_ops *vfs_init(int* Version, struct vfs_ops *ops)
- #elif SAMBA_VERSION_RELEASE==1
-  /* Samba 2.2.1 */
-  struct vfs_ops *vfs_module_init(int *vfs_version)
- #else
-  /* Samba 2.2.0 */
-  struct vfs_ops *vfs_init(int *vfs_version)
- #endif
-#endif
-{
-        #if SAMBA_VERSION_MAJOR!=3
-         #if SAMBA_VERSION_RELEASE>=4
-          /* Samba 2.2.4 */
-          struct vfs_ops tmp_ops;
-         #endif
-        #endif
-
-        openlog("smbd_"VSCAN_MODULE_STR, LOG_PID, SYSLOG_FACILITY);
 
-        #if SAMBA_VERSION_MAJOR==3
-         /* Samba 3.0 alphaX */
-         *vfs_version = SMB_VFS_INTERFACE_VERSION;
-         vscan_syslog("samba-vscan (%s) loaded (Samba 3.x), (c) by Rainer Link, OpenAntiVirus.org", module_id);
-        #else
-         /* Samba 2.2.x */
-         #if SAMBA_VERSION_RELEASE>=4
-          /* Samba 2.2.4 */
-          *vfs_version = SMB_VFS_INTERFACE_VERSION;
-          vscan_syslog("samba-vscan (%s) loaded (Samba >=2.2.4), (c) by Rainer Link, OpenAntiVirus.org", module_id);
-         #elif SAMBA_VERSION_RELEASE==2
-          /* Samba 2.2.2 / Samba 2.2.3 !!! */
-          *Version = SMB_VFS_INTERFACE_VERSION;
-          vscan_syslog("samba-vscan (%s) loaded (Samba 2.2.2/2.2.3), (c) by Rainer Link, OpenAntiVirus.org", module_id);
-         #else
-          /* Samba 2.2.1 / Samba 2.2.0 */
-          *vfs_version = SMB_VFS_INTERFACE_VERSION;
-          vscan_syslog("samba-vscan (%s) loaded (Samba 2.2.0/2.2.1), (c) by Rainer Link, OpenAntiVirus.org",
-               module_id);
-         #endif
-        #endif
-
-
-        #if SAMBA_VERSION_MAJOR==3
-         /* Samba 3.0 alphaX */
-         DEBUG(3, ("Initialising default vfs hooks\n"));
-         memcpy(&default_vfs_ops, def_vfs_ops, sizeof(struct vfs_ops));
-
-         /* Remember vfs_handle for further allocation and referencing of
-            private information in vfs_handle->data
-         */
-         vscan_handle = vfs_handle;
-         return vscan_ops;
-        #else
-         /* Samba 2.2.x */
-         #if SAMBA_VERSION_RELEASE>=4
-          /* Samba 2.2.4 */
-
-          *vfs_version = SMB_VFS_INTERFACE_VERSION;
-          memcpy(&tmp_ops, def_vfs_ops, sizeof(struct vfs_ops));
-          tmp_ops.connect = vscan_connect;
-          tmp_ops.disconnect = vscan_disconnect;
-          tmp_ops.open = vscan_open;
-          tmp_ops.close = vscan_close;
-          memcpy(&vscan_ops, &tmp_ops, sizeof(struct vfs_ops));
-          return(&vscan_ops);
-
-         #else
-          /* Samba 2.2.3-2.2.0 */
-          return(&vscan_ops);
-         #endif
-        #endif
-}
-
-
-#if SAMBA_VERSION_MAJOR==3
 /* VFS finalization function */
 void vfs_done(connection_struct *conn)
 {
         DEBUG(3, ("Finalizing default vfs hooks\n"));
 }
-#endif
-
-#endif /* #if (SMB_VFS_INTERFACE_VERSION >= 6) */
-
-
-
-/*
- * init done
- */
-
-void vfs_done(connection_struct * conn)
-{
-	DEBUG(3, ("Finalizing default vfs hooks\n"));
-}





-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click