/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:
142
142
# Get DEVICE from initramfs.conf and other files
143
143
. /etc/initramfs-tools/initramfs.conf
144
144
for conf in /etc/initramfs-tools/conf.d/*; do
145
 
    if [ -n `basename \"$conf\" | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
146
 
        | grep -v '\.dpkg-.*$'` ]; then
 
145
    if [ -n "`basename \"$conf\" \
 
146
        | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
 
147
        | grep -v '\.dpkg-.*$'`" ]; then
147
148
        [ -f "${conf}" ] && . "${conf}"
148
149
    fi
149
150
done
252
253
# initrd; it is intended to affect the initrd.img file itself, since
253
254
# it now contains secret key files.  There is, however, no other way
254
255
# to set the permission of the initrd.img file without a race
255
 
# condition.  This umask is set by "initramfs-tools-hook-conf",
256
 
# 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".)
257
258
258
259
for full in "${MANDOSDIR}" "${CONFDIR}"; do
259
260
    while [ "$full" != "/" ]; do