⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patches

📁 clamav 0.93rc1 - 最新版本的源代码
💻
📖 第 1 页 / 共 2 页
字号:
*** /home/njh/src/clamav-devel/trunk/./clamscan/clamscan.c	2008-02-15 09:45:55.000000000 +0000--- ./clamscan/clamscan.c	2008-02-15 11:55:10.000000000 +0000****************** 260,265 ****--- 260,268 ----  	return 72;      }  #endif+ #ifdef        _DEBUG+ 	_CrtDumpMemoryLeaks();+ #endif        return ret;  }*** /home/njh/src/clamav-devel/trunk/./clamscan/manager.h	2007-12-06 18:32:26.000000000 +0000--- ./clamscan/manager.h	2007-04-21 09:44:22.000000000 +0100****************** 34,37 ****--- 34,42 ----    int scanfile(const char *filename, struct cl_engine *engine, const struct passwd *user, const struct optstruct *opt, const struct cl_limits *limits, unsigned int options);  + #ifdef	_DEBUG+ /* breaks mspack/qtmd.c :-( */+ #define	free(p)	_free_dbg(p, _NORMAL_BLOCK)+ #endif+   #endif*** /home/njh/src/clamav-devel/trunk/./clamscan/others.c	2008-02-19 14:17:17.000000000 +0000--- ./clamscan/others.c	2008-02-19 14:17:56.000000000 +0000****************** 77,83 ****  /* FIXME: Handle users correctly */  int checkaccess(const char *path, const char *username, int mode)  {!     return !_access(path, mode);  }  #else  int checkaccess(const char *path, const char *username, int mode)--- 77,83 ----  /* FIXME: Handle users correctly */  int checkaccess(const char *path, const char *username, int mode)  {! 	return _access(path, mode) == 0;  }  #else  int checkaccess(const char *path, const char *username, int mode)*** /home/njh/src/clamav-devel/trunk/./freshclam/manager.c	2008-02-25 15:41:07.000000000 +0000--- ./freshclam/manager.c	2008-02-25 15:43:03.000000000 +0000****************** 49,55 ****--- 49,57 ----  #include <time.h>  #include <fcntl.h>  #include <sys/stat.h>+ #ifndef	C_WINDOWS  #include <dirent.h>+ #endif  #include <errno.h>  #include <zlib.h>  ****************** 212,218 ****  		break;  	}          logg("%cCan't get information about %s: %s\n", logerr ? '!' : '^', hostpt, herr);! 	close(socketfd);  	return -1;      }  --- 214,220 ----  		break;  	}          logg("%cCan't get information about %s: %s\n", logerr ? '!' : '^', hostpt, herr);! 	closesocket(socketfd);  	return -1;      }  ****************** 244,250 ****  	if(connect(socketfd, (struct sockaddr *) &name, sizeof(struct sockaddr_in)) == -1) {  #endif  	    logg("Can't connect to port %d of host %s (IP: %s)\n", port, hostpt, ipaddr);! 	    close(socketfd);  	    if((socketfd = getclientsock(localip)) == -1)  		return -1;  --- 246,252 ----  	if(connect(socketfd, (struct sockaddr *) &name, sizeof(struct sockaddr_in)) == -1) {  #endif  	    logg("Can't connect to port %d of host %s (IP: %s)\n", port, hostpt, ipaddr);! 	    closesocket(socketfd);  	    if((socketfd = getclientsock(localip)) == -1)  		return -1;  ****************** 255,261 ****  	}      }  !     close(socketfd);      return -2;  }  --- 257,263 ----  	}      }  !     closesocket(socketfd);      return -2;  }  ****************** 918,924 ****      }        while((dent = readdir(dir))) {! #ifndef C_INTERIX  	if(dent->d_ino)  #endif  	{--- 920,926 ----      }        while((dent = readdir(dir))) {! #if	(!defined(C_INTERIX)) && (!defined(C_WINDOWS))  	if(dent->d_ino)  #endif  	{*** /home/njh/src/clamav-devel/trunk/./freshclam/freshclam.c	2008-01-23 11:58:35.000000000 +0000--- ./freshclam/freshclam.c	2008-01-23 11:58:02.000000000 +0000****************** 419,424 ****--- 419,429 ----  #endif        /* change the current working directory */+     if(opt_check(opt, "datadir"))+ 	newdir = opt_arg(opt, "datadir");+     else+ 	newdir = cfgopt(copt, "DatabaseDirectory")->strarg;+       if(chdir(newdir)) {  	logg("Can't change dir to %s\n", newdir);  	opt_free(opt);****************** 493,499 ****  		opt_free(opt);  		freecfg(copt);  		return 70; /* FIXME */! 	    }              foreground = 0;  	    mprintf_disabled = 1;          }--- 498,504 ----  		opt_free(opt);  		freecfg(copt);  		return 70; /* FIXME */! 	   }              foreground = 0;  	    mprintf_disabled = 1;          }*** /home/njh/src/clamav-devel/trunk/./clamd/scanner.c	2008-02-15 09:45:21.000000000 +0000--- ./clamd/scanner.c	2008-02-15 09:50:04.000000000 +0000****************** 440,452 ****      if(!bound && !portscan) {  	logg("!ScanStream: Can't find any free port.\n");  	mdprintf(odesc, "Can't find any free port. ERROR\n");! 	close(sockfd);  	return -1;      } else {  	listen(sockfd, 1);  	if(mdprintf(odesc, "PORT %u\n", port) <= 0) {  	    logg("!ScanStream: error transmitting port.\n");! 	    close(sockfd);  	    return -1;  	}      }--- 440,452 ----      if(!bound && !portscan) {  	logg("!ScanStream: Can't find any free port.\n");  	mdprintf(odesc, "Can't find any free port. ERROR\n");! 	closesocket(sockfd);  	return -1;      } else {  	listen(sockfd, 1);  	if(mdprintf(odesc, "PORT %u\n", port) <= 0) {  	    logg("!ScanStream: error transmitting port.\n");! 	    closesocket(sockfd);  	    return -1;  	}      }****************** 455,471 ****  	case 0: /* timeout */  	    mdprintf(odesc, "Accept timeout. ERROR\n");  	    logg("!ScanStream %u: accept timeout.\n", port);! 	    close(sockfd);  	    return -1;  	case -1:  	    mdprintf(odesc, "Accept poll. ERROR\n");  	    logg("!ScanStream %u: accept poll failed.\n", port);! 	    close(sockfd);  	    return -1;      }        if((acceptd = accept(sockfd, NULL, NULL)) == -1) {! 	close(sockfd);  	mdprintf(odesc, "accept() ERROR\n");  	logg("!ScanStream %u: accept() failed.\n", port);  	return -1;--- 455,471 ----  	case 0: /* timeout */  	    mdprintf(odesc, "Accept timeout. ERROR\n");  	    logg("!ScanStream %u: accept timeout.\n", port);! 	    closesocket(sockfd);  	    return -1;  	case -1:  	    mdprintf(odesc, "Accept poll. ERROR\n");  	    logg("!ScanStream %u: accept poll failed.\n", port);! 	    closesocket(sockfd);  	    return -1;      }        if((acceptd = accept(sockfd, NULL, NULL)) == -1) {! 	closesocket(sockfd);  	mdprintf(odesc, "accept() ERROR\n");  	logg("!ScanStream %u: accept() failed.\n", port);  	return -1;****************** 475,482 ****        if(cli_gentempfd(NULL, &tmpname, &tmpd)) {  	shutdown(sockfd, 2);! 	close(sockfd);! 	close(acceptd);  	mdprintf(odesc, "cli_gentempfd() failed. ERROR\n");  	logg("!ScanStream %u: Can't create temporary file.\n", port);  	return -1;--- 475,482 ----        if(cli_gentempfd(NULL, &tmpname, &tmpd)) {  	shutdown(sockfd, 2);! 	closesocket(sockfd);! 	closesocket(acceptd);  	mdprintf(odesc, "cli_gentempfd() failed. ERROR\n");  	logg("!ScanStream %u: Can't create temporary file.\n", port);  	return -1;*** /home/njh/src/clamav-devel/trunk/./clamd/clamd.c	2008-02-18 16:35:00.000000000 +0000--- ./clamd/clamd.c	2008-02-18 16:37:26.000000000 +0000****************** 35,41 ****  #include <sys/stat.h>  #include <fcntl.h>  #include <time.h>! #ifndef	C_WINDOWS  #include <pwd.h>  #include <grp.h>  #endif--- 35,43 ----  #include <sys/stat.h>  #include <fcntl.h>  #include <time.h>! #ifdef	C_WINDOWS! #include <direct.h>	/* for chdir */! #else  #include <pwd.h>  #include <grp.h>  #endif****************** 65,70 ****--- 67,75 ----  #include "others.h"  #include "shared.h"  + #ifndef	C_WINDOWS+ #define	closesocket(s)	close(s)+ #endif    short debug_mode = 0, logok = 0;  short foreground = 0;****************** 86,92 ****--- 91,99 ----  {  	struct cfgstruct *copt;  	const struct cfgstruct *cpt;+ #ifndef	C_WINDOWS          struct passwd *user = NULL;+ #endif  	time_t currtime;  	struct cl_engine *engine = NULL;  	const char *dbdir, *cfgfile;****************** 281,288 ****--- 288,297 ----        logg("#clamd daemon "VERSION" (OS: "TARGET_OS_TYPE", ARCH: "TARGET_ARCH_TYPE", CPU: "TARGET_CPU_TYPE")\n");  + #ifndef	C_WINDOWS      if(user)  	logg("#Running as user %s (UID %u, GID %u)\n", user->pw_name, user->pw_uid, user->pw_gid);+ #endif        if(logg_size)  	logg("#Log file size limited to %d bytes.\n", logg_size);****************** 366,372 ****  	    logg_close();  	    freecfg(copt);  	    if(tcpsock)! 		close(lsockets[0]);  	    return 1;  	}  	nlsockets++;--- 375,381 ----  	    logg_close();  	    freecfg(copt);  	    if(tcpsock)! 		closesocket(lsockets[0]);  	    return 1;  	}  	nlsockets++;*** /home/njh/src/clamav-devel/trunk/./clamd/server-th.c	2008-02-25 15:44:06.000000000 +0000--- ./clamd/server-th.c	2008-02-25 15:45:37.000000000 +0000****************** 573,579 ****  		client_conn->socketds = socketds;  		client_conn->nsockets = nsockets;  		if (!thrmgr_dispatch(thr_pool, client_conn)) {! 		    close(client_conn->sd);  		    free(client_conn);  		    logg("!thread dispatch failed\n");  		}--- 573,579 ----  		client_conn->socketds = socketds;  		client_conn->nsockets = nsockets;  		if (!thrmgr_dispatch(thr_pool, client_conn)) {! 		    closesocket(client_conn->sd);  		    free(client_conn);  		    logg("!thread dispatch failed\n");  		}****************** 581,589 ****    	pthread_mutex_lock(&exit_mutex);  	if(progexit) {! 	    if (new_sd >= 0) {! 		close(new_sd);! 	    }  	    pthread_mutex_unlock(&exit_mutex);  	    break;  	}--- 581,592 ----    	pthread_mutex_lock(&exit_mutex);  	if(progexit) {! #ifdef	C_WINDOWS! 	    closesocket(new_sd);! #else!   	    if (new_sd >= 0)! 		closesocket(new_sd);! #endif  	    pthread_mutex_unlock(&exit_mutex);  	    break;  	}****************** 607,614 ****  	    engine = reload_db(engine, dboptions, copt, FALSE, &ret);  	    if(ret) {  		logg("Terminating because of a fatal error.\n");! 		if(new_sd >= 0)! 		    close(new_sd);  		break;  	    }  	    pthread_mutex_lock(&reload_mutex);--- 610,621 ----  	    engine = reload_db(engine, dboptions, copt, FALSE, &ret);  	    if(ret) {  		logg("Terminating because of a fatal error.\n");! #ifdef	C_WINDOWS! 		closesocket(new_sd);! #else! 		if (new_sd >= 0)! 			closesocket(new_sd);! #endif  		break;  	    }  	    pthread_mutex_lock(&reload_mutex);*** /home/njh/src/clamav-devel/trunk/./clamd/tcpserver.c	2008-02-18 16:35:00.000000000 +0000--- ./clamd/tcpserver.c	2008-02-18 16:37:46.000000000 +0000****************** 51,56 ****--- 51,60 ----  #include "server.h"  #include "tcpserver.h"  + #ifndef	C_WINDOWS+ #define	closesocket(s)	close(s)+ #endif+   int tcpserver(const struct cfgstruct *copt)  {  	struct sockaddr_in server;****************** 87,93 ****      if(bind(sockfd, (struct sockaddr *) &server, sizeof(struct sockaddr_in)) == -1) {  	estr = strerror(errno);  	logg("!TCP: bind() error: %s\n", estr);! 	close(sockfd);  	return -1;      } else {  	if(taddr->enabled)--- 91,97 ----      if(bind(sockfd, (struct sockaddr *) &server, sizeof(struct sockaddr_in)) == -1) {  	estr = strerror(errno);  	logg("!TCP: bind() error: %s\n", estr);! 	closesocket(sockfd);  	return -1;      } else {  	if(taddr->enabled)****************** 102,108 ****      if(listen(sockfd, backlog) == -1) {  	estr = strerror(errno);  	logg("!TCP: listen() error: %s\n", estr);! 	close(sockfd);  	return -1;      }  --- 106,112 ----      if(listen(sockfd, backlog) == -1) {  	estr = strerror(errno);  	logg("!TCP: listen() error: %s\n", estr);! 	closesocket(sockfd);  	return -1;      }  *** /home/njh/src/clamav-devel/trunk/./clamdscan/client.c	2008-01-23 16:19:16.000000000 +0000--- ./clamdscan/client.c	2008-02-25 15:57:20.000000000 +0000****************** 15,36 ****--- 15,44 ----   *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,   *  MA 02110-1301, USA.   */+ #ifdef	_MSC_VER+ #include <winsock.h>+ #endif+     #if HAVE_CONFIG_H  #include "clamav-config.h"  #endif    #include <stdio.h>+ #ifdef	HAVE_UNISTD_H  #include <unistd.h>+ #endif  #include <string.h>  #include <sys/types.h>  #include <sys/stat.h>+ #ifndef	C_WINDOWS  #include <sys/socket.h>  #include <sys/un.h>  #include <netinet/in.h>  #include <arpa/inet.h>  #include <netdb.h>  #include <utime.h>+ #endif  #include <errno.h>    #ifdef HAVE_SYS_UIO_H****************** 52,60 ****--- 60,137 ----  # define SOCKET_INET	AF_INET  #endif  + #ifndef	C_WINDOWS+ #define	closesocket(s)	close(s)+ #endif+ + /* #define ENABLE_FD_PASSING	    FIXME: Doesn't work yet */+   void move_infected(const char *filename, const struct optstruct *opt);  int notremoved = 0, notmoved = 0;  + #ifdef	C_WINDOWS+ static  int     get_a_line(int sockd, char *buf, size_t len);+ + static int+ dsresult(int sockd, const struct optstruct *opt)+ {+ 	char buff[BUFSIZ], *pt;+ 	int infected = 0, waserror = 0;+ + 	while(get_a_line(sockd, buff, sizeof(buff))) {+ 		if(strstr(buff, "FOUND\n")) {+ 			infected++;+ 			logg("%s", buff);+ 			if(opt_check(opt, "move") || opt_check(opt, "copy")) {+ 				/* filename: Virus FOUND */+ 				if((pt = strrchr(buff, ':'))) {+ 					*pt = 0;+ 					move_infected(buff, opt);+ 				} else+ 					mprintf("@Broken data format. File not %s.\n", opt_check(opt, "move") ? "moved" : "copied");+ 			} else if(opt_check(opt, "remove")) {+ 				if(!(pt = strrchr(buff, ':')))+ 					mprintf("@Broken data format. File not removed.\n");+ 				else {+ 					*pt = 0;+ 					if(unlink(buff)) {+ 						mprintf("~%s: Can't remove.\n", buff);+ 						logg("~%s: Can't remove.\n", buff);+ 						notremoved++;+ 					} else {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -