Skip to content

Commit 25f0871

Browse files
committed
runas works! all unit tests are passing.
1 parent f8401dc commit 25f0871

13 files changed

Lines changed: 42 additions & 25 deletions

File tree

Synapse.Common/Synapse.Common.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
55
<AssemblyVersion>1.0.0.0</AssemblyVersion>
6-
<FileVersion>1.0.18344.0</FileVersion>
7-
<Version>1.0.18344.0</Version>
6+
<FileVersion>1.0.18345.0</FileVersion>
7+
<Version>1.0.18345.0</Version>
88
</PropertyGroup>
99

1010
<!-- Conditionally obtain references for the .NET Framework 4.5 target -->
11-
<ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
11+
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
1212
<Reference Include="System.Net.Http" />
1313
<Reference Include="System.Threading.Tasks" />
1414
<Reference Include="System.Web" />

Synapse.Common/packages.config

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="log4net" version="2.0.8" targetFramework="net452" />
4-
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.6" targetFramework="net452" />
5-
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net452" />
3+
<package id="log4net" version="2.0.8" targetFramework="net461" />
4+
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.6" targetFramework="net461" />
5+
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
66
</packages>

Synapse.Core/Classes/BaseClasses/SecurityContextRuntimeBase.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ public abstract class SecurityContextRuntimeBase : ISecurityContextRuntime
1515
public abstract ExecuteResult Logon(SecurityContextStartInfo startInfo);
1616
public abstract void Logoff();
1717

18+
public virtual bool UseExecuteProxy { get; set; } = false;
19+
public virtual ExecuteResult ExecuteProxy(Func<HandlerStartInfo, ExecuteResult> func, HandlerStartInfo handlerStartInfo)
20+
{
21+
throw new NotImplementedException();
22+
}
23+
1824

1925
public virtual ISecurityContextRuntime Initialize(string config)
2026
{

Synapse.Core/Classes/CoreClasses/SecurityContext/SecurityContextProviderInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace Synapse.Core
44
{
55
public class SecurityContextProviderInfo : ComponentInfoBase, ICloneable<SecurityContextProviderInfo>, IRuntimeComponentCreator<ISecurityContextRuntime>
66
{
7-
public static readonly string DefaultType = "Synapse.Handlers.SecurityContext:Win32Impersonator";
7+
public static readonly string DefaultType = "Synapse.Handlers.SecurityContext:Win32IdentityProvider";
88

99
//setting the Order causes StartInfo to be serialized after base class properties
1010
[YamlMember( Order = 100 )]
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
namespace Synapse.Core
1+
using System;
2+
3+
namespace Synapse.Core
24
{
35
public interface ISecurityContextRuntime : IRuntimeComponent<ISecurityContextRuntime>, IRuntimeProvider
46
{
57
ExecuteResult Logon(SecurityContextStartInfo startInfo);
68
void Logoff();
9+
bool UseExecuteProxy { get; set; }
10+
ExecuteResult ExecuteProxy(Func<HandlerStartInfo, ExecuteResult> func, HandlerStartInfo handlerStartInfo);
711
}
812
}

Synapse.Core/Runtime/PlanRuntime.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,13 +352,19 @@ ExecuteResult ExecuteHandlerProcessInProc(SecurityContext parentSecurityContext,
352352
}
353353
#endregion
354354

355-
a.Result = rt.Execute( startInfo );
355+
356+
if( scr != null && scr.UseExecuteProxy )
357+
a.Result = scr.ExecuteProxy( rt.Execute, startInfo );
358+
else
359+
a.Result = rt.Execute( startInfo );
360+
356361

357362
OnProgress( a.Name, "ExecuteHandlerProcessInProc", "Execute returned.", a.Result.Status, a.InstanceId, 2 );
358363

359364
a.Handler.StartInfo.Parameters = safeSerializedValues; //avoids serializing decrypted values to the History Plan (bug #93)
360365
a.Result.BranchStatus = a.Result.Status;
361-
a.Result.SecurityContext = $"{Environment.UserDomainName}\\{Environment.UserName}";
366+
if( string.IsNullOrWhiteSpace( a.Result.SecurityContext ) )
367+
a.Result.SecurityContext = $"{Environment.UserDomainName}\\{Environment.UserName}";
362368

363369
SaveExitDataAs( a );
364370

Synapse.Core/Synapse.Core.csproj

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
55
<Authors>Steve Shortt</Authors>
66
<Description>Synapse.Core supports integration for building/executing Synapse Plans. This is the signed version of the package.</Description>
77
<Copyright>Copyright © Steve Shortt, 2016 - 2019</Copyright>
@@ -10,14 +10,15 @@
1010
<PackageIconUrl>https://raw.githubusercontent.com/SynapseProject/synapseproject.github.io/master/images/synapse_logo_64x64.png</PackageIconUrl>
1111
<RepositoryUrl>https://github.com/SynapseProject/synapse.core.net</RepositoryUrl>
1212
<PackageTags>Workflow Execute Process</PackageTags>
13-
<PackageReleaseNotes>1.0.18344.0: Bug fixes to Plan execution concurrency; added .netstandard2.0 to package
13+
<PackageReleaseNotes>1.0.18345.0: Upgrade to net461
14+
1.0.18344.0: Bug fixes to Plan execution concurrency; added .netstandard2.0 to package
1415
1.0.18291.0: Updated Yamldotnet to 5.2.1
1516
1.0.18258.1: Bug fixes for Dynamic parms merge and StartInfo encrypted values (#92, #93, #94), added support for DynamicValue--&amp;gt;DefaultValue (#95) and exposed PlanStartInfo in global vars (#86).</PackageReleaseNotes>
1617
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
1718

1819
<AssemblyVersion>1.0.0.0</AssemblyVersion>
19-
<FileVersion>1.0.18344.0</FileVersion>
20-
<Version>1.0.18344.0</Version>
20+
<FileVersion>1.0.18345.0</FileVersion>
21+
<Version>1.0.18345.0</Version>
2122
<SignAssembly>true</SignAssembly>
2223
<AssemblyOriginatorKeyFile>Synapse.Core.snk</AssemblyOriginatorKeyFile>
2324
<DelaySign>false</DelaySign>
@@ -26,7 +27,7 @@
2627
</PropertyGroup>
2728

2829
<!-- Conditionally obtain references for the .NET Framework 4.5 target -->
29-
<ItemGroup Condition=" '$(TargetFramework)' == 'net452' ">
30+
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
3031
<Reference Include="System.Net.Http" />
3132
<Reference Include="System.Threading.Tasks" />
3233
</ItemGroup>

Synapse.Core/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="YamlDotNet.Signed" version="5.2.1" targetFramework="net452" />
3+
<package id="YamlDotNet.Signed" version="5.2.1" targetFramework="net461" />
44
</packages>

Synapse.Tester/Synapse.Tester.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
55
<OutputType>Exe</OutputType>
66
<StartupObject />
77
<AssemblyVersion>1.0.0.0</AssemblyVersion>

Synapse.Tester/packages.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net452" />
4-
<package id="YamlDotNet.Signed" version="5.2.1" targetFramework="net452" />
3+
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
4+
<package id="YamlDotNet.Signed" version="5.2.1" targetFramework="net461" />
55
</packages>

0 commit comments

Comments
 (0)