Bugzilla – Attachment 26856 Details for
Bug 64002
VUL-0: CVE-2004-1014: rpc.statd DoS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
patch ported to 1.0.1
nfs-utils-1.0.1-statd.patch (text/x-diff), 2.75 KB, created by
Ruediger Oertel
on 2004-12-08 19:04:23 UTC
(
hide
)
Description:
patch ported to 1.0.1
Filename:
MIME Type:
Creator:
Ruediger Oertel
Created:
2004-12-08 19:04:23 UTC
Size:
2.75 KB
patch
obsolete
>--- utils/statd/monitor.c >+++ utils/statd/monitor.c >@@ -15,6 +15,7 @@ > #include <string.h> > #include <unistd.h> > #include <sys/stat.h> >+#include <errno.h> > #include <arpa/inet.h> > #include "misc.h" > #include "statd.h" >@@ -171,7 +172,7 @@ > sprintf(path, SM_DIR "/%s", mon_name); > if ((fd = open(path, O_WRONLY|O_SYNC|O_CREAT, S_IRUSR|S_IWUSR)) < 0) { > /* Didn't fly. We won't monitor. */ >- log(L_ERROR, "creat(%s) failed: %m", path); >+ log(L_ERROR, "creat(%s) failed: %s", path,strerror(errno)); > nlist_free(NULL, clnt); > free(path); > goto failure; >--- utils/statd/rmtcall.c >+++ utils/statd/rmtcall.c >@@ -34,6 +34,7 @@ > #include <netdb.h> > #include <string.h> > #include <unistd.h> >+#include <errno.h> > #include "sm_inter.h" > #include "statd.h" > #include "notlist.h" >@@ -56,7 +57,7 @@ > return sockfd; > > if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { >- log(L_CRIT, "Can't create socket: %m"); >+ log(L_CRIT, "Can't create socket: %s",strerror (errno)); > return -1; > } > >@@ -191,9 +192,9 @@ > > if ((err = sendto(sockfd, msgbuf, msglen, 0, > (struct sockaddr *) sin, sizeof(*sin))) < 0) { >- dprintf(L_WARNING, "xmit_mesg: sendto failed: %m"); >+ dprintf(L_WARNING, "xmit_mesg: sendto failed: %s", strerror (errno)); > } else if (err != msglen) { >- dprintf(L_WARNING, "xmit_mesg: short write: %m\n"); >+ dprintf(L_WARNING, "xmit_mesg: short write: %s\n", strerror (errno)); > } > > xdr_destroy(xdrs); >@@ -213,7 +214,7 @@ > /* Receive message */ > if ((msglen = recvfrom(sockfd, msgbuf, sizeof(msgbuf), 0, > (struct sockaddr *) sin, &alen)) < 0) { >- dprintf(L_WARNING, "recv_rply: recvfrom failed: %m"); >+ dprintf(L_WARNING, "recv_rply: recvfrom failed: %s", strerror (errno)); > return NULL; > } > >--- utils/statd/simulate.c >+++ utils/statd/simulate.c >@@ -219,7 +219,7 @@ > { > static char *result; > >- dprintf (L_DEBUG, "Recieved state %d for mon_name %s (opaque \"%s\")", >+ dprintf (L_DEBUG, "Received state %d for mon_name %s (opaque \"%s\")", > argp->state, argp->mon_name, argp->priv); > svc_exit (); > return ((void *)&result); >--- utils/statd/statd.c >+++ utils/statd/statd.c >@@ -254,6 +254,11 @@ > signal (SIGTERM, killer); > /* WARNING: the following works on Linux and SysV, but not BSD! */ > signal(SIGCHLD, SIG_IGN); >+ /* >+ * Ignore SIGPIPE to avoid statd dying when peers close their >+ * TCP connection while we're trying to reply to them. >+ */ >+ signal(SIGPIPE, SIG_IGN); > > /* initialize out_port */ > statd_get_socket(out_port); >--- utils/statd/svc_run.c >+++ utils/statd/svc_run.c >@@ -113,7 +113,7 @@ > if (errno == EINTR || errno == ECONNREFUSED > || errno == ENETUNREACH || errno == EHOSTUNREACH) > continue; >- log(L_ERROR, "my_svc_run() - select: %m"); >+ log(L_ERROR, "my_svc_run() - select: %s",strerror(errno)); > return; > > case 0:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 64002
:
26816
| 26856 |
26858
|
26859