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
Status: Fixed
Changed the included GPG to use gpg4win version 2.1.0 and include all required files.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1120 59da171f-624f-0410-aa54-27559c288bec
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
This should not cause any problems because the timer is started at the very last moment, and there should be no work to do after invocation but simply discard the hidden window.
The abort is picked up so the program cleanup-on-exit code is executed as normal.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@999 59da171f-624f-0410-aa54-27559c288bec
This enables Duplicati to run under Ubuntu w/ Unity and Mac OSX.
If the OS supports showing the tray (such as with Linux Mint), Duplicati can be started with Duplicati.exe --trayless=false.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@989 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Duplicati now detects situations where a backup was in progress and Duplicati terminated.
Such backups will now appear with a red question mark in the status window.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@929 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
It should now use system data-time formating, unless the language is customized in the UI.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@774 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Updated the GUI options to use the -- notation, but they are still backwards compatible.
Also added the --help, --pause and --resume options to the GUI.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@534 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Now correctly upgrades and retains database encryption after a restore without requiring a program restart.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@524 59da171f-624f-0410-aa54-27559c288bec
Fixed a protential race condition with warning messages and file counts (cosmetic only) when using async transfers.
Spelling correction, Seperator -> Separator.
Changed so a restore operation can also supply advanced options.
Changed the format of timestamps in filenames to follow the Duplicity convention, which removes the need for --time-separator and --use-short-filenames.
Moved the URL utility into Core, to avoid compilation errors with Monodevelop.
Reorganized the runner to better support the LiveControls on all operations rather than only for backup/restore.
Update issue #210
Status: Fixed
I have now changed the time format to follow the Duplicity naming convention.
This means that all filenames are now generated with the time set as "yyyyMMddTHHmmssZ".
This format is more portable across all platforms, and easily sortable/readable.
The drawback is that the Z indicates UTC time, so if one looks at the filenames,
the times are not local. The motivation for this is to avoid trouble
with daylight savings time offsets.
There is full backwards compatibility as long as backups have not used more than
one character for --time-separator (only possible via commandline).
This new format means that the options --time-separator and --use-short-filenames
are now deprecated and removed from the user interface. It is possible to
access them from the advanced options page, along with the --use-old-filenames option.
If anyone needs these options for some reason, let me know, otherwise they will be removed
in a later version.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@523 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I have now implemented a password protection control.
You can now only view passwords when you enter them.
After this, you may reset the passwords, by entering a
new one, but you cannot read the existing passwords.
To protect against people reading the database,
which contains the passwords in clear text, the
database is now encrypted by using the standard
SQLite encryption method. This is different
than what I proposed, but is a much stronger
protection than merely scrambling the passwords,
and also protects all information (servername, etc).
It works by setting an environment variable
called DUPLICATI_DB_KEY. When no password
is set, Duplicati will use the key "Duplicati_Key_42",
ensuring that all databases are encrypted by default.
Using a pre-defined publicly known key is obviously
not a strong protection, but it protects from casual
users attempting to browse the database, and it also
protects from string scanners that scan a harddisk
for possible passwords.
On the first startup, Duplicati will encrypt the database,
using the mentioned key. You may want to delete any backup
databases that are placed in the same folder as the database.
Should you wish to decrypt the database, you can start
Duplicati.exe with the commandline option "--unencrypted-database".
This will use the current key to decrypt the database, and save it
without encryption.
Should you wish to change the database password, simply decrypt the
database, then change the password via the environment variable,
and start Duplicati.exe as normal.
The SQLite documentation for the feature is here:
http://www.hwaci.com/sw/sqlite/see.html
Unfortunately, it does not seem as if any
of the free SQLite tools supports this.
The SQLite library found on Ubuntu
does not support encryption, so I have disabled
this feature by default on Linux.
If a user has a special compiled version
of SQLite, they may use the environment
variables as mentioned above.
I will write this information into a wiki
page as soon asap.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@498 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I have now added a 32bit version of gpg.exe and pscp.exe to the
package. On startup, the subfolder "win-tools" is appended to the
PATH environment variable, making them available from within Duplicati,
but preferring any system path items.
This only happens on windows.
I assume any decent Linux distro has scp, expect and gpg.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@491 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
The code to support this was already in place, but did
not work because Application.Exit() had been invoked,
making all messageboxes return Cancel without showing.
I also improved the logic a bit so a cancel does
not invoke the cleanup afterwards, making the exit
procedure faster.
I also added checks for the stop command to the
code that fetches the signature files, to make
the application respond faster to the stop command.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@490 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
The signature files are now placed in "%DUPLICATI_HOME%/Signature Cache", which defaults to "appdata/duplicati/Signature Cache".
Update issue #128
Status: Fixed
Duplicati now uses an environment variable called %DUPLICATI_HOME% to determine where to place the data files.
As an alternative to setting the environment variable, Duplicati.exe can be invoked with the commandline option
--portable-mode, which will create a folder called "data" in the folder where Duplicati.exe is placed.
For maximum portability you can also set the temporary folder inside Duplicati's options to %DUPLICATI_HOME%\temp.
Update issue #70
This just got a whole lot easier after the introduction of the environment variable %DUPLICATI_HOME%.
The implementation can just invoke "Duplicati.exe --portable-mode" and everything should work.
The final package should have a customized default database with the temp folder set to %DUPLICATI_HOME%\temp.
The no auto-start setting can be applied by the "backup defaults.xml" file.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@487 59da171f-624f-0410-aa54-27559c288bec
Fixed issue #69.
Fixed issue #142.
I finally got the time to complete the pause and throttle options.
It required a minor rewrite, so I also fixed issue #142.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@310 59da171f-624f-0410-aa54-27559c288bec
Added a small application to fix future issues with embedded escape codes.
Also fixed some encoding issues with the pt-BR files.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@298 59da171f-624f-0410-aa54-27559c288bec
Changed code to support a single release build.
The code should now be able to detect the OS and architecture and load the correct SQLite dll.
For future releases, there will only be an MSI and a zip version, both are OS and architecture independant.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@258 59da171f-624f-0410-aa54-27559c288bec
Fixed a debug commit which made the CommandLine version exit immediately.
Added a safeguard for broken language selections in the database.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@224 59da171f-624f-0410-aa54-27559c288bec
Updated some sub-projects to VS 2008, fixed .Net 3.5 dependencies to 2.0.
Added a language selection option to the settings dialog.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@222 59da171f-624f-0410-aa54-27559c288bec
Added a button to purge the cache from the settings menu.
Added a size label to show the size of the signature cache.
Made the ListBackupFiles abort the current action when closed.
Made the ListBackupFiles available from the status window.
Fixed a small problem where all folders were marked as deleted in the previous commit (would only result in missing empty folders on restore).
Changed the name of the "Setup" menu to be "Wizard ..." for issue #13, and changed the icon.
Added Mono compatible SQLite dll's.
Updated the SQLite dll's to version 1.0.60.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@139 59da171f-624f-0410-aa54-27559c288bec
Made more readable error messages if the SingleInstance code blocks.
Semi-fixed the problem with piling of remote invocations.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@125 59da171f-624f-0410-aa54-27559c288bec
Fixed issue #20, now the icons look much better.
Fixed issue #23, an error on "Add group".
Fixed issue #30, GPG Encryption default path is incorrect.
Fixed a bug where sorting was invalid, making the differential backups incorrect, may cause problems on restore.
If you have used an SVN build, you should force a full backup, to ensure backup integrity.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@114 59da171f-624f-0410-aa54-27559c288bec
Added button to create the remote folder, when using FTP.
This closes#2.
Added progressbars and status text to the status window.
This closes#7.
Fixed issues with interrupted uploads, if there were files, but the manifest was incomplete.
The FTP connection now has keep-alive disabled.
This closes#15.
Fixed#12 for now, the fix could have more grace, but works for now.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@112 59da171f-624f-0410-aa54-27559c288bec