Tardis 1.2.0a

Tardis is a backup system similar to TimeMachine which allows encrypted and incremental backups, with filesystem-based recovery. It's based on a client and server architecture, and provides a FUSE driver and VCS-like revision archive access.

Tags python backup versioning encryption
License BSDL
State beta

Recent Releases

1.2.0a22 May 2020 10:45 minor feature: First cut at breaking the majority of the backup job completely . Merge branch 'master' of /srv/GITROOT/Tardis. . Merge branch 'master' of /srv/GITROOT/Tardis. . Various changes to separate the TPC/IP daemon code from the true back . . Add in the Backend module. Oops. . a couple, including some migration of the CryptoScheme code. . Typo. . Merge branch 'master' of /srv/GITROOT/Tardis. . First cut at integrated backend and direct connection. . Merge branch 'master' of /srv/GITROOT/Tardis. . Merge branch 'master' of /srv/GITROOT/Tardis. . Merge branch 'master' of /srv/GITROOT/Tardis. . Updates for local mode. . a where we were using the wrong sender for sending signatures. . Merge branch 'master' of /srv/GITROOT/Tardis. . Limit the size of the outgoing queue, to keep from overflowing memory if. . Update the readme file to reflect the new changes, and updates. . Minor improvements. . for local mode. . Merge branch 'master' of /srv/GITROOT/Tardis. . Remove localhost as the default server, set to ''. Cleans up having to. . a typo. . Remove unused config key. . Merge /srv/GITROOT/Tardis. . Optimizations to tree walking. Uses os.scandir() instead of listdir(). . Merge branch 'master' of /srv/GITROOT/Tardis. . Merge /srv/GITROOT/Tardis. . Increase the read size for delta files, just in case they're zstd. . Merge /srv/GITROOT/Tardis.
1.1.510 May 2020 07:25 minor feature: Make the -crypt arguments consistent. . Minor. No functional changes. . Move encryption of filenames to the point where they're transmitted. . Add data to the prompt, if the subshell doesn't change it. . Revved version to 1.1.15. Updated README. . Changed 1.1.15 to 1.1.5.
1.1.1425 Apr 2020 03:16 minor feature: a where unencrypted names were being used when encrypted one . Merge branch 'master' of /srv/GITROOT/Tardis.
1.1.319 May 2019 07:05 minor feature: Removed the periodic updating of the progress bar. It didn't really . Allow prompting for overwrite on each file. . Options to limit the number of backup sets listed on 'sonic list'. . Make sure some variables are defined. . Make "ask" the default mode when using a tty, else "never". . Allow a duration for keeping a batch message open before we flush it. . Always create a name. Fallback to using something based on the time. . Revved version to 1.1.3.
1.1.220 Apr 2019 06:45 minor feature: Updated copyright notices to 2019 . Switch to using a raw fork and exec. Pty was the wrong approach. . Require a password. Don't allow none's. . Merge branch 'master' of /srv/GITROOT/Tardis. . Using subprocess is even better. . Switched to using the hmac.compare_digest() function instead of raw. . Moved some demessages from info to delevel. . Added support for the environment variable version of TARDIS_PWFILE. . Changed permissions to include execute. . Minor changes to address pylint, and some incorrect comments. No. . Improve the AuthenticationFailed return message. Was throwing an. . Several minor changes. Added ExitRecursionException to break out of the. . Updated. . Added a default for a keys file. . Added support for a TARDIS_KEYFILE environment variable. . Use the create the TARDIS_KEYFILE environment variable if needed. . Change the name of the hmac variable to to mac so that it doesn't. . Merge branch 'master' of linux.local:/srv/GITROOT/Tardis. . Explicitly files. Seems to help memory use. . Updates from pylint. No functional changes. . Add the pathmatch library, and match against patterns to go across. . Switch the arguments around a bit. -Y for compressing messages, -C for. . Removed the default configuration files. Now must be specified on. . Modify the systemctl init scripts to include the configuration file. . Improved help message. . Got hmac.compare_digest() polarity backwards. Couple other minor. . Merge branch 'master' of /srv/GITROOT/Tardis. . Added elapsed time to the progress bar. . Update the progress bar periodically, regardless. . Remove warning message. . Add checking to see if there's a same sized file before we ask for a. . Don't create a fake name if we're using automatic naming. . . Date range didn't work. . Remove an unnecessary logging message. . Updated the readme. . Revved version to 1.1.2.
1.1.108 Mar 2019 06:45 minor feature: Improved reporting for --report dirs . Make sure we flush the prompt before we ask for input. . Catch FileNotFound errors that os.lstat() can throw if files are deleted. . Updated to scripts and docs to install and use fusepy. . Added a shtardis.py tool to allow creating an authenticated shell for. . Revved version to 1.1.1.
1.1.025 Feb 2019 11:25 minor feature: Initial cut at translation to Python 3.6 or later. . Improve some names. . Merge remote-tracking branch 'origin/master' into Python-3. . First cut at converting to fusepy. Adds the ability to disable thread. . Convert to python3 and virtualenv. . a typo. . Improvements. Adding support for -o options. Improving general. . More changes to improve Python3 integration. . Minor change to make sure passwords are taken when authentication is . . More, and improvements to listxattr. . a in string conversion. Lower some info messages to de. . Move to using python3. . the string conversion. . Converted back to sending the Uname as base64 encoded for compatibility. . Updating documentation for Python3. . Remove the mode parameter to SpooledTemporaryFile(), causes it to be. . Switched to using python3 in tardisremote. . Merge remote-tracking branch 'origin/master' into Python-3. . Merge remote-tracking branch 'origin/master' into Python-3. . Merge remote-tracking branch 'origin' into Python-3. . More modifications for Python-3. . More minor changes for Python-3 compatibility. . Merge remote-tracking branch 'origin/master' into Python-3. . Cleanups to get the filesystem working cleanly. . Remove a few decode() calls. Python3 doesn't support decode() on. . Cleaned up an error message. . Converting to python3. Convert the name to a string, so it prints cle . . Moved the TarDiff getBackupSet functionality to Util, and incorporate it. . Remove a decode call. Str doesn't have decode in P3. . Set allow_no_value on the configparser object, and put None's back in. . Merge remote-tracking branch 'origin/master' into Python-3. . Merge remote-tracking branch 'origin/master' into Python-3. . Add the ability to read arguments from a arg file, with @. . Cleanup a message. . Various to work with Python3, and how it does installs. . Merge branch 'Python-3' of /srv/GITROOT/Tardis into Python-3. . Allow empty entries in the loadKeys function. . Merge remote-t
1.0.511 Feb 2019 12:05 minor feature: Make sure the build version is an actual string, not a bytes array. . Merge branch 'master' of ssh://linux/srv/GITROOT/Tardis. . Merge branch 'master' of ssh://linux/srv/GITROOT/Tardis. . Correctly encode the path when generating dir chunks. . Merge branch 'master' of /srv/GITROOT/Tardis. . Merge /srv/GITROOT/Tardis. . Switch the default value of "LinkBasis" to off. Update the README. . regenerate so that it won't try to set attributes/times/whatever. . Merge /srv/GITROOT/Tardis. . Merge branch 'master' of ssh://linux/srv/GITROOT/Tardis. . Improve logging and disable cache dir creation in cdfile. . Merge /srv/GITROOT/Tardis. . Revved version to 1.0.5. . Added a python version string to the version.
1.0.424 Dec 2018 00:45 minor feature: the way the defaults work their way into the . . the way the defaults work their way into the. . Merge /srv/GITROOT/Tardis. . Revved version to 1.0.4.
1.0.213 Aug 2018 14:25 minor feature: Improved error reporting on problematic return messages. . Merge branch 'master' of /srv/GITROOT/Tardis. . a where if you request multiple checksums, they all get writt . . Adding checks to see if the file already exists when retrieving by ch . . Revved version to 1.0.2.
1.0.129 Jul 2018 12:45 minor feature: an error message that was faulting. . Revved version to 1.0.1. . Precompile the exclude patterns when we load them, rather than having to. . Merge branch 'master' of /srv/GITROOT/Tardis. . Updated notes for 1.0.0. . a broken specification in the Tardis Remote configuration section. . Merge /srv/GITROOT/Tardis.
0.33.120 Jan 2018 06:45 minor feature: Update README.md . Remove deging statement. . Added password strength checking. Added a check to make sure a password. . Update DB version. Add a few more tracking statistics. a problem. . Set Vacuumed to default to 0. . Add some exception tracking to the inodeDB errors. . Primary changes: processDelta to do only a sendMessage instead of a. . Oops, previous cleaned up the sending of content messages, but left the. . Added the stat to collect transmission time. . Acking Client Config messages. . Include the Util package. . Ack the ClientConfig and CommandLine messages, and ignore the responses. . Minor to signalling the correct compression types for deltas and. . Catch errors when opening a file for checksuming. Collect some stats. . Revved version to 0.33.1.
0.32.024 Jul 2017 01:05 minor feature: Changed up the protocol a bit, to only send a tardis header, and. Notes for changes to using SRP. Initial cut at adding SRP authentication. Not for HTTP yet. Stop using the lastTimestamp value from the connection object, and. Initial cut at SRP authentication over the remote interface. Merge branch 'master' of /srv/GITROOT/Tardis. Make sure to authenticate before lastBackupSet(). Lost on the merge. and porting encryptDB.py to use SRP Authentiaction. Added setSRP tool.. Brought setDirHashes.py up to current. false is not False. remote setting of the keys by sending in base64 encoding. . Moved password confirmation to the Util.getPassword() function. Improved password authentication flows and messages. Add a handler to deal with NotAuthenticated Exceptions. Catch a couple exceptions and flag them as bad passwords. Catch password failures during decode. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Bad Password messages. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Cleaned up authentication exception handling in a lot of places. Merge branch 'master' of /srv/GITROOT/Tardis. Add back the password option to getDB(). Lost on the merge. up the call to getPassword() to take the right parameters. Merge branch 'master' of /srv/GITROOT/Tardis. Correct some capitalization. Allow batching of messages from sendDirChunks if the chunk is small. Added progressbar2, for encryptDB.py. Add gif and png files to not be compressed. Change to using progress bars, rather than logging messages. Merge branch 'master' of /srv/GITROOT/Tardis. Updated the arguments to encryptDB. Added a few more instances of exception logging. Add an error if no password is specified for a protected backup. Save SRP values as hex, not binary. Improve some error values. Remove the tok
0.31.1219 Jul 2017 06:25 minor feature: Cleanup. Added automatic upgrading of the schema. Updated schema version to 12. Revved version to 0.31.12. Added __init__.py to make it show as a module. Updated to add automatic schema upgrading. Merge branch 'master' of /srv/GITROOT/Tardis. Brought the tardisremote configuration documentation into line with. HttpInterface to allow upgrading the schema, if so specified in the. Add a command to sonic to upgrade a database. Changed --log-exceptions to --exceptions, consistently. Added.
0.31.1114 Jul 2017 03:16 minor feature: Added the getChecksumInfoChainByPath() method to the web interface. to use the correct hash. Code cleanup. Merge branch 'master' of /srv/GITROOT/Tardis. Added support to disable the client configuration information in the. Added an exception to indicate that the cache dir doesn't exist, when. Change the way the directory hashes, to make it more unlikely that a. Better messages when creating a cachedir fails (ie, when new clients are. Code cleanup. Switched to using the new hashing method. Added notes for 0.31.11 and 0.32.0. Revved version to 0.31.11. an where getInfoChain and getInfoChainByPath weren't actually. Merge branch 'master' of /srv/GITROOT/Tardis.
0.31.901 May 2017 03:45 minor feature: Allow specifying multiple NoCompress files, and specifying NoCompress. Merge /srv/GITROOT/Tardis. a typo in the logwatch script. Perhaps this is what's screwing up. Initial cut at a "files" command for sonic, listing all the files. Working on improvements. More functional version of the "files" command to sonic. Including. Move a couple manipulation functions to the Utilities package, so they. Improvements to the list files. Adding support for different communications mechanisms. At this point. Minor typo changes to things sqlite doesn't really care about. Adding support for different algorithms to support compressed messages. Revved version to 0.38.9. Cleaned up messages initilialization.
0.31.822 Apr 2017 10:25 minor feature: During a listing, convert characters and allow replacement. May make. Catch exceptions if anything goes wrong, allowing more progress. Merge /srv/GITROOT/Tardis. Updated gmp install for Ubuntu/Debian. an undefined variable problem. Oops, never connected loading the nocompress types with where they're. Replace bogus characters in filenames. Merge /srv/GITROOT/Tardis. Revved version to 0.31.8.
0.31.611 Mar 2017 21:25 minor feature: the where it wouldn't update the version correctly. Apparently. First cut at supporting multiple compression algorithms. Check that compression names coming in through the configuration file. For None compression type, return the function handle, not. Remove an unnecessary line. Added the "pyliblzma" library for lzma compression support. Improved the way CompressedBuffer calculates if you're under the. Oops, we should probably indicate if we're compressed, or what. Adding a /to the HttpInterface, and appropriate code to call it. Added an explicit () call at deletion, although it probably doesn't. Removed an unnecessary call to encode which was screwing up. Cleaned up the handling of handlings of name encrypting when dealing. Make names that are passed on the command line into unicode. Remove a printing of an exception. the decryption of filenames. Convert all names from the command line to unicode up front. Convert file names to unicode on the command line. Remove another broken "decode" call. Revved tag to 0.31.6.
0.31.509 Jan 2017 21:25 minor feature: Changed the "--versions" and "--all" switches to be combined under. Clean up the code to make revision printing actually work again. Removed --recent, and made it "last" in --revisions. Clean up help comment for -d. Changed revisions back to versions. Collides with --version, but. Made the --verbose switches function similarly for desktop commands. Added a stream argument to Util.setupLogging(), set regenerate to use. Revved version to 0.31.5.
0.31.431 Dec 2016 03:25 minor feature: On a CacheDir.move(), make sure the target directory exists. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Make sure we attempt to encrypt strings, not unicode things. We get. Added better support for printing a "binary files differ" message if. Added "binaryornot" dependancy. Cleaned up some of the handling of files that exist one place and not. Merge branch 'master' of /srv/GITROOT/Tardis. Merge branch 'master' of /srv/GITROOT/Tardis. Forgot a parenthesis. a MAJOR where it wasn't specifying which backupset to read. Revved version to 0.31.4.
0.31.317 Dec 2016 07:05 minor feature: Minor changes to report generation (use the directory and file. Merge branch 'master' of /srv/GITROOT/Tardis. Pylint cleanup. Remove a bunch of the code when I was a new Python. Pylint cleanup. Lots of changes from when I was a new Python. Pylint cleanups. Pylint cleanup. Despite what pylint says, prevInfo needs to start as a None, not a . Pylint cleanup. No functional changes. Remove a logging message which can cause problems during shutdown. Expand the path if it's a directory. Oops, bool's don't have an "instanceof" method. Oy. Cleaned up a comment slightly. Revved version to 0.31.3.
0.31.203 Dec 2016 15:25 minor feature: Creates a new table, the client config table, to hold the client command. an undefined variable problem. Added an option to allow the sqlite database to live in a different. Added a server session ID to the backups field. Prints in the logs. Clean up the way comparisons on the report list take place. Cleans up. Merge branch 'master' of /srv/GITROOT/Tardis. the separate directory for database functionality. Should. Change the name of PidFileError to include the pid package (ie. shortPath() to not loop forever. Hopefully. Revved version to 0.31.2. Added back line to update the version.
0.31.117 Nov 2016 10:45 minor feature: getBackupSetDetails() takes a number, so convert it to a string for the. Merge branch 'master' of /srv/GITROOT/Tardis. Change to allow both 'w' and 'a' modes to be considered "writeable". Cleaned up the way secondary files are deleted. a typo. Argh, python. Create a metadata file for each file. Currently imitates what's in the. Moved some of the loggers to the TardisSocketHandler's logger object. Merge branch 'master' of /srv/GITROOT/Tardis. Added some options to make the configuration more consistent with other. Merge branch 'master' of /srv/GITROOT/Tardis. Removed a typo. Improved the way orphan's are deleted. Moved tag to 0.31.1.
0.31.008 Nov 2016 05:05 minor feature: Added a check to tag an error when the file doesn't have a checksum. Added getBackupSetInfoForID to the remote interfaces. Added purgeSet() call to delete a single backup set. Oops, really I wanted to use the deleteBset() instead of purgeSet(). Initial cut on delete functionality. Massively cleaned up the delete functionality, can now delete multiple. a couple variable changes that shouldn't have been left in. Now. Moved fullPath from the client to the Util package. Switched to using the Utill.fullPath() instead of fullPath(). Adding a configuration file option to the various utilities, allowing. a typo. Merge branch 'master' of /srv/GITROOT/Tardis. Cleanup the runtime parameter. Add config file parsing to Sonic and Diff. Added the schema config value (only used by sonic). typo. Moved common options into the Config module. Improved loadKey handling. Clean up the argument presentation for sonic. Import sys where it should have been imported already. Remote interface for deleteBackupSet. Revved version to 0.31.0.
0.30.307 Oct 2016 04:25 minor feature: Code cleaning. No functional change. Convert CHARACTER fields to TEXT fields. Because SQLite doesn't bother. Added globbing to directory names. Allows wild cards in config files. Implemented the orphans command remotely. Enable the purge command remotely. Made the progress bar dependent on terminal width. Added --metadata to expand upon --times. Should be effectively the same. Changed to requesting an entire checksum chain at once. Improves. Minor code cleanup changes. Added a feature to allow recovering the filename when using a checksum. Forgot to include CompressedBuffer, which is used occasionally by the. Log the exceptions on KeyboardInterrupt. Added urllib3 to the list of required libraries. getChecksumInfoChain() was not correctly defined. How did this work o?. Revved the tag version.
0.30.208 Sep 2016 11:05 minor feature: Improving the shortPath() function somewhat. Still needs a LOT of work. Cleaned up shortPath a bunch. Clean up the logging/deging messages. Some commenting. No. a couple of typos. Alas, SQLite doesn't check the names, so typos. Updating the rotator to use the gzip module, rather than invoking an. Merge branch 'master' of /srv/GITROOT/Tardis. Updated some copyright dates. Marked internal functions with _'s. No functional change. a typo. Forgot a _. Couple deging messages. No functional change. Set the verify variable on the Session object, rather than each request. Cleaned up a crash when outputting to stdout.
0.30.010 Jun 2016 03:16 minor feature: Tweaked Util.sendContent() to correctly print progress messages when. Add support for making sure only one backup is running at a time, at. Cleanup how files are being deleted. Wasn't generating checksums correctly when a checksum is requested for a. Adjusting column widths. Config file support for tardis. Improved handling and error messages for --keys. Simple. Second checkin for documentation. Really rough still. Added encryption stuff. Made the report section dynamically sized, based on the size of file. Add a quick check on the --job switch for config files. Complain if the. Switched to using the pid package, rather than rolling my own. Change response for full backups such that pre-existing files get. Various cleanups. a logging error. a variable name that. Changed the way directories are updated. Now the old contents are. Revved version to 0.30.0. Not yet tagged. Clean up an uninitialized variable. Merge branch 'master' of /srv/GITROOT/Tardis. Removed sanity checking messages. They usually appear, and don't. Cleaned up handling of the --range and --dates arguments, especially. Use '' to expand the list if only a single date is given, instead of. Improved a couple of warning messages. a where hashes weren't getting assigned to directories. Removed the error message about missing inode DB entries. Mostly. Oops, change the config default for Verbosity to be a string. Improved handling of purging old backupsets and unused file entries. Changed permissions back. Mark certain commands as only able to execute directly on the server. Added some sanity checking for the basepath=none case. Make some sanity checking runnable via command line.
0.29.024 May 2016 18:05 minor feature: Broke the regenerator class out into it's own file, so other apps don't. Cleaned up a help message. No functional change. Merge branch 'master' of /srv/GITROOT/Tardis. Added --size (-s) option to lstardis. Removed printing of exceptions during setup. so it prints "None" as an empty string in journal files. No. First stab at password strength checking. Also, better code around. Allow specification of the server connection in a URL form, overriding. Make sure the URL is a tardis URL, if you specify a URL. Typo. Change the way the precomponents for fake directories are created. Merge branch 'master' of /srv/GITROOT/Tardis. Cleaned up argument parsing definitions. No functional change. the way recursion works. If any value was specified to maxdepth. Added a maxdepth to the recursion option. Wrong variable name. How did this pass through?. Argh, really made a hash of that change. Full this time. Early documents. Quickstart Guide and Installation. Clean up an option help line. No functional change. Removed the --hourly, --monthly, --daily, --weekly options form the. More additions to the docs. Still just starting out. Added a --recurse/--norecurse option to allow not recursing into. Initial client support for "full" backups. Sends a message that it's a. Added a simple progress bar. Easier to deal with than generating all. Merge branch 'master' of /srv/GITROOT/Tardis. Added "Full" backup column. Adjusted schema appropriately. Server side components for full backup processing. Minor changes to get sonic to list the full backup status of changesets. Oops, helps if I leave the actual statement in that does the work. Improved printProgress messages. Added some code to run profiling jobs, including creating a single. Revved version to 0.28.0. a typo. Monthy != Monthly. Improve cleanup a bit when using --progress. Added "ForceFull" to allow the server to force certain backups to be. Switch from using tempfile.NamedTemporaryFile() to one of our own. Return "False" from calcAutoIn
0.28.004 May 2016 09:05 minor feature: Broke the regenerator class out into it's own file, so other apps don't. Cleaned up a help message. No functional change. Merge branch 'master' of /srv/GITROOT/Tardis. Added --size (-s) option to lstardis. Removed printing of exceptions during setup. so it prints "None" as an empty string in journal files. No. First stab at password strength checking. Also, better code around. Allow specification of the server connection in a URL form, overriding. Make sure the URL is a tardis URL, if you specify a URL. Typo. Change the way the precomponents for fake directories are created. Merge branch 'master' of /srv/GITROOT/Tardis. Cleaned up argument parsing definitions. No functional change. the way recursion works. If any value was specified to maxdepth. Added a maxdepth to the recursion option. Wrong variable name. How did this pass through?. Argh, really made a hash of that change. Full this time. Early documents. Quickstart Guide and Installation. Clean up an option help line. No functional change. Removed the --hourly, --monthly, --daily, --weekly options form the. More additions to the docs. Still just starting out. Added a --recurse/--norecurse option to allow not recursing into. Initial client support for "full" backups. Sends a message that it's a. Added a simple progress bar. Easier to deal with than generating all. Merge branch 'master' of /srv/GITROOT/Tardis. Added "Full" backup column. Adjusted schema appropriately. Server side components for full backup processing. Minor changes to get sonic to list the full backup status of changesets. Oops, helps if I leave the actual statement in that does the work. Improved printProgress messages. Added some code to run profiling jobs, including creating a single. Revved version to 0.28.0. a typo. Monthy != Monthly. Improve cleanup a bit when using --progress. Added "ForceFull" to allow the server to force certain backups to be.
0.2717 Apr 2016 18:05 minor feature: Add support for compressing messages as the go across. Adds the. Removed duplicated code. No need to retrieve the HMAC twice. Removed duplicated code. Value generated and tossed, no longer. Merge /srv/GITROOT/Tardis. Adedd a couple exception catchers to clean up output when errors occur. Quick to enable statfs() on at filesystems that are mounted from a. Convert all names to the filesystem encodings, rather than the raw bytes. It's utf-8, not utf-c. Really should be filesystem based. Actually. Merge /srv/GITROOT/Tardis. Switched to using urllib instead of pycurl. Changed to support only a. Removed requirement for pycurl. Merge /srv/GITROOT/Tardis. the headers to specify that we're tardisremote rather than tardisd. Added -l option to list files which differ. Merge /srv/GITROOT/Tardis. Revved version number. Forgot to do that on the last release. Catch some more exceptions. Merge branch 'master' of linux.local:/srv/GITROOT/Tardis. Support a -B form of the option. Improve error handling if we can't get the cachedir and DB. Merge branch 'master' of linux.local:/srv/GITROOT/Tardis. Store data in sets for faster access. Merge branch 'master' of linux.local:/srv/GITROOT/Tardis. Replace urllib.quote_plus() with just urllib.quote(). Allows spaces in. Merge branch 'master' of /srv/GITROOT/Tardis. Switch the variable from TARDIS_REMOTEPORT to the more consistent. Add instructions on password specification. Cleaned up some args to tardiff. Merge /srv/GITROOT/Tardis. Changed TARDIS_REMOTEPORT to TARDIS_REMOTE_PORT to be more consistent. Switch to doing several fetchmany()'s rather than a single fetchall(). Filled out the table of parameters to include the TARDIS_REMOTE_*. Switch to using a simpler checkin update for extend file, using inode. Hmm, maybe not faster without an appropriate index. Adding the requests_cache module, to cache requests to the HTTP server. Clean up some error handling. Improved the "getDB" function. Really should be using. Add logging to the Cache object.
0.2608 Feb 2016 10:05 minor feature: a couple places where it was using the global variable crypt. Couple to make things work in the remote encyrpted case. Raise (lower?) the main deging level to info. Added a decorator which causes most functions to reconnect and retry if. Changes to the remote interface to allow sonic to be used against an. a where we used the wrong variable name. Ah, Python. things so it won't try to create a symlink if there's no output file. a where we couldn't read symlinks in an encrypted backup. Names. Added functionality to save and retrieve the "new" status of a connec?. Improved the way we determine if we need to generate keys, and save. Improved the way keys get moved between the keys file and the database. Removed code which caused an error upon occassion. Added some deging code. Removed unnecessary import of pycurl. Use ord() instead struct.unpack() when unpadding files. Switch to using streaming reads on files. Prevents needing to read the. Change the way sizes passed to decryptFile are done (ie, make them. Include the disksize value when getting checksum info. Added key loading code. Changed --database short option to -D for. Changed arguments to be consistent for -D and -d. Added setupDataConnection() function in Util, and changed other packages. Update README.md. Merge branch 'master' of https://github.com/koldinger/Tardis. Oops, two screwups. Left an extraneous "except" block in, and cleared. Added some more information to the headers. Added listOrphanChecksums. the URL for getBackupSetInfoForTime(). Oops, helps to include everything I need. a typo. No functional change. Reworked the functionality around how files are diffed, so we can start. Isolate the "getFileInfo" code into a single function. Switch to using. Full suppoort for recursing into directories. Merge /srv/GITROOT/Tardis. Make sure everything is using tardisremote.cfg, instead of remote.cfg?. Make sure to include the prototype tardisremote.cfg. Merge /srv/GITROOT/Tardis.
0.2531 Jan 2016 07:05 minor feature: Update notes for 0.24. Add a ClientID if there isn't one already. Merge branch 'master' of linux.local:/srv/GITROOT/Tardis. Merge branch 'master' of https://github.com/koldinger/Tardis. Merge /srv/GITROOT/Tardis. Basic structures for authentication. Now uses an HMAC as the hash when. a in the last version where the wrong name was being passed in. a where the database would copied and compressed on invalid. Merge /srv/GITROOT/Tardis. the handling of authentication when you output to stdout. so we use HMAC hashes instead of pure MD5 when specifying a. Merge /srv/GITROOT/Tardis. Added Encrypt-Then-Mac hashing to the individual files. Merge /srv/GITROOT/Tardis. Updated notes for 0.25 release. Readded checking the actual number of files listed, rather than just. Added support for eliminating some files based on their mimetype, as. Allow multiple arguments to be passed to StoreBoolean. Only the first. Allow more programs to use -P for password. Added noauth option to TardisFS. Added code to allow reading a root directory. Creates fake root info. Initial list of file types to not compress. Cleanup a in how local connections were specified with the. Added comment's to the nocompress types file format. Experimental versioning stuff. the output name when generating an individual file by name. Changed the way version strings are generated and used. More improvements to version string generation. More improvements to version strings. Or at least longer strings. Merge branch 'versioning'. an with the noauth option. Updated version string. Hash directories, and add the hashes. Added getConfigValue and getKeys to the Http Interface. Improve some string handling features for working with file names over. Make sure 'attr' and 'acl' are in the structure before attempting to. Merge /srv/GITROOT/Tardis. Oops, works better if I check for a file in the right directory. Removed a deging comment.
0.2405 Jan 2016 13:45 minor feature: Minor cleanup of duplicate code. No functional change. crypto support. Updated for newer schema. Optimized. the workaround for an old typo. Now collects updated files count. Put the connection version string in a "constant", rather than ad-hoc. Update README.md. Merge /srv/GITROOT/Tardis. Switching encrypted data formats. Now stores the IV in the file as the. a couple with how we build the new encrypted files. Need to. Remove the "pathname" argument on content messages. Not used, and is a. Made the encyrpt and pad arguments to sendData optional, with a default. Code cleanup. No effective change. Track a few errors. Cleanup the path passed for cloneDir calls. Merge /srv/GITROOT/Tardis. Update README.md. Merge branch 'master' of /srv/GITROOT/Tardis. Cleanup the response code to SETKEYS, which was causing an error to. First cut at supporting key files. Added a config value in the DB for ClientID. Used in processing the. Improvements to the "stored key" approach. Stored the keys in a. Add defaults and error checking for the config parser. If you've selected a key file, and no keys are yet specified, generate. Remove extraneous deging print statement. Added delConfigValue() function to delete config values, if need be. Allow moving keys between database on server, and a local key file/da?. Switch to using padzero() instead of pad() on token generation. Update to support keys file. Update to use the new encrypted file format. Added a TODO list. Added the ability to specify the sizes of files to checksum before. Expanded the information on each session report. Merge branch 'master' of /srv/GITROOT/Tardis. Merge /srv/GITROOT/Tardis. Clean up a few notes. Update some out of date comments. Convert times to ints. Cleans up some in the database. Added timeout functionality. Merge /srv/GITROOT/Tardis. Revved version to 0.24.
0.2208 Jun 2015 22:45 minor feature: Adds lstardis program for listing contents of trees. Changes host and hostname options to client. TARDIS_HOST = TARDIS_CLIENT. --hostname = --client. --host = --client. Probably one more release to support tardisremote more cleanly before 1.0 release.
0.606 Nov 2014 02:25 minor bugfix: This version corrects some bugs. Earlier versions would FAIL to backup correctly if you are doing Encrypted AND Compressed data. If you are either encrypted or compressed (or neither) this is not a problem. However, if you are doing both, files which were done with both are unreadable and need to be backed up.