/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: 2008-08-16 03:29:08 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080816032908-ihw7c05r2mnyk389
Add feature to specify custom environment variables for plugins.

* plugin-runner.c (plugin): New members "environ" and "envc" to
                            contain possible custom environment.
  (getplugin): Return NULL on failure instead of doing exit(); all
               callers changed.
  (add_to_char_array): New helper function for "add_argument" and
                       "add_environment".
  (addargument): Renamed to "add_argument".  Return bool.  Call
                 "add_to_char_array" to actually do things.
  (add_environment): New; analogous to "add_argument".
  (addcustomargument): Renamed to "add_to_argv" to avoid confusion
                       with "add_argument".
  (main): New options "--global-envs" and "--envs-for" to specify
          custom environment for plugins.  Print environment for
          plugins in debug mode.  Use asprintf instead of strcpy and
          strcat.  Use execve() for plugins with custom environments.
          Free environment for plugin when freeing plugin list.

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.