/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 dracut-module/ask-password-mandos.service

  • Committer: Teddy Hogeborn
  • Date: 2016-03-17 20:40:55 UTC
  • Revision ID: teddy@recompile.se-20160317204055-bhsh5xsidq7w5cxu
Client: Fix plymouth agent; broken since 1.7.2.

Fix an very old memory bug in the plymouth agent (which has been
present since its apperance in version 1.2), but which was only
recently detected at run time due to the new -fsanitize=address
compile- time flag, which has been used since version 1.7.2.  This
detection of a memory access violation causes the program to abort,
making the Plymouth graphical boot system unable to accept interactive
input of passwords when using the Mandos client.

* plugins.d/plymouth.c (exec_and_wait): Fix memory allocation bug when
  allocating new_argv.  Also tolerate a zero-length argv.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- systemd -*-
2
 
3
 
# Copyright © 2019-2023 Teddy Hogeborn
4
 
# Copyright © 2019-2023 Björn Påhlsson
5
 
6
 
# This file is part of Mandos.
7
 
8
 
# Mandos is free software: you can redistribute it and/or modify it
9
 
# under the terms of the GNU General Public License as published by
10
 
# the Free Software Foundation, either version 3 of the License, or
11
 
# (at your option) any later version.
12
 
13
 
#     Mandos is distributed in the hope that it will be useful, but
14
 
#     WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 
#     GNU General Public License for more details.
17
 
18
 
# You should have received a copy of the GNU General Public License
19
 
# along with Mandos.  If not, see <http://www.gnu.org/licenses/>.
20
 
21
 
# Contact the authors at <mandos@recompile.se>.
22
 
23
 
# This systemd.service(5) unit file will start the Mandos
24
 
# password-agent(8mandos) program, which will in turn run
25
 
# mandos-client(8mandos) to get a password and send the password to
26
 
# any and all active password questions using the systemd “Password
27
 
# Agent” mechanism.
28
 
 
29
 
# This file should be installed in the root file system as
30
 
# "/usr/lib/dracut/modules.d/90mandos/ask-password-mandos.service" and
31
 
# will be installed in the initramfs image file as
32
 
# "/lib/systemd/system/ask-password-mandos.service" by dracut when
33
 
# dracut creates the initramfs image file.
34
 
 
35
 
[Unit]
36
 
Description=Forward Password Requests to remote Mandos server
37
 
Documentation=man:intro(8mandos) man:password-agent(8mandos) man:mandos-client(8mandos)
38
 
DefaultDependencies=no
39
 
Conflicts=shutdown.target
40
 
Before=shutdown.target
41
 
ConditionKernelCommandLine=!mandos=off
42
 
ConditionFileIsExecutable=/lib/mandos/password-agent
43
 
ConditionFileIsExecutable=/lib/mandos/mandos-client
44
 
ConditionFileNotEmpty=/etc/mandos/keys/pubkey.txt
45
 
ConditionFileNotEmpty=/etc/mandos/keys/seckey.txt
46
 
ConditionFileNotEmpty=/etc/mandos/keys/tls-pubkey.pem
47
 
ConditionFileNotEmpty=/etc/mandos/keys/tls-privkey.pem
48
 
ConditionPathIsMountPoint=!/sysroot
49
 
 
50
 
[Service]
51
 
ExecStart=/lib/mandos/password-agent $PASSWORD_AGENT_OPTIONS -- /lib/mandos/mandos-client --pubkey=/etc/mandos/keys/pubkey.txt --seckey=/etc/mandos/keys/seckey.txt --tls-pubkey=/etc/mandos/keys/tls-pubkey.pem --tls-privkey=/etc/mandos/keys/tls-privkey.pem $MANDOS_CLIENT_OPTIONS
52
 
#
53
 
# Please keep the above line intact, exactly as it is!  To add extra
54
 
# options to mandos-client, instead create an override file (e.g. with
55
 
# the command "systemctl edit --force ask-password-mandos.service"),
56
 
# and, in that file, put something like the following:
57
 
#
58
 
#       [Service]
59
 
#       Environment=MANDOS_CLIENT_OPTIONS=--debug
60
 
#
61
 
# Rebuild the initramfs using this command:
62
 
#
63
 
#       dpkg-reconfigure dracut
64
 
#
65
 
# Once the system has booted (possibly by typing in the password
66
 
# manually), you can see the log using this command:
67
 
#
68
 
#       journalctl --unit=ask-password-mandos.service
69
 
#
70
 
# Lastly, to remove the override file with extra options, run:
71
 
#
72
 
#       systemctl revert ask-password-mandos.service
73
 
#
74
 
# And rebuild the initramfs again, as above.