Commit Graph
56 Commits
Author SHA1 Message Date
Kenneth Skovhede cafb8e6ff1 Fixed issues with reporting the correct error message when enumerating files 2017-01-23 20:53:18 +01:00
Kenneth Skovhede 9a849a2b58 Improved support for cross-os restores.
This fixes #1302
This fixes #1983
2017-01-06 23:01:54 +01:00
Kenneth Skovhede ace2f92856 Rewrote some of the pretty printing routine to make a better log output.
Cleaned up the output by removing some of the non-relevant items.
2016-12-02 11:54:20 +01:00
Kenneth Skovhede 699f06c891 Improved the Serializer for printing objects 2016-09-28 20:15:40 +02:00
Kenneth Skovhede 0c68daff6c Fixed all whitespace to be 4 spaces instead of tabs 2016-09-15 11:39:27 +02:00
Kenneth Skovhede cab7d0b839 Expanding filter strings using sourcefolder placeholders as well as environment variables.
This fixes #1645
2016-06-22 00:42:48 +02:00
Kenneth Skovhede b590158403 Correct "home" folder on Windows 2016-06-22 00:40:38 +02:00
Kenneth Skovhede 7bbd9f3141 Changed the way the autoupdater probes for potential paths, such that it does not attempt to use ProgramFiles, even if it is write-able.
Added some better choices for storing update data on OSX.
2016-04-21 10:57:46 +02:00
Kenneth Skovhede 6ceec26c12 Some cleanup with the platform testing code 2015-12-17 11:08:14 +01:00
Kenneth Skovhede 0b442ecdc6 Implemented escaping expanded environment variables when they are used inside regular expressions.
This fixes #1500.
2015-11-28 21:55:22 +01:00
Kenneth Skovhede 9ae7ea233a Possible fix for PR #1456 and issue #1449 2015-09-08 16:41:16 +02:00
Kenneth Skovhede 60bd9693d0 Imporved handling of the ~ character in paths 2015-09-05 09:14:21 +02:00
Kenneth Skovhede 3149064cde Merge branch 'no_more_resx' 2015-01-20 21:45:54 +01:00
Kenneth Skovhede 8d13e698eb Updated copyright notices 2015-01-20 21:44:52 +01:00
Kenneth Skovhede 16c791f0b5 Removed all resx files, now using Duplicati.Library.Localization exclusively 2015-01-20 21:07:24 +01:00
Kenneth Skovhede 86abc7565a Added locally allocated buffers for copystream to reduce pressure on allocator 2014-11-10 18:38:18 +01:00
Kenneth Skovhede b8199ad1c4 Fixed handling of multi-byte characters in both HttpServer and Duplicati.
This fixes issue #1085 and issue #1063.
2014-08-13 23:42:26 +02:00
Kenneth Skovhede 260c18c503 Fixed permission issue where opening a file for reading requested write permissions. 2014-04-07 11:35:20 +02:00
Kenneth Skovhede 5f9881a3df Added option to supply the browser command and improved browser detection on Linux with xdg-open 2014-03-27 15:24:38 +01:00
Kenneth Skovhede add5534c50 Don't depend on System.Web because it is broken on Mono
Update issue #940
Status: Fixed

