Version 3.22 ------------ 1. Fixed a crash in the following obscure circumstances: A system filter obeyed a "mail" command, then then froze the message. The message created by the "mail" command could not be passed to a nested Exim for some reason (e.g. system ran out of process ids). The failure to send the message was logged, but then the original Exim crashed. 2. Fixed a bug in the libident library (not my bug!). If a very long response was received, it could overrun the buffer by one byte. 3. There was no explicit checking for the length of message created for log_ip_options when a call with IP options was received. However, the length of the option string is limited to 40 on the systems I've looked at, so there wasn't a real problem. Nevertheless, I have added some paranoid length checking, just in case. 4. Change 10 of 3.166 introduced a bug; it continued trying to verify when the child was a pipe, file, or autoreply. This could cause crashes. 5. Added server_mail_auth_condition to authenticators. 6. xtext decoding for AUTH on MAIL commands wasn't adding a terminating zero. 7. There was a bug in the table for decoding data encoded in base 64 (authentication data). '/' was being turned into 73 instead of 63. 8. If a numeric variable in an expansion had a number so large that it overflowed, Exim crashed. Now it just inserts a null string, as for any other unset numeric variable. ****