diff options
author | vnugent <public@vaughnnugent.com> | 2023-02-14 13:23:38 -0500 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-02-14 13:23:38 -0500 |
commit | f0f182b903c6807d87640514d2c1250f7d871d26 (patch) | |
tree | fc8b721dd72da40c2a5def14065044cbf13b8b66 /lib | |
parent | a4d1d5acff5760a9432117cae634ca98881ad0ec (diff) |
msbuild project file update for build stack, typo fixes
Diffstat (limited to 'lib')
18 files changed, 228 insertions, 83 deletions
diff --git a/lib/Hashing.Portable/src/ManagedHash.cs b/lib/Hashing.Portable/src/ManagedHash.cs index b4e5f09..dd0a8af 100644 --- a/lib/Hashing.Portable/src/ManagedHash.cs +++ b/lib/Hashing.Portable/src/ManagedHash.cs @@ -31,12 +31,36 @@ using VNLib.Utils.Memory; namespace VNLib.Hashing { + /// <summary> + /// Defines a hashing algorithm to use when computing a hash. + /// </summary> public enum HashAlg { + /// <summary> + /// Unused type, will cause a computation method to raise an argument exception when used. + /// </summary> + None, + /// <summary> + /// Defines the SHA-512 hashing algorithm + /// </summary> SHA512 = 64, + /// <summary> + /// Defines the SHA-384 hashing algorithm + /// </summary> SHA384 = 48, + /// <summary> + /// Defines the SHA-256 hashing algorithm + /// </summary> SHA256 = 32, + /// <summary> + /// Defines the SHA-1 hashing algorithm + /// WARNING: This hashing method is considered insecure and cannot be corrected. + /// </summary> SHA1 = 20, + /// <summary> + /// Defines the MD5 hashing algorithm + /// WARNING: This hashing method is considered insecure and cannot be corrected. + /// </summary> MD5 = 16 } diff --git a/lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj b/lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj index 7015217..7630f6f 100644 --- a/lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj +++ b/lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj @@ -1,23 +1,15 @@ <Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - - <TargetFramework>net6.0</TargetFramework> - - <Version>1.0.1.3</Version> - + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <Version>1.0.1.3</Version> <AssemblyName>VNLib.Hashing.Portable</AssemblyName> <RootNamespace>VNLib.Hashing</RootNamespace> - - <AllowUnsafeBlocks>True</AllowUnsafeBlocks> - + <AllowUnsafeBlocks>True</AllowUnsafeBlocks> <Nullable>enable</Nullable> <AnalysisLevel>latest-all</AnalysisLevel> <ProduceReferenceAssembly>True</ProduceReferenceAssembly> - <GenerateDocumentationFile>True</GenerateDocumentationFile> - - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> + <GenerateDocumentationFile>True</GenerateDocumentationFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> @@ -25,8 +17,10 @@ <Product>VNLib Hashing Function/Alg Library</Product> <Description>Provides managed and random cryptocraphic hashing helper classes, including complete Argon2 password hashing.</Description> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Hashing.Portable</RepositoryUrl> </PropertyGroup> <ItemGroup> @@ -41,6 +35,13 @@ </ItemGroup> <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + + <ItemGroup> <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> diff --git a/lib/Net.Http/src/VNLib.Net.Http.csproj b/lib/Net.Http/src/VNLib.Net.Http.csproj index f93621e..06ba5e1 100644 --- a/lib/Net.Http/src/VNLib.Net.Http.csproj +++ b/lib/Net.Http/src/VNLib.Net.Http.csproj @@ -4,20 +4,18 @@ <TargetFramework>net6.0</TargetFramework> <RootNamespace>VNLib.Net.Http</RootNamespace> <AssemblyName>VNLib.Net.Http</AssemblyName> - <PackageId>VNLib.Net.Http</PackageId> <Version>1.0.1.5</Version> <NeutralLanguage>en-US</NeutralLanguage> <Nullable>enable</Nullable> <GenerateDocumentationFile>True</GenerateDocumentationFile> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> + <PackageId>VNLib.Net.Http</PackageId> <Authors>Vaughn Nugent</Authors> - <Company>$(Authors)</Company> + <Company>Vaughn Nugent</Company> <Product>VNLib HTTP Library</Product> <Description> Provides a high performance HTTP 0.9-1.1 application processing layer for handling transport *agnostic connections and asynchronous event support for applications serving HTTP @@ -25,7 +23,8 @@ outside of the VNLib ecosystem are required. The VNLib.Plugins and VNLib.Plugins.Essentials libraries are highly recommended for serving web content. </Description> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Net.Http</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)'=='Debug'"> @@ -55,4 +54,11 @@ <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs b/lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs index c6082f0..77278f1 100644 --- a/lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs +++ b/lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs @@ -57,7 +57,7 @@ namespace VNLib.Net.Messaging.FBM.Client /// </summary> public readonly int MaxMessageSize { get; init; } /// <summary> - /// The heap to allocate interal (and message) buffers from + /// The heap to allocate internal (and message) buffers from /// </summary> public readonly IUnmangedHeap BufferHeap { get; init; } /// <summary> diff --git a/lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj b/lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj index 7796425..db51bc4 100644 --- a/lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj +++ b/lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj @@ -2,19 +2,27 @@ <PropertyGroup> <TargetFramework>net6.0</TargetFramework> - <Version>1.0.1.1</Version> - <Nullable>enable</Nullable> + <RootNamespace>VNLib.Net.Messaging.FBM</RootNamespace> + <AssemblyName>VNLib.Net.Messaging.FBM</AssemblyName> + <Version>1.0.1.1</Version> + <Nullable>enable</Nullable> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <GenerateDocumentationFile>True</GenerateDocumentationFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> + <PackageId>VNLib.Net.Messaging.FBM</PackageId> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> + <Description> + Fixed Buffer Messaging protocol class library. Implements a high-performance asynchronous + request/response messaging architecture build on top of HTTP websockets. Provides client + and server data structures. + </Description> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources/software</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Net.Messaging.FBM</RepositoryUrl> </PropertyGroup> <ItemGroup> @@ -34,4 +42,11 @@ <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Net.Rest.Client/src/VNLib.Net.Rest.Client.csproj b/lib/Net.Rest.Client/src/VNLib.Net.Rest.Client.csproj index f4d5188..a9cc2d3 100644 --- a/lib/Net.Rest.Client/src/VNLib.Net.Rest.Client.csproj +++ b/lib/Net.Rest.Client/src/VNLib.Net.Rest.Client.csproj @@ -7,16 +7,22 @@ <Version>1.0.1.1</Version> <GenerateDocumentationFile>True</GenerateDocumentationFile> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> + <PackageId>VNLib.Net.Rest.Client</PackageId> + <Company>Vaughn Nugent</Company> <Authors>Vaughn Nugent</Authors> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <Description>An Oauth2 rest client connection pool for OAuth2 authenticated services</Description> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <Description> + Provides a RestClient connection pool using the Utils.ObjectRental + framework for reusing RestClients with a common configuration to execute + RestRequests against. This library also implements an OAuth2 authenticator + for the RestSharp IAuthenticator using the client credentials method. + </Description> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Net.Rest.Client</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> @@ -47,4 +53,11 @@ <Folder Include="Exceptions\" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj b/lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj index 9ac7f2e..a5cdeea 100644 --- a/lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj +++ b/lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj @@ -8,20 +8,20 @@ <Version>1.0.1.4</Version> <GenerateDocumentationFile>True</GenerateDocumentationFile> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> <Product>VNLib Simple Transport Library</Product> <Description> - Provides a library for single process asynchronous, event driven, TCP socket listening and supporting structures to implement - simple high performance TCP servers with or without TLS security. + Provides a library for single process asynchronous, event driven, TCP socket listening and supporting + structures to implement simple high performance TCP servers with or without TLS security. </Description> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Net.Transport.SimpleTCP</RepositoryUrl> </PropertyGroup> <ItemGroup> @@ -40,4 +40,11 @@ <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj b/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj index 6337202..4918c49 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj +++ b/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj @@ -12,15 +12,20 @@ <PackageReadmeFile>README.md</PackageReadmeFile> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> + <PackageId>VNLib.Plugins.Essentials.ServiceStack</PackageId> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <Description> + Provides data structures for building a dynamic HTTP servicing stack with runtime plugin loading, + dynamic endpoint routing, middleware* configuration, and multi-server managment. + </Description> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Plugins.Essentials.ServiceStack</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> diff --git a/lib/Plugins.Essentials/src/EventProcessor.cs b/lib/Plugins.Essentials/src/EventProcessor.cs index 4f51907..d34cf95 100644 --- a/lib/Plugins.Essentials/src/EventProcessor.cs +++ b/lib/Plugins.Essentials/src/EventProcessor.cs @@ -264,7 +264,7 @@ namespace VNLib.Plugins.Essentials } /// <summary> - /// Removes the specified endpoint from the virtual store and oauthendpoints if eneabled and found + /// Removes the specified endpoint from the virtual endpoint store /// </summary> /// <param name="eps">A collection of endpoints to remove from the table</param> public void RemoveEndpoint(params IEndpoint[] eps) @@ -305,7 +305,8 @@ namespace VNLib.Plugins.Essentials { _ = newTable.Remove(eps); } - //Store the new table ony if the endpoint existed + + //Store the new table _ = Interlocked.Exchange(ref VirtualEndpoints, newTable); } } @@ -320,12 +321,14 @@ namespace VNLib.Plugins.Essentials //Set ambient processor context _currentProcessor.Value = this; + //Start cancellation token CancellationTokenSource timeout = new(Options.ExecutionTimeout); + try { //Session handle, default to the shared empty session - SessionHandle sessionHandle = default; + SessionHandle sessionHandle = SessionHandle.Empty; //If sessions are set, get a session for the current connection if (_sessions != null) @@ -343,8 +346,10 @@ namespace VNLib.Plugins.Essentials { //Setup entity HttpEntity entity = new(httpEvent, this, in sessionHandle, timeout.Token); + //Pre-process entity FileProcessArgs preProc = await PreProcessEntityAsync(entity); + //If preprocess returned a value, exit if (preProc != FileProcessArgs.Continue) { @@ -356,6 +361,7 @@ namespace VNLib.Plugins.Essentials { //Process a virtual file FileProcessArgs virtualArgs = await ProcessVirtualAsync(entity); + //If the entity was processed, exit if (virtualArgs != FileProcessArgs.Continue) { @@ -363,14 +369,17 @@ namespace VNLib.Plugins.Essentials return; } } + //If no virtual processor handled the ws request, deny it if (entity.Server.IsWebSocketRequest) { ProcessFile(httpEvent, in FileProcessArgs.Deny); return; } + //Finally process as file FileProcessArgs args = await RouteFileAsync(entity); + //Finally process the file ProcessFile(httpEvent, in args); } diff --git a/lib/Plugins.Essentials/src/Sessions/SessionBase.cs b/lib/Plugins.Essentials/src/Sessions/SessionBase.cs index d386b8b..c8cab0d 100644 --- a/lib/Plugins.Essentials/src/Sessions/SessionBase.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionBase.cs @@ -113,7 +113,7 @@ namespace VNLib.Plugins.Essentials.Sessions public virtual ulong Privilages { [MethodImpl(MethodImplOptions.AggressiveInlining)] - get => Convert.ToUInt64(this[PRIV_ENTRY], 16); + get => string.IsNullOrWhiteSpace(this[PRIV_ENTRY]) ? 0 : Convert.ToUInt64(this[PRIV_ENTRY], 16); //Store in hexadecimal to conserve space [MethodImpl(MethodImplOptions.AggressiveInlining)] set => this[PRIV_ENTRY] = value.ToString("X"); diff --git a/lib/Plugins.Essentials/src/Sessions/SessionInfo.cs b/lib/Plugins.Essentials/src/Sessions/SessionInfo.cs index fa7f8b7..816fa94 100644 --- a/lib/Plugins.Essentials/src/Sessions/SessionInfo.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionInfo.cs @@ -49,6 +49,10 @@ namespace VNLib.Plugins.Essentials.Sessions /// When attached to a connection, provides persistant session storage and inforamtion based /// on a connection. /// </summary> + /// <remarks> + /// This structure should not be stored and should not be accessed when the parent http entity + /// has been closed. + /// </remarks> public readonly struct SessionInfo : IObjectStorage, IEquatable<SessionInfo> { /// <summary> @@ -58,10 +62,15 @@ namespace VNLib.Plugins.Essentials.Sessions public readonly bool IsSet; private readonly ISession UserSession; + /// <summary> /// Key that identifies the current session. (Identical to cookie::sessionid) /// </summary> - public readonly string SessionID; + public readonly string SessionID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => UserSession.SessionID; + } /// <summary> /// Session stored User-Agent /// </summary> @@ -85,17 +94,11 @@ namespace VNLib.Plugins.Essentials.Sessions [MethodImpl(MethodImplOptions.AggressiveInlining)] public void RegenID() => UserSession.RegenID(); ///<inheritdoc/> - public T GetObject<T>(string key) - { - //Attempt to deserialze the object, or return default if it is empty - return this[key].AsJsonObject<T>(SR_OPTIONS); - } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public T GetObject<T>(string key) => this[key].AsJsonObject<T>(SR_OPTIONS); ///<inheritdoc/> - public void SetObject<T>(string key, T obj) - { - //Serialize and store the object, or set null (remove) if the object is null - this[key] = obj?.ToJsonString(SR_OPTIONS); - } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetObject<T>(string key, T obj) => this[key] = obj?.ToJsonString(SR_OPTIONS); /// <summary> /// Was the original session cross origin? @@ -161,7 +164,11 @@ namespace VNLib.Plugins.Essentials.Sessions /// <summary> /// The IP address belonging to the client /// </summary> - public readonly IPAddress UserIP; + public readonly IPAddress UserIP + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => UserSession.UserIP; + } /// <summary> /// Was the session Initialy established on a secure connection? /// </summary> @@ -169,7 +176,11 @@ namespace VNLib.Plugins.Essentials.Sessions /// <summary> /// A value specifying the type of the backing session /// </summary> - public readonly SessionType SessionType => UserSession.SessionType; + public readonly SessionType SessionType + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => UserSession.SessionType; + } /// <summary> /// Accesses the session's general storage @@ -189,9 +200,7 @@ namespace VNLib.Plugins.Essentials.Sessions UserSession = session; //Calculate and store IsNew = session.IsNew; - SessionID = session.SessionID; Created = session.Created; - UserIP = session.UserIP; //Ip match IPMatch = trueIp.Equals(session.UserIP); //If the session is new, we can store intial security variables diff --git a/lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj b/lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj index 6901401..1fa6264 100644 --- a/lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj +++ b/lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj @@ -4,23 +4,26 @@ <TargetFramework>net6.0</TargetFramework> <RootNamespace>VNLib.Plugins.Essentials</RootNamespace> <AssemblyName>VNLib.Plugins.Essentials</AssemblyName> - <Version>1.0.1.3</Version> <AnalysisLevel>latest-all</AnalysisLevel> <EnableNETAnalyzers>True</EnableNETAnalyzers> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <GenerateDocumentationFile>True</GenerateDocumentationFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn NUgent</Company> + <PackageId>VNLib.Plugins.Essentials</PackageId> <Product>VNLib Essentials Plugin Library</Product> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <Description>Provides essential web, user, storage, and database interaction features for use with web applications</Description> + <Description> + Provides essential web, sessions, users abstractions for building extensable web applications + with satefull sessions, user based intraction with login and account security extensions. + </Description> <PackageProjectUrl>https://www.vaughnnugent.com/resources/software</PackageProjectUrl> <PackageTags>VNLib, Plugins, VNLib.Plugins.Essentials, Essentials, Essential Plugins, HTTP Essentials, OAuth2</PackageTags> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> @@ -42,6 +45,13 @@ </ItemGroup> <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + + <ItemGroup> <ProjectReference Include="..\..\Hashing.Portable\src\VNLib.Hashing.Portable.csproj" /> <ProjectReference Include="..\..\Net.Http\src\VNLib.Net.Http.csproj" /> <ProjectReference Include="..\..\Plugins\src\VNLib.Plugins.csproj" /> diff --git a/lib/Plugins.PluginBase/src/VNLib.Plugins.PluginBase.csproj b/lib/Plugins.PluginBase/src/VNLib.Plugins.PluginBase.csproj index 7b24f85..a3be9bf 100644 --- a/lib/Plugins.PluginBase/src/VNLib.Plugins.PluginBase.csproj +++ b/lib/Plugins.PluginBase/src/VNLib.Plugins.PluginBase.csproj @@ -3,21 +3,24 @@ <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <RootNamespace>VNLib.Plugins</RootNamespace> - <PackageId>VNLib.Plugins.PluginBase</PackageId> <AssemblyName>VNLib.Plugins.PluginBase</AssemblyName> <Version>1.0.1.2</Version> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> <GenerateDocumentationFile>True</GenerateDocumentationFile> </PropertyGroup> <PropertyGroup> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> + <PackageId>VNLib.Plugins.PluginBase</PackageId> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> - <Description>A base class for VNLib.Plugins that provides all supported loading functionalities, with built-in logging, loading, task-managment and endpoint routing.</Description> + <Description> + A base class for VNLib.Plugins that provides all supported loading functionalities, + with built-in logging, loading, task-managment and endpoint routing. + </Description> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Plugins.PluginBase</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> @@ -49,5 +52,12 @@ <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj b/lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj index 5306727..37a9e74 100644 --- a/lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj +++ b/lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj @@ -6,8 +6,6 @@ <RootNamespace>VNLib.Plugins.Runtime</RootNamespace> <AssemblyName>VNLib.Plugins.Runtime</AssemblyName> <Version>1.0.1.1</Version> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <AnalysisLevel>latest-all</AnalysisLevel> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> <GenerateDocumentationFile>True</GenerateDocumentationFile> @@ -15,12 +13,15 @@ <PropertyGroup> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> + <PackageId>VNLib.Plugins.Runtime</PackageId> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> <Description> A runtime plugin loader for .NET. Allows runtime loading and tracking of .NET assemblies that export the VNLib.Plugin.IPlugin interface. </Description> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Plugins.Runtime</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> @@ -47,4 +48,11 @@ <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Plugins/src/VNLib.Plugins.csproj b/lib/Plugins/src/VNLib.Plugins.csproj index e558e95..062e7a4 100644 --- a/lib/Plugins/src/VNLib.Plugins.csproj +++ b/lib/Plugins/src/VNLib.Plugins.csproj @@ -2,22 +2,19 @@ <PropertyGroup> <TargetFramework>net6.0</TargetFramework> - <RootNamespace>VNLib.Plugins</RootNamespace> - - <Version>1.0.1.3</Version> - + <RootNamespace>VNLib.Plugins</RootNamespace> <AssemblyName>VNLib.Plugins</AssemblyName> - + <Version>1.0.1.3</Version> <Nullable>enable</Nullable> <GenerateDocumentationFile>True</GenerateDocumentationFile> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> + <PackageId>VNLib.Plugins</PackageId> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> <PackageTags>Plugins, VNLIb, VNLib Plugins, Plugin Base</PackageTags> <Product>VNLib Plugins Interface Assembly</Product> @@ -26,7 +23,8 @@ plugins and asynchronus web endpoint processing, compatible with the VNLib.Plugins.Runtime loader library. </Description> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Plugins</RepositoryUrl> </PropertyGroup> <ItemGroup> @@ -40,4 +38,11 @@ </PackageReference> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + </Project> diff --git a/lib/Utils/README.md b/lib/Utils/README.md index a3be003..60a65c5 100644 --- a/lib/Utils/README.md +++ b/lib/Utils/README.md @@ -1,6 +1,6 @@ # VNLib.Utils -A .NET/C# library for common .NET operation optimizations. +A .NET 6 /C# library for common .NET operation optimizations. namespaces - VNLib.Utils.Async - Provides classes for asynchronous access synchronization and some asynchronous collections @@ -9,6 +9,9 @@ namespaces - VNLib.Utils.Logging - Logging interfaces for zero dependency logging - VNLib.Utils.Memory - Utilities for safely accessing unmanaged memory and CLR memory - VNLib.Utils.Memory.Caching - Data structures for managed object, data caching, and interfaces for cache-able objects +- VNLib.Utils.Memory.Diagnostics - Data structures for assisting in unmanaged memory diagnostics, and library wide memory diagnostics enablement +- VNLib.Utils.Native - Utilities for safely (dynamically) loading and accessing platform native libraries. +- VNLib.Utils.Resources - Abstractions and base data structures for holding and accessing resources. #### Builds Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my [website](https://www.vaughnnugent.com/resources/software). All tar-gzip (.tgz) files will have an associated .sha384 appended checksum of the desired download file. @@ -33,7 +36,7 @@ The Memory.Diagnostics namespace was added to provide a wrapper for tracking IUn ## Usage A usage breakdown would be far to lengthy for this library, and instead I intend to keep valid and comprehensive documentation in Visual Studio XML documentation files included in this project's src directory. -This library is a utilities library and therefor may be directly included in your application or libraries, +This library is a utilities library and therefor may be directly included in your application or libraries. ### License diff --git a/lib/Utils/src/VNLib.Utils.csproj b/lib/Utils/src/VNLib.Utils.csproj index 907ee1e..36fd1ca 100644 --- a/lib/Utils/src/VNLib.Utils.csproj +++ b/lib/Utils/src/VNLib.Utils.csproj @@ -3,30 +3,41 @@ <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <RootNamespace>VNLib.Utils</RootNamespace> - <AssemblyName>VNLib.Utils</AssemblyName> <Version>1.0.1.10</Version> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <Nullable>enable</Nullable> <GenerateDocumentationFile>True</GenerateDocumentationFile> <AnalysisLevel>latest-all</AnalysisLevel> - <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> </PropertyGroup> <PropertyGroup> + <PackageId>VNLib.Utils</PackageId> <Authors>Vaughn Nugent</Authors> + <Company>Vaughn Nugent</Company> <Product>VNLib Utilities Library</Product> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> - <Description>Base utilities library, structs, classes</Description> + <Description> + .NET/6.0 Utilities library for high-performance common operations. Utilities and abstractions for building and + diagnosing native memory implementations. Dyanmic native library loading, IO, extensions, data encoding, resource + access, and asynchronous cooperation primitives. + </Description> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Core/tree/main/lib/Utils</RepositoryUrl> </PropertyGroup> <ItemGroup> <None Include="..\.editorconfig" Link=".editorconfig" /> </ItemGroup> + <ItemGroup> + <None Include="..\README.md"> + <Pack>True</Pack> + <PackagePath>\</PackagePath> + </None> + </ItemGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow> </PropertyGroup> diff --git a/lib/WinRpMalloc/src/package.json b/lib/WinRpMalloc/src/package.json new file mode 100644 index 0000000..d55eeae --- /dev/null +++ b/lib/WinRpMalloc/src/package.json @@ -0,0 +1,9 @@ +{ + "Description": "A project to maintain a Windows dll for RpMalloc by Mattias Jansson with some basic defaults for .NET loading", + "Authors": "Vaughn Nugent", + "Copyright": "Copyright © 2023 Vaughn Nugent", + "Version": "0.1.1", + "Company": "Vaughn Nugent", + "Product": "WinRpMalloc", + "RepositoryUrl": "https://github.com/VnUgE/VNLib.Core/tree/main/lib/WinRpMalloc" +}
\ No newline at end of file |