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.