#
##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
$(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
$(OUTPRE)ftp.exe: $(OBJS) $(GLIB) $(KLIB)
link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib advapi32.lib $(SCLIB)
+ $(_VC_MANIFEST_EMBED_EXE)
clean-unix::
$(RM) ftp
$(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
$(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
$(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
$(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
$(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
$(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
$(RM) .\$(OUTPRE)*.lib .\$(OUTPRE)*.pdb
$(RM) .\$(OUTPRE)*.exp .\$(OUTPRE)*.map
$(RM) .\$(OUTPRE)*.idb .\$(OUTPRE)*.ilk
+ $(RM) .\$(OUTPRE)*.manifest
!endif
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)
#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
(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
$(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
##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
##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$@ $**
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
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;
+}
+
$(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:$@ $**
install-windows::
clean-windows::
- $(RM) $(OUTPRE)*.res $(OUTPRE)*.map $(OUTPRE)*.obj $(OUTPRE)*.exe
+ $(RM) $(OUTPRE)*.res $(OUTPRE)*.map $(OUTPRE)*.obj $(OUTPRE)*.exe $(OUTPRE)*.manifest
$(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)
$(OUTPRE)kgina.dll: $(OBJS) $(KLIB) $(CLIB)
link $(WINDLLFLAGS) -def:gina.def -out:$*.dll \
$** $(WINLIBS) $(SCLIB)
+ $(_VC_MANIFEST_EMBED_DLL)
$(OUTPRE)ginastub.obj: ginastub.h
_VC_MANIFEST_EMBED_EXE= \\r
if exist $@.manifest $(MT) -outputresource:$@;1 -manifest $@.manifest\r
\r
-_VC_MANIFEST_EMBED_DLL=$(_VC_MANIFEST_EMBED_EXE)\r
+_VC_MANIFEST_EMBED_DLL= \\r
+if exist $@.manifest $(MT) -outputresource:$@;2 -manifest $@.manifest\r
\r
# Note that if you are merging manifests, then the VS generated\r
# manifest should be cleaned up after calling _VC_MANIFEST_EMBED_???.\r
-# Makefile for the KFW Network Provider\r
-#\r
-\r
-thisconfigdir=./..\r
-myfulldir=windows/nplogon\r
-mydir=.\r
-BUILDTOP=$(REL)..$(S)..\r
-DEFINES = \r
-LOCALINCLUDES = -I$(BUILDTOP) -I$(PISMERE)\athena\util\loadfuncs \\r
- -I$(PISMERE)\athena\auth\krb5\src\include\kerberosIV \\r
- -I$(PISMERE)\athena\auth\krb4\include \\r
- -I$(PISMERE)\athena\auth\leash\include\r
-PROG_LIBPATH=-L$(TOPLIBD) -L$(KRB5_LIBDIR)\r
-\r
-SYSLIBS = kernel32.lib user32.lib advapi32.lib wsock32.lib secur32.lib userenv.lib\r
-RFLAGS = $(LOCALINCLUDES)\r
-RCFLAGS = $(RFLAGS) -D_WIN32\r
-\r
-all-windows:: $(OUTPRE)kfwlogon.dll $(OUTPRE)kfwcpcc.exe\r
-\r
-$(OUTPRE)kfwlogon.res: kfwlogon.rc ..\version.rc\r
-\r
-$(OUTPRE)kfwcpcc.res: kfwcpcc.rc ..\version.rc\r
-\r
-$(OUTPRE)kfwlogon.dll: $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj $(OUTPRE)kfwlogon.res\r
- link $(DLL_LINKOPTS) -out:$@ $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj -entry:DllEntryPoint -def:kfwlogon.def $(SYSLIBS) $(KLIB) $(CLIB)\r
-\r
-$(OUTPRE)kfwcpcc.exe: $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(OUTPRE)kfwcpcc.res\r
- link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(SYSLIBS) $(KLIB) $(CLIB)\r
-\r
-install::\r
- copy $(OUTPRE)kfwlogon.dll $(DESTDIR)\r
- copy $(OUTPRE)kfwcpcc.exe $(DESTDIR)\r
-\r
-clean::\r
- $(RM) $(OUTPRE)*.exe $(OUTPRE)*.dll $(OUTPRE)*.res\r
-\r
+# 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
+
$(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)
$(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)