Bug 154645

Summary: ypbind binds on cups port
Product: [openSUSE] SUSE Linux 10.1 Reporter: Dirk Mueller <dmueller>
Component: BasesystemAssignee: Thorsten Kukuk <kukuk>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: suse-beta
Version: Beta 5   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Dirk Mueller 2006-03-02 10:36:44 UTC
ypbind sometimes binds cups ipp port (tcp), which is causing funny problems.
Comment 1 Thorsten Kukuk 2006-03-02 10:41:29 UTC
rpcinfo output?
Log files?
Comment 2 Dirk Mueller 2006-03-02 10:47:06 UTC
netstat --inet --listen -n -p | grep :631 shows it. 

Comment 3 Thorsten Kukuk 2006-03-02 10:49:27 UTC
Not on my installations,.

Please submit the requested output (and that one from netstat).
Comment 4 Dirk Mueller 2006-03-02 10:55:23 UTC
# rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32768  status
    100021    1   udp  32768  nlockmgr
    100021    3   udp  32768  nlockmgr
    100021    4   udp  32768  nlockmgr
    100024    1   tcp  52415  status
    100021    1   tcp  52415  nlockmgr
    100021    3   tcp  52415  nlockmgr
    100021    4   tcp  52415  nlockmgr
    100007    2   udp    631  ypbind
    100007    1   udp    631  ypbind
    100007    2   tcp    631  ypbind
    100007    1   tcp    631  ypbind

netstat --inet --listen -n -p | grep 631
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN      11517/ypbind
udp        0      0 0.0.0.0:631             0.0.0.0:*                           11517/ypbind



Comment 5 Thorsten Kukuk 2006-03-03 12:11:40 UTC
ypbind is using the same port for tcp and udp on your system. This means the code for not using this ports is working fine, and there is nothing I can do.

It seems the following is happen:

Somebody is going through all available ports (and will be blocked for the one
from /etc/bindresvport.blacklist) and use them for a short time. Now ypbind is started and goes through all reserved port (except the blacklisted one). None of this ports is available (pending, waiting, whatever). So in the second run no blacklist is used and ypbind gets the first free port, most of the time this is cups.
If the first run would find a free port, ypbind would get different ports for tcp and udp.