Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 602450 Details for
Bug 845821
-milterfdleaks patch causes endless, high frequent log storm
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Proposed fix
sendmail-8.14.3-milterfdleaks.patch (text/plain), 2.13 KB, created by
Jaroslav Škarvada
on 2012-08-06 07:26:34 UTC
(
hide
)
Description:
Proposed fix
Filename:
MIME Type:
Creator:
Jaroslav Škarvada
Created:
2012-08-06 07:26:34 UTC
Size:
2.13 KB
patch
obsolete
>Patches by Paul Howarth >https://bugzilla.redhat.com/show_bug.cgi?id=485426 > >--- sendmail-8.14.3/sendmail/milter.c 2008-09-19 15:51:03.000000000 +0100 >+++ sendmail-8.14.3/sendmail/milter.c 2008-09-19 16:37:57.000000000 +0100 >@@ -30,6 +30,9 @@ > > # include <sm/fdset.h> > >+# include <unistd.h> >+# include <fcntl.h> >+ > static void milter_connect_timeout __P((int)); > static void milter_error __P((struct milter *, ENVELOPE *)); > static int milter_open __P((struct milter *, bool, ENVELOPE *)); >@@ -650,6 +653,7 @@ > SOCKADDR_LEN_T addrlen = 0; > int addrno = 0; > int save_errno; >+ int fdflags; > char *p; > char *colon; > char *at; >@@ -1186,6 +1190,21 @@ > (char *)&nodelay, sizeof(nodelay)); > } > # endif /* MILTER_NO_NAGLE && !defined(TCP_CORK) */ >+ >+ /* >+ ** Need to set close-on-exec for sock to prevent it >+ ** leaking to the local delivery process >+ */ >+ if ((fdflags = fcntl(sock, F_GETFD, 0)) == -1 || >+ fcntl(sock, F_SETFD, fdflags | FD_CLOEXEC) == -1) >+ { >+ save_errno = errno; >+ if (MilterLogLevel > 0) >+ sm_syslog(LOG_WARNING, e->e_id, >+ "Milter (%s): Unable to set close-on-exec on sock (%s)", >+ m->mf_name, sm_errstring(save_errno = errno)); >+ } >+ > return sock; > } > >--- sendmail-8.14.3/libmilter/listener.c 2007-04-23 23:22:50.000000000 +0100 >+++ sendmail-8.14.3/libmilter/listener.c 2008-06-18 16:36:38.000000000 +0100 >@@ -728,6 +728,7 @@ > int acnt = 0; /* error count for accept() failures */ > int scnt = 0; /* error count for select() failures */ > int save_errno = 0; >+ int fdflags; > #if !_FFR_WORKERS_POOL > sthread_t thread_id; > #endif /* !_FFR_WORKERS_POOL */ >@@ -807,6 +808,19 @@ > (void) smutex_unlock(&L_Mutex); > > /* >+ ** Need to set close-on-exec for connfd in case a user's >+ ** filter starts other applications >+ */ >+ if (ValidSocket(connfd) && ((fdflags = fcntl(connfd, F_GETFD, 0)) == -1 || >+ fcntl(connfd, F_SETFD, fdflags | FD_CLOEXEC) == -1)) >+ { >+ smi_log(SMI_LOG_WARN, >+ "%s: Unable to set close-on-exec on connfd (%s)", >+ smfi->xxfi_name, sm_errstring(errno)); >+ /* XXX: continue? */ >+ } >+ >+ /* > ** If remote side closes before accept() finishes, > ** sockaddr might not be fully filled in. > */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 845821
: 602450 |
694372