From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040312 Description of problem: The findHostByRoute function in /usr/share/rhn/up2date_client/hardware.py fails to connect to the proxy if there is no service on port 80 due to a hardcoded "80" in s.connect: if cfg['enableProxy']: server_port = up2dateUtils.getProxySetting() server = string.split(server_port, ':')[0] s.connect((server, 80)) Version-Release number of selected component (if applicable): up2date-4.2.5-1 How reproducible: Sometimes Steps to Reproduce: 1. Configure a proxy that has no service on port 80 2. Configure Up2date to use that proxy 3. Try to register Actual Results: [steiale@redadmin steiale]$ up2date Traceback (most recent call last): File "/usr/share/rhn/up2date_client/gui.py", line 752, in onProfilePagePrepare self.hardware = hardware.Hardware() File "/usr/share/rhn/up2date_client/hardware.py", line 517, in Hardware ret = read_network() File "/usr/share/rhn/up2date_client/hardware.py", line 345, in read_network hostname, ipaddr = findHostByRoute() File "/usr/share/rhn/up2date_client/hardware.py", line 320, in findHostByRoute s.connect((server, 80)) socket.error: (111, 'Connection refused') Additional info:
Should be fixed in 4.2.8 or higher (aka, u3 versions)
make that the u2 release (second set of updates)
A possible fix to this: In hardware.py in function findHostByRoute() change this: if cfg['enableProxy']: server_port = up2dateUtils.getProxySetting() server = string.split(server_port, ':')[0] s.connect((server, 80)) to this: if cfg['enableProxy']: server_port = up2dateUtils.getProxySetting() server = string.split(server_port, ':')[0] port = string.split(server_port, ':')[1] s.connect((server, int(port)))