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