Skip to content

Commit 19a3890

Browse files
committed
PingCastle 2.9.2.0
1 parent 67816b9 commit 19a3890

File tree

249 files changed

+21280
-19784
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

249 files changed

+21280
-19784
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
PingCastle.xlsx
22
ResxManager-*
3+
ADWS/wsdl
34

45
## Ignore Visual Studio temporary files, build results, and
56
## files generated by popular Visual Studio add-ons.

ADWS/ADConnection.cs

Lines changed: 54 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5,65 +5,71 @@
55
// Licensed under the Non-Profit OSL. See LICENSE file in the project root for full license information.
66
//
77
using System;
8-
using System.Collections.Generic;
98
using System.Diagnostics;
109
using System.Net;
11-
using System.Text;
10+
using System.Security.Principal;
1211

1312
namespace PingCastle.ADWS
1413
{
15-
public abstract class ADConnection : IADConnection
16-
{
14+
public abstract class ADConnection : IADConnection
15+
{
1716

18-
public abstract void Enumerate(string distinguishedName, string filter, string[] properties, WorkOnReturnedObjectByADWS callback, string scope);
19-
public abstract void EstablishConnection();
17+
public abstract void Enumerate(string distinguishedName, string filter, string[] properties, WorkOnReturnedObjectByADWS callback, string scope);
18+
public abstract void EstablishConnection();
2019

21-
public string Server { get; set; }
20+
public string Server { get; set; }
2221

23-
public int Port { get; set; }
22+
public int Port { get; set; }
2423

25-
public NetworkCredential Credential { get; set; }
24+
public NetworkCredential Credential { get; set; }
2625

27-
protected abstract ADDomainInfo GetDomainInfoInternal();
28-
protected ADDomainInfo domainInfo;
26+
protected abstract ADDomainInfo GetDomainInfoInternal();
27+
protected ADDomainInfo domainInfo;
2928

30-
public ADDomainInfo GetDomainInfo()
31-
{
32-
if (domainInfo == null)
33-
domainInfo = GetDomainInfoInternal();
34-
return domainInfo;
35-
}
29+
public ADDomainInfo GetDomainInfo()
30+
{
31+
if (domainInfo == null)
32+
domainInfo = GetDomainInfoInternal();
33+
return domainInfo;
34+
}
3635

37-
public static string EscapeLDAP(string input)
38-
{
39-
string strTemp = input.Replace("\\", "\\5c");
40-
strTemp = strTemp.Replace("(", "\\28");
41-
strTemp = strTemp.Replace("|", "\\7c");
42-
strTemp = strTemp.Replace("<", "\\3c");
43-
strTemp = strTemp.Replace("/", "\\2f");
44-
strTemp = strTemp.Replace(")", "\\29");
45-
strTemp = strTemp.Replace("=", "\\3d");
46-
strTemp = strTemp.Replace("~", "\\7e");
47-
strTemp = strTemp.Replace("&", "\\26");
48-
strTemp = strTemp.Replace(">", "\\3e");
49-
strTemp = strTemp.Replace("*", "\\2a");
50-
return strTemp;
51-
}
36+
public static string EscapeLDAP(string input)
37+
{
38+
string strTemp = input.Replace("\\", "\\5c");
39+
strTemp = strTemp.Replace("(", "\\28");
40+
strTemp = strTemp.Replace("|", "\\7c");
41+
strTemp = strTemp.Replace("<", "\\3c");
42+
strTemp = strTemp.Replace("/", "\\2f");
43+
strTemp = strTemp.Replace(")", "\\29");
44+
strTemp = strTemp.Replace("=", "\\3d");
45+
strTemp = strTemp.Replace("~", "\\7e");
46+
strTemp = strTemp.Replace("&", "\\26");
47+
strTemp = strTemp.Replace(">", "\\3e");
48+
strTemp = strTemp.Replace("*", "\\2a");
49+
return strTemp;
50+
}
5251

53-
public static string EncodeSidToString(string sid)
54-
{
55-
try
56-
{
57-
var realsid = new System.Security.Principal.SecurityIdentifier(sid);
58-
var bytesid = new byte[realsid.BinaryLength];
59-
realsid.GetBinaryForm(bytesid, 0);
60-
return "\\" + BitConverter.ToString(bytesid).Replace("-", "\\");
61-
}
62-
catch (ArgumentException)
63-
{
64-
Trace.WriteLine("Unable to encode " + sid);
65-
throw;
66-
}
67-
}
68-
}
52+
public static string EncodeSidToString(string sid)
53+
{
54+
try
55+
{
56+
var realsid = new System.Security.Principal.SecurityIdentifier(sid);
57+
var bytesid = new byte[realsid.BinaryLength];
58+
realsid.GetBinaryForm(bytesid, 0);
59+
return "\\" + BitConverter.ToString(bytesid).Replace("-", "\\");
60+
}
61+
catch (ArgumentException)
62+
{
63+
Trace.WriteLine("Unable to encode " + sid);
64+
throw;
65+
}
66+
}
67+
68+
public abstract string ConvertSIDToName(string sidstring, out string referencedDomain);
69+
70+
public abstract SecurityIdentifier ConvertNameToSID(string nameToResolve);
71+
72+
public abstract IFileConnection FileConnection {get;}
73+
74+
}
6975
}

