o get messaging sorted o try to write up a registry-based exe version checker., o Decouple install from check: they are not necessarily related. o Generate newer, better objects internally. o Generate new, better formats for existing 'exe' items o Generate command items properly. - Missing packaging features: - Generate multi-item packages properly. - Transition better for checking on a given item - Implement remove - Get RPM actually more tested - Get install-from-compressed-file working. - Transaction support where available. - OSX backend . Download improvements. o Back off on download failure. o Handle full stalled file in download. - Use if-modified-since on timestamp o Write client-side code o Decide early if a python implementation will do for v1. o Adjust httplib, urllib2 to use socks4a. o Check SOCKS package for suitability as basis for socks4a support? o Look into best packaging practices o Write code to run, telling another process about status, eventually coming up with a list of packages to install or an "A-OK" signal. D GUI o DL-via-Tor o Install-when-done o Verbose output o quiet output. X Rendezvous-back with Tor when done. - Better configurability: let users override mirrors, keys, etc. - Proper exponential back-off on download backend. - Wrapping - More unit tests . Documentation - More comments, more tests o Document EXE and RPM formats in HOWTO. . full pydoc . revise spec - Testing - Much bigger unit tests. o Bugs Roger keeps noticing o you can add the same role to a key twice. o wishlist item: thandy-pk dumpkey-all o Already there: Run "thandy-pk dumpkey" with no arguments - Confusing tracebacks that could use a check and error message: If you type the wrong password, Traceback (most recent call last): File "/home/thandy/updater-live/lib/python2.4/site-packages/thandy/SignerCLI.p y", line 313, in ? main() File "/home/thandy/updater-live/lib/python2.4/site-packages/thandy/SignerCLI.p y", line 308, in main globals()[cmd](args) File "/home/thandy/updater-live/lib/python2.4/site-packages/thandy/SignerCLI.p y", line 202, in keygen k.load() File "/home/thandy/updater-live//lib/python2.4/site-packages/thandy/keys.py", line 385, in load contents = decryptSecret(contents, password) File "/home/thandy/updater-live//lib/python2.4/site-packages/thandy/keys.py", line 343, in decryptSecret raise thandy.BadPassword() thandy.BadPassword [ I maintain that BadPassword _is_ an error message. I'll make it say "Password Incorrect", though, so it looks less like a bug.] when your ~/.thandy/timestamp_key didn't get the secret key dumped too, thandy@moria:~$ thandy-server timestamp Traceback (most recent call last): File "/home/thandy/updater-live/lib/python2.4/site-packages/thandy/ServerCLI.p y", line 191, in ? main() File "/home/thandy/updater-live/lib/python2.4/site-packages/thandy/ServerCLI.p y", line 186, in main globals()[cmd](args) File "/home/thandy/updater-live/lib/python2.4/site-packages/thandy/ServerCLI.p y", line 166, in timestamp keylist = thandy.formats.makeKeylistObj(ts_keyfile, True) File "/home/thandy/updater-live//lib/python2.4/site-packages/thandy/formats.py ", line 752, in makeKeylistObj klist.append({'key': k.format(private=includePrivate), 'roles' : k.getRoles( ) }) File "/home/thandy/updater-live//lib/python2.4/site-packages/thandy/keys.py", line 189, in format result['d'] = intToBase64(self.key.d) File "/usr/lib/python2.4/site-packages/Crypto/PublicKey/RSA.py", line 154, in __getattr__ return getattr(self.key, attr) AttributeError: rsaKey instance has no attribute 'd' [ Gives a more descriptive error now. ]