summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto
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
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')
-rw-r--r--src/lib/crypto/crc32/ChangeLog8
-rw-r--r--src/lib/crypto/crc32/Makefile.in12
-rw-r--r--src/lib/crypto/crc32/crc.c36
-rw-r--r--src/lib/crypto/des/ChangeLog9
-rw-r--r--src/lib/crypto/des/Makefile.in16
-rw-r--r--src/lib/crypto/des/cbc_cksum.c31
-rw-r--r--src/lib/crypto/md4/ChangeLog9
-rw-r--r--src/lib/crypto/md4/Makefile.in13
-rw-r--r--src/lib/crypto/md4/md4crypto.c73
-rw-r--r--src/lib/crypto/md4/md4glue.c36
-rw-r--r--src/lib/crypto/md5/ChangeLog9
-rw-r--r--src/lib/crypto/md5/Makefile.in13
-rw-r--r--src/lib/crypto/md5/md5crypto.c73
-rw-r--r--src/lib/crypto/md5/md5glue.c36
-rw-r--r--src/lib/crypto/os/ChangeLog10
-rw-r--r--src/lib/crypto/os/Makefile.in12
-rw-r--r--src/lib/crypto/os/c_ustime.c2
-rw-r--r--src/lib/crypto/os/rnd_confoun.c4
-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
24 files changed, 355 insertions, 187 deletions
diff --git a/src/lib/crypto/crc32/ChangeLog b/src/lib/crypto/crc32/ChangeLog
index b9e7d9e12..eaf0e8591 100644
--- a/src/lib/crypto/crc32/ChangeLog
+++ b/src/lib/crypto/crc32/ChangeLog
@@ -1,3 +1,11 @@
+Thu Jan 30 21:30:32 1997 Richard Basch <basch@lehman.com>
+
+ * crc.c: Declare the functions to take const pointers, where possible.
+
+Thu Nov 21 00:58:04 EST 1996 Richard Basch <basch@lehman.com>
+
+ * Makefile.in: Win32 build
+
Tue May 14 19:33:27 1996 Richard Basch <basch@lehman.com>
* crc.c: ensure the cksum content length is sufficient
diff --git a/src/lib/crypto/crc32/Makefile.in b/src/lib/crypto/crc32/Makefile.in
index aa3cf8730..34255defb 100644
--- a/src/lib/crypto/crc32/Makefile.in
+++ b/src/lib/crypto/crc32/Makefile.in
@@ -1,7 +1,9 @@
CFLAGS = $(CCOPTS) $(DEFS)
##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
+##DOSMYNAME=crc32
+##DOSOBJFILE=..\crc32.lst
+##WIN16##LIBNAME=..\crypto.lib
.c.o:
$(CC) $(CFLAGS) -c $(srcdir)/$*.c
@@ -13,7 +15,12 @@ SRCS= $(srcdir)/crc.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 $(MYNAME)\ *.obj > $(OBJFILE)
shared:
mkdir shared
@@ -36,3 +43,4 @@ clean-unix::
clean-mac::
$(RM) shared/*
clean-windows::
+ $(RM) $(OBJFILE)
diff --git a/src/lib/crypto/crc32/crc.c b/src/lib/crypto/crc32/crc.c
index 9f055200a..60afb3f4a 100644
--- a/src/lib/crypto/crc32/crc.c
+++ b/src/lib/crypto/crc32/crc.c
@@ -146,20 +146,28 @@ static u_long const crc_table[256] = {
/* Windows needs to these prototypes for crc32_cksumtable_entry below */
static krb5_error_code
-crc32_sum_func PROTOTYPE((krb5_pointer in, size_t in_length,
- krb5_pointer seed, size_t seed_length, krb5_checksum *outcksum));
+crc32_sum_func 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
-crc32_verify_func PROTOTYPE((krb5_checksum FAR *cksum, krb5_pointer in,
- size_t in_length, krb5_pointer seed, size_t seed_length));
+crc32_verify_func 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
crc32_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 FAR *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;
{
register u_char *data;
register u_long c = 0;
@@ -188,11 +196,11 @@ krb5_checksum FAR *outcksum;
static krb5_error_code
crc32_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;
{
register u_char *data;
register u_long c = 0;
diff --git a/src/lib/crypto/des/ChangeLog b/src/lib/crypto/des/ChangeLog
index 6edc924c9..76ea95156 100644
--- a/src/lib/crypto/des/ChangeLog
+++ b/src/lib/crypto/des/ChangeLog
@@ -1,3 +1,12 @@
+Thu Jan 30 21:43:19 1997 Richard Basch <basch@lehman.com>
+
+ * cbc_cksum.c
+ Change functions to take const args where possible
+
+Thu Nov 21 00:58:04 EST 1996 Richard Basch <basch@lehman.com>
+
+ * Makefile.in: Win32 build
+
Sat Jun 15 03:51:19 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* Makefile.in (clean): Add space before \
diff --git a/src/lib/crypto/des/Makefile.in b/src/lib/crypto/des/Makefile.in
index ad665617f..403cca650 100644
--- a/src/lib/crypto/des/Makefile.in
+++ b/src/lib/crypto/des/Makefile.in
@@ -1,7 +1,9 @@
CFLAGS = $(CCOPTS) $(DEFS)
##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
+##DOSMYNAME=des
+##DOSOBJFILE=..\des.lst
+##WIN16##LIBNAME=..\crypto.lib
COMERRLIB=$(BUILDTOP)/util/et/libcom_err.$(LIBEXT)
@@ -62,11 +64,14 @@ SRCS= $(srcdir)/afsstring2key.c \
$(srcdir)/u_rn_key.c
-all:: $(OBJS)
+all-unix:: $(OBJS) shared
+all-mac:: $(OBJS) shared
+all-windows:: $(OBJFILE)
-all-unix:: shared
-all-mac:: shared
-all-windows::
+##DOS$(OBJFILE): $(OBJS)
+##DOS $(RM) $(OBJFILE)
+##WIN16## $(CP) nul: $(OBJFILE)
+##WIN32## $(LIBECHO) -p $(MYNAME)\ *.obj > $(OBJFILE)
shared:
mkdir shared
@@ -109,3 +114,4 @@ clean-unix::
clean-mac::
$(RM) shared/*
clean-windows::
+ $(RM) $(OBJFILE)
diff --git a/src/lib/crypto/des/cbc_cksum.c b/src/lib/crypto/des/cbc_cksum.c
index c4fb8c086..29a38a0a5 100644
--- a/src/lib/crypto/des/cbc_cksum.c
+++ b/src/lib/crypto/des/cbc_cksum.c
@@ -44,18 +44,25 @@
*/
static krb5_error_code mit_des_cbc_checksum
- PROTOTYPE((krb5_pointer, size_t,krb5_pointer,size_t, krb5_checksum FAR * ));
+ PROTOTYPE((krb5_const krb5_pointer,
+ krb5_const size_t,
+ krb5_const krb5_pointer,
+ krb5_const size_t,
+ krb5_checksum FAR * ));
static krb5_error_code mit_des_cbc_verf_cksum
- PROTOTYPE ((krb5_checksum FAR *, krb5_pointer, size_t, krb5_pointer,
- size_t ));
+ PROTOTYPE ((krb5_const krb5_checksum FAR *,
+ krb5_const krb5_pointer,
+ krb5_const size_t,
+ krb5_const krb5_pointer,
+ krb5_const size_t ));
static krb5_error_code
mit_des_cbc_checksum(in, in_length, key, key_size, cksum)
- krb5_pointer in;
- size_t in_length;
- krb5_pointer key;
- size_t key_size;
+ krb5_const krb5_pointer in;
+ krb5_const size_t in_length;
+ krb5_const krb5_pointer key;
+ krb5_const size_t key_size;
krb5_checksum FAR * cksum;
{
struct mit_des_ks_struct *schedule; /* pointer to key schedules */
@@ -95,11 +102,11 @@ mit_des_cbc_checksum(in, in_length, key, key_size, cksum)
static krb5_error_code
mit_des_cbc_verf_cksum(cksum, in, in_length, key, key_size)
- krb5_checksum FAR * cksum;
- krb5_pointer in;
- size_t in_length;
- krb5_pointer key;
- size_t key_size;
+ krb5_const krb5_checksum FAR * cksum;
+ krb5_const krb5_pointer in;
+ krb5_const size_t in_length;
+ krb5_const krb5_pointer key;
+ krb5_const size_t key_size;
{
struct mit_des_ks_struct *schedule; /* pointer to key schedules */
mit_des_cblock contents;
diff --git a/src/lib/crypto/md4/ChangeLog b/src/lib/crypto/md4/ChangeLog
index 531fd8af7..b275f9823 100644
--- a/src/lib/crypto/md4/ChangeLog
+++ b/src/lib/crypto/md4/ChangeLog
@@ -1,3 +1,12 @@
+Thu Jan 30 21:42:03 1997 Richard Basch <basch@lehman.com>
+
+ * md4crypto.c md4glue.c:
+ Change functions to take const args where possible
+
+Thu Nov 21 00:58:04 EST 1996 Richard Basch <basch@lehman.com>
+
+ * Makefile.in: Win32 build
+
Wed Jun 12 00:10:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* md4.c
diff --git a/src/lib/crypto/md4/Makefile.in b/src/lib/crypto/md4/Makefile.in
index c7af3d1b0..e4c54f030 100644
--- a/src/lib/crypto/md4/Makefile.in
+++ b/src/lib/crypto/md4/Makefile.in
@@ -2,7 +2,10 @@
CFLAGS = $(CCOPTS) $(DEFS) -I$(srcdir)/../des -I"$(srcdir)"
##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
+##DOSMYNAME=md4
+##DOSOBJFILE=..\md4.lst
+##WIN16##LIBNAME=..\crypto.lib
+
RUN_SETUP=@KRB5_RUN_ENV@
.c.o:
@@ -15,7 +18,12 @@ SRCS= $(srcdir)/md4.c $(srcdir)/md4glue.c $(srcdir)/md4crypto.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 $(MYNAME)\ *.obj > $(OBJFILE)
shared:
mkdir shared
@@ -59,3 +67,4 @@ clean-unix::
clean-mac::
$(RM) shared/*
clean-windows::
+ $(RM) $(OBJFILE)
diff --git a/src/lib/crypto/md4/md4crypto.c b/src/lib/crypto/md4/md4crypto.c
index 43d644366..eac9647f2 100644
--- a/src/lib/crypto/md4/md4crypto.c
+++ b/src/lib/crypto/md4/md4crypto.c
@@ -28,18 +28,6 @@
#include "rsa-md4.h"
#include "des_int.h" /* we cheat a bit and call it directly... */
-/* Windows needs to these prototypes for the assignment below */
-
-krb5_error_code
-krb5_md4_crypto_sum_func PROTOTYPE((krb5_pointer in, size_t in_length,
- krb5_pointer seed, size_t seed_length, krb5_checksum *outcksum));
-
-krb5_error_code
-krb5_md4_crypto_verify_func PROTOTYPE((krb5_checksum FAR *cksum, krb5_pointer in,
- size_t in_length, krb5_pointer seed, size_t seed_length));
-
-static mit_des_cblock zero_ivec = { 0 };
-
/*
* In Kerberos V5 Beta 5 and previous releases the RSA-MD4-DES implementation
* did not follow RFC1510. The folowing definitions control the compatibility
@@ -56,6 +44,37 @@ static mit_des_cblock zero_ivec = { 0 };
#define MD4_K5BETA_COMPAT
#define MD4_K5BETA_COMPAT_DEF
+
+/* Windows needs to these prototypes for the assignment below */
+
+#ifdef MD4_K5BETA_COMPAT
+krb5_error_code
+krb5_md4_crypto_compat_sum_func 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 *outcksum));
+#endif
+
+krb5_error_code
+krb5_md4_crypto_sum_func 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 *outcksum));
+
+krb5_error_code
+krb5_md4_crypto_verify_func 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 mit_des_cblock zero_ivec = { 0 };
+
static void
krb5_md4_calculate_cksum(md4ctx, confound, confound_length, in, in_length)
krb5_MD4_CTX *md4ctx;
@@ -78,11 +97,11 @@ krb5_md4_calculate_cksum(md4ctx, confound, confound_length, in, in_length)
*/
krb5_error_code
krb5_md4_crypto_compat_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 FAR *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 outtmp[OLD_RSA_MD4_DES_CKSUM_LENGTH];
krb5_octet *input = (krb5_octet *)in;
@@ -131,11 +150,11 @@ krb5_checksum FAR *outcksum;
*/
krb5_error_code
krb5_md4_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_checksum FAR *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 outtmp[NEW_RSA_MD4_DES_CKSUM_LENGTH];
mit_des_cblock tmpkey;
@@ -195,11 +214,11 @@ krb5_checksum FAR *outcksum;
krb5_error_code
krb5_md4_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_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 outtmp[NEW_RSA_MD4_DES_CKSUM_LENGTH];
mit_des_cblock tmpkey;
diff --git a/src/lib/crypto/md4/md4glue.c b/src/lib/crypto/md4/md4glue.c
index df33c8a23..f7e566e9b 100644
--- a/src/lib/crypto/md4/md4glue.c
+++ b/src/lib/crypto/md4/md4glue.c
@@ -29,20 +29,28 @@
/* Windows needs to these prototypes for the assignment below */
krb5_error_code
-krb5_md4_sum_func PROTOTYPE((krb5_pointer in, size_t in_length,
- krb5_pointer seed, size_t seed_length, krb5_checksum *outcksum));
+krb5_md4_sum_func 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_md4_verify_func PROTOTYPE((krb5_checksum FAR *cksum, krb5_pointer in,
- size_t in_length, krb5_pointer seed, size_t seed_length));
+krb5_md4_verify_func 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_md4_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 FAR *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;
krb5_MD4_CTX working;
@@ -66,11 +74,11 @@ krb5_checksum FAR *outcksum;
krb5_error_code
krb5_md4_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;
krb5_MD4_CTX working;
diff --git a/src/lib/crypto/md5/ChangeLog b/src/lib/crypto/md5/ChangeLog
index 9e73726bc..b771bedd2 100644
--- a/src/lib/crypto/md5/ChangeLog
+++ b/src/lib/crypto/md5/ChangeLog
@@ -1,3 +1,12 @@
+Thu Jan 30 21:42:50 1997 Richard Basch <basch@lehman.com>
+
+ * md5crypto.c md5glue.c:
+ Change functions to take const args where possible
+
+Thu Nov 21 00:58:04 EST 1996 Richard Basch <basch@lehman.com>
+
+ * Makefile.in: Win32 build
+
Wed Jun 12 00:11:34 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* rsa-md5.h:
diff --git a/src/lib/crypto/md5/Makefile.in b/src/lib/crypto/md5/Makefile.in
index f7d3292ad..8c009cd83 100644
--- a/src/lib/crypto/md5/Makefile.in
+++ b/src/lib/crypto/md5/Makefile.in
@@ -1,7 +1,10 @@
CFLAGS = $(CCOPTS) $(DEFS) -I$(srcdir)/../des
##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
+##DOSMYNAME=md5
+##DOSOBJFILE=..\md5.lst
+##WIN16##LIBNAME=..\crypto.lib
+
RUN_SETUP = @KRB5_RUN_ENV@
.c.o:
$(CC) $(CFLAGS) -c $(srcdir)/$*.c
@@ -13,7 +16,12 @@ SRCS= $(srcdir)/md5.c $(srcdir)/md5glue.c $(srcdir)/md5crypto.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 $(MYNAME)\ *.obj > $(OBJFILE)
shared:
mkdir shared
@@ -43,3 +51,4 @@ clean-unix::
clean-mac::
$(RM) shared/*
clean-windows::
+ $(RM) $(OBJFILE)
diff --git a/src/lib/crypto/md5/md5crypto.c b/src/lib/crypto/md5/md5crypto.c
index 1982a56e2..b83e50e77 100644
--- a/src/lib/crypto/md5/md5crypto.c
+++ b/src/lib/crypto/md5/md5crypto.c
@@ -2,18 +2,6 @@
#include "rsa-md5.h"
#include "des_int.h" /* we cheat a bit and call it directly... */
-/* Windows needs to these prototypes for the assignment below */
-
-krb5_error_code
-krb5_md5_crypto_sum_func PROTOTYPE((krb5_pointer in, size_t in_length,
- krb5_pointer seed, size_t seed_length, krb5_checksum FAR *outcksum));
-
-krb5_error_code
-krb5_md5_crypto_verify_func PROTOTYPE((krb5_checksum FAR *cksum, krb5_pointer in,
- size_t in_length, krb5_pointer seed, size_t seed_length));
-
-static mit_des_cblock zero_ivec = { 0 };
-
/*
* In Kerberos V5 Beta 5 and previous releases the RSA-MD5-DES implementation
* did not follow RFC1510. The folowing definitions control the compatibility
@@ -30,6 +18,37 @@ static mit_des_cblock zero_ivec = { 0 };
#define MD5_K5BETA_COMPAT
#define MD5_K5BETA_COMPAT_DEF
+
+/* Windows needs to these prototypes for the assignment below */
+
+#ifdef MD5_K5BETA_COMPAT
+krb5_error_code
+krb5_md5_crypto_compat_sum_func 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));
+#endif
+
+krb5_error_code
+krb5_md5_crypto_sum_func 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_md5_crypto_verify_func 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 mit_des_cblock zero_ivec = { 0 };
+
static void
krb5_md5_calculate_cksum(md5ctx, confound, confound_length, in, in_length)
krb5_MD5_CTX *md5ctx;
@@ -48,11 +67,11 @@ krb5_md5_calculate_cksum(md5ctx, confound, confound_length, in, in_length)
#ifdef MD5_K5BETA_COMPAT
krb5_error_code
krb5_md5_crypto_compat_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 FAR *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 outtmp[OLD_RSA_MD5_DES_CKSUM_LENGTH];
krb5_octet *input = (krb5_octet *)in;
@@ -96,11 +115,11 @@ krb5_checksum FAR *outcksum;
krb5_error_code
krb5_md5_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_checksum FAR *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 outtmp[NEW_RSA_MD5_DES_CKSUM_LENGTH];
mit_des_cblock tmpkey;
@@ -162,11 +181,11 @@ krb5_checksum FAR *outcksum;
krb5_error_code
krb5_md5_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_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 outtmp[NEW_RSA_MD5_DES_CKSUM_LENGTH];
mit_des_cblock tmpkey;
diff --git a/src/lib/crypto/md5/md5glue.c b/src/lib/crypto/md5/md5glue.c
index 77aca3686..66d5aa791 100644
--- a/src/lib/crypto/md5/md5glue.c
+++ b/src/lib/crypto/md5/md5glue.c
@@ -4,20 +4,28 @@
/* Windows needs to these prototypes for the assignment below */
krb5_error_code
-krb5_md5_sum_func PROTOTYPE((krb5_pointer in, size_t in_length,
- krb5_pointer seed, size_t seed_length, krb5_checksum *outcksum));
+krb5_md5_sum_func 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_md5_verify_func PROTOTYPE((krb5_checksum FAR *cksum, krb5_pointer in,
- size_t in_length, krb5_pointer seed, size_t seed_length));
+krb5_md5_verify_func 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_md5_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 FAR *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;
krb5_MD5_CTX working;
@@ -40,11 +48,11 @@ krb5_checksum FAR *outcksum;
krb5_error_code
krb5_md5_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;
krb5_MD5_CTX working;
diff --git a/src/lib/crypto/os/ChangeLog b/src/lib/crypto/os/ChangeLog
index 3671f1349..97f79106d 100644
--- a/src/lib/crypto/os/ChangeLog
+++ b/src/lib/crypto/os/ChangeLog
@@ -1,3 +1,13 @@
+Thu Nov 21 00:58:04 EST 1996 Richard Basch <basch@lehman.com>
+
+ * Makefile.in: Win32 build
+
+ * c_ustime.c: The Win32 time calculation is different from DOS'
+ so the DOS version shouldn't be trying to use the same
+ part of the ifdef.
+
+ * rnd_confoun.c: Fix function declaration (win32)
+
Wed Jun 12 00:12:52 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* c_ustime.c: Fix WIN32 to be _WIN32
diff --git a/src/lib/crypto/os/Makefile.in b/src/lib/crypto/os/Makefile.in
index 46e734d11..134e5c918 100644
--- a/src/lib/crypto/os/Makefile.in
+++ b/src/lib/crypto/os/Makefile.in
@@ -1,7 +1,9 @@
CFLAGS = $(CCOPTS) $(DEFS)
##DOSBUILDTOP = ..\..\..
-##DOSLIBNAME=..\crypto.lib
+##DOSMYNAME=os
+##DOSOBJFILE=..\os.lst
+##WIN16##LIBNAME=..\crypto.lib
LIBOBJS = @LIBOBJS@
@@ -15,10 +17,13 @@ OBJS= $(COBJS) $(LIBOBJS)
SRCS= rnd_confoun.c c_localaddr.c c_ustime.c
all-unix:: shared $(OBJS)
-
all-mac:: $(OBJS)
+all-windows:: $(OBJFILE)
-all-windows: $(COBJS)
+##DOS$(OBJFILE): $(COBJS)
+##DOS $(RM) $(OBJFILE)
+##WIN16## $(CP) nul: $(OBJFILE)
+##WIN32## $(LIBECHO) -p $(MYNAME)\ *.obj > $(OBJFILE)
shared:
mkdir shared
@@ -39,3 +44,4 @@ clean-unix::
clean-mac::
$(RM) shared/*
clean-windows::
+ $(RM) $(OBJFILE)
diff --git a/src/lib/crypto/os/c_ustime.c b/src/lib/crypto/os/c_ustime.c
index 8b539463f..57606de10 100644
--- a/src/lib/crypto/os/c_ustime.c
+++ b/src/lib/crypto/os/c_ustime.c
@@ -121,7 +121,7 @@ krb5_crypto_us_timeofday(seconds, microseconds)
}
-#elif defined(_WIN32) || defined(_MSDOS)
+#elif defined(_WIN32)
/* Microsoft Windows NT and 95 (32bit) */
/* This one works for WOW (Windows on Windows, ntvdm on Win-NT) */
diff --git a/src/lib/crypto/os/rnd_confoun.c b/src/lib/crypto/os/rnd_confoun.c
index 8db32d156..e904cb5c7 100644
--- a/src/lib/crypto/os/rnd_confoun.c
+++ b/src/lib/crypto/os/rnd_confoun.c
@@ -60,9 +60,9 @@ You need a random number generator!
/*
* Generate a random confounder
*/
-krb5_error_code
+KRB5_DLLIMP krb5_error_code KRB5_CALLCONV
krb5_random_confounder(size, fillin)
-int size;
+size_t size;
krb5_pointer fillin;
{
static int seeded = 0;
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 );
}