I took another approach and now manually parse and encode these strings.
This is done to avoid using System.Uri.EscapeUriString because it has some subtle issues:
http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx
2014-02-10 14:35:02 +01:00
Kenneth Skovhede 47bc010b3c Added test-filters command 2013-12-07 15:22:51 +01:00
Kenneth Skovhede 740d8c4fbf Added uname -a command to utility for better diagnosis 2013-09-25 23:31:18 +02:00
Kenneth Skovhede 4e1c188342 Fixed parsing Mono version number 2013-09-25 23:31:00 +02:00
Kenneth Skovhede efc17dbd1b Rewrote the strategy for enumerating folders/files to use depth first instead of breadth first, as this seems to consume less memory.
Also updated so the callback is invoked before the item is put into the list, as this also reduces the number of items in the list.
2013-08-30 22:10:43 +02:00
Kenneth Skovhede f3c8cb6cca Possible fix for a crash 2013-08-25 19:26:12 +02:00
Kenneth Skovhede 6f639b02fd Changed how the hashes are re-used, so it is hopefully more compatible with Windows crypto API. 2013-08-21 22:24:36 +02:00
Kenneth Skovhede 1e70f32ed3 Added guard against changing passphrase on existing backup 2013-08-17 22:05:40 +02:00
Kenneth Skovhede 84284dc46e Re-format stuff 2013-08-17 22:03:19 +02:00
Kenneth Skovhede 2dae70ba87 Fixed EPOCH to be UTC 2013-07-17 13:31:17 +02:00
Kenneth Skovhede a9ca999962 Updated to allow files as input arguments to backup 2013-06-29 12:17:52 +02:00
Kenneth Skovhede 2bf912a0af Rewrote the filter system to distinguish between match and result, which allows filter combinations 2013-06-29 12:16:30 +02:00
Kenneth Skovhede d696670598 Reworked the result reporting to support type safe values 2013-05-25 16:40:15 +02:00
Kenneth Skovhede 21f8b14da2 Fixed some whitespace issues.
Adde method to serialize an object for printing
2013-05-22 21:19:38 +02:00
Kenneth Skovhede 48a675b0da Fixed bugs after rewriting filesystem enumerators to use filters and IEnumerable<string> 2013-05-15 21:50:16 +02:00
Kenneth Skovhede c29d9d00b9 Implemented the backup command.
Rewrote filter handling across the entire project.
2013-05-13 22:32:05 +02:00
Kenneth Skovhede b78f7ab8a3 Merge branch 'master' into sandboxes/Kenneth/ForestHash
Conflicts:
	Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
2013-05-05 23:52:01 +02:00
Kenneth Skovhede 86b52d364d Added a custom URL parser 2013-05-05 21:18:00 +02:00
Kenneth Skovhede aca4ed95cc More work on the block hash.
Rewrote the backup and restore to work within a transaction as that speeds things up a lot.
Rewrote the backup procedure to generate the file list from the database, instead of on-the-fly as that is more efficient.
Re-arranged the database to use less storage on large sets of unchanged files.
2013-03-08 22:24:54 +01:00
kenneth@hexad.dk a0521da54d Initial version of the new block-based storage format.
Still needs a work over in terms of error handling, progress reporting, warning output, refactoring etc.
Also misses the volume reuse/reclaim algorithms.
But it passes the unit tests now, with and without a local database.

git-svn-id: https://duplicati.googlecode.com/svn/sandboxes/Kenneth/ForestHash@1526 59da171f-624f-0410-aa54-27559c288bec
2013-02-12 21:43:14 +00:00
kenneth@hexad.dk 6a0c6b583e Merged r1500 into trunk, reintegrated branch sandboxes/Aaron/issue331
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1512 59da171f-624f-0410-aa54-27559c288bec
2013-01-22 19:20:19 +00:00
kenneth@hexad.dk bc099b0f97 Update issue #766
Refactored the patch from issue #766
Moved reading into a function in the utility module.
Moved parsing of file data into a function.

Added parameters to the command line client, such that the CLI may have options.
Implemented these options in the help output, so the --parameters-file can be viewed from the help.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1511 59da171f-624f-0410-aa54-27559c288bec
2013-01-22 16:12:24 +00:00
kenneth@hexad.dk f256d2cfa8 Reintegrated sandbox Andreas/webui into trunk, as that is what we will be using onwards
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1482 59da171f-624f-0410-aa54-27559c288bec
2012-11-18 16:24:32 +00:00
kenneth@hexad.dk b277f6325d Fairly large rewrite of how files and paths are handled.
This fixes issues #144, #577 and #320.

