/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 debian/mandos.postinst

  • Committer: teddy at recompile
  • Date: 2020-12-03 20:30:45 UTC
  • mto: This revision was merged to the branch mainline in revision 404.
  • Revision ID: teddy@recompile.se-20201203203045-iqd6nq9y5nwalh1x
Minor fix of a test function

In dracut-module/password-agent, the test function
test_send_password_to_socket_EMSGSIZE() (which tests that the
send_password_to_socket() task function aborts properly when getting
EMSGSIZE when writing to the password socket), part of the test code
is supposed to find a message size which definitely does trigger
EMSGSIZE when send()ing to a socket.  Without a "break" in the proper
place, however, the size given is always exactly 1024 bytes too large.

This is very probably not a problem, since a too large message will
still be too large if it is increased by 1024 bytes, and send(2) in
practice checks the size before reading the buffer.  The biggest issue
would be if some version of send(2) would try to look at the last 1024
bytes of the message buffer before checking the message size; this
would then lead to a buffer over-read when running this test function.
(But even then there would be no security implications since the tests
are not run in the normal operation of the program.)

* dracut-module/password-agent.c
  (test_send_password_to_socket_EMSGSIZE): Break out early when ssret
  < 0 and errno == EMSGSIZE; don't allow loop to increase message_size
  again.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
                *:Mandos\ password\ system,,,:/nonexistent:/bin/false)
28
28
                    usermod --login _mandos mandos
29
29
                    groupmod --new-name _mandos mandos
 
30
                    # Reload D-Bus daemon to be aware of the _mandos
 
31
                    # user & group
 
32
                    if [ -x /etc/init.d/dbus ]; then
 
33
                        invoke-rc.d dbus force-reload || :
 
34
                    fi
30
35
                    ;;
31
36
            esac
32
37
        fi
36
41
                --home /nonexistent --no-create-home --group \
37
42
                --disabled-password --gecos "Mandos password system" \
38
43
                _mandos
 
44
            # Reload D-Bus daemon to be aware of the _mandos user &
 
45
            # group
 
46
            if [ -x /etc/init.d/dbus ]; then
 
47
                invoke-rc.d dbus force-reload || :
 
48
            fi
39
49
        elif dpkg --compare-versions "$2" eq 1.7.4-1 \
40
50
                || dpkg --compare-versions "$2" eq "1.7.4-1~bpo8+1"
41
51
        then
50
60
                invoke-rc.d mandos start
51
61
            fi
52
62
        fi
53
 
        # Reload D-Bus daemon to be aware of the _mandos user & group
54
 
        if [ -x /etc/init.d/dbus ]; then
55
 
            invoke-rc.d dbus force-reload || :
56
 
        fi
57
63
        if ! dpkg-statoverride --list "/var/lib/mandos" >/dev/null \
58
64
             2>&1; then
59
65
            chown _mandos:_mandos /var/lib/mandos