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));
================================================================
_______________________________________________
pld-cvs-commit mailing list
pld-cvs-commit@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to