summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto/sha
diff options
context:
space:
mode:
authorRichard Basch <probe@mit.edu>1997-02-06 02:31:41 +0000
committerRichard Basch <probe@mit.edu>1997-02-06 02:31:41 +0000
commita0b9ce4bee60136363cfff7a93c4e42eab972c02 (patch)
tree400984337fe3766653ff4cc2cb6b7d3d7f87f3f4 /src/lib/crypto/sha
parenta9266b1dec31de9f33b0d032b885edd377a23ee5 (diff)
downloadkrb5-a0b9ce4bee60136363cfff7a93c4e42eab972c02.tar.gz
krb5-a0b9ce4bee60136363cfff7a93c4e42eab972c02.tar.xz
krb5-a0b9ce4bee60136363cfff7a93c4e42eab972c02.zip
Windows/NT integration (V1_0_WIN32_BRANCH merge)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9788 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto/sha')
-rw-r--r--src/lib/crypto/sha/ChangeLog12
-rw-r--r--src/lib/crypto/sha/Makefile.in12
-rw-r--r--src/lib/crypto/sha/sha_crypto.c46
-rw-r--r--src/lib/crypto/sha/sha_glue.c41
-rw-r--r--src/lib/crypto/sha/shs.h11
-rw-r--r--src/lib/crypto/sha/t_shs.c18
6 files changed, 78 insertions, 62 deletions
diff --git a/src/lib/crypto/sha/ChangeLog b/src/lib/crypto/sha/ChangeLog
index 8a312d7fb..fbb5f0ba8 100644
--- a/src/lib/crypto/sha/ChangeLog
+++ b/src/lib/crypto/sha/ChangeLog
@@ -1,3 +1,15 @@
+Thu Jan 30 21:31:39 1997 Richard Basch <basch@lehman.com>
+
+ * sha_crypto.c sha_glue.c:
+ Declare the functions to take const args where possible
+ Remove extra includes
+
+ * sha_crypto.c: Function prototypes did not match function names.
+
+Thu Nov 21 00:58:04 EST 1996 Richard Basch <basch@lehman.com>
+
+ * Makefile.in: Win32 build fixed
+
Wed Aug 28 17:40:53 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* shs.c: Only include sys/types.h if present.
diff --git a/src/lib/crypto/sha/Makefile.in b/src/lib/crypto/sha/Makefile.in
index 4f529fdfa..e45646aed 100644
--- a/src/lib/crypto/sha/Makefile.in
+++ b/src/lib/crypto/sha/Makefile.in
@@ -1,7 +1,9 @@
CFLAGS = $(CCOPTS) $(DEFS) -I$(srcdir)/../des
##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
+##DOSMYDIR=sha
+##DOSOBJFILE=..\sha.lst
+##WIN16##LIBNAME=..\crypto.lib
.c.o:
$(CC) $(CFLAGS) -c $(srcdir)/$*.c
@@ -20,7 +22,12 @@ SRCS= $(srcdir)/shs.c \
all-unix:: shared $(OBJS)
all-mac:: shared $(OBJS)
-all-windows:: $(OBJS)
+all-windows:: $(OBJFILE)
+
+##DOS$(OBJFILE): $(OBJS)
+##DOS $(RM) $(OBJFILE)
+##WIN16## $(CP) nul: $(OBJFILE)
+##WIN32## $(LIBECHO) -p $(MYDIR)\ *.obj > $(OBJFILE)
shared:
mkdir shared
@@ -45,3 +52,4 @@ clean-unix::
clean-mac::
$(RM) shared/*
clean-windows::
+ $(RM) $(OBJFILE)
diff --git a/src/lib/crypto/sha/sha_crypto.c b/src/lib/crypto/sha/sha_crypto.c
index af1aee225..b539b1199 100644
--- a/src/lib/crypto/sha/sha_crypto.c
+++ b/src/lib/crypto/sha/sha_crypto.c
@@ -1,31 +1,29 @@
-#include "k5-int.h"
#include "shs.h"
-#include "des_int.h" /* we cheat a bit and call it directly... */
/* Windows needs to these prototypes for the assignment below */
static krb5_error_code
krb5_sha_crypto_sum_func
- PROTOTYPE((krb5_pointer in,
- size_t in_length,
- krb5_pointer seed,
- size_t seed_length,
+ PROTOTYPE((krb5_const krb5_pointer in,
+ krb5_const size_t in_length,
+ krb5_const krb5_pointer seed,
+ krb5_const size_t seed_length,
krb5_checksum FAR *outcksum));
static krb5_error_code
krb5_sha_crypto_verify_func
- PROTOTYPE((krb5_checksum FAR *cksum,
- krb5_pointer in,
- size_t in_length,
- krb5_pointer seed,
- size_t seed_length));
+ PROTOTYPE((krb5_const krb5_checksum FAR *cksum,
+ krb5_const krb5_pointer in,
+ krb5_const size_t in_length,
+ krb5_const krb5_pointer seed,
+ krb5_const size_t seed_length));
static krb5_error_code
-shs_crypto_sum_func(in, in_length, seed, seed_length, outcksum)
- krb5_pointer in;
- size_t in_length;
- krb5_pointer seed;
- size_t seed_length;
+krb5_sha_crypto_sum_func(in, in_length, seed, seed_length, outcksum)
+ krb5_const krb5_pointer in;
+ krb5_const size_t in_length;
+ krb5_const krb5_pointer seed;
+ krb5_const size_t seed_length;
krb5_checksum FAR *outcksum;
{
krb5_error_code retval;
@@ -41,12 +39,12 @@ shs_crypto_sum_func(in, in_length, seed, seed_length, outcksum)
}
static krb5_error_code
-shs_crypto_verify_func(cksum, in, in_length, seed, seed_length)
- krb5_checksum FAR *cksum;
- krb5_pointer in;
- size_t in_length;
- krb5_pointer seed;
- size_t seed_length;
+krb5_sha_crypto_verify_func(cksum, in, in_length, seed, seed_length)
+ krb5_const krb5_checksum FAR *cksum;
+ krb5_const krb5_pointer in;
+ krb5_const size_t in_length;
+ krb5_const krb5_pointer seed;
+ krb5_const size_t seed_length;
{
krb5_octet digest[HMAC_SHA_CKSUM_LENGTH];
krb5_error_code retval;
@@ -70,8 +68,8 @@ cleanup:
krb5_checksum_entry hmac_sha_cksumtable_entry =
{
0,
- shs_crypto_sum_func,
- shs_crypto_verify_func,
+ krb5_sha_crypto_sum_func,
+ krb5_sha_crypto_verify_func,
HMAC_SHA_CKSUM_LENGTH,
1, /* is collision proof */
1, /* uses key */
diff --git a/src/lib/crypto/sha/sha_glue.c b/src/lib/crypto/sha/sha_glue.c
index 28416fc08..3a57e0182 100644
--- a/src/lib/crypto/sha/sha_glue.c
+++ b/src/lib/crypto/sha/sha_glue.c
@@ -1,29 +1,28 @@
-#include "k5-int.h"
#include "shs.h"
krb5_error_code
krb5_sha_sum_func
- PROTOTYPE((krb5_pointer in,
- size_t in_length,
- krb5_pointer seed,
- size_t seed_length,
- krb5_checksum *outcksum));
+ PROTOTYPE((krb5_const krb5_pointer in,
+ krb5_const size_t in_length,
+ krb5_const krb5_pointer seed,
+ krb5_const size_t seed_length,
+ krb5_checksum FAR *outcksum));
krb5_error_code
krb5_sha_verify_func
- PROTOTYPE((krb5_checksum FAR *cksum,
- krb5_pointer in,
- size_t in_length,
- krb5_pointer seed,
- size_t seed_length));
+ PROTOTYPE((krb5_const krb5_checksum FAR *cksum,
+ krb5_const krb5_pointer in,
+ krb5_const size_t in_length,
+ krb5_const krb5_pointer seed,
+ krb5_const size_t seed_length));
krb5_error_code
krb5_sha_sum_func(in, in_length, seed, seed_length, outcksum)
- krb5_pointer in;
- size_t in_length;
- krb5_pointer seed;
- size_t seed_length;
- krb5_checksum *outcksum;
+ krb5_const krb5_pointer in;
+ krb5_const size_t in_length;
+ krb5_const krb5_pointer seed;
+ krb5_const size_t seed_length;
+ krb5_checksum FAR *outcksum;
{
krb5_octet *input = (krb5_octet *)in;
SHS_INFO working;
@@ -47,11 +46,11 @@ krb5_sha_sum_func(in, in_length, seed, seed_length, outcksum)
krb5_error_code
krb5_sha_verify_func(cksum, in, in_length, seed, seed_length)
- krb5_checksum FAR *cksum;
- krb5_pointer in;
- size_t in_length;
- krb5_pointer seed;
- size_t seed_length;
+ krb5_const krb5_checksum FAR *cksum;
+ krb5_const krb5_pointer in;
+ krb5_const size_t in_length;
+ krb5_const krb5_pointer seed;
+ krb5_const size_t seed_length;
{
krb5_octet *input = (krb5_octet *)in;
SHS_INFO working;
diff --git a/src/lib/crypto/sha/shs.h b/src/lib/crypto/sha/shs.h
index 77b4ff250..01acddb82 100644
--- a/src/lib/crypto/sha/shs.h
+++ b/src/lib/crypto/sha/shs.h
@@ -1,21 +1,20 @@
#ifndef _SHS_DEFINED
-#include <krb5.h>
+#include <k5-int.h>
#define _SHS_DEFINED
/* Some useful types */
typedef krb5_octet BYTE;
-typedef krb5_ui_4 LONG;
-/* Exit status of functions. */
+/* Old DOS/Windows compilers are case-insensitive */
+#if !defined(_MSDOS) && !defined(_WIN32)
+typedef krb5_ui_4 LONG;
+#endif
-#define OK 0
-#define ERROR -1
/* Define the following to use the updated SHS implementation */
-
#define NEW_SHS /**/
/* The SHS block size and message digest sizes, in bytes */
diff --git a/src/lib/crypto/sha/t_shs.c b/src/lib/crypto/sha/t_shs.c
index de30603e2..87d8a0f9d 100644
--- a/src/lib/crypto/sha/t_shs.c
+++ b/src/lib/crypto/sha/t_shs.c
@@ -37,8 +37,8 @@ int shsTestLevel;
/* Compare the returned digest and required values */
for( i = 0; i < 5; i++ )
if( shsInfo->digest[ i ] != shsTestResults[ shsTestLevel ][ i ] )
- return( ERROR );
- return( OK );
+ return( -1 );
+ return( 0 );
}
main()
@@ -59,11 +59,11 @@ main()
shsInit( &shsInfo );
shsUpdate( &shsInfo, ( BYTE * ) "abc", 3 );
shsFinal( &shsInfo );
- if( compareSHSresults( &shsInfo, 0 ) == ERROR )
+ if( compareSHSresults( &shsInfo, 0 ) == -1 )
{
putchar( '\n' );
puts( "SHS test 1 failed" );
- exit( ERROR );
+ exit( -1 );
}
#ifdef NEW_SHS
puts( "passed, result= A9993E364706816ABA3E25717850C26C9CD0D89D" );
@@ -75,11 +75,11 @@ main()
shsInit( &shsInfo );
shsUpdate( &shsInfo, ( BYTE * ) "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 56 );
shsFinal( &shsInfo );
- if( compareSHSresults( &shsInfo, 1 ) == ERROR )
+ if( compareSHSresults( &shsInfo, 1 ) == -1 )
{
putchar( '\n' );
puts( "SHS test 2 failed" );
- exit( ERROR );
+ exit( -1 );
}
#ifdef NEW_SHS
puts( "passed, result= 84983E441C3BD26EBAAE4AA1F95129E5E54670F1" );
@@ -92,11 +92,11 @@ main()
for( i = 0; i < 15625; i++ )
shsUpdate( &shsInfo, ( BYTE * ) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 64 );
shsFinal( &shsInfo );
- if( compareSHSresults( &shsInfo, 2 ) == ERROR )
+ if( compareSHSresults( &shsInfo, 2 ) == -1 )
{
putchar( '\n' );
puts( "SHS test 3 failed" );
- exit( ERROR );
+ exit( -1 );
}
#ifdef NEW_SHS
puts( "passed, result= 34AA973CD4C4DAA4F61EEB2BDBAD27316534016F" );
@@ -116,5 +116,5 @@ main()
#endif
puts( "\nAll SHS tests passed" );
- exit( OK );
+ exit( 0 );
}