From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from duke.felloff.net ([216.126.196.34]) by ur; Fri Dec 9 07:12:00 EST 2016 Message-ID: Date: Fri, 9 Dec 2016 13:11:54 +0100 From: cinap_lenrek@felloff.net To: 9front@9front.org Subject: Re: [9front] using smtp port 587 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: anonymous lossless firewall ACPI module session CSS control the first thing that auth_respond() does is to interpret the argument after the getkey function pointer as a format string and render it out with its arguments. this is where things go wrong when you pass literal string in that contains % characters. given that erik already renders everything out, and there should be no formats interpreted, he should pass "%s" instead and the already formated string as the argument: so in smtpcram(): e = abuf + sizeof abuf; p = seprint(abuf, e, "proto=cram role=client server=%q", ds->host); if(user != nil) seprint(p, e, " user=%q", user); - n = auth_respond(ch, l, usr, sizeof usr, rbuf, sizeof rbuf, auth_getkey, abuf); + n = auth_respond(ch, l, usr, sizeof usr, rbuf, sizeof rbuf, auth_getkey, "%s", abuf); ... should fix it. -- cinap