.LP
"authcap" - This workaround option will skip early checks for username
capabilities, authentication capabilities, and K_g support and allow
IPMI authentication to succeed.  It works around multiple issues in
which the remote system does not properly report username
capabilities, authentication capabilities, or K_g status.  Those
hitting this issue may see "username invalid", "authentication type
unavailable for attempted privilege level", or "k_g invalid" errors.
Issue observed on Asus P5M2/P5MT-R/RS162-E4/RX4, Intel SR1520ML/X38ML,
and Sun Fire 2200/4150/4450 with ELOM.
.LP
"idzero" - This workaround option will allow empty session IDs to be
accepted by the client.  It works around IPMI sessions that report
empty session IDs to the client.  Those hitting this issue may see
"session timeout" errors.  Issue observed on Tyan S2882 with M3289
BMC.
.LP
"unexpectedauth" - This workaround option will allow unexpected
non-null authcodes to be checked as though they were expected.  It
works around an issue when packets contain non-null authentication
data when they should be null due to disabled per-message
authentication.  Those hitting this issue may see "session timeout"
errors.  Issue observed on Dell PowerEdge 2850,SC1425.  Confirmed
fixed on newer firmware.
.LP
"forcepermsg" - This workaround option will force per-message
authentication to be used no matter what is advertised by the remote
system.  It works around an issue when per-message authentication is
advertised as disabled on the remote system, but it is actually
required for the protocol.  Those hitting this issue may see "session
timeout" errors.  Issue observed on IBM eServer 325.
.LP
"endianseq" - This workaround option will flip the endian of the
session sequence numbers to allow the session to continue properly.
It works around IPMI 1.5 session sequence numbers that are the wrong
endian.  Those hitting this issue may see "session timeout" errors.
Issue observed on some Sun ILOM 1.0/2.0 (depends on service processor
endian).
.LP
"intel20" - This workaround option will work around several Intel IPMI
2.0 authentication issues.  The issues covered include padding of
usernames, and password truncation if the authentication algorithm is
HMAC-MD5-128.  Those hitting this issue may see "username invalid",
"password invalid", or "k_g invalid" errors.  Issue observed on Intel
SE7520AF2 with Intel Server Management Module (Professional Edition).
.LP
"supermicro20" - This workaround option will work around several
Supermicro IPMI 2.0 authentication issues on motherboards w/ Peppercon
IPMI firmware.  The issues covered include handling invalid length
authentication codes.  Those hitting this issue may see "password
invalid" errors.  Issue observed on Supermicro H8QME with SIMSO
daughter card.  Confirmed fixed on newerver firmware.
.LP
"sun20" - This workaround option will work work around several Sun
IPMI 2.0 authentication issues.  The issues covered include invalid
lengthed hash keys, improperly hashed keys, and invalid cipher suite
records.  Those hitting this issue may see "password invalid" or "bmc
error" errors.  Issue observed on Sun Fire 4100/4200/4500 with ILOM.
This workaround automatically includes the "opensesspriv" workaround.
.LP
"opensesspriv" - This workaround option will slightly alter FreeIPMI's
IPMI 2.0 connection protocol to workaround an invalid hashing
algorithm used by the remote system.  The privilege level sent during
the Open Session stage of an IPMI 2.0 connection is used for hashing
keys instead of the privilege level sent during the RAKP1 connection
stage.  Those hitting this issue may see "password invalid", "k_g
invalid", or "bad rmcpplus status code" errors.  Issue observed on Sun
Fire 4100/4200/4500 with ILOM, Inventec 5441/Dell Xanadu II,
Supermicro X8DTH, Supermicro X8DTG, and Intel S5500WBV/Penguin Relion
700.  This workaround is automatically triggered with the "sun20"
workaround.
.LP
"integritycheckvalue" - This workaround option will work around an
invalid integrity check value during an IPMI 2.0 session establishment
when using Cipher Suite ID 0.  The integrity check value should be 0
length, however the remote motherboard responds with a non-empty
field.  Those hitting this issue may see "k_g invalid" errors.  Issue
observed on Supermicro X8DTG, Supermicro X8DTU, and Intel
S5500WBV/Penguin Relion 700.
