Changeset 1765 in MondoRescue for branches/2.2.5/mindi-busybox/libbb/sha1.c


Ignore:
Timestamp:
Nov 4, 2007, 3:16:40 AM (17 years ago)
Author:
Bruno Cornec
Message:

Update to busybox 1.7.2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.5/mindi-busybox/libbb/sha1.c

    r821 r1765  
     1/* vi: set sw=4 ts=4: */
    12/*
    23 *  Based on shasum from http://www.netsw.org/crypto/hash/
     
    67 *  Copyright (C) 2003 Glenn L. McGrath
    78 *  Copyright (C) 2003 Erik Andersen
    8  * 
    9  *  LICENSE TERMS
    109 *
    11  *  The free distribution and use of this software in both source and binary
    12  *  form is allowed (with or without changes) provided that:
     10 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
    1311 *
    14  *    1. distributions of this source code include the above copyright
    15  *       notice, this list of conditions and the following disclaimer;
    16  *
    17  *    2. distributions in binary form include the above copyright
    18  *       notice, this list of conditions and the following disclaimer
    19  *       in the documentation and/or other associated materials;
    20  *
    21  *    3. the copyright holder's name is not used to endorse products
    22  *       built using this software without specific written permission.
    23  *
    24  *  ALTERNATIVELY, provided that this notice is retained in full, this product
    25  *  may be distributed under the terms of the GNU General Public License (GPL),
    26  *  in which case the provisions of the GPL apply INSTEAD OF those given above.
    27  *
    28  *  DISCLAIMER
    29  *
    30  *  This software is provided 'as is' with no explicit or implied warranties
    31  *  in respect of its properties, including, but not limited to, correctness
    32  *  and/or fitness for purpose.
    3312 *  ---------------------------------------------------------------------------
    3413 *  Issue Date: 10/11/2002
     
    3817 */
    3918
    40 #include <fcntl.h>
    41 #include <limits.h>
    42 #include <stdio.h>
    43 #include <stdint.h>
    44 #include <stdlib.h>
    45 #include <string.h>
    46 #include <unistd.h>
    47 
    4819#include "libbb.h"
    4920
    50 # define SHA1_BLOCK_SIZE  64
    51 # define SHA1_DIGEST_SIZE 20
    52 # define SHA1_HASH_SIZE   SHA1_DIGEST_SIZE
    53 # define SHA2_GOOD        0
    54 # define SHA2_BAD         1
     21#define SHA1_BLOCK_SIZE  64
     22#define SHA1_DIGEST_SIZE 20
     23#define SHA1_HASH_SIZE   SHA1_DIGEST_SIZE
     24#define SHA2_GOOD        0
     25#define SHA2_BAD         1
    5526
    56 # define rotl32(x,n) (((x) << n) | ((x) >> (32 - n)))
     27#define rotl32(x,n)      (((x) << n) | ((x) >> (32 - n)))
    5728
    58 # define SHA1_MASK   (SHA1_BLOCK_SIZE - 1)
     29#define SHA1_MASK        (SHA1_BLOCK_SIZE - 1)
    5930
    6031/* reverse byte order in 32-bit words   */
    61 #define ch(x,y,z)       ((z) ^ ((x) & ((y) ^ (z))))
    62 #define parity(x,y,z)   ((x) ^ (y) ^ (z))
    63 #define maj(x,y,z)      (((x) & (y)) | ((z) & ((x) | (y))))
     32#define ch(x,y,z)        ((z) ^ ((x) & ((y) ^ (z))))
     33#define parity(x,y,z)    ((x) ^ (y) ^ (z))
     34#define maj(x,y,z)       (((x) & (y)) | ((z) & ((x) | (y))))
    6435
    6536/* A normal version as set out in the FIPS. This version uses   */
    6637/* partial loop unrolling and is optimised for the Pentium 4    */
    67 # define rnd(f,k)    \
    68     t = a; a = rotl32(a,5) + f(b,c,d) + e + k + w[i]; \
    69     e = d; d = c; c = rotl32(b, 30); b = t
    70 
     38#define rnd(f,k) \
     39    do { \
     40        t = a; a = rotl32(a,5) + f(b,c,d) + e + k + w[i]; \
     41        e = d; d = c; c = rotl32(b, 30); b = t; \
     42    } while (0)
    7143
    7244static void sha1_compile(sha1_ctx_t *ctx)
     
    182154
    183155    /* assemble the eight byte counter in the buffer in big-endian  */
    184     /* format                                  */
     156    /* format                                   */
    185157
    186158    ctx->wbuf[14] = htonl((ctx->count[1] << 3) | (ctx->count[0] >> 29));
     
    194166    for (i = 0; i < SHA1_DIGEST_SIZE; ++i)
    195167        hval[i] = (unsigned char) (ctx->hash[i >> 2] >> 8 * (~i & 3));
    196    
     168
    197169    return resbuf;
    198170}
    199 
    200 
Note: See TracChangeset for help on using the changeset viewer.