Windows only change. Created and Add Novell.Casa.MiCasa.dll to the GAC.

This commit is contained in:
Jim Norman 2006-11-09 11:05:03 +00:00
parent 3a44ee8211
commit b19f7245bd
17 changed files with 2088 additions and 749 deletions

View File

@ -390,7 +390,7 @@ typedef struct _sscs_ext_t
uint32_t ssFlags, // IN
SSCS_SECRET_ID_T * appSecretID, // IN
SSCS_SECRET_ID_T * sharedSecretID, // Optional IN
uint32_t * credentialType, // IN/OUT
uint32_t * credentialType, // IN/OUT
void * credential, // OUT
SSCS_EXT_T * ext // Reserved
);
@ -401,7 +401,7 @@ typedef struct _sscs_ext_t
uint32_t ssFlags, // IN
SSCS_SECRET_ID_T * appSecretID, // IN
SSCS_SECRET_ID_T * sharedSecretID, // Optional IN
uint32_t credentialType, // IN
uint32_t credentialType, // IN
void * credential, // IN
SSCS_EXT_T * ext // Reserved
);

File diff suppressed because it is too large Load Diff

View File

@ -21,49 +21,19 @@
}
"Entry"
{
"MsmKey" = "8:_01EA198D017B971B145A17145CE2C5F6"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_01EA198D017B971B145A17145CE2C5F6"
"OwnerKey" = "8:_35D7FFD9A5F02B162343D1F3922ADB06"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_093DBD038821017381C58C1600BB65FF"
"OwnerKey" = "8:_69B8715C6C864CE4BA0C8234D344175F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_132F57540C1E9FCF17E2DF8360F4B09C"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmKey" = "8:_11B0506C6E534CED95D82DA0A8EC9F82"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_132F57540C1E9FCF17E2DF8360F4B09C"
"OwnerKey" = "8:_35D7FFD9A5F02B162343D1F3922ADB06"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_132F57540C1E9FCF17E2DF8360F4B09C"
"OwnerKey" = "8:_01EA198D017B971B145A17145CE2C5F6"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_35D7FFD9A5F02B162343D1F3922ADB06"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_538816C3FDB46EF4059CBA054855C473"
"MsmKey" = "8:_4017F0313C0605FD76ED03402317EA35"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmSig" = "8:_UNDEFINED"
}
@ -75,12 +45,30 @@
}
"Entry"
{
"MsmKey" = "8:_657D0EB8D0C363240B7BB4B3F8031609"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_657D0EB8D0C363240B7BB4B3F8031609"
"OwnerKey" = "8:_4017F0313C0605FD76ED03402317EA35"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_69B8715C6C864CE4BA0C8234D344175F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6C056EF6608CB813240B81AB2C290472"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_90C16B41FE7F435A8640BFDDD7C02619"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -93,6 +81,24 @@
}
"Entry"
{
"MsmKey" = "8:_E7B4BD63601426E59942ECD9791C92FE"
"OwnerKey" = "8:_C37A35F33FD14730BC7E7C47DF9C2DD1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_E7B4BD63601426E59942ECD9791C92FE"
"OwnerKey" = "8:_4017F0313C0605FD76ED03402317EA35"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_E7B4BD63601426E59942ECD9791C92FE"
"OwnerKey" = "8:_657D0EB8D0C363240B7BB4B3F8031609"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_FCA9C6770F0FB28185373954659263CB"
"OwnerKey" = "8:_01C1EAD583CE4AD39778A1F9EC86204D"
"MsmSig" = "8:_UNDEFINED"
@ -106,25 +112,31 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_538816C3FDB46EF4059CBA054855C473"
"OwnerKey" = "8:_11B0506C6E534CED95D82DA0A8EC9F82"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_35D7FFD9A5F02B162343D1F3922ADB06"
"OwnerKey" = "8:_6C056EF6608CB813240B81AB2C290472"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_01EA198D017B971B145A17145CE2C5F6"
"OwnerKey" = "8:_4017F0313C0605FD76ED03402317EA35"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_132F57540C1E9FCF17E2DF8360F4B09C"
"OwnerKey" = "8:_657D0EB8D0C363240B7BB4B3F8031609"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_E7B4BD63601426E59942ECD9791C92FE"
"MsmSig" = "8:_UNDEFINED"
}
}
@ -226,37 +238,6 @@
}
"File"
{
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_01EA198D017B971B145A17145CE2C5F6"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:AppModule.NamedPipes, Version=1.6.0.19770, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_01EA198D017B971B145A17145CE2C5F6"
{
"Name" = "8:AppModule.NamedPipes.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:AppModule.NamedPipes.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_24B477312C8840DB8DF8C1E373E7FC6D"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_093DBD038821017381C58C1600BB65FF"
{
"SourcePath" = "8:micasa.dll"
@ -277,45 +258,14 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_132F57540C1E9FCF17E2DF8360F4B09C"
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4017F0313C0605FD76ED03402317EA35"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:AppModule.InterProcessComm, Version=1.6.0.19770, Culture=neutral, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:Novell.CASA.Common, Version=1.6.2503.27769, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_132F57540C1E9FCF17E2DF8360F4B09C"
{
"Name" = "8:AppModule.InterProcessComm.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:AppModule.InterProcessComm.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_24B477312C8840DB8DF8C1E373E7FC6D"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_35D7FFD9A5F02B162343D1F3922ADB06"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Novell.CASA.Common, Version=1.6.2495.19770, Culture=neutral, processorArchitecture=x86"
"ScatterAssemblies"
{
"_35D7FFD9A5F02B162343D1F3922ADB06"
"_4017F0313C0605FD76ED03402317EA35"
{
"Name" = "8:Novell.CASA.Common.dll"
"Attributes" = "3:512"
@ -339,14 +289,45 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_538816C3FDB46EF4059CBA054855C473"
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_657D0EB8D0C363240B7BB4B3F8031609"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Novell.CASA.CASAPol, Version=1.6.2495.19770, Culture=neutral, processorArchitecture=x86"
"AssemblyAsmDisplayName" = "8:AppModule.NamedPipes, Version=1.6.0.27768, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_538816C3FDB46EF4059CBA054855C473"
"_657D0EB8D0C363240B7BB4B3F8031609"
{
"Name" = "8:AppModule.NamedPipes.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:AppModule.NamedPipes.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_24B477312C8840DB8DF8C1E373E7FC6D"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6C056EF6608CB813240B81AB2C290472"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Novell.CASA.CASAPol, Version=1.6.2501.25984, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_6C056EF6608CB813240B81AB2C290472"
{
"Name" = "8:Novell.CASA.CASAPol.dll"
"Attributes" = "3:512"
@ -370,6 +351,37 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E7B4BD63601426E59942ECD9791C92FE"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:AppModule.InterProcessComm, Version=1.6.0.25984, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_E7B4BD63601426E59942ECD9791C92FE"
{
"Name" = "8:AppModule.InterProcessComm.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:AppModule.InterProcessComm.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_24B477312C8840DB8DF8C1E373E7FC6D"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FCA9C6770F0FB28185373954659263CB"
{
"SourcePath" = "8:micasacache.dll"
@ -396,6 +408,17 @@
}
"Folder"
{
"{C7E34266-2C30-44B9-A9A3-4E394ABD6E18}:_1362415FE8D943B49FA4E4380970C97B"
{
"Name" = "8:#1927"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:GAC"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_4913CF477F8E455DA2D13A4A6892F4F7"
{
"Name" = "8:#1914"
@ -504,6 +527,34 @@
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_11B0506C6E534CED95D82DA0A8EC9F82"
{
"SourcePath" = "8:..\\..\\..\\..\\sharp\\Novell.Casa\\obj\\Debug\\Novell.Casa.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_1362415FE8D943B49FA4E4380970C97B"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{7B56383F-6551-4BCD-81BB-A039BBECBD9C}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_53A2168DF64E4E9EB3FD5516424E732E"
{
"SourcePath" = "8:..\\..\\..\\..\\micasacache\\Debug\\micasacache.dll"
@ -562,7 +613,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_90C16B41FE7F435A8640BFDDD7C02619"
{
"SourcePath" = "8:..\\..\\..\\..\\logincapture\\windows\\bin\\debug\\lcredmgr.dll"
"SourcePath" = "8:..\\..\\..\\..\\logincapture\\windows\\bin\\Debug\\lcredmgr.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_24B477312C8840DB8DF8C1E373E7FC6D"

View File

@ -1,7 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CASA", "CASA.vdproj", "{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CASA-dev-msm", "..\CASA-dev-msm\miCASA-Dev-msm.vdproj", "{51235A10-C83F-4B56-B16D-9DD695F9FB93}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cSample", "..\..\..\..\test\c_sample\CSample.vcproj", "{2635AF48-A4B2-42BD-97E2-A9AD9FF79E8C}"
@ -15,14 +13,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lcredmgr", "..\..\..\..\Log
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.CASA.miCASAWrapper", "..\..\..\..\sharp\NSSCSWrapper\Novell.CASA.miCASAWrapper.csproj", "{E21DD887-22F4-4935-9851-409715F663B0}"
ProjectSection(ProjectDependencies) = postProject
{077B53BB-404A-4B2F-BA17-AAE98C5E9C66} = {077B53BB-404A-4B2F-BA17-AAE98C5E9C66}
{E98F1F7E-40B6-44C8-AC66-EC867B141FA1} = {E98F1F7E-40B6-44C8-AC66-EC867B141FA1}
{077B53BB-404A-4B2F-BA17-AAE98C5E9C66} = {077B53BB-404A-4B2F-BA17-AAE98C5E9C66}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.CASA.Common", "..\..\..\..\micasad\lib\Novell.CASA.Common.csproj", "{57CD94A2-5B4A-40C3-8189-CB760FB78357}"
ProjectSection(ProjectDependencies) = postProject
{077B53BB-404A-4B2F-BA17-AAE98C5E9C66} = {077B53BB-404A-4B2F-BA17-AAE98C5E9C66}
{E98F1F7E-40B6-44C8-AC66-EC867B141FA1} = {E98F1F7E-40B6-44C8-AC66-EC867B141FA1}
{077B53BB-404A-4B2F-BA17-AAE98C5E9C66} = {077B53BB-404A-4B2F-BA17-AAE98C5E9C66}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CASAManager", "..\..\..\..\gui\CASAManager.csproj", "{A1A805D0-B400-4D11-A772-348CE13F1046}"
@ -58,6 +56,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jmicasa", "..\..\..\..\jwra
{99988A22-4C58-4BF7-A2DB-57761E76FB26} = {99988A22-4C58-4BF7-A2DB-57761E76FB26}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.Casa.MiCasa", "..\..\..\..\sharp\Novell.Casa.MiCasa\Novell.Casa.MiCasa.csproj", "{7B56383F-6551-4BCD-81BB-A039BBECBD9C}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CASA", "CASA.vdproj", "{288987CA-24A3-443B-A9D4-018CCF47C9C3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -68,18 +70,6 @@ Global
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Debug|Any CPU.ActiveCfg = Debug
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Debug|Any CPU.Build.0 = Debug
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Debug|Mixed Platforms.ActiveCfg = Debug
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Debug|Mixed Platforms.Build.0 = Debug
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Debug|Win32.ActiveCfg = Debug
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Debug|Win32.Build.0 = Debug
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Release|Any CPU.ActiveCfg = Release
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Release|Any CPU.Build.0 = Release
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Release|Mixed Platforms.ActiveCfg = Release
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Release|Mixed Platforms.Build.0 = Release
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Release|Win32.ActiveCfg = Release
{C9DC01B9-DBA2-4894-9AA4-A747B71CA384}.Release|Win32.Build.0 = Release
{51235A10-C83F-4B56-B16D-9DD695F9FB93}.Debug|Any CPU.ActiveCfg = Debug
{51235A10-C83F-4B56-B16D-9DD695F9FB93}.Debug|Any CPU.Build.0 = Debug
{51235A10-C83F-4B56-B16D-9DD695F9FB93}.Debug|Mixed Platforms.ActiveCfg = Debug
@ -266,6 +256,28 @@ Global
{D2BD9955-65B4-4E34-B178-52D71444AE63}.Release|Mixed Platforms.Build.0 = Release|Win32
{D2BD9955-65B4-4E34-B178-52D71444AE63}.Release|Win32.ActiveCfg = Release|Win32
{D2BD9955-65B4-4E34-B178-52D71444AE63}.Release|Win32.Build.0 = Release|Win32
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Release|Any CPU.Build.0 = Release|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7B56383F-6551-4BCD-81BB-A039BBECBD9C}.Release|Win32.ActiveCfg = Release|Any CPU
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Debug|Any CPU.ActiveCfg = Debug
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Debug|Any CPU.Build.0 = Debug
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Debug|Mixed Platforms.ActiveCfg = Debug
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Debug|Mixed Platforms.Build.0 = Debug
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Debug|Win32.ActiveCfg = Debug
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Debug|Win32.Build.0 = Debug
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Release|Any CPU.ActiveCfg = Release
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Release|Any CPU.Build.0 = Release
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Release|Mixed Platforms.ActiveCfg = Release
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Release|Mixed Platforms.Build.0 = Release
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Release|Win32.ActiveCfg = Release
{288987CA-24A3-443B-A9D4-018CCF47C9C3}.Release|Win32.Build.0 = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -162,7 +162,7 @@
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"Version" = "8:2.0.50727"
"AllowLaterVersions" = "11:FALSE"
"AllowLaterVersions" = "11:TRUE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832"
"SupportedRuntimes" = "8:1.1.4322;2.0.50727"
}
@ -333,14 +333,14 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:CASA"
"ProductCode" = "8:{49AB55EE-5DBD-4992-BC39-65AFFB00C125}"
"PackageCode" = "8:{B65108A7-B1EC-488A-8A4F-0E2FFF469C13}"
"ProductCode" = "8:{EA80E3ED-8B3E-41AA-8140-DB41B224A280}"
"PackageCode" = "8:{841F0620-06FE-48EC-A8D0-271C720A5DB7}"
"UpgradeCode" = "8:{DFD8B8A0-EA51-4202-831C-7CD2B90A63AE}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.7.936"
"InstallAllUsers" = "11:TRUE"
"ProductVersion" = "8:1.7.956"
"Manufacturer" = "8:Novell"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
@ -871,7 +871,7 @@
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_98DCC664712A41B993FCD33026D06FFC"
{
"SourcePath" = "8:..\\CASA-gui-msm\\Release\\CASA-gui.msm"
"SourcePath" = "8:..\\CASA-gui-msm\\Debug\\CASA-gui.msm"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_E8900D5F0BD44DC0BB0BEFDF7C43B30C"
@ -924,7 +924,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A6D188F9B5AF430C92D0B9606ADF4C63"
{
"SourcePath" = "8:..\\CASA-dev-msm\\Release\\miCASA-Dev-msm.msm"
"SourcePath" = "8:..\\CASA-dev-msm\\Debug\\miCASA-Dev-msm.msm"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_E8900D5F0BD44DC0BB0BEFDF7C43B30C"
@ -1047,7 +1047,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_BF2CE61978054B2DB482792974E390F0"
{
"SourcePath" = "8:..\\CASA-msm\\Release\\CASA-msm.msm"
"SourcePath" = "8:..\\CASA-msm\\Debug\\CASA-msm.msm"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_E8900D5F0BD44DC0BB0BEFDF7C43B30C"

View File

@ -122,7 +122,7 @@ distribution (.tar.gz) file, use configure.
(run ./configure --help for more options)
4. Choose your make target, here are a few interesting ones:
make - compile and create binaries
make - compile and create binaries, and setup files.
make clean - clean up binaries

View File

@ -0,0 +1,52 @@
/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
using System;
namespace Novell.Casa
{
/// <summary>
/// Summary description for BasicCredential.
/// </summary>
public class BasicCredential
{
private string m_username = "";
private string m_password = "";
public BasicCredential(string username, string password)
{
m_username = username;
m_password = password;
}
public string GetUsername()
{
return m_username;
}
public string GetPassword()
{
return m_password;
}
}
}

Binary file not shown.

View File

@ -0,0 +1,141 @@
/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
using System;
using Novell.Casa;
namespace Novell.Casa
{
/// <summary>
/// Summary description for miCASA.
/// </summary>
public class MiCasa
{
public static uint USERNAME_TYPE_CN_F = 0x00000000;
public static uint USERNAME_TYPE_NDS_DN_F = 0x00000001;
public static uint USERNAME_TYPE_NDS_FDN_F = 0x00000002;
public static uint USERNAME_TYPE_LDAP_DN_F = 0x00000004;
public static uint USERNAME_TYPE_EMAIL_F = 0x00000008;
public static uint USERNAME_TYPE_OTHER_F = 0x00000010;
public MiCasa()
{
//
// TODO: Add constructor logic here
//
}
public static void SetBasicCredential(
string sAppSecretID,
string sSharedSecretID,
string sUsername,
string sPassword)
{
SetCredential(0, sAppSecretID, sSharedSecretID, 0, sUsername, sPassword);
}
public static string GetCredentialUsername(
string sAppSecretID,
string sSharedSecretID)
{
BasicCredential bc = GetBasicCredential(sAppSecretID, sSharedSecretID);
if (bc != null)
return bc.GetUsername();
else
return null;
}
public static string GetCredentialPassword(
string sAppSecretID,
string sSharedSecretID)
{
BasicCredential bc = GetBasicCredential(sAppSecretID, sSharedSecretID);
if (bc != null)
return bc.GetPassword();
else
return null;
}
public static BasicCredential GetBasicCredential(
string sAppSecretID,
string sSharedSecretID)
{
return GetCredential(0, sAppSecretID, sSharedSecretID, MiCasa.USERNAME_TYPE_CN_F);
}
public static void RemoveBasicCredential(
string sAppSecretID,
string sSharedSecretID)
{
RemoveCredential(0, sAppSecretID, sSharedSecretID);
}
public static void SetCredential(
uint ssFlags,
string sAppSecretID,
string sSharedSecretID,
uint unFlag,
string sUsername,
string sPassword)
{
NativeCalls.SetCredential(ssFlags, sAppSecretID, sSharedSecretID, unFlag, NativeCalls.SSCS_CRED_TYPE_BASIC_F, sUsername, sPassword);
}
public static BasicCredential GetCredential(
uint ssFlags,
string sAppSecretID,
string sSharedSecretID,
uint unFlag)
{
return NativeCalls.GetCredential(ssFlags, sAppSecretID, sSharedSecretID, unFlag, NativeCalls.SSCS_CRED_TYPE_BASIC_F);
}
public static void RemoveCredential(
string sAppSecretID)
{
RemoveCredential(0, sAppSecretID, null);
}
public static void RemoveCredential(
uint ssFlags,
string sAppSecretID,
string sSharedSecretID)
{
NativeCalls.RemoveCredential(ssFlags, sAppSecretID, sSharedSecretID);
}
public static bool IsSecretPersistent(
uint ssFlags,
string secretID)
{
return NativeCalls.IsSecretPersistent(ssFlags,secretID);
}
}
}

View File

@ -0,0 +1,520 @@
/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
using System;
namespace Novell.Casa
{
/// <summary>
/// Summary description for MiCasaException.
/// </summary>
public class MiCasaException:Exception
{
int m_iException = 0;
public const int NSSCS_E_OBJECT_NOT_FOUND = -800; //0xFFFFFCE0; /* -800 */
/**
* NICI operations have failed.
*/
public const int NSSCS_E_NICI_FAILURE = -801;
/**
* Secret ID is not in the User Secret Store.
*/
public const int NSSCS_E_INVALID_SECRET_ID = -802;
/**
* Some internal operating system services have not been available.
*/
public const int NSSCS_E_SYSTEM_FAILURE = -803;
/**
* Access to the target SecretStore has been denied.
*/
public const int NSSCS_E_ACCESS_DENIED = -804;
/**
* Some internal NDS services have not been available.
*/
public const int NSSCS_E_NDS_INTERNAL_FAILURE = -805;
/**
* Secret has not been initialized with a write.
*/
public const int NSSCS_E_SECRET_UNINITIALIZED = -806;
/**
* Size of the buffer is not in a nominal range between minimum and maximum.
*/
public const int NSSCS_E_BUFFER_LEN = -807;
/**
* Client and server components are not of the compatible versions.
*/
public const int NSSCS_E_INCOMPATIBLE_VERSION = -808;
/**
* SecretStore data on the server has been corrupted.
*/
public const int NSSCS_E_CORRUPTED_STORE = -809;
/**
* Secret ID already exists in the Secret Store.
*/
public const int NSSCS_E_SECRET_ID_EXISTS = -810;
/**
* User NDS password has been changed by the administrator.
*/
public const int NSSCS_E_NDS_PWORD_CHANGED = -811;
/**
* Target NDS User object not found.
*/
public const int NSSCS_E_INVALID_TARGET_OBJECT = -812;
/**
* Target NDS User object does not have a SecretStore.
*/
public const int NSSCS_E_STORE_NOT_FOUND = -813;
/**
* SecretStore not on the Network.
*/
public const int NSSCS_E_SERVICE_NOT_FOUND = -814;
/**
* Length of the Secret ID buffer exceeds the limit.
*/
public const int NSSCS_E_SECRET_ID_TOO_LONG = -815;
/**
* Length of the Enumeration buffer too int.
*/
public const int NSSCS_E_ENUM_BUFF_TOO_SHORT = -816;
/**
* User not authenticated.
*/
public const int NSSCS_E_NOT_AUTHENTICATED = -817;
/**
* Not supported operations.
*/
public const int NSSCS_E_NOT_SUPPORTED = -818;
/**
* Typed in NDS password not valid.
*/
public const int NSSCS_E_NDS_PWORD_INVALID = -819;
/**
* Session keys of the client and server NICI are out of sync.
*/
public const int NSSCS_E_NICI_OUTOF_SYNC = -820;
/**
* Requested service not supported yet.
*/
public const int NSSCS_E_SERVICE_NOT_SUPPORTED = -821;
/**
* NDS authentication type not supported.
*/
public const int NSSCS_E_TOKEN_NOT_SUPPORTED = -822;
/**
* Unicode text conversion operation failed.
*/
public const int NSSCS_E_UNICODE_OP_FAILURE = -823;
/**
* Connection to server is lost.
*/
public const int NSSCS_E_TRANSPORT_FAILURE = -824;
/**
* Cryptographic operation failed.
*/
public const int NSSCS_E_CRYPTO_OP_FAILURE = -825;
/**
* Opening a connection to the server failed.
*/
public const int NSSCS_E_SERVER_CONN_FAILURE = -826;
/**
* Access to server connection failed.
*/
public const int NSSCS_E_CONN_ACCESS_FAILURE = -827;
/**
* Size of the enumeration buffer exceeds the limit.
*/
public const int NSSCS_E_ENUM_BUFF_TOO_LONG = -828;
/**
* Size of the Secret buffer exceeds the limit.
*/
public const int NSSCS_E_SECRET_BUFF_TOO_LONG = -829;
/**
* Length of the Secret ID should be greater than zero.
*/
public const int NSSCS_E_SECRET_ID_TOO_SHORT = -830;
/**
* Protocol data corrupted on the wire.
*/
public const int NSSCS_E_CORRUPTED_PACKET_DATA = -831;
/**
* EP password validation failed. Access to the secret denied!
*/
public const int NSSCS_E_EP_ACCESS_DENIED = -832;
/**
* Schema is not extended to support SecreStore on the target tree.
*/
public const int NSSCS_E_SCHEMA_NOT_EXTENDED = -833;
/**
* One of the optional service attributes is not instantiated.
*/
public const int NSSCS_E_ATTR_NOT_FOUND = -834;
/**
* Server has been upgraded and user SecretStore should be updated.
*/
public const int NSSCS_E_MIGRATION_NEEDED = -835;
/**
* Master password could not be verified to read or unlock the secrets.
*/
public const int NSSCS_E_MP_PWORD_INVALID = -836;
/**
* Master password has not been set on the SecretStore.
*/
public const int NSSCS_E_MP_PWORD_NOT_SET = -837;
/**
* Ability to use master password has been disabled.
*/
public const int NSSCS_E_MP_PWORD_NOT_ALLOWED = -838;
/**
* Not a writeable replica of NDS.
*/
public const int NSSCS_E_WRONG_REPLICA_TYPE = -839;
/**
* Target attribute is not instantiated in NDS.
*
* @since 3.0
*/
public const int NSSCS_E_ATTR_VAL_NOT_FOUND = -840;
/**
* API parameter is not initialized.
*
* @since 3.0
*/
public const int NSSCS_E_INVALID_PARAM = -841;
/**
* Connection to SecretStore needs to be over SSL.
*
* @since 3.0
*/
public const int NSSCS_E_NEED_SECURE_CHANNEL = -842;
/**
* No server to support the given override configuration is found.
*
* @since 3.02
*/
public const int NSSCS_E_CONFIG_NOT_SUPPORTED = -843;
/**
* Attempt to unlock SecretStore failed because the store is not locked.
*
* @since 3.02
*/
public const int NSSCS_E_STORE_NOT_LOCKED = -844;
/**
* NDS Replica on the server that holds SecretStore is out of sync with the replica ring.
*
* @since 3.2
*/
public const int NSSCS_E_TIME_OUT_OF_SYNC = -845;
/**
* Versions of the client dlls don't match.
*
* @since 3.2
*/
public const int NSSCS_E_VERSION_MISMATCH = -846;
/**
* Buffer supplied for the secret is too short.
*
* @since 3.2
*/
public const int NSSCS_E_SECRET_BUFF_TOO_SHORT = -847;
/**
* Shared Secret processing and operations failed.
*
* @since 3.2
*/
public const int NSSCS_E_SH_SECRET_FAILURE = -848;
/**
* Shared Secret parser operations failed.
*
* @since 3.2
*/
public const int NSSCS_E_PARSER_FAILURE = -849;
/**
* Utf8 string operations failed.
*
* @since 3.2
*/
public const int NSSCS_E_UTF8_OP_FAILURE = -850;
/**
* Contextless name for LDAP bind does not resolve to a unique DN.
*
* @since 3.2
*/
public const int NSSCS_E_CTX_LESS_CN_NOT_UNIQUE = -851;
/**
* Feature not implemented yet.
*/
public const int NSSCS_E_NOT_IMPLEMENTED = -888;
/**
* Product's BETA life has expired! Official release copy should be purchased.
*/
public const int NSSCS_E_BETA_EXPIRED = -899;
public MiCasaException()
{
//
// TODO: Add constructor logic here
//
}
public MiCasaException(int iException)
{
m_iException = iException;
}
public string getMessage()
{
return getMessage(m_iException);
}
public int getErrorCode()
{
return m_iException;
}
public string getMessage(int iException)
{
switch (iException)
{
case NSSCS_E_OBJECT_NOT_FOUND:
return "Can't find the target object DN in NDS";
case NSSCS_E_NICI_FAILURE:
return "NICI operations have failed";
case NSSCS_E_INVALID_SECRET_ID:
return "Secret ID is not in the User Secret Store";
case NSSCS_E_SYSTEM_FAILURE:
return "Some internal operating system services have not been available";
case NSSCS_E_ACCESS_DENIED:
return "Access to the target SecretStore has been denied";
case NSSCS_E_NDS_INTERNAL_FAILURE:
return "Some internal NDS services have not been available";
case NSSCS_E_SECRET_UNINITIALIZED:
return "Secret has not been initialized with a write";
case NSSCS_E_BUFFER_LEN:
return "Size of the buffer is not in a nominal range between minimum and maximum";
case NSSCS_E_INCOMPATIBLE_VERSION:
return "Client and server components are not of the compatible versions";
case NSSCS_E_CORRUPTED_STORE:
return "SecretStore data on the server has been corrupted";
case NSSCS_E_SECRET_ID_EXISTS:
return "Secret ID is already in SecretStore";
case NSSCS_E_NDS_PWORD_CHANGED:
return "User NDS password has been changed by the administrator";
case NSSCS_E_INVALID_TARGET_OBJECT:
return "Target NDS User object not found";
case NSSCS_E_STORE_NOT_FOUND:
return "Target NDS User object does not have a SecretStore";
case NSSCS_E_SERVICE_NOT_FOUND:
return "SecretStore not on the Network";
case NSSCS_E_SECRET_ID_TOO_LONG:
return "Length of the Secret ID buffer exceeds the limit";
case NSSCS_E_ENUM_BUFF_TOO_SHORT:
return "Length of the Enumeration buffer too short";
case NSSCS_E_NOT_AUTHENTICATED:
return "User not authenticated";
case NSSCS_E_NOT_SUPPORTED:
return "Not supported operations";
case NSSCS_E_NDS_PWORD_INVALID:
return "Typed in NDS password not valid";
case NSSCS_E_NICI_OUTOF_SYNC:
return "Session keys of the client and server NICI are out of sync";
case NSSCS_E_SERVICE_NOT_SUPPORTED:
return "Requested service not supported yet";
case NSSCS_E_TOKEN_NOT_SUPPORTED:
return "NDS authentication type not supported";
case NSSCS_E_UNICODE_OP_FAILURE:
return "Unicode text conversion operation failed";
case NSSCS_E_TRANSPORT_FAILURE:
return "Connection to server is lost";
case NSSCS_E_CRYPTO_OP_FAILURE:
return "Cryptographic operation failed";
case NSSCS_E_SERVER_CONN_FAILURE:
return "Opening a connection to the server failed";
case NSSCS_E_CONN_ACCESS_FAILURE:
return "Access to server connection failed";
case NSSCS_E_ENUM_BUFF_TOO_LONG:
return "Size of the enumeration buffer exceeds the limit";
case NSSCS_E_SECRET_BUFF_TOO_LONG:
return "Size of the Secret buffer exceeds the limit";
case NSSCS_E_SECRET_ID_TOO_SHORT:
return "Length of the Secret ID should be greater than zero";
case NSSCS_E_CORRUPTED_PACKET_DATA:
return "Protocol data corrupted on the wire";
case NSSCS_E_EP_ACCESS_DENIED:
return "EP password validation failed. Access to the secret denied";
case NSSCS_E_SCHEMA_NOT_EXTENDED:
return "Schema is not extended to support SecreStore on the target tree";
case NSSCS_E_ATTR_NOT_FOUND:
return "One of the optional service attributes is not instantiated";
case NSSCS_E_MIGRATION_NEEDED:
return "Server has been upgraded and user SecretStore should be updated";
case NSSCS_E_MP_PWORD_INVALID:
return "Master password could not be verified to read or unlock the secrets";
case NSSCS_E_MP_PWORD_NOT_SET:
return "Master password has not been set on the SecretStore";
case NSSCS_E_MP_PWORD_NOT_ALLOWED:
return "Ability to use master password has been disabled";
case NSSCS_E_WRONG_REPLICA_TYPE:
return "Not a writeable replica of NDS";
case NSSCS_E_ATTR_VAL_NOT_FOUND:
return "Target attribute is not instantiated in NDS";
case NSSCS_E_INVALID_PARAM:
return "API parameter is not initialized";
case NSSCS_E_NEED_SECURE_CHANNEL:
return "Connection to SecretStore needs to be over SSL";
case NSSCS_E_CONFIG_NOT_SUPPORTED:
return "No server to support the given override configuration is found";
case NSSCS_E_STORE_NOT_LOCKED:
return "Attempt to unlock SecretStore failed because the store is not locked";
case NSSCS_E_TIME_OUT_OF_SYNC:
return "NDS Replica on the server that holds SecretStore is out of sync with the replica ring";
case NSSCS_E_VERSION_MISMATCH:
return "Versions of the client dlls don't match";
case NSSCS_E_SECRET_BUFF_TOO_SHORT:
return "Buffer supplied for the secret is too short";
case NSSCS_E_SH_SECRET_FAILURE:
return "Shared Secret processing and operations failed";
case NSSCS_E_PARSER_FAILURE:
return "Shared Secret parser operations failed";
case NSSCS_E_UTF8_OP_FAILURE:
return "Utf8 string operations failed";
case NSSCS_E_CTX_LESS_CN_NOT_UNIQUE:
return "Contextless name for LDAP bind does not resolve to a unique DN";
case NSSCS_E_NOT_IMPLEMENTED:
return "Feature not implemented yet";
case NSSCS_E_BETA_EXPIRED:
return "Product's BETA life has expired! Official release copy should be purchased";
}
return "";
}
}
}

View File

@ -0,0 +1,474 @@
/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
using System;
using System.Runtime.InteropServices;
using System.Text;
using System.Collections.Specialized;
using System.Collections;
namespace Novell.Casa
{
/// <summary>
/// Summary description for NativeCalls.
/// </summary>
public class NativeCalls
{
private static SSCS_KEYCHAIN_ID_T DefaultKeychainID = null;
internal static uint SSCS_CRED_TYPE_BASIC_F = 1;
internal static uint SSCS_CRED_TYPE_SERVER_F = 4;
private static int USERNAME_LEN = 256;
private static int PASSWORD_LEN = 128;
public NativeCalls()
{
//
// TODO: Add constructor logic here
//
if (DefaultKeychainID == null)
{
DefaultKeychainID = new SSCS_KEYCHAIN_ID_T();
}
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_PASSWORD_T
{
public uint pwordType;
public uint pwordLen; // * enhanced protection len & pword to set
// [MarshalAs(UnmanagedType.LPStr, SizeConst = 128)]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public string pword; // * should be passed in # of chars
} ;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_KEYCHAIN_ID_T
{
public int len;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public string keychainID;
};
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_SH_SECRET_ID_T
{
public int type; // The shared secret type i.e. SS_App or SS_CredSet
public int len; // except that it excludes the header and is not escaped.
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public string name; // The shared secret name. This is the same as the identifier
};
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_SECRET_STORE_ID_T
{
public int version; // * max id len in bytes
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public string id; // * should be passed in # of chars
};
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_SECRET_ID_T
{
public int len; // * max id len in bytes
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public string id; // * should be passed in # of chars
};
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_EXT_T
{
public int extID; // defined to identify the extension
public int version; // defined as the version of the specified extension
public IntPtr ext; // points to the actual extension
} ;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_CONTEXT_T
{
public int version;
public int flags;
public SSCS_SECRET_ID_T ssid;
public UInt64 ssHandle;
};
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class SSCS_BASIC_CREDENTIAL_UTF8
{
public uint unFlags;
public uint unLen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public byte[] username;
public uint pwordLen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
public byte[] password;
}
// * The following functions will be exposed as exported API:
// **************************************************************
// * These function calls will utilize the Support Functions for
// * populating or extracting data from a Shared Secret.
// **************************************************************
private const string NDK_LIBRARY = "micasa";
[DllImport(NDK_LIBRARY)]
internal static extern int miCASAGetCredential
(
[In] uint ssFlags,
[In] SSCS_SECRET_ID_T appSecretID,
[In] SSCS_SECRET_ID_T sharedSecretID,
[In, Out] ref uint credentialType,
[In, Out] IntPtr pCredential,
[In, Out] SSCS_EXT_T ext
);
[DllImport(NDK_LIBRARY)]
internal static extern int miCASASetCredential
(
[In] uint ssFlags,
[In] SSCS_SECRET_ID_T appSecretID,
[In] SSCS_SECRET_ID_T sharedSecretID,
[In] uint credentialType,
[In] IntPtr credential,
[In, Out] SSCS_EXT_T ext
);
[DllImport(NDK_LIBRARY)]
internal static extern int miCASARemoveCredential
(
[In] uint ssFlags,
[In] SSCS_SECRET_ID_T appSecretID,
[In] SSCS_SECRET_ID_T sharedSecretID,
[In, Out] SSCS_EXT_T ext
);
[DllImport(NDK_LIBRARY)]
internal static extern int miCASAIsSecretPersistent
(
[In] uint ssFlags,
[In] SSCS_SECRET_ID_T secretID,
[In, Out] SSCS_EXT_T ext
);
[DllImport(NDK_LIBRARY)]
internal static extern IntPtr miCASAOpenSecretStoreCache
(
[In, Out] SSCS_SECRET_STORE_ID_T ssid,
uint ssFlags,
[In, Out] SSCS_EXT_T ext
);
[DllImport(NDK_LIBRARY)]
internal static extern int miCASACloseSecretStoreCache
(
[In] IntPtr context,
[In] uint ssFlags,
[In, Out] SSCS_EXT_T ext
);
[DllImport(NDK_LIBRARY, CharSet = CharSet.None)]
internal static extern int miCASAWriteKey
(
[In] IntPtr context,
[In] uint ssFlags,
[In] SSCS_KEYCHAIN_ID_T keyChainID,
[In] SSCS_SH_SECRET_ID_T sharedSecretID,
[MarshalAs(UnmanagedType.LPStr)]
string key,
[In] uint keyLenBytes, // in bytes
[MarshalAs(UnmanagedType.LPStr)]
string val,
[In] uint valueLenBytes, // in bytes
[In] SSCS_PASSWORD_T password,
[In, Out] SSCS_EXT_T ext
);
/// <param name="ssFlags"></param>
/// <param name="sAppSecretID"></param>
/// <param name="sSharedSecretID"></param>
/// <param name="unFlag"></param>
/// <returns></returns>
internal static BasicCredential GetCredential(
uint ssFlags,
string sAppSecretID,
string sSharedSecretID,
uint unFlag,
uint credType)
{
if (sAppSecretID == null || sAppSecretID.Length == 0)
throw new MiCasaException(MiCasaException.NSSCS_E_INVALID_PARAM);
int rcode;
BasicCredential bc = null;
SSCS_SECRET_ID_T appSecretID = new SSCS_SECRET_ID_T();
appSecretID.id = sAppSecretID;
appSecretID.len = sAppSecretID.Length + 1;
SSCS_SECRET_ID_T sharedID = new SSCS_SECRET_ID_T();
if (sSharedSecretID != null)
{
sharedID.len = sSharedSecretID.Length + 1;
sharedID.id = sSharedSecretID;
}
SSCS_BASIC_CREDENTIAL_UTF8 credential = new SSCS_BASIC_CREDENTIAL_UTF8();
credential.unFlags = unFlag;
// alloc some memory
IntPtr pCredential = Marshal.AllocHGlobal(Marshal.SizeOf(credential));
Marshal.StructureToPtr(credential, pCredential, false);
try
{
rcode = miCASAGetCredential(
ssFlags,
appSecretID,
sharedID,
ref credType,
pCredential,
new SSCS_EXT_T()
);
}
catch (Exception)
{
//Console.WriteLine(e.ToString());
Marshal.FreeHGlobal(pCredential);
throw new MiCasaException(-803);
}
if (rcode == 0)
{
Marshal.PtrToStructure(pCredential, credential);
string sUsername = GetStringFromUTF8(credential.username, (int)credential.unLen - 1);
string sPassword = GetStringFromUTF8(credential.password, (int)credential.pwordLen - 1);
bc = new BasicCredential(sUsername, sPassword);
Marshal.FreeHGlobal(pCredential);
return bc;
}
else
{
Marshal.FreeHGlobal(pCredential);
throw new MiCasaException(rcode);
}
}
internal static void SetCredential(
uint ssFlags,
string sAppSecretID,
string sSharedSecretID,
uint unFlag,
uint uCredType,
string sUsername,
string sPassword)
{
if (sAppSecretID == null || sUsername == null || sPassword == null
|| sAppSecretID.Length == 0 || sUsername.Length == 0 || sPassword.Length == 0)
throw new MiCasaException(MiCasaException.NSSCS_E_INVALID_PARAM);
int rcode;
SSCS_SECRET_ID_T appSecretID = new SSCS_SECRET_ID_T();
appSecretID.id = sAppSecretID;
appSecretID.len = sAppSecretID.Length + 1;
SSCS_SECRET_ID_T sharedID = new SSCS_SECRET_ID_T();
if (sSharedSecretID != null)
{
sharedID.len = sSharedSecretID.Length + 1;
sharedID.id = sSharedSecretID;
}
SSCS_BASIC_CREDENTIAL_UTF8 credential = new SSCS_BASIC_CREDENTIAL_UTF8();
credential.unFlags = unFlag;
credential.unLen = GetUTF8ByteCount(sUsername) + 1;
credential.username = GetUTF8FromString(sUsername, USERNAME_LEN);
credential.pwordLen = GetUTF8ByteCount(sPassword) + 1;
credential.password = GetUTF8FromString(sPassword, PASSWORD_LEN);
IntPtr pCredential = Marshal.AllocHGlobal(Marshal.SizeOf(credential));
Marshal.StructureToPtr(credential, pCredential, true);
rcode = miCASASetCredential
(ssFlags,
appSecretID,
sharedID,
uCredType,
pCredential,
new SSCS_EXT_T()
);
if (rcode != 0)
{
throw new MiCasaException(rcode);
}
}
internal static void RemoveCredential(
uint ssFlags,
string sAppSecretID,
string sSharedSecretID)
{
if (sAppSecretID == null || sAppSecretID.Length == 0)
throw new MiCasaException(MiCasaException.NSSCS_E_INVALID_PARAM);
int rcode;
SSCS_SECRET_ID_T appSecretID = new SSCS_SECRET_ID_T();
appSecretID.id = sAppSecretID;
appSecretID.len = sAppSecretID.Length + 1;
SSCS_SECRET_ID_T sharedID = new SSCS_SECRET_ID_T();
if (sSharedSecretID != null)
{
sharedID.len = sSharedSecretID.Length + 1;
sharedID.id = sSharedSecretID;
}
rcode = miCASARemoveCredential(ssFlags, appSecretID, sharedID, new SSCS_EXT_T());
if (rcode != 0)
{
throw new MiCasaException(rcode);
}
}
internal static bool IsSecretPersistent(uint ssFlags, string id)
{
int rcode = 0;
SSCS_SECRET_ID_T secretID = new SSCS_SECRET_ID_T();
try
{
if (ssFlags == 0)
{
if ((null == id) || ("" == id))
return false;
secretID.len = id.Length;
secretID.id = id;
rcode = miCASAIsSecretPersistent(ssFlags,
secretID,
new SSCS_EXT_T());
}
else
{
rcode = miCASAIsSecretPersistent(ssFlags,
null,
new SSCS_EXT_T());
}
}
catch (Exception)
{
//Console.WriteLine(e.ToString());
}
if (rcode == 1)
return true;
else
return false;
}
// helper methods
private static string GetStringFromUTF8(byte[] utf8Bytes, int numBytes)
{
if (numBytes > 0)
{
Decoder utfDec = System.Text.Encoding.UTF8.GetDecoder();
int charCount = utfDec.GetCharCount(utf8Bytes, 0, numBytes);
char[] chars = new char[charCount];
int len = utfDec.GetChars(utf8Bytes, 0, numBytes, chars, 0);
string text = new string(chars);
text = text.Trim();
return text;
}
else
return "";
}
private static uint GetUTF8ByteCount(string str)
{
uint byteCount = (uint)System.Text.Encoding.UTF8.GetEncoder().GetByteCount(str.ToCharArray(), 0, str.Length, true);
return byteCount;
}
private static byte[] GetUTF8FromString(string str, int arrayLength)
{
// NOTE: Must return a padded array of arrayLength
Encoder utfEnc = System.Text.Encoding.UTF8.GetEncoder();
byte[] utf8Bytes = new byte[arrayLength];
int len = utfEnc.GetBytes(str.ToCharArray(), 0, str.Length, utf8Bytes, 0, true);
return utf8Bytes;
}
private static string EscapeReservedChars(string origString)
{
if (origString == null)
return origString;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < origString.Length; i++)
{
switch (origString[i])
{
case ':':
{
sb.Append("\\");
break;
}
case '\\':
{
sb.Append("\\");
break;
}
case '=':
{
sb.Append("\\");
break;
}
}
sb.Append(origString[i]);
}
return sb.ToString();
}
}
}

View File

@ -0,0 +1,53 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7B56383F-6551-4BCD-81BB-A039BBECBD9C}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Novell.Casa</RootNamespace>
<AssemblyName>Novell.Casa.MiCasa</AssemblyName>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>Casa.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="BasicCredential.cs" />
<Compile Include="MiCasa.cs" />
<Compile Include="MiCasaException.cs" />
<Compile Include="NativeCalls.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Casa.snk" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Novell.Casa")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Novell, Inc")]
[assembly: AssemblyProduct("Novell.Casa")]
[assembly: AssemblyCopyright("Copyright © Novell, Inc 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("abc7b4d6-9303-4957-ba67-58249b5aafe0")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.7.0.0")]
[assembly: AssemblyFileVersion("1.7.0.0")]

View File

@ -21,7 +21,7 @@
***********************************************************************/
using System;
using Novell.CASA;
using Novell.Casa;
namespace cSharpTest
{
@ -43,7 +43,7 @@ namespace cSharpTest
static void Main(string[] args)
{
Console.WriteLine("**************************************************");
Console.WriteLine("********** miCASA Sample written in C# ***********");
Console.WriteLine("********** MiCasa Sample written in C# ***********");
Console.WriteLine("**************************************************");
ShowMenu();
}
@ -102,10 +102,10 @@ namespace cSharpTest
{
try
{
//miCASA.SetBasicCredential(sID, null, sUsername, sPassword);
miCASA.SetCredential(0, sID, null, miCASA.USERNAME_TYPE_CN_F, sUsername, sPassword);
//MiCasa.SetBasicCredential(sID, null, sUsername, sPassword);
MiCasa.SetCredential(0, sID, null, MiCasa.USERNAME_TYPE_CN_F, sUsername, sPassword);
}
catch (miCasaException e)
catch (MiCasaException e)
{
Console.WriteLine(e.getMessage());
}
@ -127,9 +127,9 @@ namespace cSharpTest
{
try
{
miCASA.RemoveBasicCredential(sID, null);
MiCasa.RemoveBasicCredential(sID, null);
}
catch (miCasaException e)
catch (MiCasaException e)
{
Console.WriteLine(e.getMessage());
}
@ -145,8 +145,8 @@ namespace cSharpTest
try
{
BasicCredential bc;
//bc = miCASA.GetBasicCredential(sID, null);
bc = miCASA.GetCredential(0, sID, null, miCASA.USERNAME_TYPE_CN_F);
//bc = MiCasa.GetBasicCredential(sID, null);
bc = MiCasa.GetCredential(0, sID, null, MiCasa.USERNAME_TYPE_CN_F);
if (bc != null)
{
Console.WriteLine("Data for "+sID);
@ -162,7 +162,7 @@ namespace cSharpTest
else
Console.WriteLine(sID + " not found");
}
catch (miCasaException e)
catch (MiCasaException e)
{
Console.WriteLine(e.getMessage());
}
@ -192,7 +192,7 @@ namespace cSharpTest
Console.Write("Setting Credential .....");
try
{
miCASA.SetBasicCredential(APPID, null, USERNAME, PASSWORD);
MiCasa.SetBasicCredential(APPID, null, USERNAME, PASSWORD);
Console.WriteLine("Succeeded");
}
catch (Exception e)
@ -209,7 +209,7 @@ namespace cSharpTest
Console.WriteLine("Getting Credential .....");
try
{
BasicCredential bc = miCASA.GetBasicCredential(APPID, null);
BasicCredential bc = MiCasa.GetBasicCredential(APPID, null);
if (bc != null)
{
if (bc.GetUsername().Equals(USERNAME))
@ -230,7 +230,7 @@ namespace cSharpTest
try
{
Console.WriteLine("\r\nRemoving Credential");
miCASA.RemoveBasicCredential(APPID, null);
MiCasa.RemoveBasicCredential(APPID, null);
}
catch (Exception e)
{
@ -240,7 +240,7 @@ namespace cSharpTest
try
{
BasicCredential bc = miCASA.GetBasicCredential(APPID, null);
BasicCredential bc = MiCasa.GetBasicCredential(APPID, null);
if (bc != null)
{
Console.WriteLine("\r\nCredential exists and should not - FAILED!");

View File

@ -82,11 +82,6 @@
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
<ProjectReference Include="..\..\sharp\NSSCSWrapper\Novell.CASA.miCASAWrapper.csproj">
<Name>Novell.CASA.miCASAWrapper</Name>
<Project>{E21DD887-22F4-4935-9851-409715F663B0}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="App.ico" />
@ -97,6 +92,12 @@
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\sharp\Novell.Casa.MiCasa\Novell.Casa.MiCasa.csproj">
<Project>{7B56383F-6551-4BCD-81BB-A039BBECBD9C}</Project>
<Name>Novell.Casa.MiCasa</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>