SOURCES: rlinetd-rpc.patch (NEW) - register proper port with pmap_...

qboosh qboosh at pld-linux.org
Sun Mar 12 16:13:58 CET 2006


Author: qboosh                       Date: Sun Mar 12 15:13:58 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- register proper port with pmap_set()

---- Files affected:
SOURCES:
   rlinetd-rpc.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/rlinetd-rpc.patch
diff -u /dev/null SOURCES/rlinetd-rpc.patch:1.1
--- /dev/null	Sun Mar 12 16:13:58 2006
+++ SOURCES/rlinetd-rpc.patch	Sun Mar 12 16:13:53 2006
@@ -0,0 +1,25 @@
+--- rlinetd-0.5.20/grammar.y.orig	2006-03-11 11:19:06.468233000 +0100
++++ rlinetd-0.5.20/grammar.y	2006-03-11 22:36:15.883412750 +0100
+@@ -1190,14 +1190,20 @@
+ 				if(current_service->rpcnum) {
+ 					struct numlist *vers = current_service->rpcvers;
+ 					struct rl_cleanup *p;
++					struct sockaddr saddr2;
++
++					if (getsockname(fd, &saddr2, &saddrlen) == -1) {
++						RL_PWARN("getsockname(%d) failed for service %s", fd, current_service->name);
++						memcpy(&saddr2, saddr, sizeof(struct sockaddr));
++					}
+ 
+ 					do {
+ 						if(!pmap_set(current_service->rpcnum, vers->num,
+ 												 protocol,
+-												 ntohs(((struct sockaddr_in *)saddr)->sin_port)))
++												 ntohs(((struct sockaddr_in *)&saddr2)->sin_port)))
+ 							RL_PWARN("pmap_set(%d, %d, %d, %d) failed for service %s",
+ 											current_service->rpcnum, vers->num,
+-											protocol, ntohs(((struct sockaddr_in *)saddr)->sin_port),
++											protocol, ntohs(((struct sockaddr_in *)&saddr2)->sin_port),
+ 											current_service->name);
+ 					} while((vers = vers->next));
+ 					p = (struct rl_cleanup *)malloc(sizeof(struct rl_cleanup));
================================================================


More information about the pld-cvs-commit mailing list