lua-bcrypt

Secure password hashing for Lua
Log | Files | Refs

commit ff15043cc98b6557916c5dcce37f0342aa288254
parent ba7891b363b313a41bab4859efa5bf15ed4fa077
Author: Michael Savage <mikejsavage@gmail.com>
Date:   Sat, 27 Dec 2014 08:56:27 +0000

Remove timingsafe_memcmp

Diffstat:
compat/safebfuns.c | 46----------------------------------------------
1 file changed, 0 insertions(+), 46 deletions(-)

diff --git a/compat/safebfuns.c b/compat/safebfuns.c @@ -50,49 +50,3 @@ NOOPT NOINLINE int timingsafe_bcmp( const void * const b1, const void * const b2 return result != 0; } - -/* $OpenBSD: timingsafe_memcmp.c,v 1.1 2014/06/13 02:12:17 matthew Exp $ */ -/* - * Copyright (c) 2014 Google Inc. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include <limits.h> -#include <string.h> - -NOOPT NOINLINE int timingsafe_memcmp( const void * const b1, const void * const b2, const size_t len ) { - const unsigned char * p1 = b1; - const unsigned char * p2 = b2; - size_t i; - int res = 0, done = 0; - - for( i = 0; i < len; i++ ) { - /* lt is -1 if p1[i] < p2[i]; else 0. */ - int lt = ( p1[ i ] - p2[ i ] ) >> CHAR_BIT; - - /* gt is -1 if p1[i] > p2[i]; else 0. */ - int gt = ( p2[ i ] - p1[ i ] ) >> CHAR_BIT; - - /* cmp is 1 if p1[i] > p2[i]; -1 if p1[i] < p2[i]; else 0. */ - int cmp = lt - gt; - - /* set res = cmp if !done. */ - res |= cmp & ~done; - - /* set done if p1[i] != p2[i]. */ - done |= lt | gt; - } - - return res; -}