Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Net / System / Net / Mail / SmtpDigestAuthenticationModule.cs / 5 / SmtpDigestAuthenticationModule.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Mail
{
using System;
using System.Collections;
using System.IO;
using System.Net;
using System.Security.Permissions;
//
#if MAKE_MAILCLIENT_PUBLIC
internal
#else
internal
#endif
class SmtpDigestAuthenticationModule : ISmtpAuthenticationModule
{
Hashtable sessions = new Hashtable();
internal SmtpDigestAuthenticationModule()
{
}
#region ISmtpAuthenticationModule Members
// Security this method will access NetworkCredential properties that demand UnmanagedCode and Environment Permission
[EnvironmentPermission(SecurityAction.Assert, Unrestricted=true)]
[SecurityPermission(SecurityAction.Assert, Flags=SecurityPermissionFlag.UnmanagedCode)]
public Authorization Authenticate(string challenge, NetworkCredential credential, object sessionCookie)
{
lock (this.sessions)
{
NTAuthentication clientContext = this.sessions[sessionCookie] as NTAuthentication;
if (clientContext == null)
{
if(credential == null){
return null;
}
//
this.sessions[sessionCookie] = clientContext = new NTAuthentication(false,"WDigest",credential,null, ContextFlags.Connection);
}
string resp = (challenge != null ? clientContext.GetOutgoingBlob(challenge) : clientContext.GetOutgoingBlob(null));
if (!clientContext.IsCompleted)
{
return new Authorization(resp, false);
}
else
{
this.sessions.Remove(sessionCookie);
return new Authorization(resp, true);
}
}
}
public string AuthenticationType
{
get
{
return "WDigest";
}
}
public void CloseContext(object sessionCookie) {
// This is a no-op since the context is not
// kept open by this module beyond auth completion.
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Mail
{
using System;
using System.Collections;
using System.IO;
using System.Net;
using System.Security.Permissions;
//
#if MAKE_MAILCLIENT_PUBLIC
internal
#else
internal
#endif
class SmtpDigestAuthenticationModule : ISmtpAuthenticationModule
{
Hashtable sessions = new Hashtable();
internal SmtpDigestAuthenticationModule()
{
}
#region ISmtpAuthenticationModule Members
// Security this method will access NetworkCredential properties that demand UnmanagedCode and Environment Permission
[EnvironmentPermission(SecurityAction.Assert, Unrestricted=true)]
[SecurityPermission(SecurityAction.Assert, Flags=SecurityPermissionFlag.UnmanagedCode)]
public Authorization Authenticate(string challenge, NetworkCredential credential, object sessionCookie)
{
lock (this.sessions)
{
NTAuthentication clientContext = this.sessions[sessionCookie] as NTAuthentication;
if (clientContext == null)
{
if(credential == null){
return null;
}
//
this.sessions[sessionCookie] = clientContext = new NTAuthentication(false,"WDigest",credential,null, ContextFlags.Connection);
}
string resp = (challenge != null ? clientContext.GetOutgoingBlob(challenge) : clientContext.GetOutgoingBlob(null));
if (!clientContext.IsCompleted)
{
return new Authorization(resp, false);
}
else
{
this.sessions.Remove(sessionCookie);
return new Authorization(resp, true);
}
}
}
public string AuthenticationType
{
get
{
return "WDigest";
}
}
public void CloseContext(object sessionCookie) {
// This is a no-op since the context is not
// kept open by this module beyond auth completion.
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PersistenceMetadataNamespace.cs
- CfgParser.cs
- IntAverageAggregationOperator.cs
- ResourceDefaultValueAttribute.cs
- HybridCollection.cs
- AppDomainEvidenceFactory.cs
- CheckBoxFlatAdapter.cs
- UIElementPropertyUndoUnit.cs
- DBConnection.cs
- SignatureToken.cs
- DataGridViewCellPaintingEventArgs.cs
- MonthChangedEventArgs.cs
- Stream.cs
- OperationCanceledException.cs
- DataChangedEventManager.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- DiagnosticsConfiguration.cs
- ConstructorBuilder.cs
- WebControl.cs
- AstNode.cs
- TouchPoint.cs
- Comparer.cs
- MatchAttribute.cs
- Type.cs
- TreeViewImageKeyConverter.cs
- XmlTextWriter.cs
- DesignTimeTemplateParser.cs
- ClosableStream.cs
- OdbcError.cs
- StyleCollection.cs
- CompositeControl.cs
- Point3D.cs
- DBProviderConfigurationHandler.cs
- AtomContentProperty.cs
- BitmapEffectInput.cs
- FieldAccessException.cs
- CodeCatchClauseCollection.cs
- AdCreatedEventArgs.cs
- TrackPoint.cs
- PageRequestManager.cs
- XmlLinkedNode.cs
- DesignerActionUI.cs
- BooleanToVisibilityConverter.cs
- GZipStream.cs
- DataStorage.cs
- ServiceMemoryGates.cs
- Vector3DConverter.cs
- RegexNode.cs
- DelegateTypeInfo.cs
- EdmTypeAttribute.cs
- Win32.cs
- ExpressionVisitor.cs
- MarginCollapsingState.cs
- backend.cs
- SqlClientMetaDataCollectionNames.cs
- ExpandSegmentCollection.cs
- xmlfixedPageInfo.cs
- StateMachineDesignerPaint.cs
- FramingChannels.cs
- OrderedDictionary.cs
- SchemaSetCompiler.cs
- DocumentReferenceCollection.cs
- NoResizeHandleGlyph.cs
- ActivityMetadata.cs
- EncoderExceptionFallback.cs
- LoginViewDesigner.cs
- ByteConverter.cs
- ConstNode.cs
- CodeAccessSecurityEngine.cs
- WindowsRichEditRange.cs
- WebBrowser.cs
- TrustLevelCollection.cs
- ReadOnlyDataSource.cs
- MethodToken.cs
- XmlDictionaryReaderQuotasElement.cs
- WindowsFormsHost.cs
- GridViewSortEventArgs.cs
- WebPartDeleteVerb.cs
- COSERVERINFO.cs
- CharAnimationBase.cs
- ParserStreamGeometryContext.cs
- DoubleCollection.cs
- ConstantSlot.cs
- WMIGenerator.cs
- DoubleIndependentAnimationStorage.cs
- Italic.cs
- Parser.cs
- OdbcRowUpdatingEvent.cs
- MethodExpr.cs
- SqlDataSourceStatusEventArgs.cs
- SHA1Managed.cs
- CfgParser.cs
- ClientCultureInfo.cs
- DataServiceException.cs
- ImageIndexEditor.cs
- RotateTransform.cs
- ViewCellRelation.cs
- OracleRowUpdatedEventArgs.cs
- DateTimeFormat.cs
- StyleSheet.cs