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.
-
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,fstatorlstatand test for particular permissions. -
SCHROOT_CONFerror 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
20nssdatabasescan 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/execcode into aspawnfunction. -
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-onlymount option forunionunderlay (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-facetdepends uponschroot-chrootbeing included first. Try to break this dependency. -
--end-session --forceshould 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::sessionusesfind_aliasto find chroots, but it should specifically look for either chroots or sessions (and potentially also source chroots). Teachschroot::chroot::configto treat all these separately. Aliases are only useful forSESSION_AUTOMATICandBEGIN.