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.
|