Merge pull request #11 from asankah/master
Updates from Asanka to complete the Heimdal on Windows install package. Plugins in Software/Heimdal; customizable 32-bit tools directory in multi-platform installer; Feature Tree view; and updated version number.
This commit is contained in:
@@ -35,7 +35,8 @@
|
|||||||
#error config_reg.c is only for Windows
|
#error config_reg.c is only for Windows
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define REGPATH "SOFTWARE\\Kerberos"
|
#define REGPATH_KERBEROS "SOFTWARE\\Kerberos"
|
||||||
|
#define REGPATH_HEIMDAL "SOFTWARE\\Heimdal"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse a registry value as a string
|
* Parse a registry value as a string
|
||||||
@@ -420,6 +421,26 @@ parse_reg_root(krb5_context context,
|
|||||||
return parse_reg_subkeys(context, key, parent);
|
return parse_reg_subkeys(context, key, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static krb5_error_code
|
||||||
|
load_config_from_regpath(krb5_context context,
|
||||||
|
HKEY hk_root,
|
||||||
|
const char* key_path,
|
||||||
|
krb5_config_section ** res)
|
||||||
|
{
|
||||||
|
HKEY key = NULL;
|
||||||
|
LONG rcode;
|
||||||
|
krb5_error_code code = 0;
|
||||||
|
|
||||||
|
rcode = RegOpenKeyEx(hk_root, key_path, 0, KEY_READ, &key);
|
||||||
|
if (rcode == ERROR_SUCCESS) {
|
||||||
|
code = parse_reg_root(context, key, res);
|
||||||
|
RegCloseKey(key);
|
||||||
|
key = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load configuration from registry
|
* Load configuration from registry
|
||||||
*
|
*
|
||||||
@@ -436,29 +457,26 @@ krb5_error_code
|
|||||||
_krb5_load_config_from_registry(krb5_context context,
|
_krb5_load_config_from_registry(krb5_context context,
|
||||||
krb5_config_section ** res)
|
krb5_config_section ** res)
|
||||||
{
|
{
|
||||||
HKEY key = NULL;
|
krb5_error_code code;
|
||||||
LONG rcode;
|
|
||||||
krb5_error_code code = 0;
|
|
||||||
|
|
||||||
rcode = RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGPATH, 0, KEY_READ, &key);
|
code = load_config_from_regpath(context, HKEY_LOCAL_MACHINE,
|
||||||
if (rcode == ERROR_SUCCESS) {
|
REGPATH_KERBEROS, res);
|
||||||
code = parse_reg_root(context, key, res);
|
if (code)
|
||||||
RegCloseKey(key);
|
return code;
|
||||||
key = NULL;
|
|
||||||
|
|
||||||
if (code)
|
code = load_config_from_regpath(context, HKEY_LOCAL_MACHINE,
|
||||||
return code;
|
REGPATH_HEIMDAL, res);
|
||||||
}
|
if (code)
|
||||||
|
return code;
|
||||||
|
|
||||||
rcode = RegOpenKeyEx(HKEY_CURRENT_USER, REGPATH, 0, KEY_READ, &key);
|
code = load_config_from_regpath(context, HKEY_CURRENT_USER,
|
||||||
if (rcode == ERROR_SUCCESS) {
|
REGPATH_KERBEROS, res);
|
||||||
code = parse_reg_root(context, key, res);
|
if (code)
|
||||||
RegCloseKey(key);
|
return code;
|
||||||
key = NULL;
|
|
||||||
|
|
||||||
if (code)
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
code = load_config_from_regpath(context, HKEY_CURRENT_USER,
|
||||||
|
REGPATH_HEIMDAL, res);
|
||||||
|
if (code)
|
||||||
|
return code;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -153,8 +153,10 @@ CANDLEOPTS=$(CANDLEOPTS) -dTarget64 \
|
|||||||
|
|
||||||
!ifdef MULTIPLATFORM_INSTALLER
|
!ifdef MULTIPLATFORM_INSTALLER
|
||||||
CANDLEOPTS=$(CANDLEOPTS) -dTarget32
|
CANDLEOPTS=$(CANDLEOPTS) -dTarget32
|
||||||
|
TYPEOPT=-full
|
||||||
!else
|
!else
|
||||||
! message Excluding 32-bit components from installer
|
! message Excluding 32-bit components from installer
|
||||||
|
TYPEOPT=
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
INSTDEPS=$(INSTDIR32)\Heimdal.msm \
|
INSTDEPS=$(INSTDIR32)\Heimdal.msm \
|
||||||
@@ -187,16 +189,17 @@ THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR32)\MKShim.wixlib
|
|||||||
!endif
|
!endif
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi
|
INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)$(TYPEOPT)-$(VERSIOND).msi
|
||||||
|
WIXOBJ=$(OBJ)\heimdal-installer$(TYPEOPT).wixobj
|
||||||
|
|
||||||
$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) $(INSTDEPS) lang\en-us.wxl
|
$(INSTALLER): $(WIXOBJ) $(THIRDPARTYOBJS) $(INSTDEPS) lang\en-us.wxl
|
||||||
$(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) \
|
$(LIGHT) -out $@ $(WIXOBJ) $(THIRDPARTYOBJS) \
|
||||||
-sval -cultures:en-us -loc lang\en-us.wxl \
|
-sval -cultures:en-us -loc lang\en-us.wxl \
|
||||||
-dWixUILicenseRtf=lang\license-en-us.rtf \
|
-dWixUILicenseRtf=lang\license-en-us.rtf \
|
||||||
-ext WixUIExtension
|
-ext WixUIExtension
|
||||||
$(_CODESIGN)
|
$(_CODESIGN)
|
||||||
|
|
||||||
$(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
|
$(WIXOBJ): heimdal-installer.wxs
|
||||||
$(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs \
|
$(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs \
|
||||||
$(CANDLEOPTS) $(THIRDPARTYOPTS)
|
$(CANDLEOPTS) $(THIRDPARTYOPTS)
|
||||||
|
|
||||||
|
@@ -217,7 +217,7 @@
|
|||||||
<Component Id='comp.Plugin.Reg.32' Feature='feature.Main'
|
<Component Id='comp.Plugin.Reg.32' Feature='feature.Main'
|
||||||
Guid='4BC44234-70A4-4CC1-A5AF-4CA76E9F9487' Win64='no'>
|
Guid='4BC44234-70A4-4CC1-A5AF-4CA76E9F9487' Win64='no'>
|
||||||
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
|
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
|
||||||
Key='Software\Kerberos'>
|
Key='Software\Heimdal'>
|
||||||
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
|
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
|
||||||
Value='"[PLUGINDIR32]"' KeyPath='yes' />
|
Value='"[PLUGINDIR32]"' KeyPath='yes' />
|
||||||
</RegistryKey>
|
</RegistryKey>
|
||||||
@@ -230,7 +230,7 @@
|
|||||||
<Component Id='comp.Plugin.Reg.64' Feature='feature.Main'
|
<Component Id='comp.Plugin.Reg.64' Feature='feature.Main'
|
||||||
Guid='5A99A52E-A4CD-40F8-AFFD-AD61939FC547' Win64='yes'>
|
Guid='5A99A52E-A4CD-40F8-AFFD-AD61939FC547' Win64='yes'>
|
||||||
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
|
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
|
||||||
Key='Software\Kerberos'>
|
Key='Software\Heimdal'>
|
||||||
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
|
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
|
||||||
Value='"[PLUGINDIR64]"' KeyPath='yes' />
|
Value='"[PLUGINDIR64]"' KeyPath='yes' />
|
||||||
</RegistryKey>
|
</RegistryKey>
|
||||||
@@ -354,7 +354,7 @@
|
|||||||
|
|
||||||
<Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)'
|
<Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)'
|
||||||
Title='!(loc.FeaMainTitle)'
|
Title='!(loc.FeaMainTitle)'
|
||||||
Description='!(loc.FeaMainDesc)'
|
Description='!(loc.FeaMainDesc)' Display='expand'
|
||||||
Level='1' TypicalDefault='install' InstallDefault='local'>
|
Level='1' TypicalDefault='install' InstallDefault='local'>
|
||||||
|
|
||||||
<ComponentRef Id='comp.HX509.chm' />
|
<ComponentRef Id='comp.HX509.chm' />
|
||||||
@@ -373,42 +373,62 @@
|
|||||||
<ComponentRef Id='comp.kcc' />
|
<ComponentRef Id='comp.kcc' />
|
||||||
|
|
||||||
<?ifdef LsaCache ?>
|
<?ifdef LsaCache ?>
|
||||||
<?ifdef Target32?>
|
|
||||||
<ComponentGroupRef Id='comps.LSACache.32' />
|
|
||||||
<?endif?>
|
|
||||||
<?ifdef Target64?>
|
<?ifdef Target64?>
|
||||||
<ComponentGroupRef Id='comps.LSACache.64' />
|
<ComponentGroupRef Id='comps.LSACache.64' />
|
||||||
|
<?else?>
|
||||||
|
<ComponentGroupRef Id='comps.LSACache.32' />
|
||||||
<?endif?>
|
<?endif?>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
|
|
||||||
<?ifdef ApiCache ?>
|
<?ifdef ApiCache ?>
|
||||||
<?ifdef Target32?>
|
|
||||||
<ComponentGroupRef Id='comps.APICache.32' />
|
|
||||||
<?endif?>
|
|
||||||
<?ifdef Target64?>
|
<?ifdef Target64?>
|
||||||
<ComponentGroupRef Id='comps.APICache.64' />
|
<ComponentGroupRef Id='comps.APICache.64' />
|
||||||
|
<?else?>
|
||||||
|
<ComponentGroupRef Id='comps.APICache.32' />
|
||||||
<?endif?>
|
<?endif?>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
|
|
||||||
<?ifdef MKShim ?>
|
<?ifdef MKShim ?>
|
||||||
<?ifdef Target32?>
|
|
||||||
<ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
|
|
||||||
<?endif?>
|
|
||||||
<?ifdef Target64?>
|
<?ifdef Target64?>
|
||||||
<ComponentGroupRef Id='comp.Heimdal.MKShim.64' />
|
<ComponentGroupRef Id='comp.Heimdal.MKShim.64' />
|
||||||
|
<?else?>
|
||||||
|
<ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
|
||||||
<?endif?>
|
<?endif?>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
|
|
||||||
<?ifdef Target32?>
|
|
||||||
<MergeRef Id='Heimdal.Assemblies.32' />
|
|
||||||
<MergeRef Id='Heimdal.Policy.32' />
|
|
||||||
<MergeRef Id='Runtime.32' />
|
|
||||||
<?endif?>
|
|
||||||
|
|
||||||
<?ifdef Target64?>
|
<?ifdef Target64?>
|
||||||
<MergeRef Id='Heimdal.Assemblies.64' />
|
<MergeRef Id='Heimdal.Assemblies.64' />
|
||||||
<MergeRef Id='Heimdal.Policy.64' />
|
<MergeRef Id='Heimdal.Policy.64' />
|
||||||
<MergeRef Id='Runtime.64' />
|
<MergeRef Id='Runtime.64' />
|
||||||
|
<?else?>
|
||||||
|
<MergeRef Id='Heimdal.Assemblies.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 LsaCache ?>
|
||||||
|
<ComponentGroupRef Id='comps.LSACache.32' />
|
||||||
|
<?endif?>
|
||||||
|
<?ifdef ApiCache ?>
|
||||||
|
<ComponentGroupRef Id='comps.APICache.32' />
|
||||||
|
<?endif?>
|
||||||
|
<?ifdef MKShim ?>
|
||||||
|
<ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
|
||||||
|
<?endif?>
|
||||||
|
<MergeRef Id='Heimdal.Assemblies.32' />
|
||||||
|
<MergeRef Id='Heimdal.Policy.32' />
|
||||||
|
<MergeRef Id='Runtime.32' />
|
||||||
|
</Feature>
|
||||||
|
<?endif?>
|
||||||
<?endif?>
|
<?endif?>
|
||||||
|
|
||||||
</Feature>
|
</Feature>
|
||||||
@@ -425,9 +445,7 @@
|
|||||||
|
|
||||||
<Property Id='ALLUSERS' Value='1' Secure='yes' />
|
<Property Id='ALLUSERS' Value='1' Secure='yes' />
|
||||||
|
|
||||||
<Property Id='WIXUI_INSTALLDIR' Value='$(var.ConfigDir)' />
|
<UIRef Id='WixUI_FeatureTree' />
|
||||||
|
|
||||||
<UIRef Id='WixUI_InstallDir' />
|
|
||||||
|
|
||||||
</Product>
|
</Product>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
@@ -8,6 +8,8 @@
|
|||||||
<String Id='Comments'></String>
|
<String Id='Comments'></String>
|
||||||
<String Id='FeaMainTitle'>Heimdal</String>
|
<String Id='FeaMainTitle'>Heimdal</String>
|
||||||
<String Id='FeaMainDesc'>Command line tools and libraries for Heimdal Kerberos</String>
|
<String Id='FeaMainDesc'>Command line tools and libraries for Heimdal Kerberos</String>
|
||||||
<String Id='AdminRequired'>Installation of this package requires elevation.</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>
|
<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>
|
</WixLocalization>
|
||||||
|
@@ -8,8 +8,8 @@ VER_PACKAGE_COMPANY=www.h5l.org
|
|||||||
|
|
||||||
VER_PRODUCT_MAJOR=1
|
VER_PRODUCT_MAJOR=1
|
||||||
VER_PRODUCT_MINOR=4
|
VER_PRODUCT_MINOR=4
|
||||||
VER_PRODUCT_AUX=9921
|
VER_PRODUCT_AUX=9930
|
||||||
VER_PRODUCT_PATCH=1201
|
VER_PRODUCT_PATCH=615
|
||||||
|
|
||||||
VER_PACKAGE_VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX)
|
VER_PACKAGE_VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user