* Fixing ContentDashboardSettings to work when set in the config
* Moving file in Models folder and adding ContentDashboardUrlAllowlist setting
* Implementing allowlist for content dashboard base url
* Cleanup
* Error msg vs log msg
* Allow changing UmbracoMediaPath to an absolute path. Also ensure Imagesharp are handing requests outside of the wwwroot folder.
* Let UmbracoMediaUrl fallback to UmbracoMediaPath when empty
* Add FileSystemFileProvider to expose an IFileSystem as IFileProvider
* Replace IUmbracoMediaFileProvider with IFileProviderFactory implementation
* Fix issue resolving relative paths when media URL has changed
* Remove FileSystemFileProvider and require explicitly implementing IFileProviderFactory
* Update tests (UnauthorizedAccessException isn't thrown anymore for rooted files)
* Update test to use UmbracoMediaUrl
* Add UmbracoMediaPhysicalRootPath global setting
* Remove MediaFileManagerImageProvider and use composited file providers
* Move CreateFileProvider to IFileSystem extension method
* Add rooted path tests
Co-authored-by: Ronald Barendse <ronald@barend.se>
By adding a new configuration and mapping the old CharCollection to that, we can get around having to return null the first time, by obsoleting the old one and redirecting to the new GetCharReplacements method
Since this is the way it's been previously, we cannot change the behaviour of this. Unfortunately due to how the config binding works, we have to make sure it returns null the very first time it's called by the framework to ensure that overrides actually gets registered.
On second thought this is not a breaking change since CharItem implements IChar, so you could still do something lke IEnumerable<IChar> chars = requestHandlerSettings.CharCollection
* Add TelemetryService
Currently it only allows you to get a list of the name of all the installed packages
* Create model class for package telemetry
And move the telemetry report data out of ReportSiteTask
* Add version as an option in package manifest
* Use TelemetryService to generate telemetry data
Instead of doing it directly in the ReportSiteTask
* Seal TelemetryService
This should not be overwritten
* Add option for package creators to opt out
* Add global setting to restrict package telemetry
* Add TelemetryService unit tests
* Add ManifestParser tests for new properties
* Clean
* Update src/Umbraco.Core/Telemetry/TelemetryService.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Create interface for telemetry service
* Use IOptionsMonitor instead of IOptions
However I chose to use CurrentValue since according to microsoft: "Some file systems, such as Docker containers and network shares, may not reliably send change notifications.", additionally TelemetryService only runs once pr. day, so it shouldn't be too much of an issue that it doesn't cache the result.
* Use is false instead of negation
It's a bit more readable
* Track restrict package telemetry value
* Save RestrictPackageTelemetry in report data
Not packages, since it'll be the same for all packages
* Fix TelemetryService unit tests
* Clean
* Update src/Umbraco.Core/Telemetry/ITelemetryService.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Remove RestrictPackageTelemetry
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* https://github.com/umbraco/Umbraco-CMS/issues/11366
Fallback to try login using super legacy HMACSHA1 even when the algorithm is stated as being HMACSHA256. The issue is that v8 saves HMACSHA256 on the user, but when configured to use legacy encoding it actually uses HMACSHA1
* Support migration of members with:
UseLegacyEncoding+Clear
UseLegacyEncoding+Encrypted (Requires machine key)
UseLegacyEncoding+Hashed
* Fixes unit tests
* Avoid exceptions + unit tests
* Save unknown algorithm if we dont know it, instead of persisting a wrong algorithm.
* Added setting to enable clear text password rehashes.
* Removed support for migration of clear text passwords
* Fixed unit test
`CharCollection` didn't map correctly from the config, updated to an array so that it does
Add logic to concatenate user and default replacements, replacing defaults with user defined if present.
Added additional option to disable the default replacements
* Introduce an opt-out options from the import of embedded schema files.
* Moved the initialization of the static service provider into CoreRuntime as this runs before the IStartupFilters, and otherwise the static service provider is not available in hosted services. E.g. for migrations
* fix build
* Minor code tidy and naming alignment.
* Update src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
* Removed default installation of starter kit.
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Updates to latest examine, ensures indexes are unlocked on startup, adds more info to the diagnostics and allows for the new sync directory factory to work.
* Gets index syncing working correct and fixes reindexing to not overprocess indexes
* fix duplicate package ref
* rebuilds empty indexes and fixes config with enum
* missing file
* Renaming AppData Models Builder mode
* Renaming PureLive Models Builder mode to Runtime
* ModelsBuilderAssembly attribute flags if models are "Live" or not
* Updated ModelsMode names
* Only add tag if it is not a pull request. Apparently this is not allowed when it is from a fork.
* Revert "Only add tag if it is not a pull request. Apparently this is not allowed when it is from a fork."
This reverts commit 92b33f3c
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* fixes#10213. When models folder is included in project the models have a Build Action of C# Compiler
* models directory comment indicates correct models location
* added PureLive files to App_Data/Temp
* changed PureLive directory
* include generated models in project
* https://github.com/umbraco/Umbraco-CMS/pull/10250/ - Cleanup in csproj file and fix the generated template too
Co-authored-by: Mario Lopez <mario@monkii.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* As we always ship with config in V8 to set this to be true makes sense it now because default in code
* Explicitly add JSON Schema property incase user IDE does not automap it
* Escaping issue with example usages
* Getting new netcore PublicAccessChecker in place
* Adds full test coverage for PublicAccessChecker
* remove PublicAccessComposer
* adjust namespaces, ensure RoleManager works, separate public access controller, reduce content controller
* Implements the required methods on IMemberManager, removes old migrated code
* Updates routing to be able to re-route, Fixes middleware ordering ensuring endpoints are last, refactors pipeline options, adds public access middleware, ensures public access follows all hops
* adds note
* adds note
* Cleans up ext methods, ensures that members identity is added on both front-end and back ends. updates how UmbracoApplicationBuilder works in that it explicitly starts endpoints at the time of calling.
* Changes name to IUmbracoEndpointBuilder
* adds note
* Fixing tests, fixing error describers so there's 2x one for back office, one for members, fixes TryConvertTo, fixes login redirect
* fixing build
* Updates user manager to correctly validate password hashing and injects the IBackOfficeUserPasswordChecker
* Merges PR
* Fixes up build and notes
* Implements security stamp and email confirmed for members, cleans up a bunch of repo/service level member groups stuff, shares user store code between members and users and fixes the user identity object so we arent' tracking both groups and roles.
* Security stamp for members is now working
* Fixes keepalive, fixes PublicAccessMiddleware to not throw, updates startup code to be more clear and removes magic that registers middleware.
* adds note
* removes unused filter, fixes build
* fixes WebPath and tests
* Looks up entities in one query
* remove usings
* Fix test, remove stylesheet
* Set status code before we write to response to avoid error
* Ensures that users and members are validated when logging in. Shares more code between users and members.
* merge changes
* oops
* Reducing and removing published member cache
* Fixes RepositoryCacheKeys to ensure the keys are normalized
* oops didn't mean to commit this
* Fix casing issues with caching, stop boxing value types for all cache operations, stop re-creating string keys in DefaultRepositoryCachePolicy
* oops didn't mean to comit this
* bah, far out this keeps getting recommitted. sorry
* cannot inject IPublishedMemberCache and cannot have IPublishedMember
* splits out files, fixes build
* fix tests
* removes membership provider classes
* removes membership provider classes
* updates the identity map definition
* reverts commented out lines
* reverts commented out lines
* Implements members Password config in db, fixes members cookie auth to not interfere with the back office cookie auth, fixes Startup sequence, fixes startup pipeline
* commits change to Startup
* Rename migration from `MemberTableColumns2` to `AddPasswordConfigToMemberTable`
* Fix test
* Fix tests, but adding default passwordConfig to members
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Getting new netcore PublicAccessChecker in place
* Adds full test coverage for PublicAccessChecker
* remove PublicAccessComposer
* adjust namespaces, ensure RoleManager works, separate public access controller, reduce content controller
* Implements the required methods on IMemberManager, removes old migrated code
* Updates routing to be able to re-route, Fixes middleware ordering ensuring endpoints are last, refactors pipeline options, adds public access middleware, ensures public access follows all hops
* adds note
* adds note
* Cleans up ext methods, ensures that members identity is added on both front-end and back ends. updates how UmbracoApplicationBuilder works in that it explicitly starts endpoints at the time of calling.
* Changes name to IUmbracoEndpointBuilder
* adds note
* Fixing tests, fixing error describers so there's 2x one for back office, one for members, fixes TryConvertTo, fixes login redirect
* fixing build
* Fixes keepalive, fixes PublicAccessMiddleware to not throw, updates startup code to be more clear and removes magic that registers middleware.
* adds note
* removes unused filter, fixes build
* fixes WebPath and tests
* Looks up entities in one query
* remove usings
* Fix test, remove stylesheet
* Set status code before we write to response to avoid error
* Ensures that users and members are validated when logging in. Shares more code between users and members.
* Fixes RepositoryCacheKeys to ensure the keys are normalized
* oops didn't mean to commit this
* Fix casing issues with caching, stop boxing value types for all cache operations, stop re-creating string keys in DefaultRepositoryCachePolicy
* bah, far out this keeps getting recommitted. sorry
Co-authored-by: Bjarke Berg <mail@bergmania.dk>