Bug 528145

Summary: If hostname contains upper and lower case the communication between jabberd and osad/osa-dispatcher fails
Product: Red Hat Satellite 5 Reporter: Jochen Schmidt <rh.bugzilla>
Component: ServerAssignee: Justin Sherrill <jsherril>
Status: CLOSED WONTFIX QA Contact: Brandon Perkins <bperkins>
Severity: medium Docs Contact:
Priority: low    
Version: 530CC: cperry, risantam
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-28 20:39:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jochen Schmidt 2009-10-09 11:07:20 UTC
Description of problem:

If hostname contains upper and lower case the communication between jabberd and osad/osa-dispatcher fails.
The Jabberd will start successful. The osad/osa-dispatcher will not be able to connect to the jabberd. Increasing debug Information for osad/osa-dispatcher will show an SSL-Error.

Version-Release number of selected component (if applicable): 5.3.0
jabberd-2.0s10-3.52.el5sat.i386.rpm
osa-dispatcher-5.9.10-5.el5sat.noarch.rpm

How reproducible: always


Steps to Reproduce:
1. Install a RHN Satellite Server with a FQDN in upper and lower case e.g. RHN-satellite.mydom.local
2. Take a look on the logfile /var/log/rhn/osa-dispatcher.log after the installtion was successful
  
Actual results:
2009/10/07 15:12:18 +02:00 23230 0.0.0.0: rhnSQL/driver_cx_Oracle.connect('Connecting to database', 'rhnsat')
2009/10/07 15:12:19 +02:00 23230 0.0.0.0: osad/jabber_lib.__init__
2009/10/07 15:12:19 +02:00 23230 0.0.0.0: osad/jabber_lib.connect('ERROR', 'Server did not return a <features /> stanza')
2009/10/07 15:12:19 +02:00 23230 0.0.0.0: osad/jabber_lib.print_message('SSLError',)
2009/10/07 15:12:19 +02:00 23230 0.0.0.0: osad/jabber_lib.print_message('Could not connect to jabber server', 'DTD-ds-a-netmgm-1.testlab.t-systems')
2009/10/07 15:12:19 +02:00 23230 0.0.0.0: osad/jabber_lib.setup_connection('Could not connect to any jabber server',)
2009/10/07 15:12:19 +02:00 23230 0.0.0.0: osad/jabber_lib.main('Unable to connect to jabber servers, sleeping 10 seconds',)

Expected results:
Communcation between osad/osa-dispatcher and jabberd should work.
2009/10/07 17:40:21 +02:00 12761 0.0.0.0: rhnSQL/driver_cx_Oracle.connect('Connecting to database', 'rhnsat')
2009/10/07 17:40:22 +02:00 12761 0.0.0.0: osad/jabber_lib.__init__
2009/10/07 17:40:22 +02:00 12761 0.0.0.0: osad/jabber_lib.setup_connection('Connected to jabber server', 'dtd-ds-a-netmgm-1.testlab.t-systems')
2009/10/07 17:40:25 +02:00 12761 0.0.0.0: osad/osa_dispatcher.fix_connection('Upstream notification server started on port', 1290)
2009/10/07 17:40:30 +02:00 12761 0.0.0.0: osad/jabber_lib.process_forever


Additional info:
I've done some debugging:
- Changeing the Jabber hostname in /etc/rhn/rhn.conf:osa-dispatcher.jabber_server to lower case results in a SSL-Cert verify problem, which is OK.
2009/10/07 15:49:54 +02:00 26605 0.0.0.0: rhnSQL/driver_cx_Oracle.connect('Connecting to database', 'rhnsat')
2009/10/07 15:49:56 +02:00 26605 0.0.0.0: osad/jabber_lib.__init__
2009/10/07 15:49:58 +02:00 26605 0.0.0.0: osad/jabber_lib.connect('ERROR', 'Traceback caught:')
2009/10/07 15:49:58 +02:00 26605 0.0.0.0: osad/jabber_lib.connect('ERROR', 'Traceback (most recent call last):\n  File "/usr/share/rhn/osad/jabber_lib.py", line 618, in connect\n    self.verify_peer(ssl)\n  File "/usr/share/rhn/osad/jabber_lib.py", line 698, in verify_peer\n    raise SSLVerifyError("Mismatch: peer name: %s; common name: %s" %\nSSLVerifyError: Mismatch: peer name: dtd-ds-a-netmgm-1.testlab.t-systems; common name: DTD-ds-a-netmgm-1.testlab.t-systems.\n')

- Changeing the hostname in Jabberserver (/etc/jabberd/c2s.xml) to lower case will have the "stanza Error"

- At last Idea i've created a new SSL Certificate for the Jabberserver with the Common Name in lower case and changed the Jabber hostname in /etc/rhn/rhn.conf:osa-dispatcher.jabber_server to lower case.
This works as expected.
<speculation>
It SEEMS that the jabber server will convert the hostname to lower case and use this as realm. The Verify of the Certificate works with mixed upper/lower case Hostnames, but the realm is different since the jabberd realm is only in lower case and the realm used by osad is in mixed upper/lower case. This results in difference and the osad will report the stanza error.
</speculation>

Comment 1 Clifford Perry 2009-10-28 20:39:12 UTC
https://fedorahosted.org/spacewalk/wiki/How_to_rename_or_change_a_satellite_hostname

"NEVER use UPPERCASE letters in the Satellite hostname, things just don't work! "

In general I agree with your speculation. the starttls stuff does not like uppercase letters within the hostname. 

We note within the Satellite installation guide for FQDN's:

http://www.redhat.com/docs/en-US/Red_Hat_Network_Satellite/5.3/Installation_Guide/html/s1-requirements-additional.html

"Note
It is important that the hostname of a Satellite contains no uppercase letters. A hostname that includes uppercase letters can cause jabberd to fail.
Changing your hostname after installing Satellite is a complex process that is not recommended. "

As such, I will close this bug out, I doubt we will invest the time to *try* and fix this. I anticipate we had an old bug for this and determined we could not resolve the issue and so required a statement within our docs stating this will not work. 

Please feel free to open a support ticket if you wish to pursue this further. 

Regards,
Cliff.