From owner-freebsd-security@FreeBSD.ORG Wed Mar 11 07:59:21 2015 Return-Path: Delivered-To: freebsd-security@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 062DC227 for ; Wed, 11 Mar 2015 07:59:21 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id CBF4451 for ; Wed, 11 Mar 2015 07:59:20 +0000 (UTC) Received: from Julian-MBP3.local (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id t2B7x2p5014296 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 11 Mar 2015 00:59:03 -0700 (PDT) (envelope-from julian@freebsd.org) Message-ID: <54FFF5C1.10909@freebsd.org> Date: Wed, 11 Mar 2015 00:58:57 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Xin Li , freebsd security , current@freebsd.com Subject: Re: sendmail broken by libssl in current References: <54FFE774.50103@freebsd.org> <54FFEB49.5030706@delphij.net> In-Reply-To: <54FFEB49.5030706@delphij.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Gregory Shapiro X-BeenThere: freebsd-security@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Security issues \[members-only posting\]" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2015 07:59:21 -0000 On 3/11/15 12:14 AM, Xin Li wrote: > > On 3/10/15 23:57, Julian Elischer wrote: >> [sorry for reposting but the original copy I got back had been truncated] >> >> libssl has a new "feature" >> implemented by: >> crypto/openssl/ssl/t1_lib.c >> >> 672 /* Add padding to workaround bugs in F5 terminators. >> 673 * See https://tools.ietf.org/html/draft-agl-tls-padding-03 >> 674 * >> 675 * NB: because this code works out the length of all >> existing >> 676 * extensions it MUST always appear last. >> 677 */ >> 678 //if (s->options & SSL_OP_TLSEXT_PADDING) >> >> unfortunatly this makes sendmail incompatible with various email servers >> around the world, >> including (apparently (ironically (*))) Ironport email gateways. >> It fails in TLS handshake. > I hate workarounds of workarounds :( > > How about this? > > %%% > Index: contrib/sendmail/src/readcf.c > =================================================================== > --- contrib/sendmail/src/readcf.c (revision 279857) > +++ contrib/sendmail/src/readcf.c (working copy) > @@ -116,7 +116,7 @@ readcf(cfname, safe, e) > > #if STARTTLS > Srv_SSL_Options = SSL_OP_ALL; > - Clt_SSL_Options = SSL_OP_ALL > + Clt_SSL_Options = SSL_OP_ALL & ~SSL_OP_TLSEXT_PADDING > #ifdef SSL_OP_NO_SSLv2 > | SSL_OP_NO_SSLv2 > #endif > %%% that's certainly better.. MY change was to just prove where the problem was after reading a bit on the web. The trouble is that that may break mail servers behind F5 appliances. One wonders if one could only turn it off for every second attempt on a retry after a failed attempt. or some other way of not breaking the F5 appliances... I found I could not talk to my child's school (department of education) and my bank, over a period of just a week.. I will look to see if I start picking up new failures now (and see how many F5 appliances there are :-). > Cheers, >