Commit Graph
10886 Commits
Author SHA1 Message Date
kenneth@hexad.dk a19fba6d95 Merged r1388 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1389 59da171f-624f-0410-aa54-27559c288bec
2012-07-31 19:40:19 +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 af41a7e3a3 Update issue #672
Status: Fixed

The TrayIcon now builds in release mode without being signed.
Thanks for reporting!

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1380 59da171f-624f-0410-aa54-27559c288bec
2012-07-29 19:42:29 +00:00
kenneth@hexad.dk 282fb41605 Update issue #671
Status: Fixed

Now setting PreAuthenticate to "true" for all requests, that should speed things up a bit.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1377 59da171f-624f-0410-aa54-27559c288bec
2012-07-28 10:03:33 +00:00
kenneth@hexad.dk 5b20f7023e Addded command to list details of a schedule from server
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1368 59da171f-624f-0410-aa54-27559c288bec
2012-07-21 20:51:17 +00:00
kenneth@hexad.dk 1560446436 Added option to only get folders when listing folder contents.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1366 59da171f-624f-0410-aa54-27559c288bec
2012-07-21 20:26:03 +00:00
kenneth@hexad.dk 455a56e707 Added listing of folder contents to server
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1365 59da171f-624f-0410-aa54-27559c288bec
2012-07-21 20:19:51 +00:00
kenneth@hexad.dk 7b1906237c Added options to change port and url for the tray icon
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1361 59da171f-624f-0410-aa54-27559c288bec
2012-07-14 10:42:48 +00:00
kenneth@hexad.dk b15d652ed3 Fixed output for progress reporting
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1360 59da171f-624f-0410-aa54-27559c288bec
2012-07-14 10:42:10 +00:00
kenneth@hexad.dk 35eb7b3992 Merged r1358 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1359 59da171f-624f-0410-aa54-27559c288bec
2012-07-14 10:37:56 +00:00
kenneth@hexad.dk cf52106085 Minor updates to the WebUI
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1353 59da171f-624f-0410-aa54-27559c288bec
2012-07-02 18:10:08 +00:00
kenneth@hexad.dk a4b40763c8 Simplified the TrayIcon
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1352 59da171f-624f-0410-aa54-27559c288bec
2012-07-02 18:07:36 +00:00
kenneth@hexad.dk 30c4b4b2d2 Merged r1346 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1347 59da171f-624f-0410-aa54-27559c288bec
2012-06-29 19:38:04 +00:00
kenneth@hexad.dk 127486b1de Added support for detecting hibernation/suspend on Windows.
When coming out of a hibernation/standby Duplicati will now be in pause mode for the same duration as on startup.
If a pause has been requested by the user (i.e. pause for 1 hour), the pause after hibernation will be at least the startup duration period, but at least as long as the pause duration would have been without a hibernation/suspend.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1343 59da171f-624f-0410-aa54-27559c288bec
2012-06-29 19:24:21 +00:00
kenneth@hexad.dk d3bc855521 Merged r1339 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1340 59da171f-624f-0410-aa54-27559c288bec
2012-06-26 14:19:45 +00:00
kenneth@hexad.dk b8ed92f38c Merged r1335 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1336 59da171f-624f-0410-aa54-27559c288bec
2012-06-21 20:14:26 +00:00
kenneth@hexad.dk d44595a616 Added a "connection lost" dialog, and made the countdown stuff modularized and event based.
Fixed some IE7 compatibility, and included a header so the embedded WebBrowser shows things in IE9 mode (IE7 is default for some reason).

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1333 59da171f-624f-0410-aa54-27559c288bec
2012-06-06 13:01:53 +00:00
kenneth@hexad.dk 11c8f232b7 Fixed a quit problem.
Changed the status reporting method to not include status for the current running backup.
That will be implemented with a separate call so the tray icon can reduce the number of requests.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1332 59da171f-624f-0410-aa54-27559c288bec
2012-06-06 12:58:27 +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 151db71f4a Merged r1324 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1328 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 20:44:53 +00:00
kenneth@hexad.dk e6a982eff7 Minor updates to display file count and progress in title bar
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1327 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 20:42:21 +00:00
kenneth@hexad.dk 1a192d9b81 Minor updates to display file count and progress in title bar
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1326 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 20:41:33 +00:00
kenneth@hexad.dk e4683e2bcb Fixed some minor issues with updating status.
Added extra event hooks to display finer grained update information during backups.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1325 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 20:32:56 +00:00
kenneth@hexad.dk 48d5729f83 Updated service/webserver to implement long poll and updated the tray icon to use the long poll update methods.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1323 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 15:30:52 +00:00
kenneth@hexad.dk f4ad2e0840 Added new web-stuff
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1322 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 15:23:16 +00:00
kenneth@hexad.dk 09096b06c5 Removed all the existing web-stuff
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1321 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 15:21:00 +00:00
kenneth@hexad.dk 7096ff8348 Removed all the existing web-stuff
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1320 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 15:19:25 +00:00
kenneth@hexad.dk eb6a85564c Removed all the existing web-stuff
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1319 59da171f-624f-0410-aa54-27559c288bec
2012-05-31 15:17:22 +00:00
kenneth@hexad.dk 0f4fa82c97 Merged r1313 and r1314 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1315 59da171f-624f-0410-aa54-27559c288bec
2012-05-21 21:39:22 +00:00
kenneth@hexad.dk d672be7f88 Updates to the hosted web service, added option to specify the server root and listening port.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1308 59da171f-624f-0410-aa54-27559c288bec
2012-05-21 19:06:39 +00:00
kenneth@hexad.dk a4918efb00 More work on the status window
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1307 59da171f-624f-0410-aa54-27559c288bec
2012-05-21 18:55:48 +00:00
kenneth@hexad.dk 2ad87fc770 Merged r1304 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1306 59da171f-624f-0410-aa54-27559c288bec
2012-05-21 18:54:56 +00:00
kenneth@hexad.dk 36a712ccea Merged r1304 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1305 59da171f-624f-0410-aa54-27559c288bec
2012-05-21 18:50:42 +00:00
kenneth@hexad.dk 9c69831df7 Manually merged r1302 into trunk, so the Mono.Data.Sqlite implementation is also used in future versions.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1303 59da171f-624f-0410-aa54-27559c288bec
2012-05-21 18:44:19 +00:00
kenneth@hexad.dk d6b77fb461 Merged r1295 and r1296 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1297 59da171f-624f-0410-aa54-27559c288bec
2012-05-17 08:07:41 +00:00
kenneth@hexad.dk cc72638427 More work on the status window
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1294 59da171f-624f-0410-aa54-27559c288bec
2012-05-15 18:03:05 +00:00
kenneth@hexad.dk 93ee9176e3 Changed the way metadata is captured and recorded, so a backup will clear the information, and any other action will merely update the metadata.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1293 59da171f-624f-0410-aa54-27559c288bec
2012-05-15 18:01:27 +00:00
kenneth@hexad.dk 722abc9d20 Updated metadata reporting to better reflect the state AFTER the action, instead of before.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1292 59da171f-624f-0410-aa54-27559c288bec
2012-05-15 17:59:40 +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 992abc8cb4 Fixed a bug with r1278
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1289 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 21:41:47 +00:00
kenneth@hexad.dk 47c7a8d471 I really should not commit this late :)
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1287 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 21:20:04 +00:00
kenneth@hexad.dk 33bf545224 Improved handling of forced full backups
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1285 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 21:13:08 +00:00
kenneth@hexad.dk 2701b1af43 Fixed a bug that prevented forcing full backups
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1283 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 21:09:14 +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 a93c66555b Added logging and reporting of metadata to UI
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1280 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 20:15:27 +00:00
kenneth@hexad.dk a6e0354059 Found and fixed a verification bug that was disabled due to file size not being propagated
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1278 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 20:13:26 +00:00
kenneth@hexad.dk 881ce60756 Large refactoring, removing duplicate code in the former Duplicati gui, because it is now hosted in the server.
Not 100% tested, because it is supposed to go away soon, but right now it is the only way to create a new backup.
Also moved database schema and upgrade information/code into the data model project.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1276 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 18:55:12 +00:00
kenneth@hexad.dk a60bd9511f Large refactoring, removing duplicate code in the former Duplicati gui, because it is now hosted in the server.
Not 100% tested, because it is supposed to go away soon, but right now it is the only way to create a new backup.
Also moved database schema and upgrade information/code into the data model project.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1275 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 18:53:07 +00:00
kenneth@hexad.dk 203778b911 Added metadata recording, for later use in the new UI.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1274 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 18:48:21 +00:00
kenneth@hexad.dk 433d709be6 Some work on the status window
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1273 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 18:46:45 +00:00