bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gnulib] renaming sha to sha1


From: Paul Eggert
Subject: [Bug-gnulib] renaming sha to sha1
Date: Mon, 09 Aug 2004 11:05:29 -0700
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

In coreutils sha was partly renamed to sha1, but not completely.  This
caused me to miss some of its changes when merging to gnulib.  I
installed this gnulib patch to fix this.

2004-08-09  Paul Eggert  <address@hidden>

        * modules/sha1: Renamed from modules/sha.
        (Files):
        Rename lib/sha.h to lib/sha1.h.
        Rename lib/sha.c to lib/sha1.c.
        Rename m4/sha.m4 to m4/sha1.m4.
        (lib_SOURCES): Likewise.
        (configure.ac): Rename gl_SHA to gl_SHA1.
        (Include): sha.h -> sha1.h.

        * lib/sha1.h: Renamed from lib/sha.h.
        (SHA1_H): Renamed from _SHA_H.
        (sha1_ctx): Renamed from sha_ctx.
        (sha1_init_ctx): Renamed from sha_init_ctx.
        (sha1_process_block): Renamed from sha_process_block.
        (sha1_process_bytes): Renamed from sha_process_bytes.
        (sha1_finish_ctx): Renamed from sha_finish_ctx.
        (sha1_read_ctx): Renamed from sha_read_ctx.
        (sha1_stream): Renamed from sha_stream.
        (sha1_buffer): Renamed from sha_buffer.
        * lib/sha1.c: Likewise; renamed from lib/sha.c.
        Do not include <sys/types.h>.
        Include <stddef.h> rather than <stdlib.h>.

        * m4/sha1.m4: Renamed from sha.m4.
        (gl_SHA1): Renamed from gl_SHA.  All uses changed.

--- .del/gnulib/modules/sha     2003-01-20 02:02:38 -0800
+++ gnulib/modules/sha1 2004-08-09 09:50:35 -0700
@@ -1,23 +1,23 @@
 Description:
-Compute SHA checksum.
+Compute SHA1 checksum.
 
 Files:
-lib/sha.h
-lib/sha.c
-m4/sha.m4
+lib/sha1.h
+lib/sha1.c
+m4/sha1.m4
 
 Depends-on:
 unlocked-io
 md5
 
 configure.ac:
-gl_SHA
+gl_SHA1
 
 Makefile.am:
-lib_SOURCES += sha.h sha.c
+lib_SOURCES += sha1.h sha1.c
 
 Include:
-"sha.h"
+"sha1.h"
 
 Maintainer:
 Jim Meyering
Index: m4/prereq.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/prereq.m4,v
retrieving revision 1.69
diff -p -u -r1.69 prereq.m4
--- m4/prereq.m4        7 Aug 2004 00:09:39 -0000       1.69
+++ m4/prereq.m4        9 Aug 2004 17:51:15 -0000
@@ -1,4 +1,4 @@
-#serial 44
+#serial 45
 
 dnl We use gl_ for non Autoconf macros.
 m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
