Commit Graph
214 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 68627c06bf Feature/alternate windows eventlog (#5784)
* Improved Windows Eventlog support.

Added support for logging to a different log with a Log:Source format.
Backwards compatible by treating "Source" as "Application:Source", where "Source" is default "Duplicati".

* Changed default log-level for eventlog to `Warning`.
This fixes #5770

* Fixed issue where checking for event log would crash the process.
Changed default log to `Duplicati` (was `Application`).
New default source names for service, agent and server.

* Reverted windows log-level back to information, now that there is a separate log for it

* Using "Duplicati 2" as the log name because "Duplicati" may be registered as a source name.

* Attempt to stop service before uninstalling

* Added additional diagnostics messages

* Fixed bug with starting the agent as a service

* Default to not use WindowsService for Agent as it requires permissions to create the event log

* Reduced log message levels for ongoing communication in agent

* Prevent double-logging from agent into Windows EventLog

* Made the agent log under a separate log source name
2024-12-20 16:09:42 +01:00
Kenneth SkovhedeandGitHub ff1b2b7990 Simplified task control (#5753)
* Simplified task control by having all logic in a single class and using async control mechanism
* Fixed the tests
* Made the marking of a backup partial explicitly communicated if the enumeration process is stopped.
* Added support for pausing active transfers
* Introduced transfer token to abort operations.
* Updated the way LiveControl is emitting events.
* Retains the paused state of the server across reboots, this fixes #5760.
* Reworked the way throttle speeds are propagated through LiveControls.
* Added option to pause transfers in the UI.
* Removed throttle settings from the LiveControls class so it is exclusively handled by the ApplicationSettings.
* Removed `thread-priority` as it does not work at all when tasks are used.
* Fixed the stop dialog and API to only support stop and abort.
* Removed unused variables
2024-12-18 08:27:59 +01:00
Kenneth Skovhede c9665da91b Reworked the tokens to only support emitting a single token per server startup 2024-12-12 11:05:09 +01:00
Kenneth Skovhede 7d4f9ffab3 Implemented a forever-token feature 2024-12-12 08:59:59 +01:00
Kenneth SkovhedeandGitHub 58a5fc57f4 Implemented support for emitting intermediate certificates from pfx (#5739)
* Implemented support for emitting intermediate certificates from pfx files

* Added certificate check to crash earlier

* Fixed loading certificate on Windows
2024-12-05 10:34:10 +01:00
Kenneth Skovhede c23dcfab0b Fixed the server log context 2024-11-29 09:02:12 +01:00
Kenneth Skovhede 2b5bb6a4ec Logging unobserved task exceptions 2024-11-29 08:42:43 +01:00
Kenneth Skovhede 42c4e50482 Fixed issues with update detection.
This fixes a case where the update checker keeps an old reference to the previous updated version, despite running a newer version.

It also removes some use of `Assembly.GetExecutingAssembly().GetName().Version` with the information from `UpdaterManager.SelfVersion.Version` as that should follow the update info.

This fixes #5698
This fixes #5252
2024-11-25 17:27:50 +01:00
Kenneth Skovhede 0a5baa127c Merge remote-tracking branch 'origin/master' into feature/fix-dst-changing-scheduled-time 2024-11-25 13:05:28 +01:00
Kenneth Skovhede 7e479788d7 Added the missing crashlog feature.
The crashlog feature was lost during the removal of the auto-updater.
This commit adds it back, in a slightly different way.
2024-11-21 20:23:42 +01:00
Kenneth Skovhede 1d1785fa38 Re-added the port option to the help output. 2024-11-07 15:52:08 +01:00
Kenneth Skovhede 74bb22e022 Implemented support for keeping time-of-day stable across daylight savings time changes.
This fixes #1364
2024-11-05 21:26:30 +01:00
Kenneth Skovhede 8250a5befa Refactored SecretProviderHelper to replace in Uri instances instead of raw string.
This fixes some issues with URL encoding/decoding.
Due to the legacy class `Duplicati.Library.Utility.Uri` there are two replacements done.
2024-11-04 15:57:56 +01:00
Kenneth Skovhede c99e819d70 Merge remote-tracking branch 'origin/master' into feature/add-secret-provider 2024-11-01 08:49:52 +01:00
Kenneth Skovhede 7f79a2e515 Minor renaming 2024-10-29 14:03:59 +01:00
Kenneth Skovhede 56816abed8 Reverted to not storing the certificate as a file, since the x509Certificate loader was the broken part, not Kestrel. 2024-10-29 13:55:12 +01:00
Kenneth Skovhede 4783050d53 Simplified logic by having an option to disable https.
Simplified checks for https by having a single property that unifies the logic.
2024-10-29 11:15:06 +01:00
Kenneth Skovhede f9154137a3 Merge remote-tracking branch 'origin/master' into feature/ex-certificates 2024-10-29 09:24:53 +01:00
Kenneth Skovhede 34d13a20e2 Initial version of the external secret provider 2024-10-24 16:06:59 +02:00
Kenneth Skovhede ef0ca64d52 Merge remote-tracking branch 'origin/master' into feature/remote-control-support 2024-10-03 14:49:07 +02:00
Kenneth Skovhede 99a2095e41 Adding new theme to client.
Added support for loading NPM package in dev mode.
Added support for SPA style redirects.
2024-10-02 22:14:37 +02:00
Kenneth Skovhede 669e90704d Initial work on supporting a secure remote control connection. 2024-09-18 11:07:59 +02:00
Max 1bb03a5673 upstream sync 2024-09-11 21:31:04 +02:00
Kenneth Skovhede 6f7f29965d Improved logging output control.
This fixes #5539
2024-09-09 11:25:39 +02:00
Kenneth SkovhedeandGitHub 05f0a4cefa Merge pull request #5520 from duplicati/feature/remove-deviceid-encryption-key-source
Removed the use of DeviceId due to lack of sufficient key material.
2024-09-03 13:55:26 +02:00
Kenneth Skovhede e1c42aac5b Add missing parenthesis that causes empty help output on Windows. 2024-08-31 11:36:32 +02:00
Kenneth Skovhede d8c8ce7988 Removed the use of DeviceId due to lack of sufficient key material.
Kept the infrastructure to allow re-introducing it later if a better source for a device key is found.
Added support for not having any valid settings encryption key.
Added warnings if the user is running without a settings encryption key.
Added additional checks during startup to help with troubleshooting and configuring a setup with a settings encryption key.
Docker builds will now warn if no encryption key is set.
This fixes #5518
2024-08-31 11:02:14 +02:00
Kenneth SkovhedeandGitHub 037796e42c Merge pull request #5513 from duplicati/feature/isolate-datafolder-lookup
Simplify datafolder lookup
2024-08-30 15:44:15 +02:00
Kenneth SkovhedeandGitHub f29d118742 Merge pull request #5511 from duplicati/feature/fix-missing-device-ids
Added blacklisting of known invalid settings encryption keys
2024-08-30 14:53:22 +02:00
Kenneth Skovhede 595ac3c7ee Refactored the code to use the same method for detecting an existing server database.
This prevents creating empty databases when probing for one.
2024-08-30 13:08:37 +02:00
Kenneth Skovhede 78627103df Moved the code that locates a datafolder into a method so it can potentially be called from elsewhere 2024-08-30 12:59:49 +02:00
Kenneth Skovhede 733193eed6 Removed one of the FIXMEGlobal's 2024-08-30 12:55:10 +02:00
Kenneth Skovhede f3ec0b8d00 Implemented support for getting out of having a blacklisted key 2024-08-30 12:45:39 +02:00
Kenneth SkovhedeandGitHub 3d8ebef6da Merge pull request #5492 from duplicati/feature/support-preload-configurations
Support preload configurations
2024-08-29 16:16:53 +02:00
Kenneth SkovhedeandGitHub a55ae7aff1 Merge branch 'master' into feature/support-preload-configurations 2024-08-29 10:36:51 +02:00
Kenneth Skovhede 5af5b4d553 Added option to prevent starting with the machine serial.
This could be part of the solution to #5496
2024-08-28 22:25:23 +02:00
Kenneth Skovhede 237102003c Removed some #if DEBUG directives in favor of a boolean.
Using the flag instead ensures both DEBUG and RELEASE versions of the code is compiled.
JIT optimizations will remove the unused code during compilation just the same.
2024-08-28 12:52:33 +02:00
Kenneth Skovhede 3548475360 Implemented preload support.
This commit adds the option to provide preload/preset options that change the default values for Duplicati's commandline or environment variables.
This fixes #5480
2024-08-28 00:18:55 +02:00
Kenneth Skovhede feb77b3959 Merged the server stop signal changes 2024-08-27 18:22:53 +02:00
Kenneth Skovhede ab62db0099 Merge remote-tracking branch 'origin/feature/fix-ctrl-c-stop' into feature/windows-service-improvements 2024-08-27 18:18:46 +02:00
Kenneth Skovhede 29f96afc08 Added support for logging to Windows EventLog 2024-08-27 16:24:33 +02:00
Kenneth Skovhede 6a9d37ad9e Fixed responding to stop signals.
This fixes #5478
2024-08-27 11:33:52 +02:00
Kenneth SkovhedeandGitHub 9d6232e1dd Merge pull request #5472 from marceloduplicati/feature/settingsencryption5420
Feature/settingsencryption5420
2024-08-26 14:15:35 +02:00
Kenneth Skovhede bc4e9a1c77 Made the database locator and server-database location code the same. 2024-08-23 17:53:17 +02:00
Kenneth SkovhedeandGitHub 5bbc66665d Merge pull request #5471 from duplicati/feature/custom-hostname-validation
Add custom hostname validation
2024-08-21 08:40:33 +02:00
Kenneth Skovhede b114380547 Improved error handling on crashes to avoid obscuring the actual error message 2024-08-20 21:11:59 +02:00
Kenneth Skovhede ff196eb284 Implemented support for enabling/disabling encryption 2024-08-20 17:10:34 +02:00
Kenneth Skovhede d0b35dbeee Fixed a case where an exception stack trace was lost 2024-08-20 12:16:11 +02:00
Kenneth Skovhede 2b55b3449d Add custom hostname validation
This adds a manually implemented hostname check that is applied as an endpoint filter.
With the implemented filter, the validation rules are similar to those before Kestrel was introduced.
This fixes #5469
2024-08-19 14:07:48 +02:00
Kenneth Skovhede 6ff4faf6f3 Merge remote-tracking branch 'origin/master' into feature/consistent-env-arg-names 2024-08-15 13:28:54 +02:00