Tarsnap newsIt has been just over two months since I opened the tarsnap beta to the public, and I've been busy making improvements to tarsnap -- a few bug fixes, but mostly added features. While some of the features I've added to tarsnap recently resulted from suggestions I've received in the past two months, the majority are things I've had planned for a long time; but even with those, input I've received from tarsnap beta testers has been useful, as many of the features I've added were much lower priorities until I started getting lots of emails asking for them.
A detailed listing of the improvements in individual versions of the tarsnap client code is available from the tarsnap beta client download page (and an even more detailed listing can be produced using diff), but in my eyes the most important changes in the past two months are:
- Tarsnap now accepts a new --dry-run option when operating in -c (archive creation) mode. This allows you to see how much space and bandwidth would be used to archive some files before tarsnap contacts the server at all (and thus, before you spend any money); it can also be useful for verifying that --include and --exclude options are correct.
- Tarsnap also accepts new --maxbw-rate, --maxbw-rate-up, and --maxbw-rate-down options for limiting the bandwidth used in bytes per second. I think this is the most commonly requested feature in tarsnap -- mostly by people with slow internet connections, who want to make sure that tarsnap doesn't overly congest their uplink.
- A bug in the handling of hardlinked files is now fixed. Under certain conditions, when creating an archive containing a hardlinked file, tarsnap would exit with an error message of "Skip length too long". This was a very hard bug to track down: It was first reported back in June, but at the time neither I nor the reporter could manage to reproduce it; and it was only two weeks ago that it was triggered for the second time, by someone else (at which point we did manage to reproduce it).
- Tarsnap is now far more portable. Two months ago, tarsnap had been tested on FreeBSD, OS X, and a small number of Linux distributions; since then, I have made changes necessary to get tarsnap running on NetBSD, OpenSolaris, and Cygwin, and confirmed that tarsnap works on OpenBSD and a much-increased range of Linux distributions.
- Tarsnap payments are now processed automatically -- tarsnap users no longer need to wait for me to manually handle their payments. I think this was the second most often requested feature, after bandwidth rate limiting; and while mucking about with PayPal's Instant Payment Notification protocol left me feeling rather unclean, I'm certainly glad that this is automated now. As part of automating this process, the method by which tarsnap users make payments has changed slightly; instead of sending me money directly via PayPal, users must log into the tarsnap account management interface and follow links from there. Payments are still handled via PayPal -- that part of things hasn't changed -- but by having people log in to their tarsnap account first, I avoid the "where does this money belong, exactly?" head-scratching which would make automatic payment processing impossible.
- Finally, a matter of security -- at least for those of us who are particularly paranoid. Between a Certificate Authority selling bogus SSL certificates, the creation of a rogue Certificate Authority certificate by exploiting an MD5 collision, and an OpenSSL bug which could result in invalid certificates being treated as valid, there are reasons to question the security of SSL -- which immediately implies questioning the integrity of code distributed over SSL. As a result, starting with tarsnap 1.0.19, I am distributing a GPG-signed file with the SHA256 hashes of the tarsnap source code tarballs. I have created a special-purpose tarsnap code signing key for this, which is itself signed with the new GPG key which I created a few days ago. If you don't already use GPG (or PGP), I recommend that you start now.
While tarsnap is much better now than it was two months ago, I still have a long list of improvements waiting to be made -- and I'm sure there is an even longer list of improvements which I haven't thought of and nobody has asked for yet. So go get started with tarsnap and then send me your ideas for how to make it better!
blog comments powered by Disqus