Commit Graph
37 Commits
Author SHA1 Message Date
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
kenneth.skovhede@gmail.com daa0cb0c75 Update issue #119
Status: Fixed

I managed to figure out how to overwrite existing files, instead of the delete-then-upload fix.
I also fixed some other minor issues with SkyDrive.

A new preview release will be up asap.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@945 59da171f-624f-0410-aa54-27559c288bec
2011-10-25 19:07:55 +00:00
kenneth.skovhede@gmail.com db8cdd0dd2 Update issue #160
Status: Fixed

Changed to the AWSSDK library, which fixes a few quirks, but basically seems to be the Affirma version slightly renamed.



git-svn-id: https://duplicati.googlecode.com/svn/trunk@811 59da171f-624f-0410-aa54-27559c288bec
2011-06-23 21:37:14 +00:00
kenneth.skovhede@gmail.com b0a359fd27 Updated license text
git-svn-id: https://duplicati.googlecode.com/svn/trunk@770 59da171f-624f-0410-aa54-27559c288bec
2011-05-09 19:52:28 +00:00
kenneth.skovhede@gmail.com b834dab602 This commit upgrades the manifest version number to 3.
This commit includes an option to create an unencrypted verification file.
There is now a check to see if all volumes mentioned in the manifest exists,
before performing backup/restore operations.
This check is also performed on cleanup.
There is now a check that prevents auto-cleanup from removing more than
2 orphan files. 

If a delete-older-than or delete-all-but-n-full is interrupted, the leftover
files will not be auto-deleted but must be deleted with the cleanup command,
which allows the user to see what files are delete.

Update issue #360
Status: Fixed

There is now a complete verification chain, where the manifest hashes are verified backwards.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@711 59da171f-624f-0410-aa54-27559c288bec
2011-03-10 18:26:38 +00:00
kenneth.skovhede@gmail.com 72b80f011a Added the hash algorithm name to the manifest
git-svn-id: https://duplicati.googlecode.com/svn/trunk@604 59da171f-624f-0410-aa54-27559c288bec
2010-11-26 16:53:46 +00:00
kenneth.skovhede@gmail.com e7dc268fad Renamed the Duplicati.Library.Core dll to Duplicati.Library.Utility as the "Core" name was misleading.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@591 59da171f-624f-0410-aa54-27559c288bec
2010-11-21 11:08:15 +00:00