Most new items are now marked with @todo
in the source code and
listed in the Doxygen-generated documentation in
doc/schroot/html/todo.html
. Note that the list is also somewhat
dated, with some items having been mostly completed, and others
obsoleted in the interim by architectural changes.
-
Update man/examples/schroot-session-chrootinfo.man and man/examples/schroot-session-sessioninfo.man to use ZFS snapshot.
-
Add API to run multiple commands to replace
auth::run()
. -
Add extra file permissions checking.
Both of these changes are to run-parts, to ensure that shell scripts
are owned by root and not world writable (as for config files). And
also add the same permissions check to script-config
files.
-
Generalise permissions checking.
Create a standard function which can use either
stat
,fstat
orlstat
and test for particular permissions. -
SCHROOT_CONF
error messages must also mentionchroot.d
. -
Document that database files on the root filesystem must not be directly shared inside the chroot.
Setup scripts such as
20nssdatabases
can blank them out. -
Document all environment variables in schroot-setup(5).
- Add tests for:
Auth
.AuthConv
.AuthConvTty
.AuthMessage
.Session
.schroot::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.
-
Line reporting while parsing config files misses file name.
log_warning()
is used, because we don't throw an exception. The code has no knowledge of the file name, so can't report it. Outright errors throw, and the handler adds the needed context. -
Unify
fork
/exec
code into aspawn
function. -
Tests for chroots:
- -source chroots.
-
logging should allow customisation of log level.
-
See end of Debian Bug #279408.
-
log functions should have a severity (to complement existing I/W/E types).
Similar to debug level, but for normal messages e.g. quiet/normal/verbose/extra verbose.
-
-
Add a
read-only
mount option forunion
underlay (both for devices and bind mounts). -
Union mounts should allow overlay/underlay to be user-specified?
Or only allow underlay to be specified (but it's already specified in the chroot definition, so don't allow?). Note: Currently user settings are automatically overridden.
-
Add directories under /var to man pages.
-
Add checks for unsupported features in setup scripts.
-
Define
operator &=
and|=
for enum types defining|
and&
operators. -
Header include order:
chroot-facet
depends uponschroot-chroot
being included first. Try to break this dependency. -
--end-session --force
should forcibly end "broken" sessions by manually umounting and purging mount and session directories and metadata. -
Chroot validation does not distinguish between chroots and sessions. Also,
schroot::session
usesfind_alias
to find chroots, but it should specifically look for either chroots or sessions (and potentially also source chroots). Teachschroot::chroot::config
to treat all these separately. Aliases are only useful forSESSION_AUTOMATIC
andBEGIN
.