summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ChangeLog6
-rw-r--r--src/lib/Makefile.in92
-rw-r--r--src/lib/crypto/ChangeLog4
-rw-r--r--src/lib/crypto/Makefile.in33
-rw-r--r--src/lib/gssapi/ChangeLog4
-rw-r--r--src/lib/gssapi/Makefile.in10
-rw-r--r--src/lib/krb5/ChangeLog4
-rw-r--r--src/lib/krb5/Makefile.in54
-rw-r--r--src/lib/krb5/ccache/ChangeLog4
-rw-r--r--src/lib/krb5/ccache/Makefile.in7
-rw-r--r--src/lib/krb5/keytab/ChangeLog4
-rw-r--r--src/lib/krb5/keytab/Makefile.in6
-rw-r--r--src/lib/libkrb5.def391
-rw-r--r--src/lib/win_glue.c54
-rw-r--r--src/lib/winsock.def90
15 files changed, 707 insertions, 56 deletions
diff --git a/src/lib/ChangeLog b/src/lib/ChangeLog
index e84f31e91..81546d011 100644
--- a/src/lib/ChangeLog
+++ b/src/lib/ChangeLog
@@ -1,3 +1,9 @@
+Wed Mar 15 20:45:33 1995 Keith Vetter (keithv@fusion.com)
+
+ * libkrb5.def, winsock.def, win_glue.c: new files for making DLL.
+ * Makefile.in: On the PC it recurses into all subdirs and builds
+ libkrb5.dll.
+
Tue Feb 28 01:33:52 1995 John Gilmore (gnu at toad.com)
* glue4.c: Avoid <krb5/...> includes.
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index 06a2a7bb5..075710f9c 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -1,7 +1,93 @@
CFLAGS = $(CCOPTS) $(DEFS)
LDFLAGS = -g
-all::
+##DOSBUILDTOP = ..
+##DOS!include $(BUILDTOP)\config\windows.in
+
+all:: all-$(WHAT)
+
+all-unix::
+
+clean:: clean-$(WHAT)
+
+clean-unix::
+ $(RM) libkrb5.a libkdb5.a libcrypto.a
+ $(RM) libgssapi_krb5.a libdes425.a libkrb425.a
+
+clean-windows::
+ $(RM) libkrb5.dll libkrb5.lib libkrb5.bak winsock.lib
+#
+# Windows stuff to make libkrb5.dll and libkrb5.lib. Currently it
+# combines crypto, krb5 and the util/et directories.
+#
+CLIB = crypto\crypto.lib
+KLIB = krb5\krb5.lib
+ETLIB = $(BUILDTOP)\util\et\comerr.lib
+WLIB = .\winsock.lib
+LIBS = $(CLIB) $(KLIB) $(ETLIB) $(WLIB)
+
+#
+# Fast: is a faster way to make things on the PC. Unfortunately it requires
+# the unix utility sed so it can't be part of the final production release.
+#
+fast:
+ $(RM) libkrb5.lib libkrb5.dll
+ cd crypto
+ $(MAKE) -$(MFLAGS) LIBCMD=rem
+ libdir crypto.lib
+ cd ..\krb5
+ $(MAKE) -$(MFLAGS) LIBCMD=rem
+ libdir krb5.lib
+ cd ..
+ cd $(BUILDTOP)\util\et
+ $(MAKE) -$(MFLAGS)
+ cd ..\..\lib
+ link /co /seg:400 /noe /nologo win_glue, libkrb5.dll,nul, \
+ $(LIBS) ldllcew libw,libkrb5.def
+ rc /nologo /p /k libkrb5.dll
+ implib /nologo libkrb5.lib libkrb5.dll
+
+libkrb5.lib:: libkrb5.dll
+ implib /nologo librkb5.lib libkrb5.dll
+
+libkrb5.dll:: $(LIBS) libkrb5.def win_glue.obj
+ link /co /seg:400 /noe /nol win_glue, libkrb5.dll,nul, \
+ $(LIBS) ldllcew libw,libkrb5.def
+ rc /nologo /p /k libkrb5.dll
+
+winsock.lib: winsock.def
+ implib /nologo winsock.lib winsock.def
+
+all-windows::
+ cd crypto
+ @echo Making in lib\crypto
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
+ cd ..\krb5
+ @echo Making in lib\krb5
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
+ cd ..\gssapi
+ @echo Making in lib\gssapi
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
+ cd ..\des425
+ @echo Making in lib\des425
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
+ cd ..
+
+all-windows:: libkrb5.lib
+
+clean-windows::
+ cd crypto
+ @echo Making clean in lib\crypto
+ -$(MAKE) -$(MFLAGS) clean
+ cd ..\krb5
+ @echo Making clean in lib\krb5
+ -$(MAKE) -$(MFLAGS) clean
+ cd ..\gssapi
+ @echo Making clean in lib\gssapi
+ -$(MAKE) -$(MFLAGS) clean
+ cd ..\des425
+ @echo Making clean in lib\des425
+ -$(MAKE) -$(MFLAGS) clean
+ cd ..
+ @echo Making clean locally
-clean::
- $(RM) libkrb5.a libkdb5.a libcrypto.a libgssapi_krb5.a libdes425.a libkrb425.a
diff --git a/src/lib/crypto/ChangeLog b/src/lib/crypto/ChangeLog
index fc069cdb4..b84541918 100644
--- a/src/lib/crypto/ChangeLog
+++ b/src/lib/crypto/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 15 20:23:17 1995 Keith Vetter (keithv@fusion.com)
+
+ * Makefile.in: cleaned up for the PC
+
Tue Mar 14 17:31:01 1995 Keith Vetter (keithv@fusion.com)
* Makefile.in: removed all DLL stuff--it now happens up a directory.
diff --git a/src/lib/crypto/Makefile.in b/src/lib/crypto/Makefile.in
index 63968b12f..78191b1d8 100644
--- a/src/lib/crypto/Makefile.in
+++ b/src/lib/crypto/Makefile.in
@@ -54,55 +54,56 @@ check-unix::
all-windows::
cd crc32
- @echo Making in ..\crc32
+ @echo Making in crypto\crc32
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\des
- @echo Making in des
+ @echo Making in crypto\des
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\md4
- @echo Making in ..\md4
+ @echo Making in crypto\md4
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\md5
- @echo Making in ..\md5
+ @echo Making in crypto\md5
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\os
- @echo Making in ..\os
+ @echo Making in crypto\os
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..
clean-windows::
cd crc32
- @echo Making clean in ..\crc32
+ @echo Making clean in crypto\crc32
-$(MAKE) -$(MFLAGS) clean
cd ..\des
- @echo Making clean in des
+ @echo Making clean in crypto\des
-$(MAKE) -$(MFLAGS) clean
cd ..\md4
- @echo Making clean in ..\md4
+ @echo Making clean in crypto\md4
-$(MAKE) -$(MFLAGS) clean
cd ..\md5
- @echo Making clean in ..\md5
+ @echo Making clean in crypto\md5
-$(MAKE) -$(MFLAGS) clean
cd ..\os
- @echo Making clean in ..\os
+ @echo Making clean in crypto\os
-$(MAKE) -$(MFLAGS) clean
cd ..
-
+ @echo Making clean locally
check-windows::
cd crc32
- @echo Making check in ..\crc32
+ @echo Making check in crypto\crc32
-$(MAKE) -$(MFLAGS) check
cd ..\des
- @echo Making check in des
+ @echo Making check in crypto\des
-$(MAKE) -$(MFLAGS) check
cd ..\md4
- @echo Making check in ..\md4
+ @echo Making check in crypto\md4
-$(MAKE) -$(MFLAGS) check
cd ..\md5
- @echo Making check in ..\md5
+ @echo Making check in crypto\md5
-$(MAKE) -$(MFLAGS) check
cd ..\os
- @echo Making check in ..\os
+ @echo Making check in crypto\os
-$(MAKE) -$(MFLAGS) check
cd ..
+
diff --git a/src/lib/gssapi/ChangeLog b/src/lib/gssapi/ChangeLog
index 2bd94d756..4f010d12a 100644
--- a/src/lib/gssapi/ChangeLog
+++ b/src/lib/gssapi/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 15 20:23:17 1995 Keith Vetter (keithv@fusion.com)
+
+ * Makefile.in: cleaned up for the PC
+
Mon Feb 20 21:38:20 1995 Keith Vetter (keithv@fusion.com)
* Makefile.in: made to work on the PC
diff --git a/src/lib/gssapi/Makefile.in b/src/lib/gssapi/Makefile.in
index 06c409113..17b1612ed 100644
--- a/src/lib/gssapi/Makefile.in
+++ b/src/lib/gssapi/Makefile.in
@@ -24,20 +24,20 @@ clean-unix::
all-windows::
cd generic
- @echo Making in ..\generic
+ @echo Making in gssapi\generic
-$(MAKE) -$(MFLAGS) LIB=$(LIB)
cd ..\krb5
- @echo Making in krb5
+ @echo Making in gssapi\krb5
-$(MAKE) -$(MFLAGS) LIB=$(LIB)
cd ..
clean-windows::
cd generic
- @echo Making clean in ..\generic
+ @echo Making clean in gssapi\generic
-$(MAKE) -$(MFLAGS) clean
cd ..\krb5
- @echo Making clean in krb5
+ @echo Making clean in gssapi\krb5
-$(MAKE) -$(MFLAGS) clean
cd ..
-
+ @echo Making clean locally
diff --git a/src/lib/krb5/ChangeLog b/src/lib/krb5/ChangeLog
index 5854c130e..2f3e0b628 100644
--- a/src/lib/krb5/ChangeLog
+++ b/src/lib/krb5/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 15 20:23:17 1995 Keith Vetter (keithv@fusion.com)
+
+ * Makefile.in: cleaned up for the PC
+
Wed Mar 15 12:26:21 1995 Keith Vetter (keithv@fusion.com)
* Makefile.in: made so it recurses into the subdirs for the PC.
diff --git a/src/lib/krb5/Makefile.in b/src/lib/krb5/Makefile.in
index a9d85fb35..bd8358753 100644
--- a/src/lib/krb5/Makefile.in
+++ b/src/lib/krb5/Makefile.in
@@ -47,61 +47,61 @@ clean-windows::
all-windows::
cd ASN.1
- @echo Making in ASN.1
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\asn.1
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\CCACHE
- @echo Making in CCACHE
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\ccache
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\ERROR_TA
- @echo Making in ERROR_TA
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\error_ta
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\FREE
- @echo Making in FREE
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\free
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\KEYTAB
- @echo Making in KEYTAB
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\keytab
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\KRB
- @echo Making in KRB
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\krb
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\OS
- @echo Making in OS
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\os
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\POSIX
- @echo Making in POSIX
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\posix
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..\RCACHE
- @echo Making in RCACHE
- -$(MAKE) -$(MFLAGS) LIBCMD="$(LIBCMD)"
+ @echo Making in lib\rcache
+ -$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..
clean-windows::
cd ASN.1
- @echo Making clean in ASN.1
+ @echo Making clean in lib\asn.1
-$(MAKE) -$(MFLAGS) clean
cd ..\CCACHE
- @echo Making clean in CCACHE
+ @echo Making clean in lib\ccache
-$(MAKE) -$(MFLAGS) clean
cd ..\ERROR_TA
- @echo Making clean in ERROR_TA
+ @echo Making clean in lib\error_ta
-$(MAKE) -$(MFLAGS) clean
cd ..\FREE
- @echo Making clean in FREE
+ @echo Making clean in lib\free
-$(MAKE) -$(MFLAGS) clean
cd ..\KEYTAB
- @echo Making clean in KEYTAB
+ @echo Making clean in lib\keytab
-$(MAKE) -$(MFLAGS) clean
cd ..\KRB
- @echo Making clean in KRB
+ @echo Making clean in lib\krb
-$(MAKE) -$(MFLAGS) clean
cd ..\OS
- @echo Making clean in OS
+ @echo Making clean in lib\os
-$(MAKE) -$(MFLAGS) clean
cd ..\POSIX
- @echo Making clean in POSIX
+ @echo Making clean in lib\posix
-$(MAKE) -$(MFLAGS) clean
cd ..\RCACHE
- @echo Making clean in RCACHE
+ @echo Making clean in lib\rcache
-$(MAKE) -$(MFLAGS) clean
cd ..
@echo Making clean locally
diff --git a/src/lib/krb5/ccache/ChangeLog b/src/lib/krb5/ccache/ChangeLog
index 1738c1f01..6c836f48f 100644
--- a/src/lib/krb5/ccache/ChangeLog
+++ b/src/lib/krb5/ccache/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 15 20:23:17 1995 Keith Vetter (keithv@fusion.com)
+
+ * Makefile.in: cleaned up for the PC
+
Tue Mar 7 19:53:05 1995 Mark Eichin <eichin@cygnus.com>
* configure.in: take out ISODE_DEFS.
diff --git a/src/lib/krb5/ccache/Makefile.in b/src/lib/krb5/ccache/Makefile.in
index 856726192..8ecc63f7a 100644
--- a/src/lib/krb5/ccache/Makefile.in
+++ b/src/lib/krb5/ccache/Makefile.in
@@ -19,7 +19,7 @@ all-unix::
all-windows::
cd FILE
- @echo Making in CCACHE\FILE
+ @echo Making in ccache\file
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..
@@ -29,7 +29,8 @@ clean-unix::
clean-windows::
cd FILE
- @echo Making clean in CCACHE\FILE
+ @echo Making clean in ccache\file
-$(MAKE) -$(MFLAGS) clean
cd ..
-
+ @echo Making clean locally
+
diff --git a/src/lib/krb5/keytab/ChangeLog b/src/lib/krb5/keytab/ChangeLog
index fd024cc2e..68a83b9f2 100644
--- a/src/lib/krb5/keytab/ChangeLog
+++ b/src/lib/krb5/keytab/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 15 20:23:17 1995 Keith Vetter (keithv@fusion.com)
+
+ * Makefile.in: cleaned up for the PC
+
Tue Mar 7 21:40:18 1995 Keith Vetter (keithv@fusion.com)
* Makefile.in: changed library name for the PC.
diff --git a/src/lib/krb5/keytab/Makefile.in b/src/lib/krb5/keytab/Makefile.in
index 52312bfc3..659d94fcc 100644
--- a/src/lib/krb5/keytab/Makefile.in
+++ b/src/lib/krb5/keytab/Makefile.in
@@ -27,7 +27,7 @@ all-unix::
all-windows::
cd file
- @echo Making in .\file
+ @echo Making in keytab\file
-$(MAKE) -$(MFLAGS) LIBCMD=$(LIBCMD)
cd ..
@@ -37,6 +37,8 @@ clean-unix::
clean-windows::
cd file
- @echo Making clean in .\file
+ @echo Making clean in keytab\file
-$(MAKE) -$(MFLAGS) clean
cd ..
+ @echo Making clean locally
+
diff --git a/src/lib/libkrb5.def b/src/lib/libkrb5.def
new file mode 100644
index 000000000..74368eaf2
--- /dev/null
+++ b/src/lib/libkrb5.def
@@ -0,0 +1,391 @@
+;-----------------------------
+; LIBKRB5.DEF - module definition file
+;-----------------------------
+
+LIBRARY LIBKRB5
+DESCRIPTION 'DLL for Kerberos 5'
+EXETYPE WINDOWS
+CODE PRELOAD MOVEABLE DISCARDABLE
+DATA PRELOAD MOVEABLE SINGLE
+HEAPSIZE 8192
+
+EXPORTS
+ WEP @1 RESIDENTNAME
+ LIBMAIN @2
+ ASN12KRB5_BUF @3
+ ASN1BUF_CREATE @4
+ ASN1BUF_DESTROY @5
+ ASN1BUF_ENSURE_SPACE @6
+ ASN1BUF_EXPAND @7
+ ASN1BUF_FREE @8
+ ASN1BUF_HEX_UNPARSE @9
+ ASN1BUF_IMBED @10
+ ASN1BUF_INSERT_CHARSTRING @11
+ ASN1BUF_INSERT_OCTET @12
+ ASN1BUF_INSERT_OCTETSTRING @13
+ ASN1BUF_LEN @14
+ ASN1BUF_REMAINS @15
+ ASN1BUF_REMOVE_CHARSTRING @16
+ ASN1BUF_REMOVE_OCTET @17
+ ASN1BUF_REMOVE_OCTETSTRING @18
+ ASN1BUF_SIZE @19
+ ASN1BUF_SYNC @20
+ ASN1BUF_UNPARSE @21
+ ASN1BUF_WRAP_DATA @22
+ ASN1_DECODE_ADDRTYPE @23
+ ASN1_DECODE_AP_OPTIONS @24
+ ASN1_DECODE_AUTHDATATYPE @25
+ ASN1_DECODE_AUTHDATA_ELT @26
+ ASN1_DECODE_AUTHORIZATION_DATA @27
+ ASN1_DECODE_CHARSTRING @28
+ ASN1_DECODE_CHECKSUM @29
+ ASN1_DECODE_CKSUMTYPE @30
+ ASN1_DECODE_ENCRYPTED_DATA @31
+ ASN1_DECODE_ENCRYPTION_KEY @32
+ ASN1_DECODE_ENCTYPE @33
+ ASN1_DECODE_ENC_KDC_REP_PART @34
+ ASN1_DECODE_GENERALSTRING @35
+ ASN1_DECODE_GENERALTIME @36
+ ASN1_DECODE_HOST_ADDRESS @37
+ ASN1_DECODE_HOST_ADDRESSES @38
+ ASN1_DECODE_IA5STRING @39
+ ASN1_DECODE_INT @40
+ ASN1_DECODE_INT32 @41
+ ASN1_DECODE_INTEGER @42
+ ASN1_DECODE_KDC_OPTIONS @43
+ ASN1_DECODE_KDC_REP @44
+ ASN1_DECODE_KDC_REQ @45
+ ASN1_DECODE_KDC_REQ_BODY @46
+ ASN1_DECODE_KERBEROS_TIME @47
+ ASN1_DECODE_KEYTYPE @48
+ ASN1_DECODE_KRB5_FLAGS @49
+ ASN1_DECODE_KRB_CRED_INFO @50
+ ASN1_DECODE_KRB_SAFE_BODY @51
+ ASN1_DECODE_KVNO @52
+ ASN1_DECODE_LAST_REQ @53
+ ASN1_DECODE_LAST_REQ_ENTRY @54
+ ASN1_DECODE_MSGTYPE @55
+ ASN1_DECODE_NULL @56
+ ASN1_DECODE_OCTET @57
+ ASN1_DECODE_OCTETSTRING @58
+ ASN1_DECODE_PASSWDSEQUENCE @59
+ ASN1_DECODE_PA_DATA @60
+ ASN1_DECODE_PRINCIPAL_NAME @61
+ ASN1_DECODE_PRINTABLESTRING @62
+ ASN1_DECODE_REALM @63
+ ASN1_DECODE_SEQUENCE_OF_ENCTYPE @64
+ ASN1_DECODE_SEQUENCE_OF_KRB_CRED_INFO @65
+ ASN1_DECODE_SEQUENCE_OF_PASSWDSEQUENCE @66
+ ASN1_DECODE_SEQUENCE_OF_PA_DATA @67
+ ASN1_DECODE_SEQUENCE_OF_TICKET @68
+ ASN1_DECODE_TICKET @69
+ ASN1_DECODE_TICKET_FLAGS @70
+ ASN1_DECODE_TRANSITED_ENCODING @71
+ ASN1_DECODE_UI_2 @72
+ ASN1_DECODE_UI_4 @73
+ ASN1_DECODE_UNSIGNED_INTEGER @74
+ ASN1_ENCODE_AP_OPTIONS @75
+ ASN1_ENCODE_AUTHORIZATION_DATA @76
+ ASN1_ENCODE_CHARSTRING @77
+ ASN1_ENCODE_CHECKSUM @78
+ ASN1_ENCODE_ENCRYPTED_DATA @79
+ ASN1_ENCODE_ENCRYPTION_KEY @80
+ ASN1_ENCODE_ENC_KDC_REP_PART @81
+ ASN1_ENCODE_GENERALSTRING @82
+ ASN1_ENCODE_GENERALTIME @83
+ ASN1_ENCODE_HOST_ADDRESS @84
+ ASN1_ENCODE_HOST_ADDRESSES @85
+ ASN1_ENCODE_IA5STRING @86
+ ASN1_ENCODE_INTEGER @87
+ ASN1_ENCODE_KDC_OPTIONS @88
+ ASN1_ENCODE_KDC_REP @89
+ ASN1_ENCODE_KDC_REQ @90
+ ASN1_ENCODE_KDC_REQ_BODY @91
+ ASN1_ENCODE_KERBEROS_TIME @92
+ ASN1_ENCODE_KRB5_AUTHDATA_ELT @93
+ ASN1_ENCODE_KRB5_FLAGS @94
+ ASN1_ENCODE_KRB_CRED_INFO @95
+ ASN1_ENCODE_KRB_SAFE_BODY @96
+ ASN1_ENCODE_LAST_REQ @97
+ ASN1_ENCODE_LAST_REQ_ENTRY @98
+ ASN1_ENCODE_NULL @99
+ ASN1_ENCODE_OCTETSTRING @100
+ ASN1_ENCODE_PASSWDSEQUENCE @101
+ ASN1_ENCODE_PA_DATA @102
+ ASN1_ENCODE_PRINCIPAL_NAME @103
+ ASN1_ENCODE_PRINTABLESTRING @104
+ ASN1_ENCODE_REALM @105
+ ASN1_ENCODE_SEQUENCE_OF_ENCTYPE @106
+ ASN1_ENCODE_SEQUENCE_OF_KRB_CRED_INFO @107
+ ASN1_ENCODE_SEQUENCE_OF_PASSWDSEQUENCE @108
+ ASN1_ENCODE_SEQUENCE_OF_PA_DATA @109
+ ASN1_ENCODE_SEQUENCE_OF_TICKET @110
+ ASN1_ENCODE_TICKET @111
+ ASN1_ENCODE_TICKET_FLAGS @112
+ ASN1_ENCODE_TRANSITED_ENCODING @113
+ ASN1_ENCODE_UI_4 @114
+ ASN1_ENCODE_UNSIGNED_INTEGER @115
+ ASN1_GET_ID @116
+ ASN1_GET_LENGTH @117
+ ASN1_GET_SEQUENCE @118
+ ASN1_GET_TAG @119
+ ASN1_KRB5_REALM_COPY @120
+ ASN1_MAKE_ETAG @121
+ ASN1_MAKE_ID @122
+ ASN1_MAKE_LENGTH @123
+ ASN1_MAKE_SEQUENCE @124
+ ASN1_MAKE_SET @125
+ ASN1_MAKE_STRING @126
+ ASN1_MAKE_TAG @127
+ DECODE_KRB5_AP_REP @128
+ DECODE_KRB5_AP_REP_ENC_PART @129
+ DECODE_KRB5_AP_REQ @130
+ DECODE_KRB5_AS_REP @131
+ DECODE_KRB5_AS_REQ @132
+ DECODE_KRB5_AUTHDATA @133
+ DECODE_KRB5_AUTHENTICATOR @134
+ DECODE_KRB5_CRED @135
+ DECODE_KRB5_ENCRYPTION_KEY @136
+ DECODE_KRB5_ENC_CRED_PART @137
+ DECODE_KRB5_ENC_KDC_REP_PART @138
+ DECODE_KRB5_ENC_PRIV_PART @139
+ DECODE_KRB5_ENC_TKT_PART @140
+ DECODE_KRB5_ERROR @141
+ DECODE_KRB5_KDC_REQ_BODY @142
+ DECODE_KRB5_PRIV @143
+ DECODE_KRB5_PWD_DATA @144
+ DECODE_KRB5_PWD_SEQUENCE @145
+ DECODE_KRB5_SAFE @146
+ DECODE_KRB5_TGS_REP @147
+ DECODE_KRB5_TGS_REQ @148
+ DECODE_KRB5_TICKET @149
+ ENCODE_KRB5_AP_REP @150
+ ENCODE_KRB5_AP_REP_ENC_PART @151
+ ENCODE_KRB5_AP_REQ @152
+ ENCODE_KRB5_AS_REP @153
+ ENCODE_KRB5_AS_REQ @154
+ ENCODE_KRB5_AUTHDATA @155
+ ENCODE_KRB5_AUTHENTICATOR @156
+ ENCODE_KRB5_CRED @157
+ ENCODE_KRB5_ENCRYPTION_KEY @158
+ ENCODE_KRB5_ENC_CRED_PART @159
+ ENCODE_KRB5_ENC_KDC_REP_PART @160
+ ENCODE_KRB5_ENC_PRIV_PART @161
+ ENCODE_KRB5_ENC_TKT_PART @162
+ ENCODE_KRB5_ERROR @163
+ ENCODE_KRB5_KDC_REQ_BODY @164
+ ENCODE_KRB5_PRIV @165
+ ENCODE_KRB5_PWD_DATA @166
+ ENCODE_KRB5_PWD_SEQUENCE @167
+ ENCODE_KRB5_SAFE @168
+ ENCODE_KRB5_TGS_REP @169
+ ENCODE_KRB5_TGS_REQ @170
+ ENCODE_KRB5_TICKET @171
+ GET_SECURID_PADATA @172
+ GET_UNIXTIME_PADATA @173
+ KEYTAB_KEYPROC @174
+ KRB5_425_CONV_PRINCIPAL @175
+ KRB5_524_CONV_PRINCIPAL @176
+ KRB5_ADDRESS_COMPARE @177
+ KRB5_ADDRESS_ORDER @178
+ KRB5_ADDRESS_SEARCH @179
+ KRB5_APPEND_ADDRESSES @180
+ KRB5_AUTH_TO_REP @181
+ KRB5_CHECK_TRANSITED_LIST @182
+ KRB5_COPY_ADDRESSES @183
+ KRB5_COPY_AUTHDATA @184
+ KRB5_COPY_AUTHENTICATOR @185
+ KRB5_COPY_CHECKSUM @186
+ KRB5_COPY_CREDS @187
+ KRB5_COPY_DATA @188
+ KRB5_COPY_KEYBLOCK @189
+ KRB5_COPY_KEYBLOCK_CONTENTS @190
+ KRB5_COPY_PRINCIPAL @191
+ KRB5_COPY_TICKET @192
+ KRB5_DECODE_KDC_REP @193
+ KRB5_DECRYPT_TKT_PART @194
+ KRB5_ENCODE_KDC_REP @195
+ KRB5_ENCRYPT_TKT_PART @196
+ KRB5_FREE_ADDRESS @197
+ KRB5_FREE_ADDRESSES @198
+ KRB5_FREE_AP_REP @199
+ KRB5_FREE_AP_REP_ENC_PART @200
+ KRB5_FREE_AP_REQ @201
+ KRB5_FREE_AUTHDATA @202
+ KRB5_FREE_AUTHENTICATOR @203
+ KRB5_FREE_AUTHENTICATOR_CONTENTS @204
+ KRB5_FREE_CHECKSUM @205
+ KRB5_FREE_CONTEXT @206
+ KRB5_FREE_CRED @207
+ KRB5_FREE_CREDS @208
+ KRB5_FREE_CRED_CONTENTS @209
+ KRB5_FREE_CRED_ENC_PART @210
+ KRB5_FREE_ENC_KDC_REP_PART @211
+ KRB5_FREE_ENC_TKT_PART @212
+ KRB5_FREE_ERROR @213
+ KRB5_FREE_KDC_REP @214
+ KRB5_FREE_KDC_REQ @215
+ KRB5_FREE_KEYBLOCK @216
+ KRB5_FREE_LAST_REQ @217
+ KRB5_FREE_PA_DATA @218
+ KRB5_FREE_PRINCIPAL @219
+ KRB5_FREE_PRIV @220
+ KRB5_FREE_PRIV_ENC_PART @221
+ KRB5_FREE_PWD_DATA @222
+ KRB5_FREE_PWD_SEQUENCES @223
+ KRB5_FREE_REALM_TREE @224
+ KRB5_FREE_SAFE @225
+ KRB5_FREE_TGT_CREDS @226
+ KRB5_FREE_TICKET @227
+ KRB5_FREE_TICKETS @228
+ KRB5_FREE_TKT_AUTHENT @229
+ KRB5_FULLADDR_ORDER @230
+ KRB5_GENERATE_SEQ_NUMBER @231
+ KRB5_GENERATE_SUBKEY @232
+ KRB5_GET_CREDENTIALS @233
+ KRB5_GET_CRED_FROM_KDC @234
+ KRB5_GET_CRED_VIA_2TGT @235
+ KRB5_GET_CRED_VIA_TGT @236
+ KRB5_GET_DEFAULT_IN_TKT_ETYPES @237
+ KRB5_GET_FOR_CREDS @238
+ KRB5_GET_IN_TKT @239
+ KRB5_GET_IN_TKT_WITH_KEYTAB @240
+ KRB5_GET_IN_TKT_WITH_PASSWORD @241
+ KRB5_GET_IN_TKT_WITH_SKEY @242
+ KRB5_GET_SERVER_RCACHE @243
+ KRB5_INIT_CONTEXT @244
+ KRB5_INIT_ETS @245
+ KRB5_KDC_REP_DECRYPT_PROC @246
+ KRB5_KTFILEINT_CLOSE @247
+ KRB5_KTFILEINT_DELETE_ENTRY @248
+ KRB5_KTFILEINT_FIND_SLOT @249
+ KRB5_KTFILEINT_INTERNAL_READ_ENTRY @250
+ KRB5_KTFILEINT_OPENR @251
+ KRB5_KTFILEINT_OPENW @252
+ KRB5_KTFILEINT_READ_ENTRY @253
+ KRB5_KTFILEINT_SIZE_ENTRY @254
+ KRB5_KTFILEINT_WRITE_ENTRY @255
+ KRB5_KTFILE_ADD @256
+ KRB5_KTFILE_CLOSE @257
+ KRB5_KTFILE_END_GET @258
+ KRB5_KTFILE_GET_ENTRY @259
+ KRB5_KTFILE_GET_NAME @260
+ KRB5_KTFILE_GET_NEXT @261
+ KRB5_KTFILE_REMOVE @262
+ KRB5_KTFILE_RESOLVE @263
+ KRB5_KTFILE_START_SEQ_GET @264
+ KRB5_KTFILE_WRESOLVE @265
+ KRB5_KT_ADD_ENTRY @266
+ KRB5_KT_DEFAULT @267
+ KRB5_KT_FREE_ENTRY @268
+ KRB5_KT_READ_SERVICE_KEY @269
+ KRB5_KT_REGISTER @270
+ KRB5_KT_REMOVE_ENTRY @271
+ KRB5_KT_RESOLVE @272
+ KRB5_MK_CRED @273
+ KRB5_MK_ERROR @274
+ KRB5_MK_PRIV @275
+ KRB5_MK_REP @276
+ KRB5_MK_REQ @277
+ KRB5_MK_REQ_EXTENDED @278
+ KRB5_MK_SAFE @279
+ KRB5_OBTAIN_PADATA @280
+ KRB5_PARSE_NAME @281
+ KRB5_PRINCIPAL2SALT @282
+ KRB5_PRINCIPAL2SALT_INTERNAL @283
+ KRB5_PRINCIPAL2SALT_NOREALM @284
+ KRB5_PRINCIPAL_COMPARE @285
+ KRB5_RC_DEFAULT @286
+ KRB5_RC_DEFAULT_NAME @287
+ KRB5_RC_DEFAULT_TYPE @288
+ KRB5_RC_DFL_CLOSE @289
+ KRB5_RC_DFL_CLOSE_NO_FREE @290
+ KRB5_RC_DFL_DESTROY @291
+ KRB5_RC_DFL_EXPUNGE @292
+ KRB5_RC_DFL_GET_NAME @293
+ KRB5_RC_DFL_GET_SPAN @294
+ KRB5_RC_DFL_INIT @295
+ KRB5_RC_DFL_RECOVER @296
+ KRB5_RC_DFL_RESOLVE @297
+ KRB5_RC_DFL_STORE @298
+ KRB5_RC_FREE_ENTRY @299
+ KRB5_RC_GET_TYPE @300
+ KRB5_RC_IO_CLOSE @301
+ KRB5_RC_IO_CREAT @302
+ KRB5_RC_IO_DESTROY @303
+ KRB5_RC_IO_MARK @304
+ KRB5_RC_IO_MOVE @305
+ KRB5_RC_IO_OPEN @306
+ KRB5_RC_IO_READ @307
+ KRB5_RC_IO_SIZE @308
+ KRB5_RC_IO_SYNC @309
+ KRB5_RC_IO_UNMARK @310
+ KRB5_RC_IO_WRITE @311
+ KRB5_RC_REGISTER_TYPE @312
+ KRB5_RC_RESOLVE_FULL @313
+ KRB5_RC_RESOLVE_TYPE @314
+ KRB5_RD_CRED @315
+ KRB5_RD_ERROR @316
+ KRB5_RD_PRIV @317
+ KRB5_RD_REP @318
+ KRB5_RD_REQ @319
+ KRB5_RD_REQ_DECODED @320
+ KRB5_RD_REQ_SIMPLE @321
+ KRB5_RD_SAFE @322
+ KRB5_REALM_COMPARE @323
+ KRB5_RECVAUTH @324
+ KRB5_SENDAUTH @325
+ KRB5_SEND_TGS @326
+ KRB5_SET_DEFAULT_IN_TKT_ETYPES @327
+ KRB5_TGTNAME @328
+ KRB5_UNPARSE_NAME @329
+ KRB5_UNPARSE_NAME_EXT @330
+ KRB5_VERIFY_PADATA @331
+ KRB5_WALK_REALM_TREE @332
+ PWD_KEYPROC @333
+ SKEY_KEYPROC @334
+ VERIFY_SECURID_PADATA @335
+ VERIFY_UNIXTIME_PADATA @336
+ KRB5_SNAME_TO_PRINCIPAL @337
+;Crypto routines
+ CRC32_SUM_FUNC @338
+ KRB5_RANDOM_CONFOUNDER @339
+ MAKE_KEY_SCHED @340
+ MD4_CRYPTO_SUM_FUNC @341
+ MD4_SUM_FUNC @342
+ MD4FINAL @343
+ MD4INIT @344
+ MD4UPDATE @345
+ MD5_CRYPTO_SUM_FUNC @346
+ MD5_SUM_FUNC @347
+ MD5FINAL @348
+ MD5INIT @349
+ MD5UPDATE @350
+ MIT_DES_CBC_CHECKSUM @351
+ MIT_DES_CBC_CKSUM @352
+ MIT_DES_CBC_ENCRYPT @353
+ MIT_DES_CHECK_KEY_PARITY @354
+ MIT_DES_CRC_DECRYPT_FUNC @355
+ MIT_DES_CRC_ENCRYPT_FUNC @356
+ MIT_DES_ECB_ENCRYPT @357
+ MIT_DES_FINISH_KEY @358
+ MIT_DES_FINISH_RANDOM_KEY @359
+ MIT_DES_FIXUP_KEY_PARITY @360
+ MIT_DES_GENERATE_RANDOM_BLOCK @361
+ MIT_DES_INIT_RANDOM_KEY @362
+ MIT_DES_INIT_RANDOM_NUMBER_GENERATOR @363
+ MIT_DES_IS_WEAK_KEY @364
+ MIT_DES_KEY_SCHED @365
+ MIT_DES_MD5_DECRYPT_FUNC @366
+ MIT_DES_MD5_ENCRYPT_FUNC @367
+ MIT_DES_NEW_RANDOM_KEY @368
+ MIT_DES_PROCESS_KEY @369
+ MIT_DES_RANDOM_KEY @370
+ MIT_DES_SET_RANDOM_GENERATOR_SEED @371
+ MIT_DES_SET_SEQUENCE_NUMBER @372
+ MIT_DES_STRING_TO_KEY @373
+ MIT_RAW_DES_DECRYPT_FUNC @374
+ MIT_RAW_DES_ENCRYPT_FUNC @375
+;Com_err routines
+ ERROR_MESSAGE @379
+ _com_err @380
diff --git a/src/lib/win_glue.c b/src/lib/win_glue.c
new file mode 100644
index 000000000..ae4947238
--- /dev/null
+++ b/src/lib/win_glue.c
@@ -0,0 +1,54 @@
+/*
+ * WinSock support.
+ *
+ * Do the WinSock initialization call, keeping all the hair here.
+ *
+ * This routine is called by SOCKET_INITIALIZE in include/c-windows.h.
+ * The code is pretty much copied from winsock.txt from winsock-1.1,
+ * available from:
+ * ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1
+ */
+
+/* We can't include winsock.h directly because of /Za (stdc) options */
+#define NEED_SOCKETS
+#include "krb5.h"
+
+int
+win_socket_initialize()
+{
+ WORD wVersionRequested;
+ WSADATA wsaData;
+ int err;
+
+ wVersionRequested = 0x0101; /* We need version 1.1 */
+
+ err = WSAStartup (wVersionRequested, &wsaData);
+ if (err != 0)
+ return err; /* Library can't initialize */
+
+ if (wVersionRequested != wsaData.wVersion) {
+ /* DLL couldn't support our version of the spec */
+ WSACleanup ();
+ return -104; /* FIXME -- better error? */
+ }
+
+ return 0;
+}
+
+BOOL CALLBACK
+LibMain (hInst, wDataSeg, cbHeap, CmdLine)
+HINSTANCE hInst;
+WORD wDataSeg;
+WORD cbHeap;
+LPSTR CmdLine;
+{
+ win_socket_initialize ();
+ return 1;
+}
+
+int CALLBACK __export
+WEP(nParam)
+ int nParam;
+{
+ return 1;
+}
diff --git a/src/lib/winsock.def b/src/lib/winsock.def
new file mode 100644
index 000000000..cada77985
--- /dev/null
+++ b/src/lib/winsock.def
@@ -0,0 +1,90 @@
+;
+; File: winsock.def
+; System: MS-Windows 3.x
+; Summary: Module definition file for Windows Sockets DLL.
+;
+; This file is from
+; ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1
+; except that we made all the routine names uppercase, to match what
+; MicroSoft C does when you declare an interface routine PASCAL
+; (the way all these routines are declared in .../include/winsock.h).
+;
+
+LIBRARY WINSOCK ; Application's module name
+
+DESCRIPTION 'BSD Socket API for Windows'
+
+EXETYPE WINDOWS ; required for all windows applications
+
+STUB 'WINSTUB.EXE' ; generates error message if application
+ ; is run without Windows
+
+;CODE can be FIXED in memory because of potential upcalls
+CODE PRELOAD FIXED
+
+;DATA must be SINGLE and at a FIXED location since this is a DLL
+DATA PRELOAD FIXED SINGLE
+
+HEAPSIZE 1024
+STACKSIZE 16384
+
+; All functions that will be called by any Windows routine
+; must be exported. Any additional exports beyond those defined
+; here must have ordinal numbers 1000 or above.
+
+EXPORTS
+ ACCEPT @1
+ BIND @2
+ CLOSESOCKET @3
+ CONNECT @4
+ GETPEERNAME @5
+ GETSOCKNAME @6
+ GETSOCKOPT @7
+ HTONL @8
+ HTONS @9
+ INET_ADDR @10
+ INET_NTOA @11
+ IOCTLSOCKET @12
+ LISTEN @13
+ NTOHL @14
+ NTOHS @15
+ RECV @16
+ RECVFROM @17
+ SELECT @18
+ SEND @19
+ SENDTO @20
+ SETSOCKOPT @21
+ SHUTDOWN @22
+ SOCKET @23
+
+ GETHOSTBYADDR @51
+ GETHOSTBYNAME @52
+ GETPROTOBYNAME @53
+ GETPROTOBYNUMBER @54
+ GETSERVBYNAME @55
+ GETSERVBYPORT @56
+ GETHOSTNAME @57
+
+ WSAASYNCSELECT @101
+ WSAASYNCGETHOSTBYADDR @102
+ WSAASYNCGETHOSTBYNAME @103
+ WSAASYNCGETPROTOBYNUMBER @104
+ WSAASYNCGETPROTOBYNAME @105
+ WSAASYNCGETSERVBYPORT @106
+ WSAASYNCGETSERVBYNAME @107
+ WSACANCELASYNCREQUEST @108
+ WSASETBLOCKINGHOOK @109
+ WSAUNHOOKBLOCKINGHOOK @110
+ WSAGETLASTERROR @111
+ WSASETLASTERROR @112
+ WSACANCELBLOCKINGCALL @113
+ WSAISBLOCKING @114
+ WSASTARTUP @115
+ WSACLEANUP @116
+
+ __WSAFDISSET @151
+
+ WEP @500 RESIDENTNAME
+
+;eof
+