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
I have now put in the textbox with a scrollbar instead,
so the long texts can be viewed too.
I also added the display of valid values for the options that report it.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@489 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I could only reproduce if I kept the status window open,
and then deleted the backup. It now updates the log window
immediately after the delete, if the window is open.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@488 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
Status: Fixed
I have fixed a number of UI issues when using async uploads.
For one, the pause/stop features now work.
If the progress is paused, a upload progressbar will be displayed,
so the progress does not appear to hang.
When the backup is complete, the remaining uploads
are now done as normal, resulting in a normal UI display with progress.
I have also reserved some space on the progress bar for cleanup,
and inserted a status message indicating that the cleanup is in progress.
The async now works so well, that I think it should be on by default.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@482 59da171f-624f-0410-aa54-27559c288bec
Added snapshot support using either VSS (win xp/vista/7) or LVM (linux).
Using the snapshot feature requires administrative/root privileges, and is toggled by the "snapshot-policy" option (by commandline or in advanced settings).
Also improved the validation of options to not show incorrect warnings.
This fixes issue #233.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@461 59da171f-624f-0410-aa54-27559c288bec
Also fixed a problem with detecting the right OS version,
this should only cause you trouble if you have files with the same name but different casing.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@453 59da171f-624f-0410-aa54-27559c288bec
Fixed issue #220.
Moved the incremental/full setting in to incremental page.
Fixed issue #164.
No longer re-schedules a backup if it is already scheduled or running.
Fixed issue #111.
Now allows you to select allowed day-of-week settings.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@445 59da171f-624f-0410-aa54-27559c288bec
This was based on the idea that the interfaces should remain static.
I hope this change is enough to ensure stable interfaces until release 1.2.
Overview of changes:
Moved all interfaces into the same dll.
Encryption and compression is now plugable modules, just as the backends.
Encryption/compression can now register an UI.
Encryption now uses AESCrypt as a default.
GPG does not default to using the --armor option.
Added support for generic modules, but none are written yet.
Added support for plugable settings pages in the "Options" dialog.
Fixed issue #148.
Duplicati now uses AESCrypt as the default encryption format.
Fixed issue #199.
GPG now supports custom commandline options.
Fixed issue #207.
Encryption modules are now plugable.
Fixed issue #118.
S3 credentials are now stored.
Fixed issue #151.
Backends can now register system wide options.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@427 59da171f-624f-0410-aa54-27559c288bec
Fixed issue #182.
Fixed an error with the commandline version reported in the forum.
Added improved error output.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@417 59da171f-624f-0410-aa54-27559c288bec
There was a bug in the filter evaluator, which is now fixed.
It meant that .* matched everythin, including the source folder.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@389 59da171f-624f-0410-aa54-27559c288bec