| 1144 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1143 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1142 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1141 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1140 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1139 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1138 |  | 
Fix bug in server Debian package: Fails to start on first install
 There has been a very long-standing bug where installation of the
 server (the "mandos" Debian package) would fail to start the server
 properly right after installation.  It would work on manual (re)start
 after installation, or after reboot, and even after package purge and
 reinstall, it would then work the first time.  The problem, it turns
 out, is when the new "_mandos" user (and corresponding group) is
 created, the D-Bus server is not reloaded, and is therefore not aware
 of that user, and does not recognize the user and group name in the
 /etc/dbus-1/system.d/mandos.conf file.  The Mandos server, when it
 tries to start and access the D-Bus, is then not permitted to connect
 to its D-Bus bus name, and disables D-Bus use as a fallback measure;
 i.e. the server works, but it is not controllable via D-Bus commands
 (via mandos-ctl or mandos-monitor).  The next time the D-Bus daemon is
 reloaded for any reason, the new user & group would become visible to
 the D-Bus daemon and after that, any restart of the Mandos server
 would succeed and it would bind to its D-Bus name properly, and
 thereby be visible and controllable by mandos-ctl & mandos-monitor.
 This was mostly invisible when using sysvinit, but systemd makes the
 problem visible since the systemd service file for the Mandos server
 is configured to not consider the Mandos server "started" until the
 D-Bus name has been bound; this makes the starting of the service wait
 for 90 seconds and then fail with a timeout error.
 
 Fixing this should also make the Debian CI autopkgtest tests work.
 
 * debian/mandos.postinst (configure): After creating (or renaming)
 user & group, reload D-Bus
 daemon (if present).
 
 
  | Teddy Hogeborn | 6 years ago |  |   | 
| 1137 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1136 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1135 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1134 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1133 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1132 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1131 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1130 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1129 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1128 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1127 |  | 
Add dracut(8) support
 Add support for the dracut(8) system for generating initramfs image
 files; dracut is an alternative to the "initramfs-tools" package.
 
 * .bzrignore (dracut-module/password-agent): Ignore new binary file.
 * dracut-module: New directory for the dracut module.
 * INSTALL (Prerequisites/Libraries/Mandos Client): Add dracut as an
 alternative to
 initramfs-tools,
 and also add GLib.
 * Makefile (DRACUTMODULE, GLIB_CFLAGS, GLIB_LIBS): New.
 (CPROGS): Add "dracut-module/password-agent".
 (DOCS): Add "dracut-module/password-agent.8mandos".
 (dracut-module/password-agent.8mandos): New.
 (dracut-module/password-agent.8mandos.xhtml): - '' -
 (dracut-module/password-agent): - '' -
 (check): Add command to run tests of password-agent(8mandos).
 (install-client-nokey): Also install the dracut module directory,
 its files, and the password-agent(8mandos)
 manual page.
 (install-client): To update the initramfs image file, run
 update-initramfs or dracut depending on what is
 installed.
 (uninstall-client): - '' - and also uninstall the the files in the
 dracut module directory, that directory itself,
 and the password-agent(8mandos) manual page.
 * debian/control (Build-Depends): Add "libglib2.0-dev (>=2.40)".
 (Package: mandos-client/Depends): Add "dracut (>= 044+241-3)" as an
 alternative dependency to
 initramfs-tools.
 (Package: mandos-client/Conflicts): New; set to
 "dracut-config-generic".
 (debian/mandos-client.README.Debian): Document alternative commands
 to update the initramfs image
 for when dracut is used.
 * debian/mandos-client.postinst (update_initramfs): Use alternative
 commands to update
 the initramfs
 image for when
 dracut is used.
 * debian/tests/control (password-agent, password-agent-suid): Add two
 new tests.
 * dracut-module/ask-password-mandos.path: New.
 * dracut-module/ask-password-mandos.service: - '' -
 * dracut-module/cmdline-mandos.sh: - '' -
 * dracut-module/module-setup.sh: - '' -
 * dracut-module/password-agent.c: - '' -
 * dracut-module/password-agent.xml: - '' -
 * initramfs-unpack: Use the dracut "skipcpio" command, if available.
 Also be more flexible and try hard to detect where
 compressed data starts.
 * plugins.d/mandos-client.xml (SECURITY): Be more precise that the
 mandos-client binary might
 not always be setuid, but
 that the program assumes
 that it has been started
 that way.
 * plugins.d/password-prompt.c: Add new "--prompt" option.
 (conflict_detection): First try to detect the new PID file of
 plymouth.
 (main): Define and use new "prompt" variable.
 * plugins.d/password-prompt.xml (SYNOPSIS): Show new --prompt option.
 (DESCRIPTION): Describe new behavior of looking for plymouth PID
 file.
 (OPTIONS): Document new "--prompt" option.
 (ENVIRONMENT): Clarify that the CRYPTTAB_SOURCE and CRYPTTAB_NAME
 environment variables are not used if the --prompt
 option is used.  Remove unnecessarily specific
 details about where the CRYPTTAB_SOURCE and
 CRYPTTAB_NAME comes from, since this can now be
 either initramfs-tools or dracut.
 (SEE ALSO): Remove superfluous crypttab(5) reference, and add commas
 to separate the other references.
 * plugins.d/plymouth.c: Add new "--prompt" and "--debug" options.
 (debug): New global flag.
 (fprintf_plus): New function, used for debug output.
 (exec_and_wait): Add extra "const" to "argv" argument.
 (main): Define and use new "prompt" variable.  Add debug output.
 (main/options, main/parse_opt): New; used to parse options.
 * plugins.d/plymouth.xml (SYNOPSIS): Show new options.
 (OPTIONS): Document new options.
 (ENVIRONMENT): Clarify that the cryptsource and crypttarget
 environment variables are not used if the --prompt
 option is used.  Remove unnecessarily specific
 details about where the cryptsource and crypttarget
 comes from, since this can now be either
 initramfs-tools or dracut.
 (EXAMPLE): Add an example using an option.
 (SEE ALSO): Remove superfluous crypttab(5) reference.
 * plugins.d/splashy.xml (ENVIRONMENT): Clarify that the cryptsource
 and crypttarget environment
 variables are not used if the
 --prompt option is used.
 Remove unnecessarily specific
 details about where the
 cryptsource and crypttarget
 comes from, since this can now
 be either initramfs-tools or
 dracut.
 (SEE ALSO): Remove superfluous crypttab(5) reference.
 * plugins.d/usplash.xml (ENVIRONMENT): Clarify that the cryptsource
 and crypttarget environment
 variables are not used if the
 --prompt option is used.
 Remove unnecessarily specific
 details about where the
 cryptsource and crypttarget
 comes from, since this can now
 be either initramfs-tools or
 dracut.
 (SEE ALSO): Remove superfluous crypttab(5) reference.
 
 
  | Teddy Hogeborn | 6 years ago |  |   | 
| 1126 |  |  | Teddy Hogeborn | 6 years ago |  |   | 
| 1125 |  |  | Teddy Hogeborn | 6 years ago |  |   |