diff --git a/CASA-auth-token/client/authclient.sln b/CASA-auth-token/client/authclient.sln index 68a6d7db..54a56f16 100644 --- a/CASA-auth-token/client/authclient.sln +++ b/CASA-auth-token/client/authclient.sln @@ -29,14 +29,24 @@ Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "authtokenclientdevel_msi", {BCFF2C8D-3896-4019-BB15-0AB686D6F920} = {BCFF2C8D-3896-4019-BB15-0AB686D6F920} EndProjectSection EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "authtokenclient64_msm", "package\windows\authtokenclient64_msm\authtokenclient64_msm.vdproj", "{8B51B0A7-CA38-43DA-8989-58E6508BF2F9}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "authtokenclient64_msi", "package\windows\authtokenclient64_msi\authtokenclient64_msi.vdproj", "{EC98E4C3-9C61-45F4-8E48-4A258BBFD534}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "authtokenclientdevel64_msm", "package\windows\authtokenclientdevel64_msm\authtokenclientdevel64_msm.vdproj", "{A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "authtokenclientdevel64_msi", "package\windows\authtokenclientdevel64_msi\authtokenclientdevel64_msi.vdproj", "{216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|Mixed Platforms = Debug|Mixed Platforms Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release|Any CPU = Release|Any CPU Release|Mixed Platforms = Release|Mixed Platforms Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {C8405908-5026-4E77-B02F-9259856A17E8}.Debug|Any CPU.ActiveCfg = Debug @@ -45,92 +55,182 @@ Global {C8405908-5026-4E77-B02F-9259856A17E8}.Debug|Mixed Platforms.Build.0 = Debug {C8405908-5026-4E77-B02F-9259856A17E8}.Debug|Win32.ActiveCfg = Debug {C8405908-5026-4E77-B02F-9259856A17E8}.Debug|Win32.Build.0 = Debug + {C8405908-5026-4E77-B02F-9259856A17E8}.Debug|x64.ActiveCfg = Debug + {C8405908-5026-4E77-B02F-9259856A17E8}.Debug|x64.Build.0 = Debug {C8405908-5026-4E77-B02F-9259856A17E8}.Release|Any CPU.ActiveCfg = Release {C8405908-5026-4E77-B02F-9259856A17E8}.Release|Any CPU.Build.0 = Release {C8405908-5026-4E77-B02F-9259856A17E8}.Release|Mixed Platforms.ActiveCfg = Release {C8405908-5026-4E77-B02F-9259856A17E8}.Release|Mixed Platforms.Build.0 = Release {C8405908-5026-4E77-B02F-9259856A17E8}.Release|Win32.ActiveCfg = Release {C8405908-5026-4E77-B02F-9259856A17E8}.Release|Win32.Build.0 = Release + {C8405908-5026-4E77-B02F-9259856A17E8}.Release|x64.ActiveCfg = Release + {C8405908-5026-4E77-B02F-9259856A17E8}.Release|x64.Build.0 = Release {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|Any CPU.ActiveCfg = Debug {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|Any CPU.Build.0 = Debug {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|Mixed Platforms.ActiveCfg = Debug {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|Mixed Platforms.Build.0 = Debug {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|Win32.ActiveCfg = Debug {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|Win32.Build.0 = Debug + {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|x64.ActiveCfg = Debug + {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Debug|x64.Build.0 = Debug {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|Any CPU.ActiveCfg = Release {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|Any CPU.Build.0 = Release {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|Mixed Platforms.ActiveCfg = Release {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|Mixed Platforms.Build.0 = Release {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|Win32.ActiveCfg = Release {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|Win32.Build.0 = Release + {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|x64.ActiveCfg = Release + {7B174382-8BE8-4F2A-A122-4FCEE849A776}.Release|x64.Build.0 = Release {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Debug|Any CPU.ActiveCfg = Debug|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Debug|Win32.ActiveCfg = Debug|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Debug|Win32.Build.0 = Debug|Win32 + {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Debug|x64.ActiveCfg = Debug|x64 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Release|Any CPU.ActiveCfg = Release|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Release|Mixed Platforms.Build.0 = Release|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Release|Win32.ActiveCfg = Release|Win32 {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Release|Win32.Build.0 = Release|Win32 + {7BD9A5DB-DE7D-40B7-A397-04182DC2F632}.Release|x64.ActiveCfg = Release|x64 {5499F624-F371-4559-B4C2-A484BCE892FD}.Debug|Any CPU.ActiveCfg = Debug|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Debug|Win32.ActiveCfg = Debug|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Debug|Win32.Build.0 = Debug|Win32 + {5499F624-F371-4559-B4C2-A484BCE892FD}.Debug|x64.ActiveCfg = Debug|x64 {5499F624-F371-4559-B4C2-A484BCE892FD}.Release|Any CPU.ActiveCfg = Release|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Release|Mixed Platforms.Build.0 = Release|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Release|Win32.ActiveCfg = Release|Win32 {5499F624-F371-4559-B4C2-A484BCE892FD}.Release|Win32.Build.0 = Release|Win32 + {5499F624-F371-4559-B4C2-A484BCE892FD}.Release|x64.ActiveCfg = Release|x64 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Debug|Any CPU.ActiveCfg = Debug|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Debug|Win32.ActiveCfg = Debug|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Debug|Win32.Build.0 = Debug|Win32 + {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Debug|x64.ActiveCfg = Debug|x64 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Release|Any CPU.ActiveCfg = Release|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Release|Mixed Platforms.Build.0 = Release|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Release|Win32.ActiveCfg = Release|Win32 {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Release|Win32.Build.0 = Release|Win32 + {CBD168E8-1D5F-4D75-9E2D-6970CCEB652E}.Release|x64.ActiveCfg = Release|x64 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Debug|Any CPU.ActiveCfg = Debug|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Debug|Win32.ActiveCfg = Debug|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Debug|Win32.Build.0 = Debug|Win32 + {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Debug|x64.ActiveCfg = Debug|x64 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Release|Any CPU.ActiveCfg = Release|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Release|Mixed Platforms.Build.0 = Release|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Release|Win32.ActiveCfg = Release|Win32 {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Release|Win32.Build.0 = Release|Win32 + {6034EBF1-0838-45C4-A538-A41A31EC8F46}.Release|x64.ActiveCfg = Release|x64 {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Debug|Any CPU.Build.0 = Debug|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Debug|Win32.ActiveCfg = Debug|Any CPU + {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Debug|x64.ActiveCfg = Debug|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Release|Any CPU.ActiveCfg = Release|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Release|Any CPU.Build.0 = Release|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Release|Mixed Platforms.Build.0 = Release|Any CPU {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Release|Win32.ActiveCfg = Release|Any CPU + {1BA1FC97-5AF1-4506-A7FD-EBFD46D361A0}.Release|x64.ActiveCfg = Release|Any CPU {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|Any CPU.ActiveCfg = Debug {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|Any CPU.Build.0 = Debug {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|Mixed Platforms.ActiveCfg = Debug {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|Mixed Platforms.Build.0 = Debug {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|Win32.ActiveCfg = Debug {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|Win32.Build.0 = Debug + {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|x64.ActiveCfg = Debug + {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Debug|x64.Build.0 = Debug {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|Any CPU.ActiveCfg = Release {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|Any CPU.Build.0 = Release {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|Mixed Platforms.ActiveCfg = Release {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|Mixed Platforms.Build.0 = Release {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|Win32.ActiveCfg = Release {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|Win32.Build.0 = Release + {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|x64.ActiveCfg = Release + {BCFF2C8D-3896-4019-BB15-0AB686D6F920}.Release|x64.Build.0 = Release {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Debug|Any CPU.ActiveCfg = Debug {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Debug|Mixed Platforms.ActiveCfg = Debug {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Debug|Win32.ActiveCfg = Debug + {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Debug|x64.ActiveCfg = Debug + {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Debug|x64.Build.0 = Debug {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Release|Any CPU.ActiveCfg = Release {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Release|Mixed Platforms.ActiveCfg = Release {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Release|Win32.ActiveCfg = Release + {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Release|x64.ActiveCfg = Release + {E62A1388-82C9-4AE8-B29E-C9C808B05425}.Release|x64.Build.0 = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|Any CPU.ActiveCfg = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|Any CPU.Build.0 = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|Mixed Platforms.ActiveCfg = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|Mixed Platforms.Build.0 = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|Win32.ActiveCfg = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|Win32.Build.0 = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|x64.ActiveCfg = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Debug|x64.Build.0 = Debug + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|Any CPU.ActiveCfg = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|Any CPU.Build.0 = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|Mixed Platforms.ActiveCfg = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|Mixed Platforms.Build.0 = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|Win32.ActiveCfg = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|Win32.Build.0 = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|x64.ActiveCfg = Release + {8B51B0A7-CA38-43DA-8989-58E6508BF2F9}.Release|x64.Build.0 = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|Any CPU.ActiveCfg = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|Any CPU.Build.0 = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|Mixed Platforms.ActiveCfg = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|Mixed Platforms.Build.0 = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|Win32.ActiveCfg = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|Win32.Build.0 = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|x64.ActiveCfg = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Debug|x64.Build.0 = Debug + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|Any CPU.ActiveCfg = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|Any CPU.Build.0 = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|Mixed Platforms.ActiveCfg = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|Mixed Platforms.Build.0 = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|Win32.ActiveCfg = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|Win32.Build.0 = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|x64.ActiveCfg = Release + {EC98E4C3-9C61-45F4-8E48-4A258BBFD534}.Release|x64.Build.0 = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|Any CPU.ActiveCfg = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|Any CPU.Build.0 = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|Mixed Platforms.ActiveCfg = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|Mixed Platforms.Build.0 = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|Win32.ActiveCfg = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|Win32.Build.0 = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|x64.ActiveCfg = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Debug|x64.Build.0 = Debug + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|Any CPU.ActiveCfg = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|Any CPU.Build.0 = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|Mixed Platforms.ActiveCfg = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|Mixed Platforms.Build.0 = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|Win32.ActiveCfg = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|Win32.Build.0 = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|x64.ActiveCfg = Release + {A73CCB1F-3ED1-4CF2-BEA6-317E6A7638F5}.Release|x64.Build.0 = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|Any CPU.ActiveCfg = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|Any CPU.Build.0 = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|Mixed Platforms.ActiveCfg = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|Mixed Platforms.Build.0 = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|Win32.ActiveCfg = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|Win32.Build.0 = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|x64.ActiveCfg = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Debug|x64.Build.0 = Debug + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|Any CPU.ActiveCfg = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|Any CPU.Build.0 = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|Mixed Platforms.ActiveCfg = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|Mixed Platforms.Build.0 = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|Win32.ActiveCfg = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|Win32.Build.0 = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|x64.ActiveCfg = Release + {216FCE3D-A324-4FF7-8E2B-A7DC5B2415FB}.Release|x64.Build.0 = Release EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CASA-auth-token/client/csharp-api/Novell.Casa.Authtoken/Novell.Casa.Client.csproj b/CASA-auth-token/client/csharp-api/Novell.Casa.Authtoken/Novell.Casa.Client.csproj index b8799ce8..b408499e 100644 --- a/CASA-auth-token/client/csharp-api/Novell.Casa.Authtoken/Novell.Casa.Client.csproj +++ b/CASA-auth-token/client/csharp-api/Novell.Casa.Authtoken/Novell.Casa.Client.csproj @@ -73,6 +73,25 @@ none prompt + + true + bin\x64\Debug\ + TRACE;DEBUG + 285212672 + full + x64 + prompt + + + bin\x64\Release\ + TRACE + 285212672 + true + + + x64 + prompt + System diff --git a/CASA-auth-token/client/library/authmech.c b/CASA-auth-token/client/library/authmech.c index 0675ed12..f0f3b76e 100644 --- a/CASA-auth-token/client/library/authmech.c +++ b/CASA-auth-token/client/library/authmech.c @@ -36,7 +36,7 @@ typedef struct _AuthMechMod { LIST_ENTRY listEntry; char *pAuthTypeName; - int authTypeNameLen; + size_t authTypeNameLen; LIB_HANDLE libHandle; AuthTokenIf *pAuthTokenIf; @@ -87,7 +87,7 @@ GetAuthTokenIf( { LIST_ENTRY *pListEntry; AuthMechMod *pAuthMechMod = NULL; - int authTypeNameLen = strlen(pAuthTypeName); + size_t authTypeNameLen = strlen(pAuthTypeName); // Look if we already have the module in our list pListEntry = g_authMechModuleListHead.Flink; @@ -283,7 +283,7 @@ GetAuthMechToken( if (CASA_SUCCESS(retStatus)) { char *pAuthToken = NULL; - uint32_t authTokenBufLen = 0; + size_t authTokenBufLen = 0; // We found a provider for the service, query it for the buffer size // needed to obtain the authentication token. diff --git a/CASA-auth-token/client/library/authmsg.c b/CASA-auth-token/client/library/authmsg.c index 8fe42e9e..4c1fd956 100644 --- a/CASA-auth-token/client/library/authmsg.c +++ b/CASA-auth-token/client/library/authmsg.c @@ -181,7 +181,7 @@ BuildAuthenticateMsg( DbgTrace(0, "-BuildAuthenticateMsg- Buffer allocation error\n", 0); } - DbgTrace(1, "-BuildAuthenticateMsg- End, pMsg = %0lX\n", (long) pMsg); + DbgTrace(1, "-BuildAuthenticateMsg- End, pMsg = 0x%X\n", pMsg); return pMsg; } diff --git a/CASA-auth-token/client/library/cache.c b/CASA-auth-token/client/library/cache.c index 572abe81..2d3b280a 100644 --- a/CASA-auth-token/client/library/cache.c +++ b/CASA-auth-token/client/library/cache.c @@ -194,7 +194,7 @@ CreateAuthTokenCacheEntry( DbgTrace(0, "-CreateAuthTokenCacheEntry- entrySize overflow prevented\n", 0); } - DbgTrace(1, "-CreateAuthTokenCacheEntry- End, pEntry = %0lX\n", (long) pEntry); + DbgTrace(1, "-CreateAuthTokenCacheEntry- End, pEntry = 0x%X\n", pEntry); return pEntry; } @@ -320,7 +320,7 @@ CreateSessionTokenCacheEntry( DbgTrace(0, "-CreateSessionTokenCacheEntry- entrySize overflow prevented\n", 0); } - DbgTrace(1, "-CreateSessionTokenCacheEntry- End, pEntry = %0lX\n", (long) pEntry); + DbgTrace(1, "-CreateSessionTokenCacheEntry- End, pEntry = 0x%X\n", pEntry); return pEntry; } @@ -345,7 +345,7 @@ FreeAuthCacheEntry( { WrapperAuthCacheEntry *pWrapperEntry = CONTAINING_RECORD(pEntry, WrapperAuthCacheEntry, entry); - DbgTrace(1, "-FreeAuthCacheEntry- Start, pEntry = %0lX\n", (long) pEntry); + DbgTrace(1, "-FreeAuthCacheEntry- Start, pEntry = 0x%X\n", pEntry); // Free the entry after clearing the memory holding it since it // may contain security sensitive data. @@ -533,7 +533,7 @@ FindSessionTokenEntryInCache( DbgTrace(0, "-FindSessionTokenEntryInCache- cacheKeyStrLen overflow prevented\n", 0); } - DbgTrace(1, "-FindSessionTokenEntryInCache- End, pEntry = %0lX\n", (long) pEntry); + DbgTrace(1, "-FindSessionTokenEntryInCache- End, pEntry = 0x%X\n", pEntry); return pEntry; } @@ -661,7 +661,7 @@ FindAuthTokenEntryInCache( DbgTrace(0, "-FindAuthTokenEntryInCache- keySize overflow prevented\n", 0); } - DbgTrace(1, "-FindAuthTokenEntryInCache- End, pEntry = %0lX\n", (long) pEntry); + DbgTrace(1, "-FindAuthTokenEntryInCache- End, pEntry = 0x%X\n", pEntry); return pEntry; } diff --git a/CASA-auth-token/client/library/engine.c b/CASA-auth-token/client/library/engine.c index db7eb19f..ccc46eff 100644 --- a/CASA-auth-token/client/library/engine.c +++ b/CASA-auth-token/client/library/engine.c @@ -298,9 +298,10 @@ ObtainAuthTokenFromServer( IN const char *pServiceName, IN const char *pHostName, IN const char *pNormalizedHostName, + IN const void *pCredStoreScope, INOUT char **ppAuthToken, INOUT int *pTokenLifetime, - IN void *pCredStoreScope) + INOUT bool *pAdvisedToRetry) // // Arguments: // @@ -318,8 +319,9 @@ ObtainAuthTokenFromServer( DbgTrace(1, "-ObtainAuthTokenFromServer- Start\n", 0); - // Initialize output parameter + // Initialize output parameters *ppAuthToken = NULL; + *pAdvisedToRetry = false; // Open Rpc Session to the auth service at the specified host pRpcSession = OpenRpcSession((g_pATSHostName != NULL) ? g_pATSHostName : pHostName, @@ -410,6 +412,9 @@ ObtainAuthTokenFromServer( { RemoveSessionTokenEntryInCache(pSessionTokenAuthContext->pContext, pCredStoreScope); + + // Advice that a retry should be attempted + *pAdvisedToRetry = true; } } } @@ -529,9 +534,9 @@ CasaStatus ObtainAuthTokenInt( IN const char *pServiceName, IN const char *pHostName, + IN const void *pCredStoreScope, INOUT char *pAuthTokenBuf, - INOUT int *pAuthTokenBufLen, - IN void *pCredStoreScope) + INOUT int *pAuthTokenBufLen) // // Arguments: // pServiceName - @@ -545,6 +550,11 @@ ObtainAuthTokenInt( // client is trying to authenticate. Note that the name // can either be a DNS name or a dotted IP address. // +// pCredStoreScope - +// Pointer to CASA structure for scoping credential store access +// to specific users. This can only be leveraged by applications +// running in the context of System. +// // pAuthTokenBuf - // Pointer to buffer that will receive the authentication // token. The length of this buffer is specified by the @@ -559,12 +569,7 @@ ObtainAuthTokenInt( // completes or the buffer length required if the function // fails because the buffer pointed at by pAuthTokenBuf is // not large enough. -// -// pCredStoreScope - -// Pointer to CASA structure for scoping credential store access -// to specific users. This can only be leveraged by applications -// running in the context of System. - +// // Returns: // Casa Status // @@ -645,15 +650,30 @@ ObtainAuthTokenInt( { // Initialize to retry in case of failure int cacheEntryLifetime = DEFAULT_RETRY_LIFETIME; + bool advisedToRetry; // Cache entry created, now try to obtain auth token from the CASA Server pToken = NULL; retStatus = ObtainAuthTokenFromServer(pServiceName, pHostName, pNormalizedHostName, + pCredStoreScope, &pToken, &cacheEntryLifetime, - pCredStoreScope); + &advisedToRetry); + + // Retry if not successful and if advised to do so + if (!CASA_SUCCESS(retStatus) + && advisedToRetry) + { + retStatus = ObtainAuthTokenFromServer(pServiceName, + pHostName, + pNormalizedHostName, + pCredStoreScope, + &pToken, + &cacheEntryLifetime, + &advisedToRetry); + } // Add the entry to the cache if successful or if the reason that we failed // was because the server was un-available. @@ -803,9 +823,9 @@ ObtainAuthToken( // Call our internal worker retStatus = ObtainAuthTokenInt(pServiceName, pHostName, + NULL, pAuthTokenBuf, - pAuthTokenBufLen, - NULL); + pAuthTokenBufLen); DbgTrace(1, "-ObtainAuthToken- End, retStatus = %08X\n", retStatus); @@ -911,11 +931,11 @@ InitializeLibrary(void) DbgTrace(0, "-InitializeLibrary- DisableSecureConnections setting configured = %s\n", pDisableSecureConnections); // Adjust the g_rpcFlags variable based on the setting - if (stricmp(pDisableSecureConnections, "true") == 0) + if (_stricmp(pDisableSecureConnections, "true") == 0) { g_rpcFlags &= ~SECURE_RPC_FLAG; } - else if (stricmp(pDisableSecureConnections, "false") == 0) + else if (_stricmp(pDisableSecureConnections, "false") == 0) { g_rpcFlags |= SECURE_RPC_FLAG; } diff --git a/CASA-auth-token/client/library/getpolicymsg.c b/CASA-auth-token/client/library/getpolicymsg.c index d7297804..5bd3846f 100644 --- a/CASA-auth-token/client/library/getpolicymsg.c +++ b/CASA-auth-token/client/library/getpolicymsg.c @@ -160,7 +160,7 @@ BuildGetAuthPolicyMsg( DbgTrace(0, "-BuildGetAuthPolicyMsg- Buffer allocation error\n", 0); } - DbgTrace(1, "-BuildGetAuthPolicyMsg- End, pMsg = %0lX\n", (long) pMsg); + DbgTrace(1, "-BuildGetAuthPolicyMsg- End, pMsg = 0x%X\n", pMsg); return pMsg; } diff --git a/CASA-auth-token/client/library/gettokenmsg.c b/CASA-auth-token/client/library/gettokenmsg.c index 0db47989..5ab03de9 100644 --- a/CASA-auth-token/client/library/gettokenmsg.c +++ b/CASA-auth-token/client/library/gettokenmsg.c @@ -178,7 +178,7 @@ BuildGetAuthTokenMsg( DbgTrace(0, "-BuildGetAuthTokenMsg- Buffer allocation error\n", 0); } - DbgTrace(1, "-BuildGetAuthTokenMsg- End, pMsg = %0lX\n", (long) pMsg); + DbgTrace(1, "-BuildGetAuthTokenMsg- End, pMsg = 0x%X\n", pMsg); return pMsg; } diff --git a/CASA-auth-token/client/library/internal.h b/CASA-auth-token/client/library/internal.h index 6a43a0f5..a019c925 100644 --- a/CASA-auth-token/client/library/internal.h +++ b/CASA-auth-token/client/library/internal.h @@ -144,9 +144,9 @@ CasaStatus ObtainAuthTokenInt( IN const char *pServiceName, IN const char *pHostName, + IN const void *pCredStoreScope, INOUT char *pAuthTokenBuf, - INOUT int *pAuthTokenBufLen, - IN void *pCredStoreScope); + INOUT int *pAuthTokenBufLen); // // Functions exported by authmech.c diff --git a/CASA-auth-token/client/library/mech_if.h b/CASA-auth-token/client/library/mech_if.h index 4ee59e3f..df49e131 100644 --- a/CASA-auth-token/client/library/mech_if.h +++ b/CASA-auth-token/client/library/mech_if.h @@ -87,11 +87,11 @@ CasaStatus (SSCS_CALL *PFNAuthTokenIf_GetAuthToken)( IN const void *pIfInstance, IN const char *pContext, - IN char *pMechInfo, + IN const char *pMechInfo, IN const char *pHostName, - IN void *pCredStoreScope, + IN void *pCredStoreScope, INOUT char *pTokenBuf, - INOUT uint32_t *pTokenBufLen); + INOUT size_t *pTokenBufLen); // // Arguments: // pIfInstance - @@ -159,20 +159,20 @@ typedef CasaStatus (SSCS_CALL *PFN_GetAuthTokenIfRtn)( IN const ConfigIf *pModuleConfigIf, - IN const int debugLevel, - IN const char *pDebugFilePath, + IN const int debugLevel, + IN const char *pDebugFilePath, INOUT AuthTokenIf **ppAuthTokenIf); // // Arguments: // pModuleConfigIf - // Pointer to configuration interface instance for the module. // -// debugLevel - -// Level to utilize for debugging, 0 being lowest. -// -// pDebugFilePath - -// Path to debug log file. Can be NULL. -// +// debugLevel - +// Level to utilize for debugging, 0 being lowest. +// +// pDebugFilePath - +// Path to debug log file. Can be NULL. +// // ppAuthTokenIf - // Pointer to variable that will receive pointer to AuthTokenIf // instance. diff --git a/CASA-auth-token/client/library/mechanisms/krb5/internal.h b/CASA-auth-token/client/library/mechanisms/krb5/internal.h index f323b250..f2f1b8ec 100644 --- a/CASA-auth-token/client/library/mechanisms/krb5/internal.h +++ b/CASA-auth-token/client/library/mechanisms/krb5/internal.h @@ -58,7 +58,7 @@ CasaStatus SSCS_CALL AuthTokenIf_GetAuthToken( IN const void *pIfInstance, IN const char *pContext, - IN char *pMechInfo, + IN const char *pMechInfo, IN const char *pHostName, IN void *pCredStoreScope, INOUT char *pTokenBuf, diff --git a/CASA-auth-token/client/library/mechanisms/krb5/util.c b/CASA-auth-token/client/library/mechanisms/krb5/util.c index a6512faa..f3e06ce3 100644 --- a/CASA-auth-token/client/library/mechanisms/krb5/util.c +++ b/CASA-auth-token/client/library/mechanisms/krb5/util.c @@ -34,7 +34,7 @@ // Debug Level and debug log file path. int KrbMechDebugLevel = 0; -char *pKrbMechDebugLogFilePath = NULL; +char *pKrbMechDebugLogFilePath = NULL; // Tables for Base64 encoding and decoding static const int8_t g_Base64[] = diff --git a/CASA-auth-token/client/library/mechanisms/krb5/windows/get.c b/CASA-auth-token/client/library/mechanisms/krb5/windows/get.c index 799fcb6e..790c65d4 100644 --- a/CASA-auth-token/client/library/mechanisms/krb5/windows/get.c +++ b/CASA-auth-token/client/library/mechanisms/krb5/windows/get.c @@ -39,7 +39,7 @@ CasaStatus SSCS_CALL AuthTokenIf_GetAuthToken( IN const void *pIfInstance, IN const char *pContext, - IN char *pMechInfo, + IN const char *pMechInfo, IN const char *pHostName, IN void *pCredStoreScope, INOUT char *pTokenBuf, @@ -122,32 +122,53 @@ AuthTokenIf_GetAuthToken( // Process any mechanism information that may have been provided if (pMechInfo) { - // Mechanism information has been provided. Mechanism information - // consists of semicolon delimited settings. The settings are formated - // using the format settingName=settingvalue. No white space is allowed - // as part of the mechanism information. - char *pNextSettingToken; - char *pSettingValueToken = strtok_r(pMechInfo, ";", &pNextSettingToken); - while (pSettingValueToken != NULL) - { - char *pNextToken; - char *pSettingName = strtok_r(pSettingValueToken, "=", &pNextToken); - char *pSettingValue = strtok_r(NULL, "=", &pNextToken); - if (pSettingValue) - { - // Process the setting - if (strcmpi(pSettingName, "SVC_PRINCIPAL") == 0) - { - pKrbServiceName = pSettingValue; - } - } - else - { - DbgTrace(0, "-AuthTokenIf_GetAuthToken- Bad setting\n", 0); - } + // Allocate a buffer to hold the mech info so that we can manipulate it + char *pMechInfoInt = malloc(strlen(pMechInfo) + 1); + if (pMechInfoInt) + { + char *pNextSettingToken; + char *pSettingValueToken; - pSettingValueToken = strtok_r(NULL, ";", &pNextSettingToken); - } + // Copy the mechanism info to our work buffer + strcpy(pMechInfoInt, pMechInfo); + + // Mechanism information has been provided. Mechanism information + // consists of semicolon delimited settings. The settings are formated + // using the format settingName=settingvalue. No white space is allowed + // as part of the mechanism information. + pSettingValueToken = strtok_r(pMechInfoInt, ";", &pNextSettingToken); + while (pSettingValueToken != NULL) + { + char *pNextToken; + char *pSettingName = strtok_r(pSettingValueToken, "=", &pNextToken); + char *pSettingValue = strtok_r(NULL, "=", &pNextToken); + if (pSettingValue) + { + // Process the setting + if (stricmp(pSettingName, "SVC_PRINCIPAL") == 0) + { + pKrbServiceName = pSettingValue; + } + } + else + { + DbgTrace(0, "-AuthTokenIf_GetAuthToken- Bad setting\n", 0); + } + + pSettingValueToken = strtok_r(NULL, ";", &pNextSettingToken); + } + + // Free the buffer that we allocated + free(pMechInfoInt); + } + else + { + DbgTrace(0, "-AuthTokenIf_GetAuthToken- Buffer allocation failure\n", 0); + retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, + CASA_FACILITY_PWTOKEN, + CASA_STATUS_INVALID_PARAMETER); + goto exit; + } } // Check if we need to construct the service name diff --git a/CASA-auth-token/client/library/mechanisms/krb5/windows/krb5.vcproj b/CASA-auth-token/client/library/mechanisms/krb5/windows/krb5.vcproj index 26619e70..53287c64 100644 --- a/CASA-auth-token/client/library/mechanisms/krb5/windows/krb5.vcproj +++ b/CASA-auth-token/client/library/mechanisms/krb5/windows/krb5.vcproj @@ -102,88 +102,6 @@ CommandLine="mkdir \"Program Files"\novell\ mkdir \"Program Files"\novell\casa mkdir \"Program Files"\novell\casa\lib\ mkdir \"Program Files"\novell\casa\etc\ mkdir \"Program Files"\novell\casa\etc\auth\ mkdir \"Program Files"\novell\casa\etc\auth\mechanisms\ copy Krb5Authenticate.conf \"Program Files"\novell\casa\etc\auth\mechanisms\Krb5Authenticate.conf copy $(OutDir)\krb5mech.dll \"Program Files"\novell\casa\lib\krb5mech.dll " /> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - * - ***********************************************************************/ - -#ifndef _PLATFORM_H_ -#define _PLATFORM_H_ - -//===[ Include files ]===================================================== - -#include -#include -#include -#include -#include - -//===[ Type definitions ]================================================== - -#ifndef CONTAINING_RECORD -#define CONTAINING_RECORD(address, type, field) ((type *)( \ - (char*)(address) - \ - (char*)(&((type *)0)->field))) -#endif - -// -// DbgTrace macro define -// -//#define DbgTrace(LEVEL, X, Y) { \ -//char printBuff[256]; \ -// if (LEVEL == 0 || DebugLevel >= LEVEL) \ -// { \ -// _snprintf(printBuff, sizeof(printBuff), X, Y); \ -// printf("Krb5Mech %s", printBuff); \ -// } \ -//} -#define DbgTrace(LEVEL, X, Y) { \ -char formatBuff[128]; \ -char printBuff[256]; \ +/*********************************************************************** + * + * Copyright (C) 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. + * + * Author: Juan Carlos Luciani + * + ***********************************************************************/ + +#ifndef _PLATFORM_H_ +#define _PLATFORM_H_ + +//===[ Include files ]===================================================== + +#include +#include +#include +#include +#include + +//===[ Type definitions ]================================================== + +#ifndef CONTAINING_RECORD +#define CONTAINING_RECORD(address, type, field) ((type *)( \ + (char*)(address) - \ + (char*)(&((type *)0)->field))) +#endif + +// +// DbgTrace macro define +// +//#define DbgTrace(LEVEL, X, Y) { \ +//char printBuff[256]; \ +// if (LEVEL == 0 || DebugLevel >= LEVEL) \ +// { \ +// _snprintf(printBuff, sizeof(printBuff), X, Y); \ +// printf("Krb5Mech %s", printBuff); \ +// } \ +//} +#define DbgTrace(LEVEL, X, Y) { \ +char formatBuff[128]; \ +char printBuff[256]; \ FILE *pDebugFile; \ - if (LEVEL == 0 || KrbMechDebugLevel >= LEVEL) \ - { \ - strcpy(formatBuff, "Krb5Mech "); \ - strncat(formatBuff, X, sizeof(formatBuff) - 9); \ - _snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \ - if (pKrbMechDebugLogFilePath) \ - { \ + if (LEVEL == 0 || KrbMechDebugLevel >= LEVEL) \ + { \ + strcpy(formatBuff, "Krb5Mech "); \ + strncat(formatBuff, X, sizeof(formatBuff) - 9); \ + _snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \ + if (pKrbMechDebugLogFilePath) \ + { \ pDebugFile = fopen(pKrbMechDebugLogFilePath, "a+"); \ - if (pDebugFile) \ - { \ - fwrite(printBuff, strlen(printBuff), 1, pDebugFile); \ - fclose(pDebugFile); \ - } \ - } \ - else \ - OutputDebugString(printBuff); \ - } \ -} - -#define INT32_MAX (2147483647) -#define UINT32_MAX (4294967295U) -#define bool BOOLEAN -#define true TRUE -#define false FALSE -#define strtok_r strtok_s - -//===[ Inlines functions ]=============================================== - -//===[ Function prototypes ]=============================================== - -//===[ Global externals ]================================================== - -//===[ External prototypes ]=============================================== - - -//========================================================================= - -#endif // _PLATFORM_H_ - + if (pDebugFile) \ + { \ + fwrite(printBuff, strlen(printBuff), 1, pDebugFile); \ + fclose(pDebugFile); \ + } \ + } \ + else \ + OutputDebugString(printBuff); \ + } \ +} + +#define INT32_MAX (2147483647) +#define UINT32_MAX (4294967295U) +#define bool BOOLEAN +#define true TRUE +#define false FALSE +#define strtok_r strtok_s + +//===[ Inlines functions ]=============================================== + +//===[ Function prototypes ]=============================================== + +//===[ Global externals ]================================================== + +//===[ External prototypes ]=============================================== + + +//========================================================================= + +#endif // _PLATFORM_H_ + diff --git a/CASA-auth-token/client/library/mechanisms/pwd/get.c b/CASA-auth-token/client/library/mechanisms/pwd/get.c index 6155106b..0cd49d41 100644 --- a/CASA-auth-token/client/library/mechanisms/pwd/get.c +++ b/CASA-auth-token/client/library/mechanisms/pwd/get.c @@ -220,7 +220,7 @@ CasaStatus SSCS_CALL AuthTokenIf_GetAuthToken( IN const void *pIfInstance, IN const char *pContext, - IN char *pMechInfo, + IN const char *pMechInfo, IN const char *pHostName, IN void *pCredStoreScope, INOUT char *pTokenBuf, @@ -302,34 +302,55 @@ AuthTokenIf_GetAuthToken( // Process any mechanism information that may have been provided if (pMechInfo) { - // Mechanism information has been provided. Mechanism information - // consists of semicolon delimited settings. The settings are formated - // using the format settingName=settingvalue. No white space is allowed - // as part of the mechanism information. - char *pNextSettingToken; - char *pSettingValueToken = strtok_r(pMechInfo, ";", &pNextSettingToken); - while (pSettingValueToken != NULL) + // Allocate a buffer to hold the mech info so that we can manipulate it + char *pMechInfoInt = malloc(strlen(pMechInfo) + 1); + if (pMechInfoInt) { - char *pNextToken; - char *pSettingName = strtok_r(pSettingValueToken, "=", &pNextToken); - char *pSettingValue = strtok_r(NULL, "=", &pNextToken); - if (pSettingValue) + char *pNextSettingToken; + char *pSettingValueToken; + + // Copy the mechanism info to our work buffer + strcpy(pMechInfoInt, pMechInfo); + + // Mechanism information has been provided. Mechanism information + // consists of semicolon delimited settings. The settings are formated + // using the format settingName=settingvalue. No white space is allowed + // as part of the mechanism information. + pSettingValueToken = strtok_r(pMechInfoInt, ";", &pNextSettingToken); + while (pSettingValueToken != NULL) { - // Process the setting - if (strcasecmp(pSettingName, "REALM_CREDENTIALS_ONLY") == 0) + char *pNextToken; + char *pSettingName = strtok_r(pSettingValueToken, "=", &pNextToken); + char *pSettingValue = strtok_r(NULL, "=", &pNextToken); + if (pSettingValue) { - if (strcasecmp(pSettingValue, "true") == 0) + // Process the setting + if (strcasecmp(pSettingName, "REALM_CREDENTIALS_ONLY") == 0) { - realm_credentials_only = true; + if (strcasecmp(pSettingValue, "true") == 0) + { + realm_credentials_only = true; + } } } - } - else - { - DbgTrace(0, "-AuthTokenIf_GetAuthToken- Bad setting\n", 0); + else + { + DbgTrace(0, "-AuthTokenIf_GetAuthToken- Bad setting\n", 0); + } + + pSettingValueToken = strtok_r(NULL, ";", &pNextSettingToken); } - pSettingValueToken = strtok_r(NULL, ";", &pNextSettingToken); + // Free the buffer that we allocated + free(pMechInfoInt); + } + else + { + DbgTrace(0, "-AuthTokenIf_GetAuthToken- Buffer allocation failure\n", 0); + retStatus = CasaStatusBuild(CASA_SEVERITY_ERROR, + CASA_FACILITY_PWTOKEN, + CASA_STATUS_INVALID_PARAMETER); + goto exit; } } diff --git a/CASA-auth-token/client/library/mechanisms/pwd/internal.h b/CASA-auth-token/client/library/mechanisms/pwd/internal.h index 77725616..847650f9 100644 --- a/CASA-auth-token/client/library/mechanisms/pwd/internal.h +++ b/CASA-auth-token/client/library/mechanisms/pwd/internal.h @@ -60,7 +60,7 @@ CasaStatus SSCS_CALL AuthTokenIf_GetAuthToken( IN const void *pIfInstance, IN const char *pContext, - IN char *pMechInfo, + IN const char *pMechInfo, IN const char *pHostName, IN void *pCredStoreScope, INOUT char *pTokenBuf, diff --git a/CASA-auth-token/client/library/mechanisms/pwd/windows/platform.h b/CASA-auth-token/client/library/mechanisms/pwd/windows/platform.h index fda3a006..e6abcc65 100644 --- a/CASA-auth-token/client/library/mechanisms/pwd/windows/platform.h +++ b/CASA-auth-token/client/library/mechanisms/pwd/windows/platform.h @@ -1,96 +1,96 @@ -/*********************************************************************** - * - * Copyright (C) 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. - * - * Author: Juan Carlos Luciani - * - ***********************************************************************/ - -#ifndef _PLATFORM_H_ -#define _PLATFORM_H_ - -//===[ Include files ]===================================================== - -#include -#include -#include - -//===[ Type definitions ]================================================== - -#ifndef CONTAINING_RECORD -#define CONTAINING_RECORD(address, type, field) ((type *)( \ - (char*)(address) - \ - (char*)(&((type *)0)->field))) -#endif - -// -// DbgTrace macro define -// -//#define DbgTrace(LEVEL, X, Y) { \ -//char printBuff[256]; \ -// if (LEVEL == 0 || DebugLevel >= LEVEL) \ -// { \ -// _snprintf(printBuff, sizeof(printBuff), X, Y); \ -// printf("PwdMech %s", printBuff); \ -// } \ -//} -#define DbgTrace(LEVEL, X, Y) { \ -char formatBuff[128]; \ -char printBuff[256]; \ +/*********************************************************************** + * + * Copyright (C) 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. + * + * Author: Juan Carlos Luciani + * + ***********************************************************************/ + +#ifndef _PLATFORM_H_ +#define _PLATFORM_H_ + +//===[ Include files ]===================================================== + +#include +#include +#include + +//===[ Type definitions ]================================================== + +#ifndef CONTAINING_RECORD +#define CONTAINING_RECORD(address, type, field) ((type *)( \ + (char*)(address) - \ + (char*)(&((type *)0)->field))) +#endif + +// +// DbgTrace macro define +// +//#define DbgTrace(LEVEL, X, Y) { \ +//char printBuff[256]; \ +// if (LEVEL == 0 || DebugLevel >= LEVEL) \ +// { \ +// _snprintf(printBuff, sizeof(printBuff), X, Y); \ +// printf("PwdMech %s", printBuff); \ +// } \ +//} +#define DbgTrace(LEVEL, X, Y) { \ +char formatBuff[128]; \ +char printBuff[256]; \ FILE *pDebugFile; \ - if (LEVEL == 0 || PwdMechDebugLevel >= LEVEL) \ - { \ - strcpy(formatBuff, "CASA_PwdMech "); \ - strncat(formatBuff, X, sizeof(formatBuff) - 8); \ - _snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \ - if (pPwdMechDebugLogFilePath) \ - { \ + if (LEVEL == 0 || PwdMechDebugLevel >= LEVEL) \ + { \ + strcpy(formatBuff, "CASA_PwdMech "); \ + strncat(formatBuff, X, sizeof(formatBuff) - 8); \ + _snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \ + if (pPwdMechDebugLogFilePath) \ + { \ pDebugFile = fopen(pPwdMechDebugLogFilePath, "a+"); \ - if (pDebugFile) \ - { \ - fwrite(printBuff, strlen(printBuff), 1, pDebugFile); \ - fclose(pDebugFile); \ - } \ - } \ - else \ - OutputDebugString(printBuff); \ - } \ -} - -#define INT32_MAX (2147483647) -#define UINT32_MAX (4294967295U) -#define bool BOOLEAN -#define true TRUE -#define false FALSE -#define strtok_r strtok_s -#define strcasecmp strcmpi - -//===[ Inlines functions ]=============================================== - -//===[ Function prototypes ]=============================================== - -//===[ Global externals ]================================================== - -//===[ External prototypes ]=============================================== - - -//========================================================================= - -#endif // _PLATFORM_H_ - + if (pDebugFile) \ + { \ + fwrite(printBuff, strlen(printBuff), 1, pDebugFile); \ + fclose(pDebugFile); \ + } \ + } \ + else \ + OutputDebugString(printBuff); \ + } \ +} + +#define INT32_MAX (2147483647) +#define UINT32_MAX (4294967295U) +#define bool BOOLEAN +#define true TRUE +#define false FALSE +#define strtok_r strtok_s +#define strcasecmp stricmp + +//===[ Inlines functions ]=============================================== + +//===[ Function prototypes ]=============================================== + +//===[ Global externals ]================================================== + +//===[ External prototypes ]=============================================== + + +//========================================================================= + +#endif // _PLATFORM_H_ + diff --git a/CASA-auth-token/client/library/mechanisms/pwd/windows/pwd.vcproj b/CASA-auth-token/client/library/mechanisms/pwd/windows/pwd.vcproj index 7ddba855..359aaa68 100644 --- a/CASA-auth-token/client/library/mechanisms/pwd/windows/pwd.vcproj +++ b/CASA-auth-token/client/library/mechanisms/pwd/windows/pwd.vcproj @@ -103,89 +103,6 @@ CommandLine="mkdir \"Program Files"\novell\ mkdir \"Program Files"\novell\casa mkdir \"Program Files"\novell\casa\lib\ mkdir \"Program Files"\novell\casa\etc\ mkdir \"Program Files"\novell\casa\etc\auth\ mkdir \"Program Files"\novell\casa\etc\auth\mechanisms\ copy PwdAuthenticate.conf \"Program Files"\novell\casa\etc\auth\mechanisms\PwdAuthenticate.conf copy $(OutDir)\pwmech.dll \"Program Files"\novell\casa\lib\pwmech.dll " /> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - = LEVEL) \ { \ strcpy(formatBuff, "CASA_AuthToken "); \ @@ -63,7 +63,7 @@ FILE *pDebugFile; \ _snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \ if (g_pDebugLogFilePath) \ { \ - pDebugFile = fopen(g_pDebugLogFilePath, "a+"); \ + pDebugFile = fopen(g_pDebugLogFilePath, "a+"); \ if (pDebugFile) \ { \ fwrite(printBuff, strlen(printBuff), 1, pDebugFile); \ diff --git a/CASA-auth-token/client/library/windows/rpc.c b/CASA-auth-token/client/library/windows/rpc.c index 6ad448eb..f4788828 100644 --- a/CASA-auth-token/client/library/windows/rpc.c +++ b/CASA-auth-token/client/library/windows/rpc.c @@ -153,8 +153,8 @@ CopyWideToMultiAlloc( //++======================================================================= RpcSession* OpenRpcSession( - IN char *pHostName, - IN uint16_t hostPort) + IN const char *pHostName, + IN const uint16_t hostPort) // // Arguments: // @@ -307,7 +307,7 @@ static void CALLBACK SecureFailureStatusCallback( IN HINTERNET hRequest, - IN DWORD *pContext, + IN DWORD_PTR *pContext, IN DWORD internetStatus, IN LPVOID pStatusInformation, IN DWORD statusInformationLength) diff --git a/CASA-auth-token/client/package/windows/authtokenclient_msi/authtokenclient_msi.vdproj b/CASA-auth-token/client/package/windows/authtokenclient_msi/authtokenclient_msi.vdproj index 854f7762..17e1d676 100644 --- a/CASA-auth-token/client/package/windows/authtokenclient_msi/authtokenclient_msi.vdproj +++ b/CASA-auth-token/client/package/windows/authtokenclient_msi/authtokenclient_msi.vdproj @@ -177,10 +177,10 @@ "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:authtokenclient" "ProductCode" = "8:{6D3AAA36-871A-4427-9311-FC3FE2F17511}" - "PackageCode" = "8:{9794A10E-6E27-4DDE-8C40-535FA06EB88E}" + "PackageCode" = "8:{CDA1542D-6493-4F59-B8BE-22752B63A0AB}" "UpgradeCode" = "8:{69C5F129-788A-4487-9397-331C0A313A2D}" "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" "ProductVersion" = "8:1.0.0" @@ -714,5 +714,8 @@ } } } + "VJSharpPlugin" + { + } } } diff --git a/CASA-auth-token/client/package/windows/authtokenclient_msm/authtokenclient_msm.vdproj b/CASA-auth-token/client/package/windows/authtokenclient_msm/authtokenclient_msm.vdproj index a1701b6d..4bf828a8 100644 --- a/CASA-auth-token/client/package/windows/authtokenclient_msm/authtokenclient_msm.vdproj +++ b/CASA-auth-token/client/package/windows/authtokenclient_msm/authtokenclient_msm.vdproj @@ -33,18 +33,24 @@ } "Entry" { - "MsmKey" = "8:_71C343EBC4935F8914C3145115EDEC4A" - "OwnerKey" = "8:_8E623C85FD4143F3B09460457E8ED6CA" + "MsmKey" = "8:_65C94F01EA00062BD16ABB7818135818" + "OwnerKey" = "8:_75519C9025D94CC496F276E698CE3AF8" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_71C343EBC4935F8914C3145115EDEC4A" + "MsmKey" = "8:_65C94F01EA00062BD16ABB7818135818" "OwnerKey" = "8:_C1C37E2154994C29B02FDD9C90635B26" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_65C94F01EA00062BD16ABB7818135818" + "OwnerKey" = "8:_8E623C85FD4143F3B09460457E8ED6CA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_75519C9025D94CC496F276E698CE3AF8" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -75,18 +81,24 @@ } "Entry" { - "MsmKey" = "8:_F0C46E8F1B5048179188E62D91BA91EB" - "OwnerKey" = "8:_UNDEFINED" + "MsmKey" = "8:_CD71F4838A178ADBB1127E18F4804F3B" + "OwnerKey" = "8:_75519C9025D94CC496F276E698CE3AF8" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_FE85A5D48B5A23F3077871E9FD2378DE" + "MsmKey" = "8:_CD71F4838A178ADBB1127E18F4804F3B" "OwnerKey" = "8:_C1C37E2154994C29B02FDD9C90635B26" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_F0C46E8F1B5048179188E62D91BA91EB" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_UNDEFINED" "OwnerKey" = "8:_4744A4EB6B904673B8897294AB8C6162" "MsmSig" = "8:_UNDEFINED" @@ -182,7 +194,7 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_71C343EBC4935F8914C3145115EDEC4A" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_65C94F01EA00062BD16ABB7818135818" { "SourcePath" = "8:micasa.dll" "TargetName" = "8:micasa.dll" @@ -242,6 +254,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CD71F4838A178ADBB1127E18F4804F3B" + { + "SourcePath" = "8:WINHTTP.dll" + "TargetName" = "8:WINHTTP.dll" + "Tag" = "8:" + "Folder" = "8:_01897726E7804A3B875B67A1C2692147" + "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:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F0C46E8F1B5048179188E62D91BA91EB" { "SourcePath" = "8:..\\..\\..\\library\\mechanisms\\pwd\\windows\\PwdAuthenticate.conf" @@ -262,26 +294,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FE85A5D48B5A23F3077871E9FD2378DE" - { - "SourcePath" = "8:WINHTTP.dll" - "TargetName" = "8:WINHTTP.dll" - "Tag" = "8:" - "Folder" = "8:_01897726E7804A3B875B67A1C2692147" - "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:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } } "FileType" { @@ -317,7 +329,7 @@ "Property" = "8:_6F4D982C87CA4DF991766D49335B6669" "Folders" { - "{9EF0B969-E518-4E46-987F-47570745A589}:_7911DA52FBB24F3DB6BAF4B8BD9E57BF" + "{9EF0B969-E518-4E46-987F-47570745A589}:_F97C66B0F09D45BFBE1A75E5E70A9612" { "Name" = "8:CASA" "AlwaysCreate" = "11:FALSE" @@ -439,7 +451,7 @@ { "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4744A4EB6B904673B8897294AB8C6162" { - "SourcePath" = "8:..\\..\\..\\csharp-api\\Novell.Casa.Authtoken\\obj\\Debug\\Novell.Casa.Client.Auth.dll" + "SourcePath" = "8:..\\..\\..\\csharp-api\\Novell.Casa.Authtoken\\obj\\Release\\Novell.Casa.Client.Auth.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8E0BBDD021EA45308BD98380F28EB7F6" @@ -467,7 +479,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_50C15B4896B94AAD8CF7A676F541BD89" { - "SourcePath" = "8:..\\..\\..\\library\\mechanisms\\krb5\\windows\\Debug\\krb5mech.dll" + "SourcePath" = "8:..\\..\\..\\library\\mechanisms\\krb5\\windows\\x64\\Release\\krb5mech.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_01897726E7804A3B875B67A1C2692147" @@ -495,7 +507,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_75519C9025D94CC496F276E698CE3AF8" { - "SourcePath" = "8:..\\..\\..\\library\\windows\\Debug\\casa_authtoken.dll" + "SourcePath" = "8:..\\..\\..\\library\\windows\\x64\\Release\\casa_authtoken.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_E092F841E4D04920B053C3F6A5151BA2" @@ -523,7 +535,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8E623C85FD4143F3B09460457E8ED6CA" { - "SourcePath" = "8:..\\..\\..\\library\\mechanisms\\pwd\\windows\\Debug\\pwmech.dll" + "SourcePath" = "8:..\\..\\..\\library\\mechanisms\\pwd\\windows\\x64\\Release\\pwmech.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_01897726E7804A3B875B67A1C2692147" @@ -551,7 +563,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C1C37E2154994C29B02FDD9C90635B26" { - "SourcePath" = "8:..\\..\\..\\library\\windows\\Debug\\casa_authtoken.dll" + "SourcePath" = "8:..\\..\\..\\library\\windows\\x64\\Release\\casa_authtoken.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_01897726E7804A3B875B67A1C2692147" diff --git a/CASA-auth-token/client/package/windows/authtokenclientdevel_msi/authtokenclientdevel_msi.vdproj b/CASA-auth-token/client/package/windows/authtokenclientdevel_msi/authtokenclientdevel_msi.vdproj index dbdb6a10..3ddcc81c 100644 --- a/CASA-auth-token/client/package/windows/authtokenclientdevel_msi/authtokenclientdevel_msi.vdproj +++ b/CASA-auth-token/client/package/windows/authtokenclientdevel_msi/authtokenclientdevel_msi.vdproj @@ -19,6 +19,12 @@ "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_FD0A8D57CFD64B5CADAF19B3B9BCB7B8" + "MsmSig" = "8:_UNDEFINED" + } } "Configurations" { @@ -235,10 +241,10 @@ "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:authtokenclientdevel_msi" "ProductCode" = "8:{C3A6CFD7-F415-4317-AA75-45888378B08A}" - "PackageCode" = "8:{A96250E5-B755-4245-9366-FDB7A997B9FC}" + "PackageCode" = "8:{D329A8C0-9A96-4CBC-8634-26B92F5E1305}" "UpgradeCode" = "8:{A98C298C-4FB1-4267-9045-92B820B97A14}" "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" "ProductVersion" = "8:1.0.0" @@ -610,41 +616,6 @@ } } } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CA624AA458884E179C15920FEE46A7A4" - { - "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdFolderDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "InstallAllUsersVisible" - { - "Name" = "8:InstallAllUsersVisible" - "DisplayName" = "8:#1059" - "Description" = "8:#1159" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } } } "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_79D963ADC74940CA9EB076A612495884" @@ -807,5 +778,8 @@ } } } + "VJSharpPlugin" + { + } } }