Problem
CRAM-MD5 authentication combines protocol challenges and credentials using their external Ruby encodings. Valid non-ASCII credential bytes can raise encoding errors or produce a digest over transcoded rather than exact protocol bytes.
Prepared atomic commit 2feb08051400a55ba11d74d0023f53ed688d6e5f performs HMAC input/key handling on binary views while preserving caller strings. Dual-Ruby vectors cover ASCII, UTF-8 and arbitrary byte keys/challenges and pass with the full suite. No repository tests were modified.
Problem
CRAM-MD5 authentication combines protocol challenges and credentials using their external Ruby encodings. Valid non-ASCII credential bytes can raise encoding errors or produce a digest over transcoded rather than exact protocol bytes.
Prepared atomic commit
2feb08051400a55ba11d74d0023f53ed688d6e5fperforms HMAC input/key handling on binary views while preserving caller strings. Dual-Ruby vectors cover ASCII, UTF-8 and arbitrary byte keys/challenges and pass with the full suite. No repository tests were modified.