diff --git a/OpenIddict.sln b/OpenIddict.sln index 01ebca96..1da4a2ab 100644 --- a/OpenIddict.sln +++ b/OpenIddict.sln @@ -25,8 +25,6 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "OpenIddict.Mvc", "src\OpenI EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{DE26CC68-28BA-44BB-B28E-43B949C6C606}" EndProject -Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "NWebsec.Annotations", "external\NWebsec.Annotations\NWebsec.Annotations.xproj", "{144226E7-3EB3-459D-89C8-4D8720E1EF1E}" -EndProject Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "NWebsec.Core", "external\NWebsec.Core\NWebsec.Core.xproj", "{E9575361-5C4B-425A-BCA5-0E8249C6C5FB}" EndProject Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "NWebsec.Middleware", "external\NWebsec.Middleware\NWebsec.Middleware.xproj", "{38C8E88F-1D01-466F-B47D-6D67F13C1594}" @@ -69,10 +67,6 @@ Global {7AE46E2F-E93B-4FF9-B941-6CD7A3E1BF84}.Debug|Any CPU.Build.0 = Debug|Any CPU {7AE46E2F-E93B-4FF9-B941-6CD7A3E1BF84}.Release|Any CPU.ActiveCfg = Release|Any CPU {7AE46E2F-E93B-4FF9-B941-6CD7A3E1BF84}.Release|Any CPU.Build.0 = Release|Any CPU - {144226E7-3EB3-459D-89C8-4D8720E1EF1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {144226E7-3EB3-459D-89C8-4D8720E1EF1E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {144226E7-3EB3-459D-89C8-4D8720E1EF1E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {144226E7-3EB3-459D-89C8-4D8720E1EF1E}.Release|Any CPU.Build.0 = Release|Any CPU {E9575361-5C4B-425A-BCA5-0E8249C6C5FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E9575361-5C4B-425A-BCA5-0E8249C6C5FB}.Debug|Any CPU.Build.0 = Debug|Any CPU {E9575361-5C4B-425A-BCA5-0E8249C6C5FB}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -94,7 +88,6 @@ Global {D2450929-ED0E-420D-B475-327924F9701C} = {D544447C-D701-46BB-9A5B-C76C612A596B} {E60CF8CA-6313-4359-BE43-AFCBB927EA30} = {D544447C-D701-46BB-9A5B-C76C612A596B} {7AE46E2F-E93B-4FF9-B941-6CD7A3E1BF84} = {D544447C-D701-46BB-9A5B-C76C612A596B} - {144226E7-3EB3-459D-89C8-4D8720E1EF1E} = {DE26CC68-28BA-44BB-B28E-43B949C6C606} {E9575361-5C4B-425A-BCA5-0E8249C6C5FB} = {DE26CC68-28BA-44BB-B28E-43B949C6C606} {38C8E88F-1D01-466F-B47D-6D67F13C1594} = {DE26CC68-28BA-44BB-B28E-43B949C6C606} EndGlobalSection diff --git a/external/NWebsec.Annotations/Annotations.cs b/external/NWebsec.Annotations/Annotations.cs deleted file mode 100644 index 09c23920..00000000 --- a/external/NWebsec.Annotations/Annotations.cs +++ /dev/null @@ -1,625 +0,0 @@ -using System; -using System.Diagnostics; - -#pragma warning disable 1591 -// ReSharper disable UnusedMember.Global -// ReSharper disable UnusedParameter.Local -// ReSharper disable MemberCanBePrivate.Global -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable IntroduceOptionalParameters.Global -// ReSharper disable MemberCanBeProtected.Global -// ReSharper disable InconsistentNaming - -namespace NWebsec.Annotations -{ - /// - /// Indicates that the value of the marked element could be null sometimes, - /// so the check for null is necessary before its usage - /// - /// - /// [CanBeNull] public object Test() { return null; } - /// public void UseTest() { - /// var p = Test(); - /// var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' - /// } - /// - [Conditional("DEBUG"), AttributeUsage( - AttributeTargets.Method | AttributeTargets.Parameter | - AttributeTargets.Property | AttributeTargets.Delegate | - AttributeTargets.Field, AllowMultiple = false, Inherited = true)] - internal sealed class CanBeNullAttribute : Attribute { } - - /// - /// Indicates that the value of the marked element could never be null - /// - /// - /// [NotNull] public object Foo() { - /// return null; // Warning: Possible 'null' assignment - /// } - /// - [Conditional("DEBUG"), AttributeUsage( - AttributeTargets.Method | AttributeTargets.Parameter | - AttributeTargets.Property | AttributeTargets.Delegate | - AttributeTargets.Field, AllowMultiple = false, Inherited = true)] - internal sealed class NotNullAttribute : Attribute { } - - /// - /// Indicates that the marked method builds string by format pattern and (optional) arguments. - /// Parameter, which contains format string, should be given in constructor. The format string - /// should be in -like form - /// - /// - /// [StringFormatMethod("message")] - /// public void ShowError(string message, params object[] args) { /* do something */ } - /// public void Foo() { - /// ShowError("Failed: {0}"); // Warning: Non-existing argument in format string - /// } - /// - [Conditional("DEBUG"), AttributeUsage( - AttributeTargets.Constructor | AttributeTargets.Method, - AllowMultiple = false, Inherited = true)] - internal sealed class StringFormatMethodAttribute : Attribute - { - /// - /// Specifies which parameter of an annotated method should be treated as format-string - /// - public StringFormatMethodAttribute(string formatParameterName) - { - FormatParameterName = formatParameterName; - } - - public string FormatParameterName { get; private set; } - } - - /// - /// Indicates that the function argument should be string literal and match one - /// of the parameters of the caller function. For example, ReSharper annotates - /// the parameter of - /// - /// - /// public void Foo(string param) { - /// if (param == null) - /// throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol - /// } - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)] - internal sealed class InvokerParameterNameAttribute : Attribute { } - - /// - /// Indicates that the method is contained in a type that implements - /// interface - /// and this method is used to notify that some property value changed - /// - /// - /// The method should be non-static and conform to one of the supported signatures: - /// - /// NotifyChanged(string) - /// NotifyChanged(params string[]) - /// NotifyChanged{T}(Expression{Func{T}}) - /// NotifyChanged{T,U}(Expression{Func{T,U}}) - /// SetProperty{T}(ref T, T, string) - /// - /// - /// - /// public class Foo : INotifyPropertyChanged { - /// public event PropertyChangedEventHandler PropertyChanged; - /// [NotifyPropertyChangedInvocator] - /// protected virtual void NotifyChanged(string propertyName) { ... } - /// - /// private string _name; - /// public string Name { - /// get { return _name; } - /// set { _name = value; NotifyChanged("LastName"); /* Warning */ } - /// } - /// } - /// - /// Examples of generated notifications: - /// - /// NotifyChanged("Property") - /// NotifyChanged(() => Property) - /// NotifyChanged((VM x) => x.Property) - /// SetProperty(ref myField, value, "Property") - /// - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] - internal sealed class NotifyPropertyChangedInvocatorAttribute : Attribute - { - public NotifyPropertyChangedInvocatorAttribute() { } - public NotifyPropertyChangedInvocatorAttribute(string parameterName) - { - ParameterName = parameterName; - } - - public string ParameterName { get; private set; } - } - - /// - /// Describes dependency between method input and output - /// - /// - ///

Function Definition Table syntax:

- /// - /// FDT ::= FDTRow [;FDTRow]* - /// FDTRow ::= Input => Output | Output <= Input - /// Input ::= ParameterName: Value [, Input]* - /// Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} - /// Value ::= true | false | null | notnull | canbenull - /// - /// If method has single input parameter, it's name could be omitted.
- /// Using halt (or void/nothing, which is the same) - /// for method output means that the methos doesn't return normally.
- /// canbenull annotation is only applicable for output parameters.
- /// You can use multiple [ContractAnnotation] for each FDT row, - /// or use single attribute with rows separated by semicolon.
- ///
- /// - /// - /// [ContractAnnotation("=> halt")] - /// public void TerminationMethod() - /// - /// - /// [ContractAnnotation("halt <= condition: false")] - /// public void Assert(bool condition, string text) // regular assertion method - /// - /// - /// [ContractAnnotation("s:null => true")] - /// public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() - /// - /// - /// // A method that returns null if the parameter is null, and not null if the parameter is not null - /// [ContractAnnotation("null => null; notnull => notnull")] - /// public object Transform(object data) - /// - /// - /// [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] - /// public bool TryParse(string s, out Person result) - /// - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)] - internal sealed class ContractAnnotationAttribute : Attribute - { - public ContractAnnotationAttribute([NotNull] string contract) - : this(contract, false) { } - - public ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates) - { - Contract = contract; - ForceFullStates = forceFullStates; - } - - public string Contract { get; private set; } - public bool ForceFullStates { get; private set; } - } - - /// - /// Indicates that marked element should be localized or not - /// - /// - /// [LocalizationRequiredAttribute(true)] - /// public class Foo { - /// private string str = "my string"; // Warning: Localizable string - /// } - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)] - internal sealed class LocalizationRequiredAttribute : Attribute - { - public LocalizationRequiredAttribute() : this(true) { } - public LocalizationRequiredAttribute(bool required) - { - Required = required; - } - - public bool Required { get; private set; } - } - - /// - /// Indicates that the value of the marked type (or its derivatives) - /// cannot be compared using '==' or '!=' operators and Equals() - /// should be used instead. However, using '==' or '!=' for comparison - /// with null is always permitted. - /// - /// - /// [CannotApplyEqualityOperator] - /// class NoEquality { } - /// class UsesNoEquality { - /// public void Test() { - /// var ca1 = new NoEquality(); - /// var ca2 = new NoEquality(); - /// if (ca1 != null) { // OK - /// bool condition = ca1 == ca2; // Warning - /// } - /// } - /// } - /// - [Conditional("DEBUG"), AttributeUsage( - AttributeTargets.Interface | AttributeTargets.Class | - AttributeTargets.Struct, AllowMultiple = false, Inherited = true)] - internal sealed class CannotApplyEqualityOperatorAttribute : Attribute { } - - /// - /// When applied to a target attribute, specifies a requirement for any type marked - /// with the target attribute to implement or inherit specific type or types. - /// - /// - /// [BaseTypeRequired(typeof(IComponent)] // Specify requirement - /// public class ComponentAttribute : Attribute { } - /// [Component] // ComponentAttribute requires implementing IComponent interface - /// public class MyComponent : IComponent { } - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] - [BaseTypeRequired(typeof(Attribute))] - internal sealed class BaseTypeRequiredAttribute : Attribute - { - public BaseTypeRequiredAttribute([NotNull] Type baseType) - { - BaseType = baseType; - } - - [NotNull] - public Type BaseType { get; private set; } - } - - /// - /// Indicates that the marked symbol is used implicitly - /// (e.g. via reflection, in external library), so this symbol - /// will not be marked as unused (as well as by other usage inspections) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)] - internal sealed class UsedImplicitlyAttribute : Attribute - { - public UsedImplicitlyAttribute() - : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } - - public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags) - : this(useKindFlags, ImplicitUseTargetFlags.Default) { } - - public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags) - : this(ImplicitUseKindFlags.Default, targetFlags) { } - - public UsedImplicitlyAttribute( - ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) - { - UseKindFlags = useKindFlags; - TargetFlags = targetFlags; - } - - public ImplicitUseKindFlags UseKindFlags { get; private set; } - public ImplicitUseTargetFlags TargetFlags { get; private set; } - } - - /// - /// Should be used on attributes and causes ReSharper - /// to not mark symbols marked with such attributes as unused - /// (as well as by other usage inspections) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] - internal sealed class MeansImplicitUseAttribute : Attribute - { - public MeansImplicitUseAttribute() - : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } - - public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags) - : this(useKindFlags, ImplicitUseTargetFlags.Default) { } - - public MeansImplicitUseAttribute(ImplicitUseTargetFlags targetFlags) - : this(ImplicitUseKindFlags.Default, targetFlags) { } - - public MeansImplicitUseAttribute( - ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) - { - UseKindFlags = useKindFlags; - TargetFlags = targetFlags; - } - - [UsedImplicitly] - public ImplicitUseKindFlags UseKindFlags { get; private set; } - [UsedImplicitly] - public ImplicitUseTargetFlags TargetFlags { get; private set; } - } - - [Flags] - internal enum ImplicitUseKindFlags - { - Default = Access | Assign | InstantiatedWithFixedConstructorSignature, - /// Only entity marked with attribute considered used - Access = 1, - /// Indicates implicit assignment to a member - Assign = 2, - /// - /// Indicates implicit instantiation of a type with fixed constructor signature. - /// That means any unused constructor parameters won't be reported as such. - /// - InstantiatedWithFixedConstructorSignature = 4, - /// Indicates implicit instantiation of a type - InstantiatedNoFixedConstructorSignature = 8, - } - - /// - /// Specify what is considered used implicitly - /// when marked with - /// or - /// - [Flags] - internal enum ImplicitUseTargetFlags - { - Default = Itself, - Itself = 1, - /// Members of entity marked with attribute are considered used - Members = 2, - /// Entity marked with attribute and all its members considered used - WithMembers = Itself | Members - } - - /// - /// This attribute is intended to mark publicly available API - /// which should not be removed and so is treated as used - /// - [Conditional("DEBUG"), MeansImplicitUse] - internal sealed class PublicAPIAttribute : Attribute - { - public PublicAPIAttribute() { } - public PublicAPIAttribute([NotNull] string comment) - { - Comment = comment; - } - - [NotNull] - public string Comment { get; private set; } - } - - /// - /// Tells code analysis engine if the parameter is completely handled - /// when the invoked method is on stack. If the parameter is a delegate, - /// indicates that delegate is executed while the method is executed. - /// If the parameter is an enumerable, indicates that it is enumerated - /// while the method is executed - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter, Inherited = true)] - internal sealed class InstantHandleAttribute : Attribute { } - - /// - /// Indicates that a method does not make any observable state changes. - /// The same as System.Diagnostics.Contracts.PureAttribute - /// - /// - /// [Pure] private int Multiply(int x, int y) { return x * y; } - /// public void Foo() { - /// const int a = 2, b = 2; - /// Multiply(a, b); // Waring: Return value of pure method is not used - /// } - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Method, Inherited = true)] - internal sealed class PureAttribute : Attribute { } - - /// - /// Indicates that a parameter is a path to a file or a folder - /// within a web project. Path can be relative or absolute, - /// starting from web root (~) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal class PathReferenceAttribute : Attribute - { - public PathReferenceAttribute() { } - public PathReferenceAttribute([PathReference] string basePath) - { - BasePath = basePath; - } - - [NotNull] - public string BasePath { get; private set; } - } - - // ASP.NET MVC attributes - - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class AspMvcAreaMasterLocationFormatAttribute : Attribute - { - public AspMvcAreaMasterLocationFormatAttribute(string format) { } - } - - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class AspMvcAreaPartialViewLocationFormatAttribute : Attribute - { - public AspMvcAreaPartialViewLocationFormatAttribute(string format) { } - } - - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class AspMvcAreaViewLocationFormatAttribute : Attribute - { - public AspMvcAreaViewLocationFormatAttribute(string format) { } - } - - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class AspMvcMasterLocationFormatAttribute : Attribute - { - public AspMvcMasterLocationFormatAttribute(string format) { } - } - - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class AspMvcPartialViewLocationFormatAttribute : Attribute - { - public AspMvcPartialViewLocationFormatAttribute(string format) { } - } - - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] - internal sealed class AspMvcViewLocationFormatAttribute : Attribute - { - public AspMvcViewLocationFormatAttribute(string format) { } - } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter - /// is an MVC action. If applied to a method, the MVC action name is calculated - /// implicitly from the context. Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - internal sealed class AspMvcActionAttribute : Attribute - { - public AspMvcActionAttribute() { } - public AspMvcActionAttribute([NotNull] string anonymousProperty) - { - AnonymousProperty = anonymousProperty; - } - - [NotNull] - public string AnonymousProperty { get; private set; } - } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC area. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal sealed class AspMvcAreaAttribute : PathReferenceAttribute - { - public AspMvcAreaAttribute() { } - public AspMvcAreaAttribute([NotNull] string anonymousProperty) - { - AnonymousProperty = anonymousProperty; - } - - [NotNull] - public string AnonymousProperty { get; private set; } - } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that - /// the parameter is an MVC controller. If applied to a method, - /// the MVC controller name is calculated implicitly from the context. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - internal sealed class AspMvcControllerAttribute : Attribute - { - public AspMvcControllerAttribute() { } - public AspMvcControllerAttribute([NotNull] string anonymousProperty) - { - AnonymousProperty = anonymousProperty; - } - - [NotNull] - public string AnonymousProperty { get; private set; } - } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Controller.View(String, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal sealed class AspMvcMasterAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Controller.View(String, Object) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal sealed class AspMvcModelTypeAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that - /// the parameter is an MVC partial view. If applied to a method, - /// the MVC partial view name is calculated implicitly from the context. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - internal sealed class AspMvcPartialViewAttribute : PathReferenceAttribute { } - - /// - /// ASP.NET MVC attribute. Allows disabling all inspections - /// for MVC views within a class or a method. - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] - internal sealed class AspMvcSupressViewErrorAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal sealed class AspMvcDisplayTemplateAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. - /// Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal sealed class AspMvcEditorTemplateAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. Indicates that a parameter is an MVC template. - /// Use this attribute for custom wrappers similar to - /// System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter)] - internal sealed class AspMvcTemplateAttribute : Attribute { } - - /// - /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter - /// is an MVC view. If applied to a method, the MVC view name is calculated implicitly - /// from the context. Use this attribute for custom wrappers similar to - /// System.Web.Mvc.Controller.View(Object) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)] - internal sealed class AspMvcViewAttribute : PathReferenceAttribute { } - - /// - /// ASP.NET MVC attribute. When applied to a parameter of an attribute, - /// indicates that this parameter is an MVC action name - /// - /// - /// [ActionName("Foo")] - /// public ActionResult Login(string returnUrl) { - /// ViewBag.ReturnUrl = Url.Action("Foo"); // OK - /// return RedirectToAction("Bar"); // Error: Cannot resolve action - /// } - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property)] - internal sealed class AspMvcActionSelectorAttribute : Attribute { } - - [Conditional("DEBUG"), AttributeUsage( - AttributeTargets.Parameter | AttributeTargets.Property | - AttributeTargets.Field, Inherited = true)] - internal sealed class HtmlElementAttributesAttribute : Attribute - { - public HtmlElementAttributesAttribute() { } - public HtmlElementAttributesAttribute([NotNull] string name) - { - Name = name; - } - - [NotNull] - public string Name { get; private set; } - } - - [Conditional("DEBUG"), AttributeUsage( - AttributeTargets.Parameter | AttributeTargets.Field | - AttributeTargets.Property, Inherited = true)] - internal sealed class HtmlAttributeValueAttribute : Attribute - { - public HtmlAttributeValueAttribute([NotNull] string name) - { - Name = name; - } - - [NotNull] - public string Name { get; private set; } - } - - // Razor attributes - - /// - /// Razor attribute. Indicates that a parameter or a method is a Razor section. - /// Use this attribute for custom wrappers similar to - /// System.Web.WebPages.WebPageBase.RenderSection(String) - /// - [Conditional("DEBUG"), AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method, Inherited = true)] - internal sealed class RazorSectionAttribute : Attribute { } -} \ No newline at end of file diff --git a/external/NWebsec.Annotations/NWebsec.Annotations.xproj b/external/NWebsec.Annotations/NWebsec.Annotations.xproj deleted file mode 100644 index c42e96df..00000000 --- a/external/NWebsec.Annotations/NWebsec.Annotations.xproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - - - - - 144226e7-3eb3-459d-89c8-4d8720e1ef1e - NWebsec.Annotations - ..\..\artifacts\obj\$(MSBuildProjectName) - ..\..\artifacts\bin\$(MSBuildProjectName)\ - - - - 2.0 - - - diff --git a/external/NWebsec.Annotations/Properties/AssemblyInfo.cs b/external/NWebsec.Annotations/Properties/AssemblyInfo.cs deleted file mode 100644 index 24fcf3f2..00000000 --- a/external/NWebsec.Annotations/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("NWebsec.Annotations")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("NWebsec.Annotations")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("144226e7-3eb3-459d-89c8-4d8720e1ef1e")] -[assembly: InternalsVisibleTo("NWebsec.Core")] -[assembly: InternalsVisibleTo("NWebsec.Middleware")] -[assembly: InternalsVisibleTo("NWebsec.Mvc")] diff --git a/external/NWebsec.Annotations/project.json b/external/NWebsec.Annotations/project.json deleted file mode 100644 index e400d813..00000000 --- a/external/NWebsec.Annotations/project.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": "1.0.0-*", - "description": "NWebsec.Annotations Class Library", - "authors": [ "klings" ], - "tags": [ "" ], - "projectUrl": "", - "licenseUrl": "", - - "frameworks": { - "dnx451": { }, - "net451": { }, - "dotnet5.4": { - "dependencies": { - "Microsoft.CSharp": "4.0.1-beta-23516" - } - } - } -} diff --git a/external/NWebsec.Core/Extensions/HttpContextExtensions.cs b/external/NWebsec.Core/Extensions/HttpContextExtensions.cs index d1f4ade0..0032329c 100644 --- a/external/NWebsec.Core/Extensions/HttpContextExtensions.cs +++ b/external/NWebsec.Core/Extensions/HttpContextExtensions.cs @@ -1,13 +1,11 @@ // Copyright (c) André N. Klingsheim. See License.txt in the project root for license information. using Microsoft.AspNet.Http; -using NWebsec.Annotations; namespace NWebsec.Core.Extensions { public static class HttpContextExtensions { - [NotNull] public static NWebsecContext GetNWebsecContext(this HttpContext context) { if (!context.Items.ContainsKey(NWebsecContext.ContextKey)) diff --git a/external/NWebsec.Core/HttpHeaders/HeaderGenerator.cs b/external/NWebsec.Core/HttpHeaders/HeaderGenerator.cs index c9551ced..32af7dea 100644 --- a/external/NWebsec.Core/HttpHeaders/HeaderGenerator.cs +++ b/external/NWebsec.Core/HttpHeaders/HeaderGenerator.cs @@ -4,14 +4,12 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; -using NWebsec.Annotations; using NWebsec.Core.HttpHeaders.Configuration; namespace NWebsec.Core.HttpHeaders { public class HeaderGenerator : IHeaderGenerator { - [CanBeNull] public HeaderResult CreateXRobotsTagResult(IXRobotsTagConfiguration xRobotsTagConfig, IXRobotsTagConfiguration oldXRobotsTagConfig = null) { @@ -40,7 +38,6 @@ namespace NWebsec.Core.HttpHeaders return new HeaderResult(HeaderResult.ResponseAction.Set, HeaderConstants.XRobotsTagHeader, value); } - [CanBeNull] public HeaderResult CreateHstsResult(IHstsConfiguration hstsConfig) { if (hstsConfig.MaxAge < TimeSpan.Zero) return null; @@ -60,7 +57,6 @@ namespace NWebsec.Core.HttpHeaders value); } - [CanBeNull] public HeaderResult CreateXContentTypeOptionsResult(ISimpleBooleanConfiguration xContentTypeOptionsConfig, ISimpleBooleanConfiguration oldXContentTypeOptionsConfig = null) { @@ -75,7 +71,6 @@ namespace NWebsec.Core.HttpHeaders : null; } - [CanBeNull] public HeaderResult CreateXDownloadOptionsResult(ISimpleBooleanConfiguration xDownloadOptionsConfig, ISimpleBooleanConfiguration oldXDownloadOptionsConfig = null) { @@ -89,7 +84,6 @@ namespace NWebsec.Core.HttpHeaders : null; } - [CanBeNull] public HeaderResult CreateXXssProtectionResult(IXXssProtectionConfiguration xXssProtectionConfig, IXXssProtectionConfiguration oldXXssProtectionConfig = null) { @@ -121,7 +115,6 @@ namespace NWebsec.Core.HttpHeaders return new HeaderResult(HeaderResult.ResponseAction.Set, HeaderConstants.XXssProtectionHeader, value); } - [CanBeNull] public HeaderResult CreateXfoResult(IXFrameOptionsConfiguration xfoConfig, IXFrameOptionsConfiguration oldXfoConfig = null) { @@ -149,7 +142,6 @@ namespace NWebsec.Core.HttpHeaders } } - [CanBeNull] public HeaderResult CreateHpkpResult(IHpkpConfiguration hpkpConfig, bool reportOnly) { if (hpkpConfig.MaxAge < TimeSpan.Zero || hpkpConfig.Pins == null || !hpkpConfig.Pins.Any()) return null; @@ -190,7 +182,6 @@ namespace NWebsec.Core.HttpHeaders return new HeaderResult(HeaderResult.ResponseAction.Set, headerName, value); } - [CanBeNull] public HeaderResult CreateCspResult(ICspConfiguration cspConfig, bool reportOnly, string builtinReportHandlerUri = null, ICspConfiguration oldCspConfig = null) { @@ -215,7 +206,6 @@ namespace NWebsec.Core.HttpHeaders (reportOnly ? HeaderConstants.ContentSecurityPolicyReportOnlyHeader : HeaderConstants.ContentSecurityPolicyHeader), headerValue); } - [CanBeNull] private string CreateCspHeaderValue(ICspConfiguration config, string builtinReportHandlerUri = null) { var sb = new StringBuilder(); diff --git a/external/NWebsec.Core/Properties/AssemblyInfo.cs b/external/NWebsec.Core/Properties/AssemblyInfo.cs deleted file mode 100644 index 370de688..00000000 --- a/external/NWebsec.Core/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("NWebsec.Core")] -[assembly: AssemblyDescription("Core features for the NWebsec security libraries.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Andre N. Klingsheim")] -[assembly: AssemblyProduct("NWebsec.Core")] -[assembly: AssemblyCopyright("Copyright © 2013 - 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("e9575361-5c4b-425a-bca5-0e8249c6c5fb")] - -[assembly:InternalsVisibleTo("NWebsec.Core.Tests")] diff --git a/external/NWebsec.Core/project.json b/external/NWebsec.Core/project.json index a44cacc8..03b3f8e6 100644 --- a/external/NWebsec.Core/project.json +++ b/external/NWebsec.Core/project.json @@ -11,24 +11,23 @@ "projectUrl": "https://docs.nwebsec.com/en/latest/", "licenseUrl": "https://github.com/NWebsec/NWebsec/blob/master/LICENSE", "iconUrl": "https://klings.blob.core.windows.net/nwebsecicon/nwebsec_nuget.png", + + "shared": "**/**.cs", + "frameworks": { "dnx451": { }, "net451": { }, "dotnet5.4": { "dependencies": { - "Microsoft.CSharp": "4.0.1-beta-23516", - "System.Runtime": "4.0.21-beta-23516", - "System.Security.Cryptography.Algorithms": "4.0.0-beta-23516", - "System.Security.Cryptography.X509Certificates": "4.0.0-beta-23516", - "System.Text.RegularExpressions": "4.0.11-beta-23516" + "Microsoft.CSharp": "4.0.1-*", + "System.Runtime": "4.0.21-*", + "System.Security.Cryptography.Algorithms": "4.0.0-*", + "System.Security.Cryptography.X509Certificates": "4.0.0-*", + "System.Text.RegularExpressions": "4.0.11-*" } } }, "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc2-*", - "NWebsec.Annotations": { - "version": "1.0.0-*", - "type": "build" - } + "Microsoft.AspNet.Http.Abstractions": "1.0.0-*" } } diff --git a/external/NWebsec.Middleware/Properties/AssemblyInfo.cs b/external/NWebsec.Middleware/Properties/AssemblyInfo.cs deleted file mode 100644 index 540e381c..00000000 --- a/external/NWebsec.Middleware/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("NWebsec.Middleware")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("NWebsec.Middleware")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("38c8e88f-1d01-466f-b47d-6d67f13c1594")] -[assembly: InternalsVisibleTo("NWebsec.Middleware.Tests")] \ No newline at end of file diff --git a/external/NWebsec.Middleware/project.json b/external/NWebsec.Middleware/project.json index a70469ad..3e6a613e 100644 --- a/external/NWebsec.Middleware/project.json +++ b/external/NWebsec.Middleware/project.json @@ -10,13 +10,16 @@ "projectUrl": "https://docs.nwebsec.com/en/latest/", "licenseUrl": "https://github.com/NWebsec/NWebsec/blob/master/LICENSE", "iconUrl": "https://klings.blob.core.windows.net/nwebsecicon/nwebsec_nuget.png", + + "shared": "**/**.cs", + "frameworks": { "dnx451": { }, "net451": { }, "dotnet5.4": { "dependencies": { - "Microsoft.CSharp": "4.0.1-beta-23516", - "System.Runtime": "4.0.21-beta-23516" + "Microsoft.CSharp": "4.0.1-*", + "System.Runtime": "4.0.21-*" } } diff --git a/src/OpenIddict.Core/Properties/AssemblyInfo.cs b/src/OpenIddict.Core/Properties/AssemblyInfo.cs deleted file mode 100644 index 65f5614e..00000000 --- a/src/OpenIddict.Core/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenIddict.Core")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("OpenIddict.Core")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("e60cf8ca-6313-4359-be43-afcbb927ea30")] diff --git a/src/OpenIddict.Mvc/OpenIddictExtensions.cs b/src/OpenIddict.Mvc/OpenIddictExtensions.cs index da023688..ceac92f7 100644 --- a/src/OpenIddict.Mvc/OpenIddictExtensions.cs +++ b/src/OpenIddict.Mvc/OpenIddictExtensions.cs @@ -21,7 +21,6 @@ using OpenIddict; namespace Microsoft.AspNet.Builder { public static class OpenIddictExtensions { public static OpenIddictBuilder UseMvc([NotNull] this OpenIddictBuilder builder) { - builder.AddModule(-20, app => { // Insert a new middleware responsible of setting the Content-Security-Policy header. // See https://nwebsec.codeplex.com/wikipage?title=Configuring%20Content%20Security%20Policy&referringTitle=NWebsec diff --git a/src/OpenIddict.Mvc/Properties/AssemblyInfo.cs b/src/OpenIddict.Mvc/Properties/AssemblyInfo.cs deleted file mode 100644 index e6bc65ac..00000000 --- a/src/OpenIddict.Mvc/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenIddict.Mvc")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("OpenIddict.Mvc")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("7ae46e2f-e93b-4ff9-b941-6cd7a3e1bf84")] diff --git a/src/OpenIddict.Mvc/project.json b/src/OpenIddict.Mvc/project.json index dc8b1c13..c4eb5406 100644 --- a/src/OpenIddict.Mvc/project.json +++ b/src/OpenIddict.Mvc/project.json @@ -31,6 +31,10 @@ "frameworks": { "dnx451": { }, - "dnxcore50": { } + "dnxcore50": { + "dependencies": { + "System.Reflection": "4.1.0-*" + } + } } } \ No newline at end of file