diff src/master/login-process.c @ 5632:2ed5abe3aaef HEAD

Moved SSL listen fd to 4. stdout is now redirected to log.
author Timo Sirainen <tss@iki.fi>
date Thu, 17 May 2007 16:58:55 +0300
parents a977ad033903
children f655c4d4a419
line wrap: on
line diff
--- a/src/master/login-process.c	Wed May 16 23:38:58 2007 +0300
+++ b/src/master/login-process.c	Thu May 17 16:58:55 2007 +0300
@@ -597,7 +597,7 @@
 
 	max_log_lines_per_sec =
 		group->set->login_process_per_connection ? 10 : 0;
-	log_fd = log_create_pipe(&log, max_log_lines_per_sec);
+	log_fd = log_create_pipe(&log, /*max_log_lines_per_sec*/0);
 	if (log_fd < 0)
 		pid = -1;
 	else {
@@ -646,9 +646,15 @@
 		i_fatal("dup2(master) failed: %m");
 	fd_close_on_exec(LOGIN_MASTER_SOCKET_FD, FALSE);
 
-	if (dup2(log_fd, 2) < 0)
+	if (dup2(log_fd, STDERR_FILENO) < 0)
 		i_fatal("dup2(stderr) failed: %m");
-	fd_close_on_exec(2, FALSE);
+	fd_close_on_exec(STDERR_FILENO, FALSE);
+
+	/* redirect writes to stdout also to error log. For example OpenSSL
+	   can be made to log its debug messages to stdout. */
+	if (dup2(log_fd, STDOUT_FILENO) < 0)
+		i_fatal("dup2(stdout) failed: %m");
+	fd_close_on_exec(STDOUT_FILENO, FALSE);
 
 	(void)close(fd[0]);
 	(void)close(fd[1]);