You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jf...@apache.org on 2002/11/21 17:23:59 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_socket.c jk_channel_un.c jk_logger_file.c
jfclere 2002/11/21 08:23:59
Modified: jk/native2/common jk_channel_socket.c jk_channel_un.c
jk_logger_file.c
Log:
Add FD_CLOEXEC to prevent log file and sockets beeing opened in a son process.
Submitted by Martin Kraemer.
Revision Changes Path
1.45 +5 -0 jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c
Index: jk_channel_socket.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- jk_channel_socket.c 7 Nov 2002 16:46:28 -0000 1.44
+++ jk_channel_socket.c 21 Nov 2002 16:23:59 -0000 1.45
@@ -364,6 +364,11 @@
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,(char *)&set,sizeof(set));
}
+#if defined(F_SETFD) && defined(FD_CLOEXEC)
+ /* Protect the socket so that it will not be inherited by child processes */
+ fcntl(sock, F_SETFD, FD_CLOEXEC);
+#endif
+
if( ch->mbean->debug > 0 )
env->l->jkLog(env, env->l, JK_LOG_DEBUG,
"channelSocket.connect(), sock = %d\n", sock);
1.14 +6 -0 jakarta-tomcat-connectors/jk/native2/common/jk_channel_un.c
Index: jk_channel_un.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_un.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- jk_channel_un.c 8 Jul 2002 13:41:13 -0000 1.13
+++ jk_channel_un.c 21 Nov 2002 16:23:59 -0000 1.14
@@ -79,6 +79,7 @@
#include "jk_global.h"
#include <string.h>
+#include <fcntl.h>
#include "jk_registry.h"
#ifdef HAVE_UNIXSOCKETS
@@ -275,6 +276,11 @@
return JK_ERR;
}
}
+
+#if defined(F_SETFD) && defined(FD_CLOEXEC)
+ /* Protect the socket so that it will not be inherited by child processes */
+ fcntl(unixsock, F_SETFD, FD_CLOEXEC);
+#endif
if( ch->mbean->debug > 0 )
env->l->jkLog(env, env->l, JK_LOG_DEBUG,
1.36 +8 -1 jakarta-tomcat-connectors/jk/native2/common/jk_logger_file.c
Index: jk_logger_file.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_logger_file.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- jk_logger_file.c 4 Oct 2002 16:08:19 -0000 1.35
+++ jk_logger_file.c 21 Nov 2002 16:23:59 -0000 1.36
@@ -67,6 +67,7 @@
#include "jk_map.h"
#include "jk_logger.h"
#include <stdio.h>
+#include <fcntl.h>
#include "jk_registry.h"
@@ -172,6 +173,12 @@
"Can't open log file %s\n", _this->name );
return JK_ERR;
}
+#if defined(F_SETFD) && defined(FD_CLOEXEC)
+ /* Protect the log file
+ * so that it will not be inherited by child processes
+ */
+ fcntl(fileno(f), F_SETFD, FD_CLOEXEC);
+#endif
_this->logger_private = f;
}
_this->jkLog(env, _this,JK_LOG_INFO,
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>