@@ -101,7 +101,7 @@ AC_DEFUN([gl_PREREQ],
   AC_REQUIRE([gl_SAVEDIR])
   AC_REQUIRE([gl_SAVE_CWD])
   AC_REQUIRE([gl_SETTIME])
-  AC_REQUIRE([gl_SHA])
+  AC_REQUIRE([gl_SHA1])
   AC_REQUIRE([gl_STDIO_SAFER])
   AC_REQUIRE([gl_STRCASE])
   AC_REQUIRE([gl_TIMESPEC])
--- .del/gnulib/lib/sha.c       2003-09-09 23:56:05 -0700
+++ gnulib/lib/sha1.c   2004-08-09 10:40:32 -0700
@@ -1,8 +1,23 @@
-/* sha.c - Functions to compute the SHA1 hash (message-digest) of files
-   or blocks of memory.  Complies to the NIST specification FIPS-180-1.
+/* sha1.c - Functions to compute SHA1 message digest of files or
+   memory blocks according to the NIST specification FIPS-180-1.
 
-   Copyright (C) 2000, 2001, 2003 Scott G. Miller
+   Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
 
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* Written by Scott G. Miller
    Credits:
       Robert Klep <address@hidden>  -- Expansion function fix
 */
@@ -11,18 +26,16 @@
 # include <config.h>
 #endif
 
-#include "sha.h"
-
-#include <sys/types.h>
+#include "sha1.h"
 
-#include <stdlib.h>
+#include <stddef.h>
 #include <string.h>
 
 #include "unlocked-io.h"
 
 /*
   Not-swap is a macro that does an endian swap on architectures that are
-  big-endian, as SHA needs some data in a little-endian format
+  big-endian, as SHA1 needs some data in a little-endian format
 */
 
 #ifdef WORDS_BIGENDIAN
@@ -50,10 +63,10 @@ static const unsigned char fillbuf[64] =
 /*
   Takes a pointer to a 160 bit block of data (five 32 bit ints) and
   intializes it to the start constants of the SHA1 algorithm.  This
-  must be called before using hash in the call to sha_hash
+  must be called before using hash in the call to sha1_hash.
 */
 void
-sha_init_ctx (struct sha_ctx *ctx)
+sha1_init_ctx (struct sha1_ctx *ctx)
 {
   ctx->A = 0x67452301;
   ctx->B = 0xefcdab89;
@@ -71,7 +84,7 @@ sha_init_ctx (struct sha_ctx *ctx)
    IMPORTANT: On some systems it is required that RESBUF is correctly
    aligned for a 32 bits value.  */
 void *
-sha_read_ctx (const struct sha_ctx *ctx, void *resbuf)
+sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf)
 {
   ((md5_uint32 *) resbuf)[0] = NOTSWAP (ctx->A);
   ((md5_uint32 *) resbuf)[1] = NOTSWAP (ctx->B);
@@ -88,7 +101,7 @@ sha_read_ctx (const struct sha_ctx *ctx,
    IMPORTANT: On some systems it is required that RESBUF is correctly
    aligned for a 32 bits value.  */
 void *
-sha_finish_ctx (struct sha_ctx *ctx, void *resbuf)
+sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf)
 {
   /* Take yet unprocessed bytes into account.  */
   md5_uint32 bytes = ctx->buflen;
@@ -108,23 +121,23 @@ sha_finish_ctx (struct sha_ctx *ctx, voi
                                                    (ctx->total[0] >> 29));
 
   /* Process last bytes.  */
-  sha_process_block (ctx->buffer, bytes + pad + 8, ctx);
+  sha1_process_block (ctx->buffer, bytes + pad + 8, ctx);
 
-  return sha_read_ctx (ctx, resbuf);
+  return sha1_read_ctx (ctx, resbuf);
 }
 
 /* Compute SHA1 message digest for bytes read from STREAM.  The
    resulting message digest number will be written into the 16 bytes
    beginning at RESBLOCK.  */
 int
-sha_stream (FILE *stream, void *resblock)
+sha1_stream (FILE *stream, void *resblock)
 {
-  struct sha_ctx ctx;
+  struct sha1_ctx ctx;
   char buffer[BLOCKSIZE + 72];
   size_t sum;
 
   /* Initialize the computation context.  */
-  sha_init_ctx (&ctx);
+  sha1_init_ctx (&ctx);
 
   /* Iterate over full file contents.  */
   while (1)
@@ -165,17 +178,17 @@ sha_stream (FILE *stream, void *resblock
       /* Process buffer with BLOCKSIZE bytes.  Note that
                        BLOCKSIZE % 64 == 0
        */
-      sha_process_block (buffer, BLOCKSIZE, &ctx);
+      sha1_process_block (buffer, BLOCKSIZE, &ctx);
     }
 
  process_partial_block:;
 
   /* Process any remaining bytes.  */
   if (sum > 0)
-    sha_process_bytes (buffer, sum, &ctx);
+    sha1_process_bytes (buffer, sum, &ctx);
 
   /* Construct result in desired memory.  */
-  sha_finish_ctx (&ctx, resblock);
+  sha1_finish_ctx (&ctx, resblock);
   return 0;
 }
 
@@ -184,22 +197,22 @@ sha_stream (FILE *stream, void *resblock
    output yields to the wanted ASCII representation of the message
    digest.  */
 void *
-sha_buffer (const char *buffer, size_t len, void *resblock)
+sha1_buffer (const char *buffer, size_t len, void *resblock)
 {
-  struct sha_ctx ctx;
+  struct sha1_ctx ctx;
 
   /* Initialize the computation context.  */
-  sha_init_ctx (&ctx);
+  sha1_init_ctx (&ctx);
 
   /* Process whole buffer but last len % 64 bytes.  */
-  sha_process_bytes (buffer, len, &ctx);
+  sha1_process_bytes (buffer, len, &ctx);
 
   /* Put result in desired memory area.  */
-  return sha_finish_ctx (&ctx, resblock);
+  return sha1_finish_ctx (&ctx, resblock);
 }
 
 void
-sha_process_bytes (const void *buffer, size_t len, struct sha_ctx *ctx)
+sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx)
 {
   /* When we already have some bits in our internal buffer concatenate
      both inputs first.  */
@@ -213,7 +226,7 @@ sha_process_bytes (const void *buffer, s
 
       if (ctx->buflen > 64)
        {
-         sha_process_block (ctx->buffer, ctx->buflen & ~63, ctx);
+         sha1_process_block (ctx->buffer, ctx->buflen & ~63, ctx);
 
          ctx->buflen &= 63;
          /* The regions in the following copy operation cannot overlap.  */
@@ -229,24 +242,19 @@ sha_process_bytes (const void *buffer, s
   if (len >= 64)
     {
 #if !_STRING_ARCH_unaligned
-/* To check alignment gcc has an appropriate operator.  Other
-   compilers don't.  */
-# if __GNUC__ >= 2
-#  define UNALIGNED_P(p) (((md5_uintptr) p) % __alignof__ (md5_uint32) != 0)
-# else
-#  define UNALIGNED_P(p) (((md5_uintptr) p) % sizeof (md5_uint32) != 0)
-# endif
+# define alignof(type) offsetof (struct { char c; type x; }, x)
+# define UNALIGNED_P(p) (((size_t) p) % alignof (md5_uint32) != 0)
       if (UNALIGNED_P (buffer))
        while (len > 64)
          {
-           sha_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
+           sha1_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
            buffer = (const char *) buffer + 64;
            len -= 64;
          }
       else
 #endif
        {
-         sha_process_block (buffer, len & ~63, ctx);
+         sha1_process_block (buffer, len & ~63, ctx);
          buffer = (const char *) buffer + (len & ~63);
          len &= 63;
        }
@@ -261,7 +269,7 @@ sha_process_bytes (const void *buffer, s
       left_over += len;
       if (left_over >= 64)
        {
-         sha_process_block (ctx->buffer, 64, ctx);
+         sha1_process_block (ctx->buffer, 64, ctx);
          left_over -= 64;
          memcpy (ctx->buffer, &ctx->buffer[64], left_over);
        }
@@ -269,7 +277,7 @@ sha_process_bytes (const void *buffer, s
     }
 }
 
-/* --- Code below is the primary difference between md5.c and sha.c --- */
+/* --- Code below is the primary difference between md5.c and sha1.c --- */
 
 /* SHA1 round constants */
 #define K1 0x5a827999L
@@ -288,7 +296,7 @@ sha_process_bytes (const void *buffer, s
    Most of this code comes from GnuPG's cipher/sha1.c.  */
 
 void
-sha_process_block (const void *buffer, size_t len, struct sha_ctx *ctx)
+sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx)
 {
   const md5_uint32 *words = buffer;
   size_t nwords = len / sizeof (md5_uint32);
--- .del/gnulib/lib/sha.h       2003-09-09 16:33:52 -0700
+++ gnulib/lib/sha1.h   2004-08-09 10:40:32 -0700
@@ -1,17 +1,29 @@
-/* sha.h - Declaration of functions and datatypes for SHA1 sum computing
+/* Declarations of functions and data types used for SHA1 sum
    library functions.
+   Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
 
-   Copyright (C) 1999, Scott G. Miller
-*/
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 2, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
-#ifndef _SHA_H
-# define _SHA_H 1
+#ifndef SHA1_H
+# define SHA1_H 1
 
 # include <stdio.h>
 # include "md5.h"
 
 /* Structure to save state of computation between the single steps.  */
-struct sha_ctx
+struct sha1_ctx
 {
   md5_uint32 A;
   md5_uint32 B;
@@ -25,51 +37,51 @@ struct sha_ctx
 };
 
 
+/* Initialize structure containing state of computation. */
+extern void sha1_init_ctx (struct sha1_ctx *ctx);
+
 /* Starting with the result of former calls of this function (or the
    initialization function update the context for the next LEN bytes
    starting at BUFFER.
    It is necessary that LEN is a multiple of 64!!! */
-extern void sha_process_block (const void *buffer, size_t len,
-                              struct sha_ctx *ctx);
+extern void sha1_process_block (const void *buffer, size_t len,
+                               struct sha1_ctx *ctx);
 
 /* Starting with the result of former calls of this function (or the
    initialization function update the context for the next LEN bytes
    starting at BUFFER.
    It is NOT required that LEN is a multiple of 64.  */
-extern void sha_process_bytes (const void *buffer, size_t len,
-                              struct sha_ctx *ctx);
-
-/* Initialize structure containing state of computation. */
-extern void sha_init_ctx (struct sha_ctx *ctx);
+extern void sha1_process_bytes (const void *buffer, size_t len,
+                               struct sha1_ctx *ctx);
 
 /* Process the remaining bytes in the buffer and put result from CTX
-   in first 16 bytes following RESBUF.  The result is always in little
+   in first 20 bytes following RESBUF.  The result is always in little
    endian byte order, so that a byte-wise output yields to the wanted
    ASCII representation of the message digest.
 
-   IMPORTANT: On some systems it is required that RESBUF is correctly
+   IMPORTANT: On some systems it is required that RESBUF be correctly
    aligned for a 32 bits value.  */
-extern void *sha_finish_ctx (struct sha_ctx *ctx, void *resbuf);
+extern void *sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf);
 
 
-/* Put result from CTX in first 16 bytes following RESBUF.  The result is
+/* Put result from CTX in first 20 bytes following RESBUF.  The result is
    always in little endian byte order, so that a byte-wise output yields
    to the wanted ASCII representation of the message digest.
 
    IMPORTANT: On some systems it is required that RESBUF is correctly
    aligned for a 32 bits value.  */
-extern void *sha_read_ctx (const struct sha_ctx *ctx, void *resbuf);
+extern void *sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf);
 
 
-/* Compute MD5 message digest for bytes read from STREAM.  The
-   resulting message digest number will be written into the 16 bytes
+/* Compute SHA1 message digest for bytes read from STREAM.  The
+   resulting message digest number will be written into the 20 bytes
    beginning at RESBLOCK.  */
-extern int sha_stream (FILE *stream, void *resblock);
+extern int sha1_stream (FILE *stream, void *resblock);
 
-/* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
+/* Compute SHA1 message digest for LEN bytes beginning at BUFFER.  The
    result is always in little endian byte order, so that a byte-wise
    output yields to the wanted ASCII representation of the message
    digest.  */
-extern void *sha_buffer (const char *buffer, size_t len, void *resblock);
+extern void *sha1_buffer (const char *buffer, size_t len, void *resblock);
 
 #endif
--- .del/gnulib/m4/sha.m4       2004-08-06 17:09:39 -0700
+++ gnulib/m4/sha1.m4   2004-08-09 09:50:42 -0700
@@ -1,4 +1,4 @@
-# sha.m4 serial 3
+# sha1.m4 serial 4
 dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 dnl This file is free software, distributed under the terms of the GNU
 dnl General Public License.  As a special exception to the GNU General
@@ -6,7 +6,7 @@ dnl Public License, this file may be dis
 dnl that contains a configuration script generated by Autoconf, under
 dnl the same distribution terms as the rest of that program.
 
-AC_DEFUN([gl_SHA],
+AC_DEFUN([gl_SHA1],
 [
   dnl Prerequisites of lib/sha1.c.
   AC_REQUIRE([AC_C_BIGENDIAN])




reply via email to

[Prev in Thread] Current Thread [Next in Thread]