/mandos/trunk

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

« back to all changes in this revision

Viewing changes to mandos-to-cryptroot-unlock

  • Committer: teddy at recompile
  • Date: 2020-11-29 22:54:26 UTC
  • 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:
2
2
3
3
# Script to get password from plugin-runner to cryptroot-unlock
4
4
5
 
# Copyright © 2018 Teddy Hogeborn
6
 
# Copyright © 2018 Björn Påhlsson
 
5
# Copyright © 2018-2019 Teddy Hogeborn
 
6
# Copyright © 2018-2019 Björn Påhlsson
7
7
8
8
# This file is part of Mandos.
9
9
61
61
# Keep running plugin-runner and trying any password, until either a
62
62
# password is accepted by cryptroot-unlock, or plugin-runner fails, or
63
63
# the file /run/mandos-keep-running has been removed.
64
 
while type cryptroot-unlock >/dev/null 2>&1; do
 
64
while command -v cryptroot-unlock >/dev/null 2>&1; do
65
65
    /lib/mandos/plugin-runner > "$passfile" &
66
66
    echo $! > /run/mandos-plugin-runner.pid
67
67
    wait %% || break