Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / UdpDiscoveryMessageFilter.cs / 1305376 / UdpDiscoveryMessageFilter.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; // This class provides a mitigration to the DDOS threat when using Discovery APIs with // UDP multicast transport. // // The Probe and Resolve request are sent multicast and are not secure. An attacker can launch // a third party distributed DOS attack by setting the address of the third party in the ReplyTo // header of the Probe and Resolve requests. To mitigate this threat this behavior drops the // message that have ReplyTo set to a value that is not annonymous by setting appropriate // message filter. // class UdpDiscoveryMessageFilter : MessageFilter { MessageFilter innerFilter; public UdpDiscoveryMessageFilter(MessageFilter innerFilter) { if (innerFilter == null) { throw FxTrace.Exception.ArgumentNull("innerFilter"); } this.innerFilter = innerFilter; } public MessageFilter InnerFilter { get { return this.innerFilter; } } public override bool Match(Message message) { if (message == null) { throw FxTrace.Exception.ArgumentNull("message"); } if (InnerFilter.Match(message)) { bool isMatch = ((message.Headers.ReplyTo == null) || (message.Headers.ReplyTo.IsAnonymous)); if (!isMatch && TD.DiscoveryMessageWithInvalidReplyToIsEnabled()) { TD.DiscoveryMessageWithInvalidReplyTo(message.Headers.MessageId.ToString()); } return isMatch; } return false; } public override bool Match(MessageBuffer buffer) { if (buffer == null) { throw FxTrace.Exception.ArgumentNull("buffer"); } return this.Match(buffer.CreateMessage()); } } } // 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
- User.cs
- WindowsListViewSubItem.cs
- SmiContextFactory.cs
- CodeArrayIndexerExpression.cs
- EventDescriptorCollection.cs
- ScrollProviderWrapper.cs
- ContractMapping.cs
- BuildProviderAppliesToAttribute.cs
- MenuStrip.cs
- ProfileParameter.cs
- AllMembershipCondition.cs
- XmlDataLoader.cs
- AutoGeneratedFieldProperties.cs
- Soap.cs
- OleServicesContext.cs
- DataGridViewHeaderCell.cs
- QilIterator.cs
- DataGridViewEditingControlShowingEventArgs.cs
- X509ScopedServiceCertificateElement.cs
- GridSplitterAutomationPeer.cs
- UIPropertyMetadata.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- CollectionConverter.cs
- EntityWrapperFactory.cs
- TraceSource.cs
- AttachedProperty.cs
- PrimaryKeyTypeConverter.cs
- ClientType.cs
- XamlPathDataSerializer.cs
- CodeTypeDeclaration.cs
- SqlClientWrapperSmiStream.cs
- SqlDependencyListener.cs
- MasterPageBuildProvider.cs
- ThreadLocal.cs
- ProxyHwnd.cs
- OLEDB_Enum.cs
- TableRowsCollectionEditor.cs
- TreeNodeBindingCollection.cs
- InternalConfigRoot.cs
- ConnectionPoint.cs
- DataTableNameHandler.cs
- ProviderUtil.cs
- SqlUdtInfo.cs
- wmiprovider.cs
- ReferenceConverter.cs
- SystemWebSectionGroup.cs
- BroadcastEventHelper.cs
- CheckBox.cs
- ServiceHttpHandlerFactory.cs
- AnnotationResource.cs
- EtwTrace.cs
- PointHitTestParameters.cs
- PolicyException.cs
- MdiWindowListItemConverter.cs
- URI.cs
- Geometry3D.cs
- FontFamilyConverter.cs
- ExpressionBuilderCollection.cs
- listitem.cs
- CLRBindingWorker.cs
- EventArgs.cs
- ConsoleTraceListener.cs
- BreakSafeBase.cs
- TextEffect.cs
- SystemResourceHost.cs
- BeginEvent.cs
- TreeNodeCollection.cs
- IntSecurity.cs
- EnglishPluralizationService.cs
- DocumentXmlWriter.cs
- MetadataUtilsSmi.cs
- CodeNamespaceImport.cs
- CustomAttributeFormatException.cs
- InvokerUtil.cs
- EntityKeyElement.cs
- TransformerTypeCollection.cs
- RuntimeCompatibilityAttribute.cs
- Pair.cs
- BinaryUtilClasses.cs
- HttpConfigurationContext.cs
- XmlNamespaceMappingCollection.cs
- PreDigestedSignedInfo.cs
- ColorConverter.cs
- EventEntry.cs
- SoapSchemaExporter.cs
- PropertyValidationContext.cs
- DependsOnAttribute.cs
- UndoManager.cs
- SeverityFilter.cs
- CollectionTraceRecord.cs
- SqlTrackingWorkflowInstance.cs
- DataGridViewRowCollection.cs
- Stackframe.cs
- InstanceOwnerException.cs
- TypeLibConverter.cs
- SqlDataSourceStatusEventArgs.cs
- XmlCollation.cs
- ToolStripDropDownItemDesigner.cs
- DataKeyCollection.cs
- BindingManagerDataErrorEventArgs.cs