[dovecot-cvs] dovecot/src/lib ioloop-poll.c,1.10,1.11 restrict-process-size.c,1.2,1.3 restrict-process-size.h,1.1,1.2

cras at procontrol.fi cras at procontrol.fi
Sat Feb 1 04:06:14 EET 2003


Update of /home/cvs/dovecot/src/lib
In directory danu:/tmp/cvs-serv5656/src/lib

Modified Files:
	ioloop-poll.c restrict-process-size.c restrict-process-size.h 
Log Message:
Don't let login process fork()



Index: ioloop-poll.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib/ioloop-poll.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- ioloop-poll.c	27 Jan 2003 01:44:34 -0000	1.10
+++ ioloop-poll.c	1 Feb 2003 02:06:11 -0000	1.11
@@ -201,7 +201,7 @@
 		} else if (io->condition & IO_READ) {
 			if ((pollfd->revents & IO_POLL_INPUT) == 0)
 				continue;
-                        pollfd->revents &= ~IO_POLL_INPUT;
+			pollfd->revents &= ~IO_POLL_INPUT;
 		} else if (io->condition & IO_WRITE) {
 			if ((pollfd->revents & IO_POLL_OUTPUT) == 0)
 				continue;

Index: restrict-process-size.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib/restrict-process-size.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- restrict-process-size.c	1 Dec 2002 21:17:59 -0000	1.2
+++ restrict-process-size.c	1 Feb 2003 02:06:11 -0000	1.3
@@ -30,10 +30,18 @@
 #  include <sys/resource.h>
 #endif
 
-void restrict_process_size(unsigned int size __attr_unused__)
+void restrict_process_size(unsigned int size __attr_unused__,
+			   unsigned int max_processes __attr_unused__)
 {
 #ifdef HAVE_SETRLIMIT
 	struct rlimit rlim;
+
+#ifdef HAVE_RLIMIT_NPROC
+	rlim.rlim_max = rlim.rlim_cur =
+		max_processes < INT_MAX ? max_processes : RLIM_INFINITY;
+	if (setrlimit(RLIMIT_NPROC, &rlim) < 0)
+		i_fatal("setrlimit(RLIMIT_NPROC, %u): %m", size);
+#endif
 
 	rlim.rlim_max = rlim.rlim_cur =
 		size > 0 && size < INT_MAX/1024/1024 ?

Index: restrict-process-size.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib/restrict-process-size.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- restrict-process-size.h	1 Dec 2002 13:48:50 -0000	1.1
+++ restrict-process-size.h	1 Feb 2003 02:06:11 -0000	1.2
@@ -3,6 +3,7 @@
 
 /* Restrict max. process size. The size is in megabytes, setting it to
    (unsigned int)-1 sets it unlimited. */
-void restrict_process_size(unsigned int size);
+void restrict_process_size(unsigned int size __attr_unused__,
+			   unsigned int max_processes __attr_unused__);
 
 #endif




More information about the dovecot-cvs mailing list