/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to initramfs-tools-hook

  • Committer: teddy at recompile
  • Date: 2020-11-29 22:54:26 UTC
  • mto: This revision was merged to the branch mainline in revision 402.
  • Revision ID: teddy@recompile.se-20201129225426-6ud4hwj36zo67igi
Fix flaky test in password-agent

The test_send_password_to_socket_EMSGSIZE function should not use a
hard-coded constant to trigger an EMSGSIZE error from send().

* dracut-module/password-agent.c (send_password_to_socket): Only save
  errno from send() if it returned < 0.  Show strerror(errno) if
  send() does return EMSGSIZE.  Show number of bytes sent if send()
  sends less than all bytes.
  (test_send_password_to_socket_EMSGSIZE): Do not skip this test on
  non-AMD64 platforms.  Try to find a suitable message size to trigger
  EMSGSIZE before testing send_password_to_socket(), and only skip
  this test if such a triggering message size is not found.

Reported-By: Simon McVittie <smcv@debian.org>
Closes: #975457

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        --mode=u=rwx "${DESTDIR}${PLUGINDIR}" \
81
81
        "${DESTDIR}${PLUGINHELPERDIR}"
82
82
 
 
83
copy_exec "$libdir"/mandos/mandos-to-cryptroot-unlock "${MANDOSDIR}"
 
84
 
83
85
# Copy the Mandos plugin runner
84
86
copy_exec "$libdir"/mandos/plugin-runner "${MANDOSDIR}"
85
87
 
140
142
# Get DEVICE from initramfs.conf and other files
141
143
. /etc/initramfs-tools/initramfs.conf
142
144
for conf in /etc/initramfs-tools/conf.d/*; do
143
 
    if [ -n `basename \"$conf\" | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
144
 
        | grep -v '\.dpkg-.*$'` ]; then
 
145
    if [ -n "`basename \"$conf\" \
 
146
        | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
 
147
        | grep -v '\.dpkg-.*$'`" ]; then
145
148
        [ -f "${conf}" ] && . "${conf}"
146
149
    fi
147
150
done
250
253
# initrd; it is intended to affect the initrd.img file itself, since
251
254
# it now contains secret key files.  There is, however, no other way
252
255
# to set the permission of the initrd.img file without a race
253
 
# condition.  This umask is set by "initramfs-tools-hook-conf",
254
 
# installed as "/usr/share/initramfs-tools/conf-hooks.d/mandos".)
 
256
# condition.  This umask is set by "initramfs-tools-conf", installed
 
257
# as "/usr/share/initramfs-tools/conf.d/mandos-conf".)
255
258
256
259
for full in "${MANDOSDIR}" "${CONFDIR}"; do
257
260
    while [ "$full" != "/" ]; do