* lisp/net/sasl-cram.el (sasl-cram-md5-response):
* lisp/net/sasl-digest.el (sasl-digest-md5-response-value):
* lisp/net/sasl.el (sasl-plain-response):
`fillarray` signals an error for strings that contain multibyte chars;
`clear-string` always works for this purpose.
(cherry picked from commit
1ac70626fa6720a407a23b1b9c14364e5a9230ae)
(concat (sasl-client-name client) " "
(encode-hex-string
(hmac-md5 (sasl-step-data step) passphrase)))
- (fillarray passphrase 0))))
+ (clear-string passphrase))))
(put 'sasl-cram 'sasl-mechanism
(sasl-make-mechanism "CRAM-MD5" sasl-cram-md5-steps))
(concat "AUTHENTICATE:" digest-uri
(if (member qop '("auth-int" "auth-conf"))
":00000000000000000000000000000000")))))))
- (fillarray passphrase 0))))
+ (clear-string passphrase))))
(defun sasl-digest-md5-response (client step)
(let* ((plist
(not (string= authenticator-name name)))
(concat authenticator-name "\0" name "\0" passphrase)
(concat "\0" name "\0" passphrase))
- (fillarray passphrase 0))))
+ (clear-string passphrase))))
(put 'sasl-plain 'sasl-mechanism
(sasl-make-mechanism "PLAIN" sasl-plain-steps))