/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 dracut-module/cmdline-mandos.sh

  • Committer: Teddy Hogeborn
  • Date: 2014-07-25 23:16:04 UTC
  • mto: (237.7.272 trunk)
  • mto: This revision was merged to the branch mainline in revision 321.
  • Revision ID: teddy@recompile.se-20140725231604-f5c4f82rn2o5ll1k
Use the .items() method instead of .iteritems().

This is strictly not a Python 2.7 change, but Python 2.7 backported
the new .viewitems() from Python 3, and instead of changing .items()
to .viewitems() and later having to change them all into .items()
again in Python 3, I opted to just change all .iteritems() to .items()
so the code will work both now and with Python 3.  The slowdown with
Python 2 is not significant, and with Python 3 it will again be fast.

* mandos (Client.__init__): Use .items() instead of .iteritems().
  (DBusObjectWithProperties.Introspect): - '' -
  (alternate_dbus_interfaces/wrapper): - '' -
  (main): - '' -
* mandos-ctl (main): - '' -

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
#
3
 
# This file should be present in the root file system directory
4
 
# /usr/lib/dracut/modules.d/90mandos.  When dracut creates the
5
 
# initramfs image, dracut will run the "module-setup.sh" file in the
6
 
# same directory, which (when *not* using the "systemd" dracut module)
7
 
# will copy this file ("cmdline-mandos.sh") into the initramfs as
8
 
# "/lib/dracut/hooks/cmdline/20-cmdline-mandos.sh".
9
 
10
 
# Despite the above #!/bin/sh line and the executable flag, this file
11
 
# is not executed; this file is sourced by the /init script in the
12
 
# initramfs image created by dracut.
13
 
 
14
 
if getargbool 1 mandos && [ -e /lib/dracut-crypt-lib.sh ]; then
15
 
    cat >> /lib/dracut-crypt-lib.sh <<- "EOF"
16
 
        ask_for_password(){
17
 
            local cmd; local prompt; local tries=3
18
 
            local ply_cmd; local ply_prompt; local ply_tries=3
19
 
            local tty_cmd; local tty_prompt; local tty_tries=3
20
 
            local ret
21
 
        
22
 
            while [ $# -gt 0 ]; do
23
 
                case "$1" in
24
 
                    --cmd) ply_cmd="$2"; tty_cmd="$2"; shift;;
25
 
                    --ply-cmd) ply_cmd="$2"; shift;;
26
 
                    --tty-cmd) tty_cmd="$2"; shift;;
27
 
                    --prompt) ply_prompt="$2"; tty_prompt="$2"; shift;;
28
 
                    --ply-prompt) ply_prompt="$2"; shift;;
29
 
                    --tty-prompt) tty_prompt="$2"; shift;;
30
 
                    --tries) ply_tries="$2"; tty_tries="$2"; shift;;
31
 
                    --ply-tries) ply_tries="$2"; shift;;
32
 
                    --tty-tries) tty_tries="$2"; shift;;
33
 
                    --tty-echo-off) tty_echo_off=yes;;
34
 
                    -*) :;;
35
 
                esac
36
 
                shift
37
 
            done
38
 
            if [ -z "$ply_cmd" ]; then
39
 
                ply_cmd="$tty_cmd"
40
 
            fi
41
 
            # Extract device and luksname from $ply_cmd
42
 
            set -- $ply_cmd
43
 
            shift
44
 
            for arg in "$@"; do
45
 
                case "$arg" in
46
 
                    -*) :;;
47
 
                    *)
48
 
                        if [ -z "$device" ]; then
49
 
                            device="$arg"
50
 
                        else
51
 
                            luksname="$arg"
52
 
                            break
53
 
                        fi
54
 
                        ;;
55
 
                esac
56
 
            done
57
 
            { flock -s 9;
58
 
              if [ -z "$ply_prompt" ]; then
59
 
                  if [ -z "$tty_prompt" ]; then
60
 
                      CRYPTTAB_SOURCE="$device" cryptsource="$device" CRYPTTAB_NAME="$luksname" crypttarget="$luksname" /lib/mandos/plugin-runner --config-file=/etc/mandos/plugin-runner.conf | $ply_cmd
61
 
                  else
62
 
                      CRYPTTAB_SOURCE="$device" cryptsource="$device" CRYPTTAB_NAME="$luksname" crypttarget="$luksname" /lib/mandos/plugin-runner --options-for=password-prompt:--prompt="${tty_prompt}" --config-file=/etc/mandos/plugin-runner.conf | $ply_cmd
63
 
                  fi
64
 
              else
65
 
                  if [ -z "$tty_prompt" ]; then
66
 
                      CRYPTTAB_SOURCE="$device" cryptsource="$device" CRYPTTAB_NAME="$luksname" crypttarget="$luksname" /lib/mandos/plugin-runner --options-for=plymouth:--prompt="${ply_prompt}" --config-file=/etc/mandos/plugin-runner.conf | $ply_cmd
67
 
                  else
68
 
                      CRYPTTAB_SOURCE="$device" cryptsource="$device" CRYPTTAB_NAME="$luksname" crypttarget="$luksname" /lib/mandos/plugin-runner --options-for=password-prompt:--prompt="${tty_prompt}" --options-for=plymouth:--prompt="${ply_prompt}" --config-file=/etc/mandos/plugin-runner.conf | $ply_cmd
69
 
                  fi
70
 
              fi
71
 
            } 9>/.console_lock
72
 
        }
73
 
        EOF
74
 
fi