seveas / python-hpilo

Accessing the HP iLO XML interface from python

Home Page:https://seveas.github.io/python-hpilo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Incorrect conversion of integers to boolean

BrianSidebotham opened this issue · comments

The values are not serialised correctly using the Ilo.mod_global_settings() function with data such as:

        authentication_failure_delay_secs = 10,
        authentication_failure_logging = 3,
        authentication_failures_before_delay = 1,
        enforce_aes = false

The data gets serialised to:

<RIBCL VERSION="2.0">
  <LOGIN PASSWORD="xxxxxxxx" USER_LOGIN="Administrator">
    <RIB_INFO MODE="write">
     <MOD_GLOBAL_SETTINGS> 
       <AUTHENTICATION_FAILURES_BEFORE_DELAY VALUE="Yes" /> 
       <AUTHENTICATION_FAILURE_DELAY_SECS VALUE="10" />
       <ENFORCE_AES VALUE="No" /> 
       <AUTHENTICATION_FAILURE_LOGGING VALUE="3" />
      </MOD_GLOBAL_SETTINGS>
    </RIB_INFO>
  </LOGIN>
</RIBCL>

The problem is with the conversion of the integer 1 to Yes in this setting: <AUTHENTICATION_FAILURES_BEFORE_DELAY VALUE="Yes" />

So the response back from the iLO4 firmare (V2.40) is Invalid Integer for this setting. This appears to happen in other places too where 0 or 1 are the required values.

Fixed by #197, but leaving this issue open for now as other places may need adjusting.