summaryrefslogtreecommitdiff
path: root/TODO
blob: 740dab9fa05fbc95cfb5bb9384c49452457e0d7c (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
TODO                                                            -*- outline -*-
====


Most new TODO items are marked @todo in the source code and listed in
the Doxygen-generated documentation in doc/schroot/html/todo.html


PENDING
-------

* Update documentation schroot.conf examples.

* Review quoting style.

  Use of single and double quotes in strings is inconsistent.  Needs
  the boost::format markup changes fixing first.  What are other
  projects doing?

* Handle charset conversion errors more gracefully.

  sbuild-util widen_string and narrow_string.  Currently an error
  occurs if in a C locale the string contains non-US-ASCII characters
  or, in other locales if the gettext message catalogue has bad
  strings.  The string is truncated to the point of error, or may be
  empty depending where the error is.  We should error out a bit
  better in this case.  Assertion, or exception?

* Use boost::format markup in the standard error strings.

  This will complete the i18n support for error translation.  It will
  also allow templated exceptions which will simplify error reporting
  for non-string types.


PLANNED
-------

* Replace run-parts(8) usage with internal reimplementation.

  We don't need many of the run-parts features, and this is the only
  Debian-specific feature

* Move PAM open_session and close_session logic.

  Move back from session to auth, or don't open the session in the
  child process (because the open/close happen in different
  processes).

* Docstring argument namespace usage.

  Doxygen is currently failing to parse correct C++ due to what looks
  like namespace bugs in doxygen.  It would be great if we could fix
  the code by fully qualifying the namespace where appropriate.

* Chroot config errors should report the keyfile line number.

  This is difficult, because the keyfile parsing is completed, and the
  line numbers are lost.  Perhaps the keyfile should cache the line
  numbers during read and recompute on write?

* Add API to run multiple commands to replace auth::run().


POTENTIAL
---------

* Add a SbuildChrootXen chroot type for Xen hosts.

  This will require setup scripts for e.g. hostname and network setup.
  It will require DHCP or static IP configuration and a dynamic
  hostname in order to connect.

* Add tests for

** Auth
** AuthConv
** AuthConvTty
** AuthMessage
** Session
** schroot::Options
** schroot_releaselock::Options

None of these are urgent and/or are difficult to test in an automated
fashion.  expect might be useful for testing the PAM wrappers.

* Add tests for dchroot classes.