Created attachment 439195 [details] patch to allow rpc services to bind to a specific port Description of problem: rpc services started by xinetd cannot be bound to a specific port; xinetd just ignores the 'port' line in the service config file. Since RPC uses random ports by default, this makes it impossible to run a firewall. Some RPC services, e.g., the NFS daemons, allow you to bind to a specific port, but not all daemons have this feature, e.g., rpc.rstatd (from rusers-server package). The attached patch honors the 'port' line for RPC services. Version-Release number of selected component (if applicable): xinetd-2.3.14-10.el5.x86_64 rusers-server-0.17-47.x86_64 How reproducible: every time Steps to Reproduce: 1. create /etc/xinetd.d/rstatd-server with contents ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ service rstatd { disable = no type = RPC socket_type = dgram protocol = udp server = /usr/sbin/rpc.rstatd wait = yes flags = IPv4 port = 60222 user = root group = root rpc_version = 1-4 instances = 1 } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2. service xinetd restart 3. rpcinfo -p localhost | grep rstatd Actual results: rstatd is running on a random port, i.e., not 60222 as requested $ rpcinfo -p localhost | grep rstatd 100001 1 udp 58497 rstatd ... Expected results: rstatd is running on port 60222 $ rpcinfo -p localhost | grep rstatd 100001 1 udp 60222 rstatd ... Additional info:
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-0827.html