Bug 618267 - error sending hardware profile when non-xmlrpc-compliant chars are returned by dmidecode
Summary: error sending hardware profile when non-xmlrpc-compliant chars are returned b...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: Clients
Version: 1.1
Hardware: All
OS: Linux
urgent
high
Target Milestone: ---
Assignee: Miroslav Suchý
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: 579830 space11 618250 618252 619492
TreeView+ depends on / blocked
 
Reported: 2010-07-26 14:25 UTC by Miroslav Suchý
Modified: 2010-08-19 08:24 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 579830
Environment:
Last Closed: 2010-08-19 08:24:21 UTC
Embargoed:


Attachments (Terms of Use)

Description Miroslav Suchý 2010-07-26 14:25:05 UTC
+++ This bug was initially created as a clone of Bug #579830 +++

Public summary:

Description of problem:
Registration of RHEL 4 system fails when the BIOS information returned by dmidecode contains characters like "form feed" (0x0c).

How reproducible:
100% for about a dozen of this customer's servers (Sun Fire X4150).

Steps to Reproduce:
Run rhnreg_ks or rhn_register to register system to Satellite server.

Actual results:
Registration fails with Internal Server Error, and the following in /var/log/up2date on the client system:

[Thu Mar 18 19:30:16 2010] up2date A protocol error occurred: Internal Server Error , attempt #1,
[Thu Mar 18 19:30:21 2010] up2date A protocol error occurred: Internal Server Error , attempt #2,
[Thu Mar 18 19:30:26 2010] up2date A protocol error occurred: Internal Server Error , attempt #3,
[Thu Mar 18 19:30:31 2010] up2date A protocol error occurred: Internal Server Error , attempt #4,
[Thu Mar 18 19:30:37 2010] up2date A protocol error occurred: Internal Server Error , attempt #5,
[Thu Mar 18 19:30:37 2010] up2date Internal Server Error
[Thu Mar 18 19:30:37 2010] up2date   File "/usr/sbin/rhnreg_ks", line 404, in ?
   main()
  File "/usr/sbin/rhnreg_ks", line 359, in main
   rhnreg.sendHardware(systemId, hardwareList)
  File "/usr/share/rhn/up2date_client/rhnreg.py", line 569, in sendHardware
   rpcServer.doCall(s.registration.add_hw_profile, systemId, hardwareList)
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 309, in doCall
   raise up2dateErrors.CommunicationError(e.errmsg)

Expected results:
Successful registration.


Additionally - this strings couse problem as well:

'usbprod': 'Natural\xae Ergonomic Keyboard 4000'
'usbprod': 'Microsoft Trackball Explorer\xae'
'usbprod': 'Natural\xae Ergonomic Keyboard 4000'

Comment 1 Miroslav Suchý 2010-07-26 14:34:27 UTC
commit c37e320027949b7e69900dd88f1ff97594fbfafe address issue with 0x0c and others control characters

Comment 2 Miroslav Suchý 2010-07-27 12:26:23 UTC
commit 6f7c1cd5714b536d10d78273645ba6f5779ed3f8 should address issue with characters abouve ord(127) - like 'Natural\xae Ergonomic Keyboard 4000'

Comment 3 Miroslav Suchý 2010-08-13 08:56:50 UTC
in commit 931c907632ef023d66cec1dbc483851559d935a6
I simplified the regexp. 
It did not work on some strings. E.g.
'\x02\x0f\x0eJ1A1' or
'\xff\xff\x04\x05\x06H2'
This string returns dmidecode in some machines in our lab.
The offending part of regexp was [\ud800-\udfff] and I do not why it does not work.
Since no knon hw return unicode chars (i.e above \xFF) I completly removed this part of regexp.

Comment 4 Milan Zázrivec 2010-08-19 08:24:21 UTC
Spacewalk 1.1 has been released.


Note You need to log in before you can comment on or make changes to this bug.