Bug 20200

Summary: rhn_check error handling empty actions
Product: [Retired] Red Hat Linux Reporter: Harald Hoyer <harald>
Component: up2dateAssignee: Cristian Gafton <gafton>
Status: CLOSED RAWHIDE QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-11-28 20:04:42 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 Harald Hoyer 2000-11-02 11:19:52 UTC
action should always be a dictionary, as checked in check_action:
    if type(action) != type({}):
        if argVerbose > 1:
            print "Got unparseable response:"
            print action
        print "if type(action) != type({})"
        sys.exit(-1)
but in the main loop a check against an empty string is made, so rhn_check
returns -1 instead of 0.

--- /usr/sbin/rhn_check.old     Thu Nov  2 12:21:48 2000
+++ /usr/sbin/rhn_check Thu Nov  2 12:21:05 2000
@@ -411,7 +410,7 @@
         listed in the %s file or that the
         RHNS-CA-CERT file is invalid.""" % rhns_ca_cert
         sys.exit(-1)
-    if action == "": 
+    if action == {}: 
         break
     check_action(action)   
     handle_action(action)

Comment 1 Cristian Gafton 2001-02-02 01:56:41 UTC
The check in the main loop is done before calling check_action. for compatbility
reasons the correct check in the main loop will be
	if action in ["", {}]
		break

Fixed in CVS.