This update introduces a new options called "symlink-policy" that can be set to "store", "ignore" or "follow".
The default setting "store" means all symlinks are recorded as symlinks and recreated as symlinks on restore. This is chosen as default because it is the best replication of the actual disk contents.
Setting it to "ignore" simply means that no information is recorded about any symlinks.
And lastly, setting it to "follow" reverts to the previous default of treating symlinks as if they are normal files/folders.
Caveat: On Windows, you need Administrator privileges to create symlinks (when restoring), but not for reading them (on backup).

Since this change meant that the file attributes must be read, I also added support for the option "exclude-files-attributes", that can be used to ignore/exclude files with certain attributes, such as "hidden", "archive" or "encrypted".

Since I had to much about so much with getting the symlinks supported on Windows, I also added some extra logic to the Windows file handler, so it can now handle files and folders with up to 32k chars in the path. The logic is done so that the normal System.IO operations are used for paths with less than 260 characters (MAX_PATH), and on error or longer paths, the Win32 Unicode API is invoked. This should give maximal backwards compatibility and still allow backup and restore of files with long paths.

This commit also includes a BlockingQueue implementation that is supposed to make file/folder enumeration faster, but this has not been implemented because Duplicati depends on having a "whole world" view of the files and folders before running the backup (i.e. deeper changes required for this).


git-svn-id: https://duplicati.googlecode.com/svn/trunk@1381 59da171f-624f-0410-aa54-27559c288bec
2012-07-29 20:07:10 +00:00
kenneth@hexad.dk c74092f8a9 Fixed some timeout/abort issues by implementing everything by hand, on top of the async methods.
Now the WebRequest.Timeout property ONLY affects the GetRequestStream() and GetResponse() methods as the documentation says it SHOULD.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1331 59da171f-624f-0410-aa54-27559c288bec
2012-06-06 12:55:48 +00:00
kenneth@hexad.dk b950d6e342 Added terabyte (TB) as size format
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1291 59da171f-624f-0410-aa54-27559c288bec
2012-05-15 17:58:51 +00:00
kenneth@hexad.dk b7a99e1659 Moved the date/time EPOCH value to the utility library
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1281 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 20:49:41 +00:00
kenneth@hexad.dk 917f5315c7 Changed 64bit detection to be a common property.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1190 59da171f-624f-0410-aa54-27559c288bec
2012-03-29 05:49:07 +00:00
kenneth@hexad.dk 2debbaa001 Merged copy buffer size fix r1140, into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1141 59da171f-624f-0410-aa54-27559c288bec
2012-02-21 09:50:05 +00:00
kenneth@hexad.dk eeee931ea0 All tray icons are now working.
This changes all implementations to run off the TrayIconBase, so there is only a single place to maintain the tray icon and menus.
WinForms and Gtk has been updated to use this new implementation.
The ApplicationIndicator has been added so the TrayIcon now shows under Ubuntu Unity as well.
Cocoa support has been added so there is now a NSStatusItem. In order to debug this, a special MonoDevelop-MonoMac project has been added, but this is not used in the solution. The project just loads the regular implementation, but the project builds a .app package and debugs from it. Everything should build on a stock Windows machine with VS, and Ubuntu/OSX with MonoDevelop (needs WinForms to build, but not to run).

The TrayIcon icons are now limited to Idle,Paused,Running and an Error/Warning notifier overlay, giving a total of six icons.
The graphics needs to be updated to reflect this, and the server SuggestedStatusIcon should be changed to only output one of these states.

git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@1039 59da171f-624f-0410-aa54-27559c288bec
2011-11-28 11:05:42 +00:00
kenneth.skovhede@gmail.com fb7e36636b Update issue #490
Status: Fixed
The UI will now validate the servername to avoid problems with incorrect hostnames.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@956 59da171f-624f-0410-aa54-27559c288bec
2011-10-30 08:49:15 +00:00