internal static PermissionListSet CreateCompressedState(IntPtr unmanagedDCS, out bool bHaltConstruction) { PermissionListSet permissionListSet = new PermissionListSet(); PermissionSetTriple currentTriple = new PermissionSetTriple(); int descCount = DomainCompressedStack.GetDescCount(unmanagedDCS); bHaltConstruction = false; PermissionSet granted; PermissionSet refused; for (int index = 0; index < descCount && !bHaltConstruction; ++index) { Assembly assembly; FrameSecurityDescriptor fsd; if (DomainCompressedStack.GetDescriptorInfo(unmanagedDCS, index, out granted, out refused, out assembly, out fsd)) { bHaltConstruction = permissionListSet.Update(currentTriple, fsd); } else { permissionListSet.Update(currentTriple, granted, refused); } } if (!bHaltConstruction && !DomainCompressedStack.IgnoreDomain(unmanagedDCS)) { DomainCompressedStack.GetDomainPermissionSets(unmanagedDCS, out granted, out refused); permissionListSet.Update(currentTriple, granted, refused); } permissionListSet.Terminate(currentTriple); return(permissionListSet); }
internal static PermissionListSet CreateCompressedState(IntPtr unmanagedDCS, out bool bHaltConstruction) { PermissionSet set2; PermissionSet set3; PermissionListSet set = new PermissionListSet(); PermissionSetTriple currentTriple = new PermissionSetTriple(); int descCount = DomainCompressedStack.GetDescCount(unmanagedDCS); bHaltConstruction = false; for (int i = 0; (i < descCount) && !bHaltConstruction; i++) { FrameSecurityDescriptor descriptor; Assembly assembly; if (DomainCompressedStack.GetDescriptorInfo(unmanagedDCS, i, out set2, out set3, out assembly, out descriptor)) { bHaltConstruction = set.Update(currentTriple, descriptor); } else { set.Update(currentTriple, set2, set3); } } if (!bHaltConstruction && !DomainCompressedStack.IgnoreDomain(unmanagedDCS)) { DomainCompressedStack.GetDomainPermissionSets(unmanagedDCS, out set2, out set3); set.Update(currentTriple, set2, set3); } set.Terminate(currentTriple); return(set); }
internal static PermissionListSet CreateCompressedState(IntPtr unmanagedDCS, out bool bHaltConstruction) { PermissionListSet permissionListSet = new PermissionListSet(); PermissionSetTriple currentTriple = new PermissionSetTriple(); int descCount = DomainCompressedStack.GetDescCount(unmanagedDCS); bHaltConstruction = false; int num = 0; while (num < descCount && !bHaltConstruction) { PermissionSet in_g; PermissionSet in_r; Assembly assembly; FrameSecurityDescriptor fsd; if (DomainCompressedStack.GetDescriptorInfo(unmanagedDCS, num, out in_g, out in_r, out assembly, out fsd)) { bHaltConstruction = permissionListSet.Update(currentTriple, fsd); } else { permissionListSet.Update(currentTriple, in_g, in_r); } num++; } if (!bHaltConstruction && !DomainCompressedStack.IgnoreDomain(unmanagedDCS)) { PermissionSet in_g; PermissionSet in_r; DomainCompressedStack.GetDomainPermissionSets(unmanagedDCS, out in_g, out in_r); permissionListSet.Update(currentTriple, in_g, in_r); } permissionListSet.Terminate(currentTriple); return(permissionListSet); }
[System.Security.SecurityCritical] // auto-generated static internal PermissionListSet CreateCompressedState(IntPtr unmanagedDCS, out bool bHaltConstruction) { PermissionListSet pls = new PermissionListSet(); PermissionSetTriple currentTriple = new PermissionSetTriple(); PermissionSet tmp_g, tmp_r; // Construct the descriptor list int descCount = DomainCompressedStack.GetDescCount(unmanagedDCS); bHaltConstruction = false; for (int i = 0; (i < descCount && !bHaltConstruction); i++) { FrameSecurityDescriptor fsd; Assembly assembly; if (DomainCompressedStack.GetDescriptorInfo(unmanagedDCS, i, out tmp_g, out tmp_r, out assembly, out fsd)) { // Got an FSD bHaltConstruction = pls.Update(currentTriple, fsd); } else { pls.Update(currentTriple, tmp_g, tmp_r); } } if (!bHaltConstruction) { // domain if (!DomainCompressedStack.IgnoreDomain(unmanagedDCS)) { DomainCompressedStack.GetDomainPermissionSets(unmanagedDCS, out tmp_g, out tmp_r); pls.Update(currentTriple, tmp_g, tmp_r); } } pls.Terminate(currentTriple); // return the created object return(pls); }