summaryrefslogtreecommitdiff
path: root/TODO
blob: 758361f5692ae6c78a4ee3f54b0ca9e5356aff97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
03:07 < nickm> ok.  tomorrow morning I try to get messaging sorted, and try to
               write up a registry-based exe version checker.

- Download improvements.
  - Back off on download failure.
  - Handle full stalled file in download.
  - Use if-modified-since on timestamp

- Write client-side code
  . 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?
     - Look into best packageing practices

  . 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
  - quiet output.
  X Rendezvous-back with Tor when done.

- Better configurability: let users override mirrors, keys, etc.
- Backend for "A bunch of files you can unzip someplace."
- OSX backend (hard).
- 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.

- Bugs Roger keeps noticing
  - you can add the same role to a key twice.
  - wishlist item: thandy-pk dumpkey-all

- 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

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'