An error occurred while fetching folder content.
Improve IPMI password validation (#11325)
Andrew Walker authored
This addresses a couple of issues with IPMI password validation

1) The webui lists password complexity requirements that are
   not validated within middleware before sending payload
   through ipmitool.

2) Password length of 20 characters is enforced in middleware,
   but this value exceeds that supported by ipmi 1.5 (16 characters).

The first item is problematic because the error messages from ipmitool
for passwords that lack sufficient complexity are less than helpful
("Request data field length limit exceeded").

The second item is also incredibly problematic because on some
devices a password of more than 16 characters will be silently
truncated to 16 characters.

This PR shifts validation to the middleware schema by introducing
two changes:

a) Password() schema type. This currently only hardcodes 'private'
key, but the guiding principal is that we can start shifting
places where we are handling passwords to have a common schema
so that it is simpler to identify and audit where middleware is
handling passwords.

b) PasswordComplexity validator. This implements validation of
the sort where you need two or three of certain character types
in a password.
7cad14b8
Name Last commit Last update