terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
NTAuthentication.cs
Go to the documentation of this file.
1using System;
5
6namespace System.Net
7{
8 // Token: 0x0200012B RID: 299
9 internal class NTAuthentication
10 {
11 // Token: 0x1700017D RID: 381
12 // (get) Token: 0x06000719 RID: 1817 RVA: 0x00019B4C File Offset: 0x00017D4C
13 internal bool IsCompleted
14 {
15 get
16 {
17 return this._isCompleted;
18 }
19 }
20
21 // Token: 0x1700017E RID: 382
22 // (get) Token: 0x0600071A RID: 1818 RVA: 0x00019B60 File Offset: 0x00017D60
23 internal bool IsValidContext
24 {
25 get
26 {
27 /*
28An exception occurred when decompiling this method (0600071A)
29
30ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.NTAuthentication::get_IsValidContext()
31
32 ---> System.Exception: Basic block has to end with unconditional control flow.
33{
34 IL_0000:
35 brtrue(IL_0000, logicnot:bool(ldfld:SafeDeleteContext[exp:bool](NTAuthentication::_securityContext, ldloc:NTAuthentication(this))))
36}
37
38 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
39 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
40 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
41 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
42 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
43 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
44 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
45 --- End of inner exception stack trace ---
46 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
47 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
48*/;
49 }
50 }
51
52 // Token: 0x1700017F RID: 383
53 // (get) Token: 0x0600071B RID: 1819 RVA: 0x00019B74 File Offset: 0x00017D74
54 internal string Package
55 {
56 get
57 {
58 return this._package;
59 }
60 }
61
62 // Token: 0x17000180 RID: 384
63 // (get) Token: 0x0600071C RID: 1820 RVA: 0x00019B88 File Offset: 0x00017D88
64 internal bool IsServer
65 {
66 get
67 {
68 return this._isServer;
69 }
70 }
71
72 // Token: 0x17000181 RID: 385
73 // (get) Token: 0x0600071D RID: 1821 RVA: 0x00019B9C File Offset: 0x00017D9C
74 internal string ClientSpecifiedSpn
75 {
76 get
77 {
78 string clientSpecifiedSpn;
79 if (this._clientSpecifiedSpn == null)
80 {
81 clientSpecifiedSpn = this.GetClientSpecifiedSpn();
83 }
84 return clientSpecifiedSpn;
85 }
86 }
87
88 // Token: 0x17000182 RID: 386
89 // (get) Token: 0x0600071E RID: 1822 RVA: 0x00019BC0 File Offset: 0x00017DC0
90 internal string ProtocolName
91 {
92 get
93 {
94 /*
95An exception occurred when decompiling this method (0600071E)
96
97ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String System.Net.NTAuthentication::get_ProtocolName()
98
99 ---> System.Exception: Basic block has to end with unconditional control flow.
100{
101 IL_002B:
102 brtrue(IL_0000, ldloc:string[exp:bool](var_0_1B))
103}
104
105 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
106 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
107 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
108 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
109 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
110 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
111 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
112 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
113 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
114 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
115 --- End of inner exception stack trace ---
116 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
117 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
118*/;
119 }
120 }
121
122 // Token: 0x17000183 RID: 387
123 // (get) Token: 0x0600071F RID: 1823 RVA: 0x00019BFC File Offset: 0x00017DFC
124 internal bool IsKerberos
125 {
126 get
127 {
128 /*
129An exception occurred when decompiling this method (0600071F)
130
131ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.NTAuthentication::get_IsKerberos()
132
133 ---> System.Exception: Basic block has to end with unconditional control flow.
134{
135 Block_0:
136 stloc:string(var_0_0E, callgetter:string(NTAuthentication::get_ProtocolName, ldloc:NTAuthentication(this)))
137 stfld:string(NTAuthentication::_lastProtocolName, ldloc:NTAuthentication(this), ldloc:string(var_0_0E))
138}
139
140 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
141 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
142 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
143 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
144 --- End of inner exception stack trace ---
145 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
146 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
147*/;
148 }
149 }
150
151 // Token: 0x06000720 RID: 1824 RVA: 0x00019C20 File Offset: 0x00017E20
152 internal NTAuthentication(bool isServer, string package, NetworkCredential credential, string spn, ContextFlagsPal requestedContextFlags, global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding)
153 {
154 long num = 0L;
155 base..ctor();
157 }
158
159 // Token: 0x06000721 RID: 1825 RVA: 0x00019C44 File Offset: 0x00017E44
160 private void Initialize(bool isServer, string package, NetworkCredential credential, string spn, ContextFlagsPal requestedContextFlags, global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding)
161 {
162 if (!true)
163 {
164 }
166 int num = global::System.Net.Security.NegotiateStreamPal.QueryMaxTokenSize(package);
167 this._spn = spn;
168 this._tokenSize = num;
173 string spn2 = this._spn;
174 if (spn2 == null || spn2 != null)
175 {
177 NetEventSource.Info(this, formattableString, "Initialize");
178 bool isServer2 = this._isServer;
179 global::System.Net.Security.SafeFreeCredentials safeFreeCredentials = global::System.Net.Security.NegotiateStreamPal.AcquireCredentialsHandle(package, isServer2, credential);
180 return;
181 }
182 throw new ArrayTypeMismatchException();
183 }
184
185 // Token: 0x06000722 RID: 1826 RVA: 0x00019CF8 File Offset: 0x00017EF8
186 internal global::System.Net.Security.SafeDeleteContext GetContext([Out] SecurityStatusPal status)
187 {
188 if (!this._isCompleted || this._securityContext != null)
189 {
190 }
191 NetEventSource.Fail(this, "Should be called only when completed with success, currently is not!", "GetContext");
192 bool isServer = this._isServer;
193 if (!isServer)
194 {
195 if (!isServer)
196 {
197 }
198 NetEventSource.Fail(this, "The method must not be called by the client side!", "GetContext");
199 }
200 if (this._securityContext != null)
201 {
202 }
203 return this._securityContext;
204 }
205
206 // Token: 0x06000723 RID: 1827 RVA: 0x00019D54 File Offset: 0x00017F54
207 internal void CloseContext()
208 {
209 global::System.Net.Security.SafeDeleteContext securityContext = this._securityContext;
210 if (securityContext != null)
211 {
212 bool isClosed = securityContext.IsClosed;
213 }
214 }
215
216 // Token: 0x06000724 RID: 1828 RVA: 0x00019D80 File Offset: 0x00017F80
217 internal int VerifySignature(byte[] buffer, int offset, int count)
218 {
219 return global::System.Net.Security.NegotiateStreamPal.VerifySignature(this._securityContext, buffer, offset, count);
220 }
221
222 // Token: 0x06000725 RID: 1829 RVA: 0x00019D9C File Offset: 0x00017F9C
223 internal int MakeSignature(byte[] buffer, int offset, int count, byte[] output)
224 {
225 return global::System.Net.Security.NegotiateStreamPal.MakeSignature(this._securityContext, buffer, offset, count, output);
226 }
227
228 // Token: 0x06000726 RID: 1830 RVA: 0x00019DBC File Offset: 0x00017FBC
229 internal string GetOutgoingBlob(string incomingBlob)
230 {
231 /*
232An exception occurred when decompiling this method (06000726)
233
234ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String System.Net.NTAuthentication::GetOutgoingBlob(System.String)
235
236 ---> System.Exception: Basic block has to end with unconditional control flow.
237{
238 Block_5:
239 call:void(NTAuthentication::CloseContext, ldloc:NTAuthentication(this))
240}
241
242 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
243 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
244 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
245 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
246 --- End of inner exception stack trace ---
247 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
248 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
249*/;
250 }
251
252 // Token: 0x06000727 RID: 1831 RVA: 0x00019E28 File Offset: 0x00018028
253 internal byte[] GetOutgoingBlob(byte[] incomingBlob, bool thrownOnError)
254 {
255 byte[] array;
256 return array;
257 }
258
259 // Token: 0x06000728 RID: 1832 RVA: 0x00019E38 File Offset: 0x00018038
260 internal byte[] GetOutgoingBlob(byte[] incomingBlob, bool throwOnError, [Out] SecurityStatusPal statusCode)
261 {
262 int num = 1;
263 if (num == 0)
264 {
265 }
267 if (num == 0)
268 {
269 }
270 NetEventSource.Enter(this, incomingBlob, "GetOutgoingBlob");
271 global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding = this._channelBinding;
272 if (incomingBlob != null)
273 {
274 if (channelBinding == null)
275 {
276 goto IL_003C;
277 }
278 global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding2 = this._channelBinding;
279 }
280 global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding3 = this._channelBinding;
281 IL_003C:
282 int tokenSize = this._tokenSize;
283 global::System.Net.Security.SafeDeleteContext securityContext = this._securityContext;
289 if ("SSPIWrapper.AcceptSecurityContext() returns statusCode:0x{0:x8} ({1})" == null)
290 {
291 }
293 NetEventSource.Info(this, formattableString, "GetOutgoingBlob");
294 string spn = this._spn;
299 if ("SSPIWrapper.AcceptSecurityContext() returns statusCode:0x{0:x8} ({1})" == null)
300 {
301 }
303 if ("SSPIWrapper.InitializeSecurityContext() returns statusCode:0x{0:x8} ({1})" == null)
304 {
305 }
307 NetEventSource.Info(this, formattableString2, "GetOutgoingBlob");
310 statusCode.Exception = "GetOutgoingBlob";
311 if ("GetOutgoingBlob" == null)
312 {
313 }
315 if ("SSPIWrapper.CompleteAuthToken() returns statusCode:0x{0:x8} ({1})" == null)
316 {
317 }
319 NetEventSource.Info(this, formattableString3, "GetOutgoingBlob");
320 long num2 = 0L;
321 long num3;
322 int num4;
323 if (securityContext == null)
324 {
325 global::System.Net.Security.SafeFreeCredentials credentialsHandle = this._credentialsHandle;
326 if (credentialsHandle != null)
327 {
328 credentialsHandle.Dispose();
329 if (num2 == 0L)
330 {
331 goto IL_0133;
332 }
333 num3 = 0L;
334 num4 = 10;
335 while (securityContext == null)
336 {
337 }
338 }
339 }
340 if (num3 != 0L)
341 {
342 throw new OutOfMemoryException();
343 }
344 IL_0133:
345 if (num4 == 0)
346 {
347 if (securityContext == null)
348 {
349 global::System.Net.Security.SafeFreeCredentials credentialsHandle2 = this._credentialsHandle;
350 if (credentialsHandle2 != null)
351 {
352 global::System.Net.Security.SSPIHandleCache.CacheCredential(credentialsHandle2);
353 }
354 }
355 this.CloseContext();
356 int num5 = 1;
357 this._isCompleted = num5 != 0;
358 if (num5 == 0)
359 {
360 }
363 NetEventSource.Exit(this, formattableString4, "GetOutgoingBlob");
367 NetEventSource.Info(this, formattableString5, "GetOutgoingBlob");
370 bool isCompleted = this._isCompleted;
372 NetEventSource.Exit(this, formattableString6, "GetOutgoingBlob");
373 }
374 throw new ArrayTypeMismatchException();
375 }
376
377 // Token: 0x06000729 RID: 1833 RVA: 0x0001A080 File Offset: 0x00018280
378 private string GetClientSpecifiedSpn()
379 {
380 bool isCompleted;
381 if (this._securityContext != null)
382 {
383 isCompleted = this._isCompleted;
384 if (isCompleted)
385 {
386 goto IL_0025;
387 }
388 }
389 if (!isCompleted)
390 {
391 }
392 NetEventSource.Fail(this, "Trying to get the client SPN before handshaking is done!", "GetClientSpecifiedSpn");
393 IL_0025:
394 string text = global::System.Net.Security.NegotiateStreamPal.QueryContextClientSpecifiedSpn(this._securityContext);
396 if (text == null || text != null)
397 {
399 NetEventSource.Info(this, formattableString, "GetClientSpecifiedSpn");
400 return text;
401 }
402 throw new ArrayTypeMismatchException();
403 }
404
405 // Token: 0x04000584 RID: 1412
406 private bool _isServer;
407
408 // Token: 0x04000585 RID: 1413
409 private global::System.Net.Security.SafeFreeCredentials _credentialsHandle;
410
411 // Token: 0x04000586 RID: 1414
412 private global::System.Net.Security.SafeDeleteContext _securityContext;
413
414 // Token: 0x04000587 RID: 1415
415 private string _spn;
416
417 // Token: 0x04000588 RID: 1416
418 private int _tokenSize;
419
420 // Token: 0x04000589 RID: 1417
422
423 // Token: 0x0400058A RID: 1418
425
426 // Token: 0x0400058B RID: 1419
427 private bool _isCompleted;
428
429 // Token: 0x0400058C RID: 1420
430 private string _package;
431
432 // Token: 0x0400058D RID: 1421
433 private string _lastProtocolName;
434
435 // Token: 0x0400058E RID: 1422
436 private string _protocolName;
437
438 // Token: 0x0400058F RID: 1423
439 private string _clientSpecifiedSpn;
440
441 // Token: 0x04000590 RID: 1424
442 private global::System.Security.Authentication.ExtendedProtection.ChannelBinding _channelBinding;
443 }
444}
class f__AnonymousType0<< Count > j__TPar
global::System.Net.Security.SafeFreeCredentials _credentialsHandle
NTAuthentication(bool isServer, string package, NetworkCredential credential, string spn, ContextFlagsPal requestedContextFlags, global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding)
int MakeSignature(byte[] buffer, int offset, int count, byte[] output)
void Initialize(bool isServer, string package, NetworkCredential credential, string spn, ContextFlagsPal requestedContextFlags, global::System.Security.Authentication.ExtendedProtection.ChannelBinding channelBinding)
string GetOutgoingBlob(string incomingBlob)
global::System.Net.Security.SafeDeleteContext _securityContext
global::System.Net.Security.SafeDeleteContext GetContext([Out] SecurityStatusPal status)
byte[] GetOutgoingBlob(byte[] incomingBlob, bool thrownOnError)
ContextFlagsPal _requestedContextFlags
byte[] GetOutgoingBlob(byte[] incomingBlob, bool throwOnError, [Out] SecurityStatusPal statusCode)
int VerifySignature(byte[] buffer, int offset, int count)
global::System.Security.Authentication.ExtendedProtection.ChannelBinding _channelBinding
static void Info(object thisOrContextObject, [Optional] FormattableString formattableString, [CallerMemberName][Optional] string memberName)
static void Exit(object thisOrContextObject, [Optional] FormattableString formattableString, [CallerMemberName][Optional] string memberName)
static void Enter(object thisOrContextObject, [Optional] FormattableString formattableString, [CallerMemberName][Optional] string memberName)
static void Fail(object thisOrContextObject, FormattableString formattableString, [CallerMemberName][Optional] string memberName)