diff options
Diffstat (limited to 'third_party/heimdal/packages')
26 files changed, 1840 insertions, 0 deletions
diff --git a/third_party/heimdal/packages/ChangeLog b/third_party/heimdal/packages/ChangeLog new file mode 100644 index 00000000000..5b9753b6f64 --- /dev/null +++ b/third_party/heimdal/packages/ChangeLog @@ -0,0 +1,26 @@ +2007-12-04 Love Hörnquist Åstrand <lha@it.su.se> + + * mac/Makefile.am: Rename Info.plist.in Info.plist. + + * mac/mac.sh: Adapt to macos 10.5 packagemaker + + * mac/Info.plist{,.in}: Rename, content static now + + * mac/Info.plist.in: set version number via makepackage + +2007-12-03 Love Hörnquist Åstrand <lha@it.su.se> + + * mac/mac.sh: Packagemaker switch location. + +2007-10-23 Love Hörnquist Åstrand <lha@it.su.se> + + * Makefile.am: SUBDIRS += debian + + * debian: EXTRA_DIST + +2006-11-15 Love Hörnquist Åstrand <lha@it.su.se> + + * mac/mac.sh: clean after ourself. + + * mac/mac.sh: how to build a mac package + diff --git a/third_party/heimdal/packages/Makefile.am b/third_party/heimdal/packages/Makefile.am new file mode 100644 index 00000000000..aa34864f676 --- /dev/null +++ b/third_party/heimdal/packages/Makefile.am @@ -0,0 +1,7 @@ +# $Id$ + +include $(top_srcdir)/Makefile.am.common + +SUBDIRS= mac + +EXTRA_DIST = windows NTMakefile diff --git a/third_party/heimdal/packages/NTMakefile b/third_party/heimdal/packages/NTMakefile new file mode 100644 index 00000000000..5d194985103 --- /dev/null +++ b/third_party/heimdal/packages/NTMakefile @@ -0,0 +1,36 @@ +######################################################################## +# +# Copyright (c) 2010, Secure Endpoints Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +RELDIR=packages +SUBDIRS=windows + +!include ../windows/NTMakefile.w32 + diff --git a/third_party/heimdal/packages/mac/Info.plist b/third_party/heimdal/packages/mac/Info.plist new file mode 100644 index 00000000000..c1d17055747 --- /dev/null +++ b/third_party/heimdal/packages/mac/Info.plist @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleGetInfoString</key> + <string>Heimdal @VERSION@</string> + <key>CFBundleName</key> + <string>Heimdal</string> + <key>CFBundleIdentifier</key> + <string>org.h5l.heimdal.pkg</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>IFPkgFlagAllowBackRev</key> + <true/> + <key>IFPkgFlagAuthorizationAction</key> + <string>RootAuthorization</string> + <key>IFPkgFlagDefaultLocation</key> + <string>/</string> + <key>IFPkgFlagFollowLinks</key> + <true/> + <key>IFPkgFlagIsRequired</key> + <true/> + <key>IFPkgFlagOverwritePermissions</key> + <true/> + <key>IFPkgFlagRelocatable</key> + <false/> + <key>IFPkgFlagRestartAction</key> + <string>NoRestart</string> + <key>IFPkgFlagRootVolumeOnly</key> + <true/> + <key>IFPkgFlagUpdateInstalledLanguages</key> + <false/> + <key>IFPkgFormatVersion</key> + <real>0.10000000149011612</real> +</dict> +</plist> diff --git a/third_party/heimdal/packages/mac/Makefile.am b/third_party/heimdal/packages/mac/Makefile.am new file mode 100644 index 00000000000..5e3399d41ed --- /dev/null +++ b/third_party/heimdal/packages/mac/Makefile.am @@ -0,0 +1,9 @@ +# $Id$ + +include $(top_srcdir)/Makefile.am.common + +EXTRA_DIST = \ + Info.plist \ + mac.sh \ + Resources/Description.plist \ + Resources/English.lproj/Welcome.rtf diff --git a/third_party/heimdal/packages/mac/Resources/Description.plist b/third_party/heimdal/packages/mac/Resources/Description.plist new file mode 100644 index 00000000000..15cd63a4f6b --- /dev/null +++ b/third_party/heimdal/packages/mac/Resources/Description.plist @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IFPkgDescriptionDescription</key> + <string></string> + <key>IFPkgDescriptionTitle</key> + <string>Heimdal</string> +</dict> +</plist> diff --git a/third_party/heimdal/packages/mac/Resources/English.lproj/Welcome.rtf b/third_party/heimdal/packages/mac/Resources/English.lproj/Welcome.rtf new file mode 100644 index 00000000000..03843da575f --- /dev/null +++ b/third_party/heimdal/packages/mac/Resources/English.lproj/Welcome.rtf @@ -0,0 +1,8 @@ +{\rtf1\mac\ansicpg10000\cocoartf100 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\margl1440\margr1440\vieww9000\viewh9000\viewkind0 +\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural + +\f0\fs28 \cf0 Welcome to the Heimdal Installation Program.\ +} diff --git a/third_party/heimdal/packages/mac/mac.sh b/third_party/heimdal/packages/mac/mac.sh new file mode 100644 index 00000000000..d84557be2a6 --- /dev/null +++ b/third_party/heimdal/packages/mac/mac.sh @@ -0,0 +1,56 @@ +#!/bin/sh +# $Id$ + +dbase=`dirname $0` +base=`cd $dbase && pwd` +config=${base}/../../configure + +destdir=`pwd`/destdir +builddir=`pwd`/builddir +imgdir=`pwd`/imgdir + +rm -rf ${destdir} ${builddir} ${imgdir} || exit 1 +mkdir ${destdir} || exit 1 +mkdir ${builddir} || exit 1 +mkdir ${imgdir} || exit 1 + +cd ${builddir} || exit 1 + +version=`sh ${config} --help 2>/dev/null | head -1 | sed 's/.*Heimdal \([^ ]*\).*/\1/'` + +echo "Building Mac universal binary package for Heimdal ${version}" +echo "Configure" +env \ + CFLAGS="-arch i386 -arch x86_64" \ + LDFLAGS="-arch i386 -arch x86_64" \ + ${config} --disable-dependency-tracking > log || exit 1 + +echo "Build" +env \ + CODE_SIGN_IDENTITY="Developer ID Application:" \ +make all > /dev/null || exit 1 + +echo "Run regression suite" +make check > /dev/null || exit 1 +echo "Install" +make install DESTDIR=${destdir} > /dev/null || exit 1 + +echo "Build package" +xcrun productbuild \ + --identifier org.h5l.heimdal \ + --version ${version} \ + --root ${destdir} / \ + --resources ${base}/Resources \ + --sign 'Developer ID Installer:' \ + ${imgdir}/Heimdal-${version}.pkg + +cd .. +echo "Build disk image" +rm "heimdal-${version}.dmg" +/usr/bin/hdiutil create -volname "Heimdal-${version}" -srcfolder ${imgdir} "heimdal-${version}.dmg" || exit 1 + +echo "Clean" +rm -rf ${destdir} ${builddir} ${imgdir} || exit 1 + +echo "Done!" +exit 0 diff --git a/third_party/heimdal/packages/windows/NTMakefile b/third_party/heimdal/packages/windows/NTMakefile new file mode 100644 index 00000000000..858e3deb386 --- /dev/null +++ b/third_party/heimdal/packages/windows/NTMakefile @@ -0,0 +1,40 @@ +######################################################################## +# +# Copyright (c) 2009, Secure Endpoints Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +RELDIR=packages\windows +SUBDIRS=sdk + +!include ../../windows/NTMakefile.w32 + +# Note: the assembly directory is built as a child of the \lib +# directory since the application manifest is required at that point. + +# The installer directory is built separately at the end of the build. diff --git a/third_party/heimdal/packages/windows/assembly/Heimdal.Application.manifest.in b/third_party/heimdal/packages/windows/assembly/Heimdal.Application.manifest.in new file mode 100644 index 00000000000..2fbc77f7689 --- /dev/null +++ b/third_party/heimdal/packages/windows/assembly/Heimdal.Application.manifest.in @@ -0,0 +1,12 @@ +<?xml version="1" encoding="UTF-8" standalone="yes" ?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" name="@krbname@" + language="*" + processorArchitecture="@cpu@" + version="@krbversion@" + publicKeyToken="@pkt@" /> + </dependentAssembly> + </dependency> +</assembly> diff --git a/third_party/heimdal/packages/windows/assembly/Heimdal.Kerberos.manifest.in b/third_party/heimdal/packages/windows/assembly/Heimdal.Kerberos.manifest.in new file mode 100644 index 00000000000..515b441c89a --- /dev/null +++ b/third_party/heimdal/packages/windows/assembly/Heimdal.Kerberos.manifest.in @@ -0,0 +1,19 @@ +<?xml version="1" encoding="UTF-8" standalone="yes" ?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity type="win32" name="@name@" + processorArchitecture="@cpu@" + version="@version@" + publicKeyToken="@pkt@" /> + <file name="heimdal.dll" hashalg="SHA1" /> + <file name="com_err.dll" hashalg="SHA1" /> + <file name="heimntlm.dll" hashalg="SHA1" /> + <file name="gssapi.dll" hashalg="SHA1" /> + <file name="libhdb.dll" hashalg="SHA1" /> + <file name="libkadm5srv.dll" hashalg="SHA1" /> + <file name="heimdal.pdb" hashalg="SHA1" /> + <file name="com_err.pdb" hashalg="SHA1" /> + <file name="heimntlm.pdb" hashalg="SHA1" /> + <file name="gssapi.pdb" hashalg="SHA1" /> + <file name="libhdb.pdb" hashalg="SHA1" /> + <file name="libkadm5srv.pdb" hashalg="SHA1" /> +</assembly> diff --git a/third_party/heimdal/packages/windows/assembly/NTMakefile b/third_party/heimdal/packages/windows/assembly/NTMakefile new file mode 100644 index 00000000000..183856e0e85 --- /dev/null +++ b/third_party/heimdal/packages/windows/assembly/NTMakefile @@ -0,0 +1,192 @@ +######################################################################## +# +# Copyright (c) 2010, Secure Endpoints Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +RELDIR=packages\windows\assembly + +!include ../../../windows/NTMakefile.w32 + +# CODESIGN_PKT should be set to the public key token of the code +# signing certificate in use. You can use : +# +# pktextract <path to certificate> +# +# ..to derive the public key token. +# +!ifndef CODESIGN_PKT +! error CODESIGN_PKT should be set to the public key token for codesigning certificate. (See Windows\README). +!endif + +prep:: mk-asm-dirs + +# ---------------------------------------------------------------------- +# Heimdal.Kerberos Assembly + +ASMKRBDIR=$(ASMDIR)\$(ASMKRBNAME) +ASMKRBVER=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH) +ASMKRBVER_OLD_BEGIN=$(VER_OLD_BEGIN_MAJOR).$(VER_OLD_BEGIN_MINOR).$(VER_OLD_BEGIN_AUX).$(VER_OLD_BEGIN_PATCH) +ASMKRBVER_OLD_END=$(VER_OLD_END_MAJOR).$(VER_OLD_END_MINOR).$(VER_OLD_END_AUX).$(VER_OLD_END_PATCH) +ASMKRBMAN=$(ASMKRBNAME).manifest + +ASMKRBBINS=\ + $(ASMKRBDIR)\heimdal.dll \ + $(ASMKRBDIR)\com_err.dll \ + $(ASMKRBDIR)\heimntlm.dll \ + $(ASMKRBDIR)\gssapi.dll \ + $(ASMKRBDIR)\libhdb.dll \ + $(ASMKRBDIR)\libkadm5srv.dll \ + $(ASMKRBDIR)\heimdal.pdb \ + $(ASMKRBDIR)\com_err.pdb \ + $(ASMKRBDIR)\heimntlm.pdb \ + $(ASMKRBDIR)\gssapi.pdb \ + $(ASMKRBDIR)\libhdb.pdb \ + $(ASMKRBDIR)\libkadm5srv.pdb + +!if ("$(CPU)" == "i386") +ARCH=32 +!elseif ("$(CPU)" == "x86") +ARCH=32 +!else +ARCH=64 +!endif + +$(ASMKRBDIR)\$(ASMKRBMAN).nohash: Heimdal.Kerberos.manifest.in + $(SED) -e "s,[@]name[@],$(ASMKRBNAME),g" \ + -e "s,[@]krbname[@],$(ASMKRBNAME),g" \ + -e "s,[@]cpu[@],$(MCPU),g" \ + -e "s,[@]version[@],$(ASMKRBVER),g" \ + -e "s,[@]pkt[@],$(CODESIGN_PKT),g" \ + -e "s,[@]arch[@],$(ARCH),g" \ + < $** > $@ + +$(ASMKRBDIR)\$(ASMKRBMAN) $(ASMKRBDIR)\$(ASMKRBMAN).cdf: \ + $(ASMKRBDIR)\$(ASMKRBMAN).nohash $(ASMKRBBINS) + -$(RM) $(ASMKRBDIR)\$(ASMKRBMAN) + -$(RM) $(ASMKRBDIR)\$(ASMKRBMAN).cdf + $(MT) -manifest $(ASMKRBDIR)\$(ASMKRBMAN).nohash -out:$(ASMKRBDIR)\$(ASMKRBMAN) -hashupdate -makecdfs + +$(ASMKRBDIR)\$(ASMKRBNAME).cat: $(ASMKRBDIR)\$(ASMKRBMAN).cdf + cd $(ASMKRBDIR) + $(MAKECAT) $** + $(_CODESIGN) + $(_CODESIGN_SHA256) + cd $(SRCDIR) + +asm-krb: \ + $(APPMANIFEST) \ + $(ASMKRBBINS) \ + $(ASMKRBDIR)\$(ASMKRBMAN) \ + $(ASMKRBDIR)\$(ASMKRBNAME).cat \ + +all:: asm-krb + +clean:: + -$(RM) $(ASMKRBDIR)\*.* + +!ifdef APPVEYOR +test:: + true +!else +test:: + $(MT) -manifest $(ASMKRBDIR)\$(ASMKRBMAN) -validate_manifest +!endif + +{$(BINDIR)}.dll{$(ASMKRBDIR)}.dll: + $(CP) $< $@ + $(DLLPREP_MERGE) + +{$(BINDIR)}.pdb{$(ASMKRBDIR)}.pdb: + $(CP) $< $@ + +# ---------------------------------------------------------------------- +# Application manifests + +all:: $(APPMANIFEST) + +clean:: + -$(RM) $(APPMANIFEST) + +$(APPMANIFEST): Heimdal.Application.manifest.in + $(SED) -e "s,[@]krbname[@],$(ASMKRBNAME),g" \ + -e "s,[@]krbversion[@],$(ASMKRBVER),g" \ + -e "s,[@]cpu[@],$(MCPU),g" \ + -e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@ + +!ifdef APPVEYOR +test:: + true +!else +test:: + $(MT) -manifest $(APPMANIFEST) -validate_manifest +!endif + +# ---------------------------------------------------------------------- +# Publisher configuration files + +POLKRB=policy.$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(ASMKRBNAME) +POLKRBDIR=$(ASMDIR)\$(POLKRB) +POLKRBFILE=$(POLKRBDIR)\$(ASMKRBVER).pol +POLKRBCAT=$(POLKRBDIR)\$(ASMKRBVER).cat + +$(POLKRBFILE): policy.Heimdal.Kerberos.in + $(SED) -e "s,[@]krbname[@],$(ASMKRBNAME),g" \ + -e "s,[@]krbversion[@],$(ASMKRBVER),g" \ + -e "s,[@]krbverfrom_begin[@],$(ASMKRBVER_OLD_BEGIN),g" \ + -e "s,[@]krbverfrom_end[@],$(ASMKRBVER_OLD_END),g" \ + -e "s,[@]krbpolname[@],$(POLKRB),g" \ + -e "s,[@]cpu[@],$(MCPU),g" \ + -e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@ + +$(POLKRBFILE).cdf: $(POLKRBFILE) + $(MT) -manifest $(POLKRBFILE) -makecdfs + +$(POLKRBCAT): $(POLKRBFILE).cdf + cd $(POLKRBDIR) + $(MAKECAT) $** + $(_CODESIGN) + $(_CODESIGN_SHA256) + cd $(SRCDIR) + +all:: $(POLKRBFILE) $(POLKRBCAT) + +clean:: + -$(RM) $(POLKRBDIR)\*.* + +# ---------------------------------------------------------------------- + +.SUFFIXES: .dll .pdb + +mk-asm-dirs: +! if !exist($(ASMKRBDIR)) + $(MKDIR) $(ASMKRBDIR) +! endif +! if !exist($(POLKRBDIR)) + $(MKDIR) $(POLKRBDIR) +! endif diff --git a/third_party/heimdal/packages/windows/assembly/policy.Heimdal.Kerberos.in b/third_party/heimdal/packages/windows/assembly/policy.Heimdal.Kerberos.in new file mode 100644 index 00000000000..ad97997d037 --- /dev/null +++ b/third_party/heimdal/packages/windows/assembly/policy.Heimdal.Kerberos.in @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity type="win32-policy" + publicKeyToken="@pkt@" + name="@krbpolname@" + version="@krbversion@" + processorArchitecture="@cpu@"/> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" + publicKeyToken="@pkt@" + name="@krbname@" + language="*" + processorArchitecture="@cpu@"/> + <bindingRedirect oldVersion="@krbverfrom_begin@-@krbverfrom_end@" + newVersion="@krbversion@"/> + </dependentAssembly> + </dependency> +</assembly> diff --git a/third_party/heimdal/packages/windows/installer/NTMakefile b/third_party/heimdal/packages/windows/installer/NTMakefile new file mode 100644 index 00000000000..ad63ae04f4c --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/NTMakefile @@ -0,0 +1,281 @@ +######################################################################## +# +# Copyright (c) 2010-2013, Secure Endpoints Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +RELDIR=packages\windows\installer + +!include ..\..\..\windows/NTMakefile.w32 + +!ifdef BUILD_INSTALLERS + +VERSIOND=$(VER_PRODUCT_MAJOR)-$(VER_PRODUCT_MINOR)-$(VER_PRODUCT_AUX)-$(VER_PRODUCT_PATCH) +VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH) +POLPREFIX=policy.$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR) + +!if "$(CPU)"=="AMD64" +PLATFORM=x64 +!else +PLATFORM=x86 +!endif + +!if "$(BUILD)"=="rel" +DEBUGOPT= +!else +DEBUGOPT=-$(BUILD) +!endif + +###################################################################### +# Heimdal Merge Modules + +!if exist(..\..\..\thirdparty\installer\heimdal-assemblies.wxs) +ASM_WXS=..\..\..\thirdparty\installer\heimdal-assemblies.wxs +!else +ASM_WXS=heimdal-assemblies.wxs +!endif + +ASSEMBLYMODULE=$(INSTDIR)\Heimdal.msm + +$(ASSEMBLYMODULE): $(OBJ)\heimdal-assemblies.wixobj + $(LIGHT) -out $@ $** + $(_CODESIGN) + +$(OBJ)\heimdal-assemblies.wixobj: $(ASM_WXS) + $(CANDLE) -arch $(PLATFORM) -o $@ $** \ + -dVersion=$(VERSION) \ + -dBinDir=$(BINDIR) \ + -dAsmKrbName=$(ASMKRBNAME) \ + -dPlatform=$(PLATFORM) + +$(SDKREDISTDIR)\Heimdal.msm: $(ASSEMBLYMODULE) + $(CP) $** $@ + +!if exist(..\..\..\thirdparty\installer\heimdal-policy.wxs) +POLICY_WXS=..\..\..\thirdparty\installer\heimdal-policy.wxs +!else +POLICY_WXS=heimdal-policy.wxs +!endif + +POLICYMODULE=$(INSTDIR)\Heimdal.Policy.msm + +$(POLICYMODULE): $(OBJ)\heimdal-policy.wixobj + $(LIGHT) -out $@ $** + $(_CODESIGN) + +$(OBJ)\heimdal-policy.wixobj: $(POLICY_WXS) + $(CANDLE) -arch $(PLATFORM) -o $@ $** \ + -dVersion=$(VERSION) \ + -dBinDir=$(BINDIR) \ + -dAsmKrbName=$(ASMKRBNAME) \ + -dPlatform=$(PLATFORM) \ + -dPolPrefix=$(POLPREFIX) + +COMMANDMODULE=$(INSTDIR)\Heimdal.Command.msm + +$(COMMANDMODULE): $(OBJ)\heimdal-command.wixobj + $(LIGHT) -out $@ $** + $(_CODESIGN) + +# OBJECT COMPILED BELOW + +$(SDKREDISTDIR)\Heimdal.Command.msm: $(COMMANDMODULE) + $(CP) $** $@ + +GSSMODULE=$(INSTDIR)\Heimdal.GSS.msm + +$(GSSMODULE): $(OBJ)\heimdal-gss.wixobj + $(LIGHT) -out $@ $** + $(_CODESIGN) + +# OBJECT COMPILED BELOW + +all:: $(ASSEMBLYMODULE) $(SDKREDISTDIR)\Heimdal.msm + +all:: $(POLICYMODULE) + +all:: $(COMMANDMODULE) $(SDKREDISTDIR)\Heimdal.Command.msm + +all:: $(GSSMODULE) + +clean:: + -$(RM) $(ASSEMBLYMODULE) + -$(RM) $(POLICYMODULE) + -$(RM) $(COMMANDMODULE) + -$(RM) $(GSSMODULE) + -$(RM) $(SDKREDISTDIR)\*.* + +###################################################################### +# Runtime modules + +!if [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==16 +VCVER=VC100 +!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==15 +VCVER=VC90 +!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==14 +VCVER=VC80 +!else +! error Cant determine Visual C compiler version +!endif + +$(SDKREDISTDIR)\heimdal-version.mak: + @echo HEIMDAL_VCVER=$(VCVER) > $@ +!if "$(BUILD)"!="rel" + @echo HEIMDAL_CRT_DEBUG=yes >> $@ +!endif + +all:: $(SDKREDISTDIR)\heimdal-version.mak + +!if "$(BUILD)"=="rel" +CRTNAME=CRT +!else +CRTNAME=DebugCRT +!endif + +!if "$(MMDIR)"=="" +MMDIR=$(ProgramFiles)\Common Files\Merge Modules +!if !exist($(MMDIR)) +MMDIR=$(SystemDrive)\Program Files (x86)\Common Files\Merge Modules +!endif +!endif + +!if exist("$(MMDIR)") + +RUNTIMEMODULE32="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86.msm" +!if "$(VCVER)"=="VC100" +RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x64.msm" +!else +RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86_x64.msm" +!endif + +!else +RUNTIMEMODULE32="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x86_msm.msm" +RUNTIMEMODULE64="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x64_msm.msm" + +!endif + + +###################################################################### +# Heimdal installer + +CANDLEOPTS= \ + -dVersion=$(VERSION) \ + -dBinDir=$(BINDIR) \ + -dDocDir=$(DOCDIR) \ + -dSrcDir=$(SRC) \ + -dPlatform=$(PLATFORM) \ + -dAsmKrbName=$(ASMKRBNAME) \ + -dPolPrefix=$(POLPREFIX) + +!if "$(CPU)"=="AMD64" + +INSTDIR32=$(INSTDIR:AMD64=i386) + +CANDLEOPTS=$(CANDLEOPTS) -dTarget64 \ + -dInstDir32=$(INSTDIR32) \ + -dInstDir64=$(INSTDIR) \ + -dRuntimeModule32=$(RUNTIMEMODULE32) \ + -dRuntimeModule64=$(RUNTIMEMODULE64) + +!ifdef MULTIPLATFORM_INSTALLER +CANDLEOPTS_MULTI= -dTarget32 +TYPEOPT=-full + +INSTDEPS= \ + $(INSTDIR32)\Heimdal.msm \ + $(INSTDIR32)\Heimdal.GSS.msm \ + $(INSTDIR32)\Heimdal.Policy.msm \ + $(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE) +!else +! message Excluding 32-bit components from installer +TYPEOPT= + +INSTDEPS= \ + $(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE) +!endif + + +!else + +CANDLEOPTS=$(CANDLEOPTS) -dTarget32 \ + -dInstDir32=$(INSTDIR) \ + -dRuntimeModule32=$(RUNTIMEMODULE32) \ + +INSTDEPS= \ + $(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE) +!endif + +!if exist($(SRC)\thirdparty\MKShim) +THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR)\MKShim.wixlib +THIRDPARTYOPTS=$(THIRDPARTYOPTS) -dMKShim=1 + +!if "$(CPU)"=="AMD64" +THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR32)\MKShim.wixlib +!endif +!endif + +INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)$(TYPEOPT)-$(VERSIOND).msi +WIXOBJ=$(OBJ)\heimdal-installer$(TYPEOPT).wixobj + +$(INSTALLER): $(WIXOBJ) $(THIRDPARTYOBJS) $(INSTDEPS) lang\en-us.wxl + $(LIGHT) -out $@ $(WIXOBJ) $(THIRDPARTYOBJS) \ + -sval -cultures:en-us -loc lang\en-us.wxl \ + -dWixUILicenseRtf=lang\license-en-us.rtf \ + -ext WixUIExtension + $(_CODESIGN) + +$(WIXOBJ): heimdal-installer.wxs + $(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs \ + $(CANDLEOPTS) $(CANDLEOPTS_MULTI) $(THIRDPARTYOPTS) + +!if exist(thirdparty\installer\heimdal-command.wxs) +CMD_WXS=thirdparty\installer\heimdal-command.wxs +!else +CMD_WXS=heimdal-command.wxs +!endif + +$(OBJ)\heimdal-command.wixobj: $(CMD_WXS) + $(CANDLE) -arch $(PLATFORM) -o $@ $(CMD_WXS) \ + $(CANDLEOPTS) $(THIRDPARTYOPTS) + +!if exist(thirdparty\installer\heimdal-gss.wxs) +GSS_WXS=thirdparty\installer\heimdal-gss.wxs +!else +GSS_WXS=heimdal-gss.wxs +!endif + +$(OBJ)\heimdal-gss.wixobj: $(GSS_WXS) + $(CANDLE) -arch $(PLATFORM) -o $@ $(GSS_WXS) \ + $(CANDLEOPTS) $(THIRDPARTYOPTS) + +all:: $(INSTALLER) + +clean:: + -$(RM) $(INSTALLER) + +!endif # BUILD_INSTALLERS diff --git a/third_party/heimdal/packages/windows/installer/heimdal-assemblies.wxs b/third_party/heimdal/packages/windows/installer/heimdal-assemblies.wxs new file mode 100644 index 00000000000..b846218d8dd --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/heimdal-assemblies.wxs @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="windows-1252"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + + <?if $(var.Platform)=x64 ?> + + <?define Win64=yes ?> + <?define GuidPackage=4F062DF3-5C5F-44E9-8F9B-E8D2684ED608 ?> + <?define GuidKerberos=78905402-0F4B-48E1-924C-B0E18657C5C5 ?> + + <?else?> + + <?define Win64=no ?> + <?define GuidPackage=AD5288E3-A024-4BD3-ABBE-4999AF130169 ?> + <?define GuidKerberos=C5919968-FEC4-4D17-89A4-8697B95F115E ?> + + <?endif?> + + <Module Id="Heimdal" Language="0" Version="$(var.Version)"> + + <Package Id="$(var.GuidPackage)" + InstallerVersion="200" + Languages="1033" Manufacturer="www.h5l.org" + SummaryCodepage="1252" AdminImage="no" + Platform="$(var.Platform)" /> + + <Directory Id='TARGETDIR' Name='SourceDir'> + <Directory Id="dir.Heimdal.Kerberos" Name="$(var.AsmKrbName)" + FileSource="$(var.BinDir)\$(var.AsmKrbName)"> + <Component Id="comp.Heimdal.Kerberos" + Guid="$(var.GuidKerberos)" + Win64="$(var.Win64)"> + <File Name="heimdal.dll" KeyPath="yes" Assembly="win32" + AssemblyManifest="id.Heimdal.Kerberos.manifest" /> + <File Name="com_err.dll" /> + <File Name="heimntlm.dll" /> + <File Name="gssapi.dll" /> + <File Name="libhdb.dll" /> + <File Name="libkadm5srv.dll" /> + <File Name="heimdal.pdb" /> + <File Name="com_err.pdb" /> + <File Name="heimntlm.pdb" /> + <File Name="gssapi.pdb" /> + <File Name="libhdb.pdb" /> + <File Name="libkadm5srv.pdb" /> + <File Name="$(var.AsmKrbName).cat" /> + <File Name="$(var.AsmKrbName).manifest" Id="id.Heimdal.Kerberos.manifest" /> + </Component> + </Directory> + </Directory> + + </Module> +</Wix> diff --git a/third_party/heimdal/packages/windows/installer/heimdal-command.wxs b/third_party/heimdal/packages/windows/installer/heimdal-command.wxs new file mode 100644 index 00000000000..451cd6086da --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/heimdal-command.wxs @@ -0,0 +1,277 @@ +<?xml version='1.0' encoding='windows-1252'?> +<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> + + <?if $(var.Platform)=x64 ?> + + <?define Win64=yes ?> + + <?define ToolsBinDir=dirBin64 ?> + <?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?> + <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?> + <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?> + <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?> + <?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?> + <?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?> + <?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?> + <?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?> + <?define GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?> + + <?define GuidPackage={49114B84-F013-4473-B8FA-E77FAE565C4E} ?> + <?define GuidKerberos={0ECC969D-76EB-474F-9CC5-91AD22944520} ?> + + <?else?> + + <?define Win64=no ?> + + <?define ToolsBinDir=dirBin32 ?> + <?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?> + <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?> + <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?> + <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?> + <?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?> + <?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?> + <?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?> + <?define GuidKdeltkt=6450EE72-E472-4709-B457-B579BFB2472B ?> + <?define GuidHeimtools=11800964-4A5F-466E-B2FE-DD2EFC54DDB9 ?> + + <?define GuidPackage={AF31DA8A-4D8C-4248-B685-3D60FE8CA3AE} ?> + <?define GuidKerberos={FC7C866C-4E6A-4C48-A7E2-151C7C86E375} ?> + <?endif?> + + <Module Id="Heimdal" Language="0" Version="$(var.Version)"> + + <Package Id="$(var.GuidPackage)" + InstallerVersion="200" + Languages="1033" Manufacturer="Heimdal" + SummaryCodepage="1252" AdminImage="no" + Platform="$(var.Platform)" /> + + <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'> + + <?ifdef Target32 ?> + <Directory Id='ProgramFilesFolder'> + <Directory Id='INSTALLDIR32' Name='Heimdal'> + <Directory Id='dirBin32' Name='bin'> + </Directory> + </Directory> + </Directory> + <?endif?> + + <?ifdef Target64?> + <Directory Id='ProgramFiles64Folder'> + <Directory Id='INSTALLDIR64' Name='Heimdal'> + <Directory Id='dirBin64' Name='bin'> + </Directory> + </Directory> + </Directory> + <?endif?> + + </Directory> + + <?ifdef Target32?> + <DirectoryRef Id='dirBin32' DiskId='1'> + <Component Id='comp.SearchPath.32' + Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'> + <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='InstallPath' Type='string' + Value='[dirBin32]' KeyPath='yes' /> + </RegistryKey> + <Environment Id='env.Path.32' Name='PATH' Action='set' Part='last' + Separator=';' Value='[dirBin32]' System='yes' /> + </Component> + + </DirectoryRef> + <?endif?> + + <?ifdef Target64?> + <DirectoryRef Id='dirBin64' DiskId='1'> + <Component Id='comp.SearchPath.64' + Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'> + <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='InstallPath' Type='string' + Value='[dirBin64]' KeyPath='yes' /> + </RegistryKey> + <Environment Id='env.Path' Name='PATH' Action='set' Part='last' + Separator=';' Value='[dirBin64]' System='yes' /> + </Component> + + </DirectoryRef> + <?endif?> + + <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'> + + <Component Id='comp.kinit' + Guid='$(var.GuidKinit)' + Win64='$(var.Win64)'> + <File Name='kinit.exe' KeyPath='yes' /> + <File Name='kinit.pdb' /> + </Component> + + <Component Id='comp.ktutil' + Guid='$(var.GuidKtutil)' + Win64='$(var.Win64)'> + <File Name='ktutil.exe' KeyPath='yes' /> + <File Name='ktutil.pdb' /> + </Component> + + <Component Id='comp.kdestroy' + Guid='$(var.GuidKdestroy)' + Win64='$(var.Win64)'> + <File Name='kdestroy.exe' KeyPath='yes' /> + <File Name='kdestroy.pdb' /> + </Component> + + <Component Id='comp.kdigest' + Guid='$(var.GuidKdigest)' + Win64='$(var.Win64)'> + <File Name='kdigest.exe' KeyPath='yes' /> + <File Name='kdigest.pdb' /> + </Component> + + <Component Id='comp.kpasswd' + Guid='$(var.GuidKpasswd)' + Win64='$(var.Win64)'> + <File Name='kpasswd.exe' KeyPath='yes' /> + <File Name='kpasswd.pdb' /> + </Component> + + <Component Id='comp.kvno' + Guid='$(var.GuidKvno)' + Win64='$(var.Win64)'> + <File Name='kvno.exe' KeyPath='yes' /> + <File Name='kvno.pdb' /> + </Component> + + <Component Id='comp.kcpytkt' + Guid='$(var.GuidKcpytkt)' + Win64='$(var.Win64)'> + <File Name='kcpytkt.exe' KeyPath='yes' /> + <File Name='kcpytkt.pdb' /> + </Component> + + <Component Id='comp.kdeltkt' + Guid='$(var.GuidKdeltkt)' + Win64='$(var.Win64)'> + <File Name='kdeltkt.exe' KeyPath='yes' /> + <File Name='kdeltkt.pdb' /> + </Component> + + <Component Id='comp.heimtools' + Guid='$(var.GuidHeimtools)' + Win64='$(var.Win64)'> + <File Name='heimtools.exe' KeyPath='yes'> + <CopyFile Id='klist.exe' DestinationName='klist.exe' DestinationProperty='$(var.ToolsBinDir)' /> + <CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' DestinationProperty='$(var.ToolsBinDir)' /> + </File> + <File Name='heimtools.pdb'> + <CopyFile Id='klist.pdb' DestinationName='klist.pdb' /> + <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' /> + </File> + </Component> + + <Component Id='comp.Heimdal.chm' + Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'> + <File Source='$(var.DocDir)\heimdal.chm' /> + </Component> + + <Component Id='comp.HX509.chm' + Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'> + <File Source='$(var.DocDir)\hx509.chm' /> + </Component> + + </DirectoryRef> + + <DirectoryRef Id='TARGETDIR'> + <Directory Id='CommonAppDataFolder' Name='ProgramData'> + <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'> + + <Component Id='comp.krb5.conf' + Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66' + Permanent='yes' NeverOverwrite='yes'> + <File Name='krb5.conf' KeyPath='yes' Id='krb5_conf' /> + <Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]' /> + <!-- Backwards compatibility --> + <RegistryKey Root='HKLM' Key='Software\MIT\Kerberos'> + <RegistryValue Name='config' Type='string' Value='[#krb5_conf]' /> + </RegistryKey> + <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition> + </Component> + + <Component Id='comp.krb5.ini.move' + Guid='316CB754-4332-4C02-95C1-4AC82590712D'> + <CopyFile Id='copy_krb5.ini' Delete='yes' + DestinationDirectory='dirCommonKerberos' + DestinationName='krb5.conf' DestinationShortName='krb5.cnf' + SourceProperty='LEGACYKRB5INI' /> + <Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG' + Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' /> + <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='LegacyKrb5IniLocation' Type='string' + Value='[LEGACYKRB5INI]' KeyPath='yes' /> + </RegistryKey> + <!-- Backwards compatibility --> + <RegistryKey Root='HKLM' Key='Software\MIT\Kerberos'> + <RegistryValue Name='config' Type='string' + Value='[dirCommonKerberos]krb5.conf' /> + </RegistryKey> + <Condition>LEGACYKRB5INI</Condition> + </Component> + + <Component Id='comp.krb5.conf.move' + Guid='ADCE6801-0FD3-46E7-955A-FC9214CFE0AB'> + <CopyFile Id='copy_krb5.conf' Delete='yes' + DestinationDirectory='dirCommonKerberos' + DestinationName='krb5.conf' DestinationShortName='krb5.cnf' + SourceProperty='LEGACYKRB5CONF' /> + <Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG' + Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' /> + <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='LegacyKrb5ConfLocation' Type='string' + Value='[LEGACYKRB5CONF]' KeyPath='yes' /> + </RegistryKey> + <!-- Backwards compatibility --> + <RegistryKey Root='HKLM' Key='Software\MIT\Kerberos'> + <RegistryValue Name='config' Type='string' + Value='[dirCommonKerberos]krb5.conf' /> + </RegistryKey> + <Condition>LEGACYKRB5CONF</Condition> + </Component> + + </Directory> + </Directory> + <Directory Id='WindowsFolder'> + </Directory> + </DirectoryRef> + + <!-- Search for existing configuration files --> + + <Property Id='LEGACYKRB5INI' > + <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'> + <FileSearch Name='krb5.ini' /> + </DirectorySearch> + </Property> + + <Property Id='LEGACYKRB5CONF' > + <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'> + <FileSearch Name='krb5.conf' /> + </DirectorySearch> + </Property> + + <Property Id='LEGACYKRB5REG32'> + <RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config' + Root='HKLM' Type='file' Win64='no'> + <FileSearch Name='krb5.ini' /> + </RegistrySearch> + </Property> + + <?if $(var.Platform)=x64 ?> + <Property Id='LEGACYKRB5REG64'> + <RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config' + Root='HKLM' Type='file' Win64='yes'> + <FileSearch Name='krb5.ini' /> + </RegistrySearch> + </Property> + <?endif?> + + </Module> +</Wix> diff --git a/third_party/heimdal/packages/windows/installer/heimdal-gss.wxs b/third_party/heimdal/packages/windows/installer/heimdal-gss.wxs new file mode 100644 index 00000000000..fd0741b1049 --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/heimdal-gss.wxs @@ -0,0 +1,94 @@ +<?xml version='1.0' encoding='windows-1252'?> +<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> + + <?if $(var.Platform)=x64 ?> + + <?define Win64=yes ?> + + <?define ToolsBinDir=dirBin64 ?> + <?define GuidGssDll=9368D1E7-D4CB-4BDC-A2A6-AB1C992151AD ?> + + <?define GuidPackage={A19EA263-680D-4626-AF54-5A05ACCC027C} ?> + + <?else?> + + <?define Win64=no ?> + + <?define ToolsBinDir=dirBin32 ?> + <?define GuidGssDll=5F38982B-A325-4A7B-A2FC-EA40314F4D00 ?> + + <?define GuidPackage={F0525351-C791-4890-98BE-14B38D3E6B72} ?> + <?endif?> + + <Module Id="Heimdal.GSS" Language="0" Version="$(var.Version)"> + + <Package Id="$(var.GuidPackage)" + InstallerVersion="200" + Languages="1033" Manufacturer="Heimdal" + SummaryCodepage="1252" AdminImage="no" + Platform="$(var.Platform)" /> + + <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'> + + <?ifdef Target32 ?> + <Directory Id='ProgramFilesFolder'> + <Directory Id='INSTALLDIR32' Name='Heimdal'> + <Directory Id='dirBin32' Name='bin'> + </Directory> + </Directory> + </Directory> + <?endif?> + + <?ifdef Target64?> + <Directory Id='ProgramFiles64Folder'> + <Directory Id='INSTALLDIR64' Name='Heimdal'> + <Directory Id='dirBin64' Name='bin'> + </Directory> + </Directory> + </Directory> + <?endif?> + + </Directory> + + <?ifdef Target32?> + <DirectoryRef Id='dirBin32' DiskId='1'> + <Component Id='comp.SearchPath.32' + Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'> + <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='InstallPath' Type='string' + Value='[dirBin32]' KeyPath='yes' /> + </RegistryKey> + <Environment Id='env.Path.32' Name='PATH' Action='set' Part='last' + Separator=';' Value='[dirBin32]' System='yes' /> + </Component> + + </DirectoryRef> + <?endif?> + + <?ifdef Target64?> + <DirectoryRef Id='dirBin64' DiskId='1'> + <Component Id='comp.SearchPath.64' + Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'> + <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='InstallPath' Type='string' + Value='[dirBin64]' KeyPath='yes' /> + </RegistryKey> + <Environment Id='env.Path' Name='PATH' Action='set' Part='last' + Separator=';' Value='[dirBin64]' System='yes' /> + </Component> + + </DirectoryRef> + <?endif?> + + <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)\$(var.AsmKrbName)'> + + <Component Id='comp.gssdll' + Guid='$(var.GuidGssDll)' + Win64='$(var.Win64)'> + <File Name='gssapi.dll' KeyPath='yes' /> + <File Name='gssapi.pdb' /> + </Component> + + </DirectoryRef> + </Module> +</Wix> diff --git a/third_party/heimdal/packages/windows/installer/heimdal-installer.wxs b/third_party/heimdal/packages/windows/installer/heimdal-installer.wxs new file mode 100644 index 00000000000..0b6000d1bfa --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/heimdal-installer.wxs @@ -0,0 +1,419 @@ +<?xml version='1.0' encoding='windows-1252'?> +<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> + + <?if $(var.Platform)=x64 ?> + + <?define Win64=yes ?> + <?define PIProgramFilesFolder=ProgramFiles64Folder ?> + + <?define ToolsBinDir=dirBin64 ?> + <?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?> + <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?> + <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?> + <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?> + <?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?> + <?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?> + <?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?> + <?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?> + <?define GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?> + <?define GuidKadmin=E628E9AA-43AB-47EE-8A01-815C027555F2 ?> + + <?define ConfigDir=INSTALLDIR64 ?> + + <?else?> + + <?define Win64=no ?> + <?define PIProgramFilesFolder=ProgramFilesFolder ?> + + <?define ToolsBinDir=dirBin32 ?> + <?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?> + <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?> + <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?> + <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?> + <?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?> + <?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?> + <?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?> + <?define GuidKdeltkt=6450EE72-E472-4709-B457-B579BFB2472B ?> + <?define GuidHeimtools=11800964-4A5F-466E-B2FE-DD2EFC54DDB9 ?> + <?define GuidKadmin=B31F9FFC-D588-4A3E-9AEA-C9E9137B08F0 ?> + + <?define ConfigDir=INSTALLDIR32 ?> + + <?endif?> + + <Product Name='!(loc.ProductName) $(var.Version)' + Id='*' UpgradeCode='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE' + Language='!(loc.LanguageCode)' Codepage='1252' Version='$(var.Version)' + Manufacturer='!(loc.Manufacturer)'> + + <Package Id='*' Description='!(loc.Description)' + Manufacturer='!(loc.Manufacturer)' + InstallerVersion='300' Languages='!(loc.LanguageCode)' + Compressed='yes' SummaryCodepage='1252' + Platform='$(var.Platform)' + InstallScope='perMachine' + InstallPrivileges='elevated' + Keywords='Heimdal,Kerberos,GSS' /> + + <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'> + + <?ifdef Target32 ?> + <Directory Id='ProgramFilesFolder'> + <Directory Id='INSTALLDIR32' Name='Heimdal'> + <Directory Id='dirBin32' Name='bin'> + </Directory> + </Directory> + </Directory> + <?endif?> + + <?ifdef Target64?> + <Directory Id='ProgramFiles64Folder'> + <Directory Id='INSTALLDIR64' Name='Heimdal'> + <Directory Id='dirBin64' Name='bin'> + </Directory> + </Directory> + </Directory> + <?endif?> + + </Directory> + + <?ifdef Target32?> + <DirectoryRef Id='dirBin32' DiskId='1'> + <Component Id='comp.SearchPath.32' Feature='feature.Main' + Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='InstallPath' Type='string' + Value='[dirBin32]' KeyPath='yes' /> + </RegistryKey> + <Environment Id='env.Path.32' Name='PATH' Action='set' Part='last' + Separator=';' Value='[dirBin32]' System='yes' /> + </Component> + + <Merge Id='Heimdal.Assemblies.32' Language='0' + SourceFile='$(var.InstDir32)\Heimdal.msm' /> + + <Merge Id='Heimdal.GSS.32' Language='0' + SourceFile='$(var.InstDir32)\Heimdal.GSS.msm' /> + + <Merge Id='Heimdal.Policy.32' Language='0' + SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' /> + + <Merge Id='Runtime.32' Language='0' + SourceFile='$(var.RuntimeModule32)' /> + + </DirectoryRef> + <?endif?> + + <?ifdef Target64?> + <DirectoryRef Id='dirBin64' DiskId='1'> + <Component Id='comp.SearchPath.64' Feature='feature.Main' + Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='InstallPath' Type='string' + Value='[dirBin64]' KeyPath='yes' /> + </RegistryKey> + <Environment Id='env.Path' Name='PATH' Action='set' Part='last' + Separator=';' Value='[dirBin64]' System='yes' /> + </Component> + + <Merge Id='Heimdal.Assemblies.64' Language='0' + SourceFile='$(var.InstDir64)\Heimdal.msm' /> + + <Merge Id='Heimdal.GSS.64' Language='0' + SourceFile='$(var.InstDir64)\Heimdal.GSS.msm' /> + + <Merge Id='Heimdal.Policy.64' Language='0' + SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' /> + + <Merge Id='Runtime.64' Language='0' + SourceFile='$(var.RuntimeModule64)' /> + + </DirectoryRef> + <?endif?> + + <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'> + + <Component Id='comp.kinit' + Guid='$(var.GuidKinit)' + Win64='$(var.Win64)'> + <File Name='kinit.exe' KeyPath='yes' /> + <File Name='kinit.pdb' /> + </Component> + + <Component Id='comp.ktutil' + Guid='$(var.GuidKtutil)' + Win64='$(var.Win64)'> + <File Name='ktutil.exe' KeyPath='yes' /> + <File Name='ktutil.pdb' /> + </Component> + + <Component Id='comp.kdestroy' + Guid='$(var.GuidKdestroy)' + Win64='$(var.Win64)'> + <File Name='kdestroy.exe' KeyPath='yes' /> + <File Name='kdestroy.pdb' /> + </Component> + + <Component Id='comp.kdigest' + Guid='$(var.GuidKdigest)' + Win64='$(var.Win64)'> + <File Name='kdigest.exe' KeyPath='yes' /> + <File Name='kdigest.pdb' /> + </Component> + + <Component Id='comp.kpasswd' + Guid='$(var.GuidKpasswd)' + Win64='$(var.Win64)'> + <File Name='kpasswd.exe' KeyPath='yes' /> + <File Name='kpasswd.pdb' /> + </Component> + + <Component Id='comp.kvno' + Guid='$(var.GuidKvno)' + Win64='$(var.Win64)'> + <File Name='kvno.exe' KeyPath='yes' /> + <File Name='kvno.pdb' /> + </Component> + + <Component Id='comp.kcpytkt' + Guid='$(var.GuidKcpytkt)' + Win64='$(var.Win64)'> + <File Name='kcpytkt.exe' KeyPath='yes' /> + <File Name='kcpytkt.pdb' /> + </Component> + + <Component Id='comp.kdeltkt' + Guid='$(var.GuidKdeltkt)' + Win64='$(var.Win64)'> + <File Name='kdeltkt.exe' KeyPath='yes' /> + <File Name='kdeltkt.pdb' /> + </Component> + + <Component Id='comp.heimtools' + Guid='$(var.GuidHeimtools)' + Win64='$(var.Win64)'> + <File Name='heimtools.exe' KeyPath='yes'> + <CopyFile Id='klist.exe' DestinationName='klist.exe' DestinationProperty='$(var.ToolsBinDir)' /> + <CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' DestinationProperty='$(var.ToolsBinDir)' /> + </File> + <File Name='heimtools.pdb'> + <CopyFile Id='klist.pdb' DestinationName='klist.pdb' /> + <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' /> + </File> + </Component> + + <Component Id='comp.kadmin' + Guid='$(var.GuidKadmin)' + Win64='$(var.Win64)'> + <File Name='kadmin.exe' KeyPath='yes' /> + <File Name='kadmin.pdb' /> + </Component> + + <Component Id='comp.Heimdal.chm' + Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'> + <File Source='$(var.DocDir)\heimdal.chm' /> + </Component> + + <Component Id='comp.HX509.chm' + Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'> + <File Source='$(var.DocDir)\hx509.chm' /> + </Component> + + </DirectoryRef> + + <DirectoryRef Id='TARGETDIR'> + <Directory Id='CommonAppDataFolder' Name='ProgramData'> + <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'> + + <Component Id='comp.krb5.conf' + Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66' + Permanent='yes' NeverOverwrite='yes'> + <File Name='krb5.conf' KeyPath='yes' Id='krb5_conf' /> + <Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]' /> + <!-- Backwards compatibility --> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\MIT\Kerberos'> + <RegistryValue Name='config' Type='string' Value='[#krb_conf]' /> + </RegistryKey> + <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition> + </Component> + + <Component Id='comp.krb5.ini.move' + Guid='316CB754-4332-4C02-95C1-4AC82590712D'> + <CopyFile Id='copy_krb5.ini' Delete='yes' + DestinationDirectory='dirCommonKerberos' + DestinationName='krb5.conf' DestinationShortName='krb5.cnf' + SourceProperty='LEGACYKRB5INI' /> + <Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG' + Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' /> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='LegacyKrb5IniLocation' Type='string' + Value='[LEGACYKRB5INI]' KeyPath='yes' /> + </RegistryKey> + <!-- Backwards compatibility --> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\MIT\Kerberos'> + <RegistryValue Name='config' Type='string' + Value='[dirCommonKerberos]krb5.conf' /> + </RegistryKey> + <Condition>LEGACYKRB5INI</Condition> + </Component> + + <Component Id='comp.krb5.conf.move' + Guid='ADCE6801-0FD3-46E7-955A-FC9214CFE0AB'> + <CopyFile Id='copy_krb5.conf' Delete='yes' + DestinationDirectory='dirCommonKerberos' + DestinationName='krb5.conf' DestinationShortName='krb5.cnf' + SourceProperty='LEGACYKRB5CONF' /> + <Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG' + Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' /> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\Heimdal\CurrentVersion'> + <RegistryValue Name='LegacyKrb5ConfLocation' Type='string' + Value='[LEGACYKRB5CONF]' KeyPath='yes' /> + </RegistryKey> + <!-- Backwards compatibility --> + <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM' + Key='Software\MIT\Kerberos'> + <RegistryValue Name='config' Type='string' + Value='[dirCommonKerberos]krb5.conf' /> + </RegistryKey> + <Condition>LEGACYKRB5CONF</Condition> + </Component> + + </Directory> + </Directory> + <Directory Id='WindowsFolder'> + </Directory> + </DirectoryRef> + + <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' /> + + <Upgrade Id='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'> + <UpgradeVersion IncludeMaximum='no' MigrateFeatures='yes' Maximum='$(var.Version)' + Property='PREVIOUSINSTALLATION' /> + <UpgradeVersion Minimum='$(var.Version)' IncludeMinimum='yes' + Maximum='127.127.32767.32767' + OnlyDetect='yes' Property='EXISTINGINSTALLATION' /> + </Upgrade> + + <!-- Search for existing configuration files --> + + <Property Id='LEGACYKRB5INI' Secure='yes'> + <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'> + <FileSearch Name='krb5.ini' /> + </DirectorySearch> + </Property> + + <Property Id='LEGACYKRB5CONF' Secure='yes'> + <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'> + <FileSearch Name='krb5.conf' /> + </DirectorySearch> + </Property> + + <Property Id='LEGACYKRB5REG32' Secure='yes'> + <RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config' + Root='HKLM' Type='file' Win64='no'> + <FileSearch Name='krb5.ini' /> + </RegistrySearch> + </Property> + + <?if $(var.Platform)=x64 ?> + <Property Id='LEGACYKRB5REG64' Secure='yes'> + <RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config' + Root='HKLM' Type='file' Win64='yes'> + <FileSearch Name='krb5.ini' /> + </RegistrySearch> + </Property> + <?endif?> + + <InstallExecuteSequence> + <RemoveExistingProducts After='InstallFinalize' /> + </InstallExecuteSequence> + + <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition> + <Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition> + + <Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)' + Title='!(loc.FeaMainTitle)' + Description='!(loc.FeaMainDesc)' Display='expand' + Level='1' TypicalDefault='install' InstallDefault='local'> + + <ComponentRef Id='comp.HX509.chm' /> + <ComponentRef Id='comp.Heimdal.chm' /> + <ComponentRef Id='comp.kcpytkt' /> + <ComponentRef Id='comp.kdeltkt' /> + <ComponentRef Id='comp.kdestroy' /> + <ComponentRef Id='comp.kdigest' /> + <ComponentRef Id='comp.kinit' /> + <ComponentRef Id='comp.kpasswd' /> + <ComponentRef Id='comp.krb5.conf' /> + <ComponentRef Id='comp.krb5.conf.move' /> + <ComponentRef Id='comp.krb5.ini.move' /> + <ComponentRef Id='comp.ktutil' /> + <ComponentRef Id='comp.kvno' /> + <ComponentRef Id='comp.heimtools' /> + <ComponentRef Id='comp.kadmin' /> + + <?ifdef MKShim ?> + <?ifdef Target64?> + <ComponentGroupRef Id='comp.Heimdal.MKShim.64' /> + <?else?> + <ComponentGroupRef Id='comp.Heimdal.MKShim.32' /> + <?endif?> + <?endif?> + + <?ifdef Target64?> + <MergeRef Id='Heimdal.Assemblies.64' /> + <MergeRef Id='Heimdal.GSS.64' /> + <MergeRef Id='Heimdal.Policy.64' /> + <MergeRef Id='Runtime.64' /> + <?else?> + <MergeRef Id='Heimdal.Assemblies.32' /> + <MergeRef Id='Heimdal.GSS.32' /> + <MergeRef Id='Heimdal.Policy.32' /> + <MergeRef Id='Runtime.32' /> + <?endif?> + + <?ifdef Target32?> + <?ifdef Target64?> + <!-- If we are building the combined installer, the 32-bit + libraries go into a separate feature. --> + <Feature Id='feature.32BitLibraries' + ConfigurableDirectory='INSTALLDIR32' + Title='!(loc.Fea32BitTitle)' + Description='!(loc.Fea32BitDesc)' + Level='1' TypicalDefault='install' InstallDefault='local'> + <?ifdef MKShim ?> + <ComponentGroupRef Id='comp.Heimdal.MKShim.32' /> + <?endif?> + <MergeRef Id='Heimdal.Assemblies.32' /> + <MergeRef Id='Heimdal.GSS.32' /> + <MergeRef Id='Heimdal.Policy.32' /> + <MergeRef Id='Runtime.32' /> + </Feature> + <?endif?> + <?endif?> + + </Feature> + + <!-- Properties for Add/Remove Programs --> + + <Property Id='ARPHELPLINK' Value='http://www.h5l.org' /> + + <Property Id='ARPCONTACT' Value='heimdal@h5l.org' /> + + <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' /> + + <!-- Other properties --> + + <UIRef Id='WixUI_FeatureTree' /> + + <WixVariable Id="WixUIBannerBmp" Value="images\Heimdal_banner.bmp" /> + <WixVariable Id="WixUIDialogBmp" Value="images\Heimdal_dialog.bmp" /> + + </Product> +</Wix> diff --git a/third_party/heimdal/packages/windows/installer/heimdal-policy.wxs b/third_party/heimdal/packages/windows/installer/heimdal-policy.wxs new file mode 100644 index 00000000000..ef471c1f050 --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/heimdal-policy.wxs @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="windows-1252"?> +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + + <?if $(var.Platform)=x64 ?> + + <?define Win64=yes ?> + <?define GuidPackage=DCFB2432-6072-4F2C-B934-CD7E60576396 ?> + <?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?> + + <?else?> + + <?define Win64=no ?> + <?define GuidPackage=FC60A0C6-1B5C-4B38-8BDD-C647B4119C19 ?> + <?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?> + + <?endif?> + + <Module Id="Heimdal" Language="0" Version="$(var.Version)"> + + <Package Id="$(var.GuidPackage)" + InstallerVersion="200" + Languages="1033" Manufacturer="Heimdal" + SummaryCodepage="1252" AdminImage="no" + Platform="$(var.Platform)" /> + + <!-- + Publisher Configuration + + The publisher configuration files are included in the Heimdal + installers, but not included in the Heimdal assemblies. + --> + + <Directory Id='TARGETDIR' Name='SourceDir'> + <Directory Id='dir.policy.Heimdal.Kerberos' + Name='$(var.PolPrefix).$(var.AsmKrbName)' + FileSource='$(var.BinDir)\$(var.PolPrefix).$(var.AsmKrbName)'> + + <Component Id='comp.policy.Heimdal.Kerberos' + Guid='$(var.GuidPolKerberos)' + Win64='$(var.Win64)'> + <Condition>VersionNT > 501</Condition> + <File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32' + Id='policy.Kerberos' AssemblyManifest='policy.Kerberos' /> + <File Name='$(var.Version).cat' Id='policy.Kerberos.cat' /> + </Component> + + </Directory> + </Directory> + + </Module> +</Wix> diff --git a/third_party/heimdal/packages/windows/installer/images/Heimdal_banner.bmp b/third_party/heimdal/packages/windows/installer/images/Heimdal_banner.bmp Binary files differnew file mode 100644 index 00000000000..8ae6818bebc --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/images/Heimdal_banner.bmp diff --git a/third_party/heimdal/packages/windows/installer/images/Heimdal_banner.png b/third_party/heimdal/packages/windows/installer/images/Heimdal_banner.png Binary files differnew file mode 100644 index 00000000000..7f81af01dad --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/images/Heimdal_banner.png diff --git a/third_party/heimdal/packages/windows/installer/images/Heimdal_dialog.bmp b/third_party/heimdal/packages/windows/installer/images/Heimdal_dialog.bmp Binary files differnew file mode 100644 index 00000000000..fa265e48ea3 --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/images/Heimdal_dialog.bmp diff --git a/third_party/heimdal/packages/windows/installer/images/Heimdal_dialog.png b/third_party/heimdal/packages/windows/installer/images/Heimdal_dialog.png Binary files differnew file mode 100644 index 00000000000..53e45ffd0d2 --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/images/Heimdal_dialog.png diff --git a/third_party/heimdal/packages/windows/installer/lang/en-us.wxl b/third_party/heimdal/packages/windows/installer/lang/en-us.wxl new file mode 100644 index 00000000000..be2342e7d38 --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/lang/en-us.wxl @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization"> + <String Id='LanguageCode'>1033</String> + <String Id='Codepage'>1252</String> + <String Id='ProductName'>Heimdal</String> + <String Id='Manufacturer'>Heimdal Developers</String> + <String Id='Description'>Heimdal Kerberos tools and libraries</String> + <String Id='Comments'></String> + <String Id='FeaMainTitle'>Heimdal</String> + <String Id='FeaMainDesc'>Command line tools and libraries for Heimdal Kerberos</String> + <String Id='Fea32BitTitle'>32-bit tools and libraries</String> + <String Id='Fea32BitDesc'>Compatibility libraries for 32-bit applications</String> + <String Id='AdminRequired'>Installation of this package requires elevation</String> + <String Id='AlreadyInstalled'>A current or newer version of Heimdal is already installed on this machine. Please use the Add/Remove Programs control panel to manage the existing installation.</String> +</WixLocalization> diff --git a/third_party/heimdal/packages/windows/installer/lang/license-en-us.rtf b/third_party/heimdal/packages/windows/installer/lang/license-en-us.rtf Binary files differnew file mode 100644 index 00000000000..2780bf17108 --- /dev/null +++ b/third_party/heimdal/packages/windows/installer/lang/license-en-us.rtf diff --git a/third_party/heimdal/packages/windows/sdk/NTMakefile b/third_party/heimdal/packages/windows/sdk/NTMakefile new file mode 100644 index 00000000000..934b0c17c72 --- /dev/null +++ b/third_party/heimdal/packages/windows/sdk/NTMakefile @@ -0,0 +1,181 @@ +######################################################################## +# +# Copyright (c) 2009, Secure Endpoints Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +RELDIR=packages\sdk + +!include ../../../windows/NTMakefile.w32 + +# This package pulls in all the SDK components into a single directory +# structure. + +prep:: mksdkdirs + +mksdkdirs: +! if !exist($(SDKSRCDIR)) + $(MKDIR) $(SDKSRCDIR) +! endif +! if !exist($(SDKINCDIR)) + $(MKDIR) $(SDKINCDIR) +! endif +! if !exist($(SDKINCDIR)\krb5) + $(MKDIR) $(SDKINCDIR)\krb5 +! endif +! if !exist($(SDKINCDIR)\hcrypto) + $(MKDIR) $(SDKINCDIR)\hcrypto +! endif +! if !exist($(SDKINCDIR)\heimdal) + $(MKDIR) $(SDKINCDIR)\heimdal +! endif +! if !exist($(SDKINCDIR)\kadm5) + $(MKDIR) $(SDKINCDIR)\kadm5 +! endif +! if !exist($(SDKINCDIR)\gssapi) + $(MKDIR) $(SDKINCDIR)\gssapi +! endif +! if !exist($(SDKLIBDIR)) + $(MKDIR) $(SDKLIBDIR) +! endif +! if !exist($(SDKREDISTDIR)) + $(MKDIR) $(SDKREDISTDIR) +! endif + +INCFILES=\ + $(SDKINCDIR)\com_err.h \ + $(SDKINCDIR)\com_right.h \ + $(SDKINCDIR)\krb5\asn1_err.h \ + $(SDKINCDIR)\krb5\heim_err.h \ + $(SDKINCDIR)\krb5\k524_err.h \ + $(SDKINCDIR)\krb5\k5e1_err.h \ + $(SDKINCDIR)\krb5\krb5-protos.h \ + $(SDKINCDIR)\krb5\krb5-types.h \ + $(SDKINCDIR)\krb5\krb5-v4compat.h \ + $(SDKINCDIR)\krb5\krb5.h \ + $(SDKINCDIR)\krb5\krb5_asn1.h \ + $(SDKINCDIR)\krb5\krb5_ccapi.h \ + $(SDKINCDIR)\krb5\krb5_err.h \ + $(SDKINCDIR)\krb5\krb5_locl.h \ + $(SDKINCDIR)\kadm5\kadm5_err.h \ + $(SDKINCDIR)\kadm5\kadm5-protos.h \ + $(SDKINCDIR)\hcrypto\aes.h \ + $(SDKINCDIR)\hcrypto\bn.h \ + $(SDKINCDIR)\hcrypto\des.h \ + $(SDKINCDIR)\hcrypto\dh.h \ + $(SDKINCDIR)\hcrypto\dsa.h \ + $(SDKINCDIR)\hcrypto\engine.h \ + $(SDKINCDIR)\hcrypto\evp-cc.h \ + $(SDKINCDIR)\hcrypto\evp-hcrypto.h \ + $(SDKINCDIR)\hcrypto\evp.h \ + $(SDKINCDIR)\hcrypto\hmac.h \ + $(SDKINCDIR)\hcrypto\md2.h \ + $(SDKINCDIR)\hcrypto\md4.h \ + $(SDKINCDIR)\hcrypto\md5.h \ + $(SDKINCDIR)\hcrypto\rand.h \ + $(SDKINCDIR)\hcrypto\rc2.h \ + $(SDKINCDIR)\hcrypto\rc4.h \ + $(SDKINCDIR)\hcrypto\rsa.h \ + $(SDKINCDIR)\hcrypto\sha.h \ + $(SDKINCDIR)\hcrypto\ui.h \ + $(SDKINCDIR)\heimdal\asn1_err.h \ + $(SDKINCDIR)\heimdal\dlfcn.h \ + $(SDKINCDIR)\heimdal\heim_err.h \ + $(SDKINCDIR)\heimdal\k524_err.h \ + $(SDKINCDIR)\heimdal\k5e1_err.h \ + $(SDKINCDIR)\heimdal\krb5-protos.h \ + $(SDKINCDIR)\heimdal\krb5-types.h \ + $(SDKINCDIR)\heimdal\krb5-v4compat.h \ + $(SDKINCDIR)\heimdal\krb5.h \ + $(SDKINCDIR)\heimdal\krb5_asn1.h \ + $(SDKINCDIR)\heimdal\krb5_ccapi.h \ + $(SDKINCDIR)\heimdal\krb5_err.h \ + $(SDKINCDIR)\heimdal\krb5_locl.h \ + $(SDKINCDIR)\heimdal\gkrb5_err.h \ + $(SDKINCDIR)\heimdal\wind_err.h \ + $(SDKINCDIR)\heimdal\krb_err.h \ + $(SDKINCDIR)\heimdal\hx509_err.h \ + $(SDKINCDIR)\heimdal\roken.h \ + $(SDKINCDIR)\heimdal\roken-common.h \ + $(SDKINCDIR)\heimdal\syslog.h \ + $(SDKINCDIR)\heimdal\err.h \ + $(SDKINCDIR)\heimdal\dirent.h \ + $(SDKINCDIR)\heimdal\gkrb5_err.h \ + $(SDKINCDIR)\gssapi\gssapi.h \ + $(SDKINCDIR)\gssapi\gssapi_krb5.h \ + $(SDKINCDIR)\gssapi\gssapi_oid.h \ + $(SDKINCDIR)\gssapi\gssapi_ntlm.h \ + $(SDKINCDIR)\gssapi\gssapi_spnego.h \ + $(SDKINCDIR)\Heimdal.Application.$(MCPU).manifest \ + +LIBFILES=\ + $(SDKLIBDIR)\heimdal.lib \ + $(SDKLIBDIR)\libcom_err.lib \ + $(SDKLIBDIR)\libroken.lib \ + $(SDKLIBDIR)\libgssapi.lib + +all:: $(INCFILES) $(LIBFILES) + +.SUFFIXES: .h .c .lib + +{$(LIBDIR)}.lib{$(SDKLIBDIR)}.lib: + $(CP) $** $@ + +{$(INCDIR)}.h{$(SDKINCDIR)}.h: + $(CP) $** $@ + +{$(INCDIR)}.h{$(SDKINCDIR)\krb5}.h: + $(CP) $** $@ + +{$(INCDIR)\hcrypto}.h{$(SDKINCDIR)\hcrypto}.h: + $(CP) $** $@ + +{$(INCDIR)}.h{$(SDKINCDIR)\heimdal}.h: + $(CP) $** $@ + +{$(INCDIR)\kadm5}.h{$(SDKINCDIR)\kadm5}.h: + $(CP) $** $@ + +{$(INCDIR)\gssapi}.h{$(SDKINCDIR)\gssapi}.h: + $(CP) $** $@ + +{$(INCDIR)\gssapi}.h{$(SDKINCDIR)\heimdal}.h: + $(CP) $** $@ + +$(SDKINCDIR)\Heimdal.Application.$(MCPU).manifest: $(APPMANIFEST) + $(CP) $** $@ + +clean:: + -$(RM) $(SDKINCDIR)\*.* + -$(RM) $(SDKINCDIR)\krb5\*.* + -$(RM) $(SDKINCDIR)\hcrypto\*.* + -$(RM) $(SDKINCDIR)\heimdal\*.* + -$(RM) $(SDKINCDIR)\kadm5\*.* + -$(RM) $(SDKINCDIR)\gssapi\*.* + -$(RM) $(SDKLIBDIR)\*.* + -$(RM) $(SDKREDISTDIR)\*.* |