From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/1248 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: FreeSec crypt() Date: Fri, 29 Jun 2012 01:25:57 -0400 Message-ID: <20120629052557.GP544@brightrain.aerifal.cx> References: <20120612235113.GA21296@openwall.com> <20120613011842.GA163@brightrain.aerifal.cx> <20120613120754.GA21900@openwall.com> <20120613145318.GC163@brightrain.aerifal.cx> <20120624072112.GA3792@openwall.com> <20120625035103.GG544@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1340947679 27036 80.91.229.3 (29 Jun 2012 05:27:59 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 29 Jun 2012 05:27:59 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-1249-gllmg-musl=m.gmane.org@lists.openwall.com Fri Jun 29 07:27:58 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1SkTkK-0003zf-0k for gllmg-musl@plane.gmane.org; Fri, 29 Jun 2012 07:27:56 +0200 Original-Received: (qmail 26351 invoked by uid 550); 29 Jun 2012 05:27:55 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 26342 invoked from network); 29 Jun 2012 05:27:54 -0000 Content-Disposition: inline In-Reply-To: <20120625035103.GG544@brightrain.aerifal.cx> User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:1248 Archived-At: On Sun, Jun 24, 2012 at 11:51:03PM -0400, Rich Felker wrote: > > ....Attached is my latest revision of crypt_freesec. I've reduced the > > table sizes even further (7 KB, may be precomputed) and I made certain > > other changes as discussed. I'd appreciate another review, and some > > fuzzing against another implementation wouldn't hurt. > > I put this off until after the release so as not to break anything at > the last minute, but I'll try to get it integrated soon. I've committed a modified version (with a comment explaining that it's modified, this time :) to the musl git repo. It's using static initialized tables instead of runtime generation on the stack. Despite it being mildly controversial, I left in the runtime test for now, mainly since it serves the double purpose of clearing potentially sensitive data from the stack in a clever way without much additional cost. I did not commit the standalone tests in-tree, but I did run them and they all pass. I may add them to libc-testsuite soon; the only reason I haven't done so yet is that I'd want a way to selectively disable some that won't be supported on all systems, and as of yet libc-testsuite does not have a good framework for making some tests optional. I've also made crypt_r public through crypt.h. Feedback is welcome. If anyone's interested in helping get md5, sha, or other hash types integrated (while keeping the size cost down) that would be great too. Rich