summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2006-12-07 21:56:20 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2006-12-07 21:56:20 +0000
commitde72ef9370c7a4982d420569e5c43f12c553ebf0 (patch)
tree4868c06e1bd898e131b7823174048cee9a82a6f5 /src
parent3d22bd77a212fc75d49495476f5d08d76be2f313 (diff)
downloadkrb5-de72ef9370c7a4982d420569e5c43f12c553ebf0.tar.gz
krb5-de72ef9370c7a4982d420569e5c43f12c553ebf0.tar.xz
krb5-de72ef9370c7a4982d420569e5c43f12c553ebf0.zip
Modifications to support the generation and embedding
of library manifests into generated EXEs and DLLs. Manifests are required for Windows XP and above when applications are built with Microsoft Visual Studio 2005 (aka VS8) or above. ticket: 3642 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18930 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in1
-rw-r--r--src/appl/gss-sample/Makefile.in2
-rw-r--r--src/appl/gssftp/ftp/Makefile.in1
-rw-r--r--src/clients/kcpytkt/Makefile.in1
-rw-r--r--src/clients/kdeltkt/Makefile.in1
-rw-r--r--src/clients/kdestroy/Makefile.in1
-rw-r--r--src/clients/kinit/Makefile.in1
-rw-r--r--src/clients/klist/Makefile.in1
-rw-r--r--src/clients/kvno/Makefile.in1
-rw-r--r--src/config/win-post.in1
-rw-r--r--src/config/win-pre.in7
-rw-r--r--src/include/krb5/krb5.hin7
-rw-r--r--src/krb524/Makefile.in2
-rw-r--r--src/lib/Makefile.in6
-rw-r--r--src/lib/krb5/krb/gic_opt.c12
-rw-r--r--src/util/windows/Makefile.in4
-rw-r--r--src/windows/cns/Makefile.in1
-rw-r--r--src/windows/gina/Makefile.in1
-rw-r--r--src/windows/identity/config/Makefile.w323
-rw-r--r--src/windows/kfwlogon/Makefile.in76
-rw-r--r--src/windows/ms2mit/Makefile.in2
-rw-r--r--src/windows/wintel/Makefile.in1
22 files changed, 91 insertions, 42 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 94829d061c..5e88fb94d4 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -159,6 +159,7 @@ config-windows:: Makefile-windows
#
##DOS##$(WCONFIG_EXE): outpre-dir wconfig.c
##DOS## $(CC) -Fe$@ -Fo$*.obj wconfig.c $(CCLINKOPTION)
+##DOS## $(_VC_MANIFEST_EMBED_EXE)
##DOS##MKFDEP=$(WCONFIG_EXE) config\win-pre.in config\win-post.in
diff --git a/src/appl/gss-sample/Makefile.in b/src/appl/gss-sample/Makefile.in
index 92cecb501e..f43bdc9d69 100644
--- a/src/appl/gss-sample/Makefile.in
+++ b/src/appl/gss-sample/Makefile.in
@@ -21,9 +21,11 @@ gss-client: gss-client.o gss-misc.o $(GSS_DEPLIBS) $(KRB5_BASE_DEPLIBS)
$(OUTPRE)gss-server.exe: $(OUTPRE)gss-server.obj $(OUTPRE)gss-misc.obj $(GLIB) $(KLIB)
link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
$(OUTPRE)gss-client.exe: $(OUTPRE)gss-client.obj $(OUTPRE)gss-misc.obj $(GLIB) $(KLIB)
link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) gss-server gss-client
diff --git a/src/appl/gssftp/ftp/Makefile.in b/src/appl/gssftp/ftp/Makefile.in
index ded4c95dad..490b5dc3be 100644
--- a/src/appl/gssftp/ftp/Makefile.in
+++ b/src/appl/gssftp/ftp/Makefile.in
@@ -38,6 +38,7 @@ ftp: $(OBJS) $(GSS_DEPLIBS) $(KRB5_BASE_DEPLIBS)
$(OUTPRE)ftp.exe: $(OBJS) $(GLIB) $(KLIB)
link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib advapi32.lib $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) ftp
diff --git a/src/clients/kcpytkt/Makefile.in b/src/clients/kcpytkt/Makefile.in
index d7089841c5..a989b5006f 100644
--- a/src/clients/kcpytkt/Makefile.in
+++ b/src/clients/kcpytkt/Makefile.in
@@ -15,6 +15,7 @@ kcpytkt: kcpytkt.o $(KRB4COMPAT_DEPLIBS)
$(OUTPRE)kcpytkt.exe: $(OUTPRE)kcpytkt.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB)
link $(EXE_LINKOPTS) /out:$@ $**
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) kcpytkt.o kcpytkt
diff --git a/src/clients/kdeltkt/Makefile.in b/src/clients/kdeltkt/Makefile.in
index d7d371a79c..f5f746f28d 100644
--- a/src/clients/kdeltkt/Makefile.in
+++ b/src/clients/kdeltkt/Makefile.in
@@ -15,6 +15,7 @@ kdeltkt: kdeltkt.o $(KRB4COMPAT_DEPLIBS)
$(OUTPRE)kdeltkt.exe: $(OUTPRE)kdeltkt.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB)
link $(EXE_LINKOPTS) /out:$@ $**
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) kdeltkt.o kdeltkt
diff --git a/src/clients/kdestroy/Makefile.in b/src/clients/kdestroy/Makefile.in
index 6c24f71909..ce273af9b5 100644
--- a/src/clients/kdestroy/Makefile.in
+++ b/src/clients/kdestroy/Makefile.in
@@ -17,6 +17,7 @@ kdestroy: kdestroy.o $(KRB4COMPAT_DEPLIBS)
$(OUTPRE)kdestroy.exe: $(OUTPRE)kdestroy.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB)
link $(EXE_LINKOPTS) -out:$@ $**
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) kdestroy.o kdestroy
diff --git a/src/clients/kinit/Makefile.in b/src/clients/kinit/Makefile.in
index 17c6e5a92a..ec023b7572 100644
--- a/src/clients/kinit/Makefile.in
+++ b/src/clients/kinit/Makefile.in
@@ -20,6 +20,7 @@ kinit: kinit.o $(KRB4COMPAT_DEPLIBS)
$(OUTPRE)kinit.exe: $(OUTPRE)kinit.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.lib $(KLIB) $(CLIB)
link $(EXE_LINKOPTS) -out:$@ $** advapi32.lib
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) kinit.o kinit
diff --git a/src/clients/klist/Makefile.in b/src/clients/klist/Makefile.in
index 669c11e867..7a834045c6 100644
--- a/src/clients/klist/Makefile.in
+++ b/src/clients/klist/Makefile.in
@@ -17,6 +17,7 @@ klist: klist.o $(KRB4COMPAT_DEPLIBS)
$(OUTPRE)klist.exe: $(OUTPRE)klist.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.lib $(SLIB) $(KLIB) $(CLIB)
link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) klist.o klist
diff --git a/src/clients/kvno/Makefile.in b/src/clients/kvno/Makefile.in
index f8a3eeb3a2..70729311e0 100644
--- a/src/clients/kvno/Makefile.in
+++ b/src/clients/kvno/Makefile.in
@@ -17,6 +17,7 @@ kvno: kvno.o $(KRB4COMPAT_DEPLIBS)
$(OUTPRE)kvno.exe: $(OUTPRE)kvno.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj $(KLIB) $(CLIB)
link $(EXE_LINKOPTS) /out:$@ $**
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) kvno.o kvno
diff --git a/src/config/win-post.in b/src/config/win-post.in
index a568bf9a9e..fd874aebeb 100644
--- a/src/config/win-post.in
+++ b/src/config/win-post.in
@@ -107,4 +107,5 @@ clean-windows-files::
$(RM) .\$(OUTPRE)*.lib .\$(OUTPRE)*.pdb
$(RM) .\$(OUTPRE)*.exp .\$(OUTPRE)*.map
$(RM) .\$(OUTPRE)*.idb .\$(OUTPRE)*.ilk
+ $(RM) .\$(OUTPRE)*.manifest
!endif
diff --git a/src/config/win-pre.in b/src/config/win-pre.in
index 2f8b0dad27..7cadbe9032 100644
--- a/src/config/win-pre.in
+++ b/src/config/win-pre.in
@@ -144,6 +144,13 @@ SCLIB=
DEBUGOPT=/ZI
!endif
+#if the compiler is vstudio 8, generate manifest
+!if exists("$(VCINSTALLDIR)\..\..\MICROSOFT VISUAL STUDIO 8")
+CCLINKOPTION = $(CCLINKOPTION) /MANIFEST
+_VC_MANIFEST_EMBED_EXE = if exist $*.exe.manifest mt.exe -manifest $*.exe.manifest -outputresource:$*.exe;1
+_VC_MANIFEST_EMBED_DLL = if exist $*.dll.manifest mt.exe -manifest $*.dll.manifest -outputresource:$*.dll;2
+!endif
+
# /ZI gives better debug info in each object file (MSVC 6.0 or higher).
# /Zi gives debug info in each object file.
# /Gs Avoid stack probes (they don't seem to work anyway)
diff --git a/src/include/krb5/krb5.hin b/src/include/krb5/krb5.hin
index 9d9920efd8..9c6fd2311e 100644
--- a/src/include/krb5/krb5.hin
+++ b/src/include/krb5/krb5.hin
@@ -2429,7 +2429,7 @@ typedef struct _krb5_get_init_creds_opt {
#define KRB5_GET_INIT_CREDS_OPT_ADDRESS_LIST 0x0020
#define KRB5_GET_INIT_CREDS_OPT_PREAUTH_LIST 0x0040
#define KRB5_GET_INIT_CREDS_OPT_SALT 0x0080
-
+#define KRB5_GET_INIT_CREDS_OPT_CHG_PWD_PRMPT 0x0100
void KRB5_CALLCONV
krb5_get_init_creds_opt_init
@@ -2477,7 +2477,10 @@ krb5_get_init_creds_opt_set_salt
(krb5_get_init_creds_opt *opt,
krb5_data *salt);
-
+void KRB5_CALLCONV
+krb5_get_init_creds_opt_set_change_password_prompt
+(krb5_get_init_creds_opt *opt,
+ int prompt);
krb5_error_code KRB5_CALLCONV
krb5_get_init_creds_password
diff --git a/src/krb524/Makefile.in b/src/krb524/Makefile.in
index acc121aa84..7f729192ce 100644
--- a/src/krb524/Makefile.in
+++ b/src/krb524/Makefile.in
@@ -87,9 +87,11 @@ k524init: $(CLIENT_OBJS) $(KRB5_DEPLIB) $(KRB4COMPAT_DEPLIBS)
$(K524LIB): $(OUTPRE)krb524.$(OBJEXT) $(OUTPRE)libinit.$(OBJEXT) $(KLIB) $(CLIB)
link $(DLL_LINKOPTS) -def:$(K524DEF) -out:$*.dll $** $(WINLIBS)
+ $(_VC_MANIFEST_EMBED_DLL)
$(OUTPRE)k524init.exe: $(OUTPRE)k524init.$(OBJEXT) $(KLIB) $(K4LIB) $(CLIB) $(BUILDTOP)\util\windows\$(OUTPRE)getopt.lib
link $(EXE_LINKOPTS) -out:$@ $** $(WINLIBS) $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
install-unix::
$(INSTALL_PROGRAM) krb524d $(DESTDIR)$(SERVER_BINDIR)/krb524d
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index 736f9a5156..b1590df71f 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -101,6 +101,7 @@ clean-windows::
##WIN32##$(SLIB): $(SDEF) $(SLIBS) $(SGLUE) $(SRES)
##WIN32## link $(WINDLLFLAGS) -def:$(SDEF) -out:$*.dll \
##WIN32## $(SLIBS) $(SGLUE) $(SRES) $(WINLIBS) $(SCLIB)
+##WIN32## $(_VC_MANIFEST_EMBED_DLL)
##WIN32##$(SDEF): ..\util\support\libkrb5support.exports
##WIN32## echo EXPORTS > $(SDEF).new
##WIN32## type ..\util\support\libkrb5support.exports >> $(SDEF).new
@@ -110,22 +111,27 @@ clean-windows::
##WIN32##$(CLIB): $(CDEF) $(CLIBS) $(CGLUE) $(CRES) $(SLIB)
##WIN32## link $(WINDLLFLAGS) -def:$(CDEF) -out:$*.dll \
##WIN32## $(CLIBS) $(CGLUE) $(CRES) $(SLIB) $(WINLIBS) $(SCLIB)
+##WIN32## $(_VC_MANIFEST_EMBED_DLL)
##WIN32##$(PLIB): $(PDEF) $(PLIBS) $(PGLUE) $(PRES) $(CLIB) $(SLIB)
##WIN32## link $(WINDLLFLAGS) -def:$(PDEF) -out:$*.dll \
##WIN32## $(PLIBS) $(PGLUE) $(PRES) $(CLIB) $(SLIB) $(WINLIBS)
+##WIN32## $(_VC_MANIFEST_EMBED_DLL)
##WIN32##$(KLIB): $(KDEF) $(KLIBS) $(KGLUE) $(KRES) $(CLIB) $(SLIB) $(MITLIBS) $(DNSLIBS)
##WIN32## link $(WINDLLFLAGS) -def:$(KDEF) -out:$*.dll \
##WIN32## $(KLIBS) $(KGLUE) $(KRES) $(CLIB) $(SLIB) $(MITLIBS) $(DNSLIBS) $(WINLIBS) $(SCLIB)
+##WIN32## $(_VC_MANIFEST_EMBED_DLL)
##WIN32##$(GLIB): $(GDEF) $(GLIBS) $(GGLUE) $(GRES) $(KLIB) $(CLIB) $(SLIB)
##WIN32## link $(WINDLLFLAGS) -def:$(GDEF) -out:$*.dll \
##WIN32## $(GLIBS) $(GGLUE) $(GRES) $(KLIB) $(CLIB) $(SLIB) $(WINLIBS) $(SCLIB)
+##WIN32## $(_VC_MANIFEST_EMBED_DLL)
##WIN32##$(K4LIB): $(K4DEF) $(K4LIBS) $(K4GLUE) $(K4RES) $(KLIB) $(CLIB) $(PLIB)
##WIN32## link $(WINDLLFLAGS) -def:$(K4DEF) -out:$*.dll \
##WIN32## $(K4LIBS) $(K4GLUE) $(K4RES) $(KLIB) $(CLIB) $(PLIB) $(WINLIBS) $(SCLIB)
+##WIN32## $(_VC_MANIFEST_EMBED_DLL)
##WIN32##$(K5_GLUE): win_glue.c
##WIN32## $(CC) $(ALL_CFLAGS) $(MITFLAGS) /c /DKRB5=1 /Fo$@ $**
diff --git a/src/lib/krb5/krb/gic_opt.c b/src/lib/krb5/krb/gic_opt.c
index 58d07b03db..963bbc2788 100644
--- a/src/lib/krb5/krb/gic_opt.c
+++ b/src/lib/krb5/krb/gic_opt.c
@@ -3,7 +3,7 @@
void KRB5_CALLCONV
krb5_get_init_creds_opt_init(krb5_get_init_creds_opt *opt)
{
- opt->flags = 0;
+ opt->flags = KRB5_GET_INIT_CREDS_OPT_CHG_PWD_PRMPT;
}
void KRB5_CALLCONV
@@ -63,3 +63,13 @@ krb5_get_init_creds_opt_set_salt(krb5_get_init_creds_opt *opt, krb5_data *salt)
opt->flags |= KRB5_GET_INIT_CREDS_OPT_SALT;
opt->salt = salt;
}
+
+void KRB5_CALLCONV
+krb5_get_init_creds_opt_set_salt(krb5_get_init_creds_opt *opt, int prompt)
+{
+ if (prompt)
+ opt->flags |= KRB5_GET_INIT_CREDS_OPT_CHG_PWD_PRMPT;
+ else
+ opt->flags &= ~KRB5_GET_INIT_CREDS_OPT_CHG_PWD_PRMPT;
+}
+
diff --git a/src/util/windows/Makefile.in b/src/util/windows/Makefile.in
index 102ae741c9..f857c46679 100644
--- a/src/util/windows/Makefile.in
+++ b/src/util/windows/Makefile.in
@@ -4,6 +4,8 @@ all-windows:: $(OUTPRE)libecho.exe $(OUTPRE)getopt.lib
$(OUTPRE)libecho.exe: $(OUTPRE)libecho.obj
link -out:$@ $** $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
+
$(OUTPRE)getopt.lib: $(OUTPRE)getopt.obj $(OUTPRE)getopt_long.obj
lib -out:$@ $**
@@ -11,4 +13,4 @@ $(OUTPRE)getopt.lib: $(OUTPRE)getopt.obj $(OUTPRE)getopt_long.obj
install-windows::
clean-windows::
- $(RM) $(OUTPRE)*.res $(OUTPRE)*.map $(OUTPRE)*.obj $(OUTPRE)*.exe
+ $(RM) $(OUTPRE)*.res $(OUTPRE)*.map $(OUTPRE)*.obj $(OUTPRE)*.exe $(OUTPRE)*.manifest
diff --git a/src/windows/cns/Makefile.in b/src/windows/cns/Makefile.in
index 1e9e50ed6d..bc884a3fb1 100644
--- a/src/windows/cns/Makefile.in
+++ b/src/windows/cns/Makefile.in
@@ -55,6 +55,7 @@ all:: Makefile $(OUTPRE)$(NAME).exe
$(OUTPRE)$(NAME).exe: $(NAME).def $(OBJS) $(XOBJS) $(LIBS)
$(LINK) $(LFLAGS) /map:$*.map /out:$@ $(OBJS) $(XOBJS) \
$(LIBS) $(SYSLIBS) $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
install::
$(CP) $(OUTPRE)$(NAME).exe $(DESTDIR)
diff --git a/src/windows/gina/Makefile.in b/src/windows/gina/Makefile.in
index 2aec54469b..c2f7ada19c 100644
--- a/src/windows/gina/Makefile.in
+++ b/src/windows/gina/Makefile.in
@@ -28,6 +28,7 @@ clean-windows::
$(OUTPRE)kgina.dll: $(OBJS) $(KLIB) $(CLIB)
link $(WINDLLFLAGS) -def:gina.def -out:$*.dll \
$** $(WINLIBS) $(SCLIB)
+ $(_VC_MANIFEST_EMBED_DLL)
$(OUTPRE)ginastub.obj: ginastub.h
diff --git a/src/windows/identity/config/Makefile.w32 b/src/windows/identity/config/Makefile.w32
index c660426898..8ede1dbae0 100644
--- a/src/windows/identity/config/Makefile.w32
+++ b/src/windows/identity/config/Makefile.w32
@@ -324,7 +324,8 @@ MT=mt.exe -nologo
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest $(MT) -outputresource:$@;1 -manifest $@.manifest
-_VC_MANIFEST_EMBED_DLL=$(_VC_MANIFEST_EMBED_EXE)
+_VC_MANIFEST_EMBED_DLL= \
+if exist $@.manifest $(MT) -outputresource:$@;2 -manifest $@.manifest
# Note that if you are merging manifests, then the VS generated
# manifest should be cleaned up after calling _VC_MANIFEST_EMBED_???.
diff --git a/src/windows/kfwlogon/Makefile.in b/src/windows/kfwlogon/Makefile.in
index 03fc6e7e4c..96562ec36b 100644
--- a/src/windows/kfwlogon/Makefile.in
+++ b/src/windows/kfwlogon/Makefile.in
@@ -1,37 +1,39 @@
-# Makefile for the KFW Network Provider
-#
-
-thisconfigdir=./..
-myfulldir=windows/nplogon
-mydir=.
-BUILDTOP=$(REL)..$(S)..
-DEFINES =
-LOCALINCLUDES = -I$(BUILDTOP) -I$(PISMERE)\athena\util\loadfuncs \
- -I$(PISMERE)\athena\auth\krb5\src\include\kerberosIV \
- -I$(PISMERE)\athena\auth\krb4\include \
- -I$(PISMERE)\athena\auth\leash\include
-PROG_LIBPATH=-L$(TOPLIBD) -L$(KRB5_LIBDIR)
-
-SYSLIBS = kernel32.lib user32.lib advapi32.lib wsock32.lib secur32.lib userenv.lib
-RFLAGS = $(LOCALINCLUDES)
-RCFLAGS = $(RFLAGS) -D_WIN32
-
-all-windows:: $(OUTPRE)kfwlogon.dll $(OUTPRE)kfwcpcc.exe
-
-$(OUTPRE)kfwlogon.res: kfwlogon.rc ..\version.rc
-
-$(OUTPRE)kfwcpcc.res: kfwcpcc.rc ..\version.rc
-
-$(OUTPRE)kfwlogon.dll: $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj $(OUTPRE)kfwlogon.res
- link $(DLL_LINKOPTS) -out:$@ $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj -entry:DllEntryPoint -def:kfwlogon.def $(SYSLIBS) $(KLIB) $(CLIB)
-
-$(OUTPRE)kfwcpcc.exe: $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(OUTPRE)kfwcpcc.res
- link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(SYSLIBS) $(KLIB) $(CLIB)
-
-install::
- copy $(OUTPRE)kfwlogon.dll $(DESTDIR)
- copy $(OUTPRE)kfwcpcc.exe $(DESTDIR)
-
-clean::
- $(RM) $(OUTPRE)*.exe $(OUTPRE)*.dll $(OUTPRE)*.res
-
+# Makefile for the KFW Network Provider
+#
+
+thisconfigdir=./..
+myfulldir=windows/nplogon
+mydir=.
+BUILDTOP=$(REL)..$(S)..
+DEFINES =
+LOCALINCLUDES = -I$(BUILDTOP) -I$(PISMERE)\athena\util\loadfuncs \
+ -I$(PISMERE)\athena\auth\krb5\src\include\kerberosIV \
+ -I$(PISMERE)\athena\auth\krb4\include \
+ -I$(PISMERE)\athena\auth\leash\include
+PROG_LIBPATH=-L$(TOPLIBD) -L$(KRB5_LIBDIR)
+
+SYSLIBS = kernel32.lib user32.lib advapi32.lib wsock32.lib secur32.lib userenv.lib
+RFLAGS = $(LOCALINCLUDES)
+RCFLAGS = $(RFLAGS) -D_WIN32
+
+all-windows:: $(OUTPRE)kfwlogon.dll $(OUTPRE)kfwcpcc.exe
+
+$(OUTPRE)kfwlogon.res: kfwlogon.rc ..\version.rc
+
+$(OUTPRE)kfwcpcc.res: kfwcpcc.rc ..\version.rc
+
+$(OUTPRE)kfwlogon.dll: $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj $(OUTPRE)kfwlogon.res
+ link $(DLL_LINKOPTS) -out:$@ $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj -entry:DllEntryPoint -def:kfwlogon.def $(SYSLIBS) $(KLIB) $(CLIB)
+ $(_VC_MANIFEST_EMBED_DLL)
+
+$(OUTPRE)kfwcpcc.exe: $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(OUTPRE)kfwcpcc.res
+ link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(SYSLIBS) $(KLIB) $(CLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
+
+install::
+ copy $(OUTPRE)kfwlogon.dll $(DESTDIR)
+ copy $(OUTPRE)kfwcpcc.exe $(DESTDIR)
+
+clean::
+ $(RM) $(OUTPRE)*.exe $(OUTPRE)*.dll $(OUTPRE)*.res
+
diff --git a/src/windows/ms2mit/Makefile.in b/src/windows/ms2mit/Makefile.in
index b1275bbb4b..6162eb08e1 100644
--- a/src/windows/ms2mit/Makefile.in
+++ b/src/windows/ms2mit/Makefile.in
@@ -13,9 +13,11 @@ all-windows:: $(OUTPRE)ms2mit.exe $(OUTPRE)mit2ms.exe
$(OUTPRE)ms2mit.exe: $(OUTPRE)ms2mit.obj
link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)ms2mit.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj user32.lib advapi32.lib $(KLIB) $(CLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
$(OUTPRE)mit2ms.exe: $(OUTPRE)mit2ms.obj
link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)mit2ms.obj $(BUILDTOP)\util\windows\$(OUTPRE)getopt.obj user32.lib advapi32.lib $(KLIB) $(CLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
install::
copy $(OUTPRE)ms2mit.exe $(DESTDIR)
diff --git a/src/windows/wintel/Makefile.in b/src/windows/wintel/Makefile.in
index 0603cc4ba0..1ff8f599b9 100644
--- a/src/windows/wintel/Makefile.in
+++ b/src/windows/wintel/Makefile.in
@@ -35,6 +35,7 @@ all:: Makefile $(OUTPRE)telnet.exe
$(OUTPRE)telnet.exe: telnet.def $(OBJS) $(XOBJS) $(LIBS)
$(LINK) $(LFLAGS) /map:$*.map /out:$@ $(OBJS) $(XOBJS) \
$(LIBS) $(SYSLIBS) $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
install::
copy $(OUTPRE)telnet.exe $(DESTDIR)