Browse Source

Use standard spelling for types, and rename local variable from "free".

No actual change, but makes it easier to reuse the code elsewhere.
Suggested by Andre Smagin
OPENBSD_5_7
tedu 9 years ago
parent
commit
6b550eb5a9
2 changed files with 25 additions and 25 deletions
  1. +8
    -8
      src/include/siphash.h
  2. +17
    -17
      src/lib/libc/hash/siphash.c

+ 8
- 8
src/include/siphash.h View File

@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $OpenBSD: siphash.h,v 1.2 2014/12/20 05:43:26 guenther Exp $
* $OpenBSD: siphash.h,v 1.3 2015/02/20 11:51:03 tedu Exp $
*/ */
/* /*
@ -52,21 +52,21 @@
#define SIPHASH_DIGEST_LENGTH 8 #define SIPHASH_DIGEST_LENGTH 8
typedef struct _SIPHASH_CTX { typedef struct _SIPHASH_CTX {
u_int64_t v[4];
u_int8_t buf[SIPHASH_BLOCK_LENGTH];
u_int32_t bytes;
uint64_t v[4];
uint8_t buf[SIPHASH_BLOCK_LENGTH];
uint32_t bytes;
} SIPHASH_CTX; } SIPHASH_CTX;
typedef struct { typedef struct {
u_int64_t k0;
u_int64_t k1;
uint64_t k0;
uint64_t k1;
} SIPHASH_KEY; } SIPHASH_KEY;
void SipHash_Init(SIPHASH_CTX *, const SIPHASH_KEY *); void SipHash_Init(SIPHASH_CTX *, const SIPHASH_KEY *);
void SipHash_Update(SIPHASH_CTX *, int, int, const void *, size_t); void SipHash_Update(SIPHASH_CTX *, int, int, const void *, size_t);
u_int64_t SipHash_End(SIPHASH_CTX *, int, int);
uint64_t SipHash_End(SIPHASH_CTX *, int, int);
void SipHash_Final(void *, SIPHASH_CTX *, int, int); void SipHash_Final(void *, SIPHASH_CTX *, int, int);
u_int64_t SipHash(const SIPHASH_KEY *, int, int, const void *, size_t);
uint64_t SipHash(const SIPHASH_KEY *, int, int, const void *, size_t);
#define SipHash24_Init(_c, _k) SipHash_Init((_c), (_k)) #define SipHash24_Init(_c, _k) SipHash_Init((_c), (_k))
#define SipHash24_Update(_c, _p, _l) SipHash_Update((_c), 2, 4, (_p), (_l)) #define SipHash24_Update(_c, _p, _l) SipHash_Update((_c), 2, 4, (_p), (_l))


+ 17
- 17
src/lib/libc/hash/siphash.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: siphash.c,v 1.3 2015/02/07 05:40:59 dlg Exp $ */
/* $OpenBSD: siphash.c,v 1.4 2015/02/20 11:51:03 tedu Exp $ */
/*- /*-
* Copyright (c) 2013 Andre Oppermann <andre@FreeBSD.org> * Copyright (c) 2013 Andre Oppermann <andre@FreeBSD.org>
@ -72,8 +72,8 @@ SipHash_Init(SIPHASH_CTX *ctx, const SIPHASH_KEY *key)
void void
SipHash_Update(SIPHASH_CTX *ctx, int rc, int rf, const void *src, size_t len) SipHash_Update(SIPHASH_CTX *ctx, int rc, int rf, const void *src, size_t len)
{ {
const u_int8_t *ptr = src;
size_t free, used;
const uint8_t *ptr = src;
size_t left, used;
if (len == 0) if (len == 0)
return; return;
@ -82,13 +82,13 @@ SipHash_Update(SIPHASH_CTX *ctx, int rc, int rf, const void *src, size_t len)
ctx->bytes += len; ctx->bytes += len;
if (used > 0) { if (used > 0) {
free = sizeof(ctx->buf) - used;
left = sizeof(ctx->buf) - used;
if (len >= free) {
memcpy(&ctx->buf[used], ptr, free);
if (len >= left) {
memcpy(&ctx->buf[used], ptr, left);
SipHash_CRounds(ctx, rc); SipHash_CRounds(ctx, rc);
len -= free;
ptr += free;
len -= left;
ptr += left;
} else { } else {
memcpy(&ctx->buf[used], ptr, len); memcpy(&ctx->buf[used], ptr, len);
return; return;
@ -109,22 +109,22 @@ SipHash_Update(SIPHASH_CTX *ctx, int rc, int rf, const void *src, size_t len)
void void
SipHash_Final(void *dst, SIPHASH_CTX *ctx, int rc, int rf) SipHash_Final(void *dst, SIPHASH_CTX *ctx, int rc, int rf)
{ {
u_int64_t r;
uint64_t r;
r = SipHash_End(ctx, rc, rf); r = SipHash_End(ctx, rc, rf);
*(u_int64_t *)dst = htole64(r);
*(uint64_t *)dst = htole64(r);
} }
u_int64_t
uint64_t
SipHash_End(SIPHASH_CTX *ctx, int rc, int rf) SipHash_End(SIPHASH_CTX *ctx, int rc, int rf)
{ {
u_int64_t r;
size_t free, used;
uint64_t r;
size_t left, used;
used = ctx->bytes % sizeof(ctx->buf); used = ctx->bytes % sizeof(ctx->buf);
free = sizeof(ctx->buf) - used;
memset(&ctx->buf[used], 0, free - 1);
left = sizeof(ctx->buf) - used;
memset(&ctx->buf[used], 0, left - 1);
ctx->buf[7] = ctx->bytes; ctx->buf[7] = ctx->bytes;
SipHash_CRounds(ctx, rc); SipHash_CRounds(ctx, rc);
@ -136,7 +136,7 @@ SipHash_End(SIPHASH_CTX *ctx, int rc, int rf)
return (r); return (r);
} }
u_int64_t
uint64_t
SipHash(const SIPHASH_KEY *key, int rc, int rf, const void *src, size_t len) SipHash(const SIPHASH_KEY *key, int rc, int rf, const void *src, size_t len)
{ {
SIPHASH_CTX ctx; SIPHASH_CTX ctx;
@ -175,7 +175,7 @@ SipHash_Rounds(SIPHASH_CTX *ctx, int rounds)
static void static void
SipHash_CRounds(SIPHASH_CTX *ctx, int rounds) SipHash_CRounds(SIPHASH_CTX *ctx, int rounds)
{ {
u_int64_t m = letoh64(*(u_int64_t *)ctx->buf);
uint64_t m = le64toh(*(uint64_t *)ctx->buf);
ctx->v[3] ^= m; ctx->v[3] ^= m;
SipHash_Rounds(ctx, rounds); SipHash_Rounds(ctx, rounds);


Loading…
Cancel
Save