ADWS/ADDomainInfo.cs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
using System.DirectoryServices;
1111
using System.Security.Permissions;
1212
using System.Security.Principal;
13-
using System.Text;
1413
using System.Xml;
1514

1615
namespace PingCastle.ADWS
@@ -52,9 +51,9 @@ public string ForestName
5251
public string NetBIOSName { get; set; }
5352
public string RootDomainNamingContext { get; set; }
5453
public string SchemaNamingContext { get; set; }
55-
public int SchemaVersion { get; set; }
56-
public int SchemaInternalVersion { get; set; }
57-
public DateTime SchemaLastChanged { get; set; }
54+
public int SchemaVersion { get; set; }
55+
public int SchemaInternalVersion { get; set; }
56+
public DateTime SchemaLastChanged { get; set; }
5857
public List<string> NamingContexts { get; set; }
5958

6059
private static string StripNamespace(string input)
@@ -103,15 +102,15 @@ private static string[] ExtractStringArrayValue(XmlNode item)
103102
public static ADDomainInfo Create(DirectoryEntry rootDSE)
104103
{
105104
ADDomainInfo info = new ADDomainInfo();
106-
info.DefaultNamingContext = rootDSE.Properties["defaultNamingContext"].Value as string;
107-
info.ConfigurationNamingContext = rootDSE.Properties["configurationNamingContext"].Value as string;
108-
info.DnsHostName = rootDSE.Properties["dnsHostName"].Value as string;
109-
if (rootDSE.Properties.Contains("domainFunctionality"))
110-
info.DomainFunctionality = int.Parse(rootDSE.Properties["domainFunctionality"].Value as string);
111-
if (rootDSE.Properties.Contains("forestFunctionality"))
112-
info.ForestFunctionality = int.Parse(rootDSE.Properties["forestFunctionality"].Value as string);
113-
if (rootDSE.Properties.Contains("netBIOSName"))
114-
info.NetBIOSName = rootDSE.Properties["netBIOSName"].Value as string;
105+
info.DefaultNamingContext = rootDSE.Properties["defaultNamingContext"].Value as string;
106+
info.ConfigurationNamingContext = rootDSE.Properties["configurationNamingContext"].Value as string;
107+
info.DnsHostName = rootDSE.Properties["dnsHostName"].Value as string;
108+
if (rootDSE.Properties.Contains("domainFunctionality"))
109+
info.DomainFunctionality = int.Parse(rootDSE.Properties["domainFunctionality"].Value as string);
110+
if (rootDSE.Properties.Contains("forestFunctionality"))
111+
info.ForestFunctionality = int.Parse(rootDSE.Properties["forestFunctionality"].Value as string);
112+
if (rootDSE.Properties.Contains("netBIOSName"))
113+
info.NetBIOSName = rootDSE.Properties["netBIOSName"].Value as string;
115114
info.RootDomainNamingContext = rootDSE.Properties["rootDomainNamingContext"].Value as string;
116115
info.SchemaNamingContext = rootDSE.Properties["schemaNamingContext"].Value as string;
117116
Trace.WriteLine("supportedLDAPVersion: ");
@@ -177,11 +176,11 @@ public static ADDomainInfo Create(top data)
177176
Trace.WriteLine("supportedLDAPVersion: ");
178177
if (item.ChildNodes != null)
179178
{
180-
foreach(XmlNode child in item.ChildNodes)
181-
if (child != null)
182-
{
183-
Trace.WriteLine(child.InnerText);
184-
}
179+
foreach (XmlNode child in item.ChildNodes)
180+
if (child != null)
181+
{
182+
Trace.WriteLine(child.InnerText);
183+
}
185184
}
186185
break;
187186
case "supportedControl":
@@ -203,5 +202,5 @@ public static ADDomainInfo Create(top data)
203202
}
204203
return info;
205204
}
206-
}
205+
}
207206
}

0 commit comments

Comments
 (0)