Bob Dodds wrote:
You found the bug, but to make sure something else is not
lost, it may be better to clone the old object, create the new
object, pretend(bless?) the old object as the new object and
copy a small set of known required values from the new
object into the merge object.
That is pretty much what the original code is doing (but without a clone
first). After TLS is activated, the transaction details have to be
wiped clean modulo the physical connection information. I'm not sure
the patch is correct, since the normal sequence should be:
EHLO
STARTTLS
AUTH
so the transaction object should not have had relay_client set yet, and
hence not need it copied. I haven't had any time to play with it,
though, so that is just my current understanding.
John