/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 initramfs-tools-hook

  • Committer: Teddy Hogeborn
  • Date: 2024-09-08 02:14:29 UTC
  • Revision ID: teddy@recompile.se-20240908021429-z4m1vfuaqbs0q3ry
Fix file permissions when installing a new kernel, with dracut

* debian/mandos-client.postinst (update_initramfs): When using dracut,
  but the initramfs image file does not yet exist (due to the kernel
  package not having been configured), create a new empty file with
  the correct permissions, so that dracut will use the correct
  permissions when creating the initramfs image file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        --mode=u=rwx "${DESTDIR}${PLUGINDIR}" \
81
81
        "${DESTDIR}${PLUGINHELPERDIR}"
82
82
 
 
83
copy_exec "$libdir"/mandos/mandos-to-cryptroot-unlock "${MANDOSDIR}"
 
84
 
83
85
# Copy the Mandos plugin runner
84
86
copy_exec "$libdir"/mandos/plugin-runner "${MANDOSDIR}"
85
87
 
140
142
# Get DEVICE from initramfs.conf and other files
141
143
. /etc/initramfs-tools/initramfs.conf
142
144
for conf in /etc/initramfs-tools/conf.d/*; do
143
 
    if [ -n `basename \"$conf\" | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
144
 
        | grep -v '\.dpkg-.*$'` ]; then
145
 
        [ -f ${conf} ] && . ${conf}
 
145
    if [ -n "`basename \"$conf\" \
 
146
        | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
 
147
        | grep -v '\.dpkg-.*$'`" ]; then
 
148
        [ -f "${conf}" ] && . "${conf}"
146
149
    fi
147
150
done
148
151
export DEVICE
157
160
    if [ -x "$hook" ]; then
158
161
        # Copy any files needed by the network hook
159
162
        MANDOSNETHOOKDIR=/etc/mandos/network-hooks.d MODE=files \
160
 
            VERBOSITY=0 "$hook" files | while read file target; do
 
163
            VERBOSITY=0 "$hook" files | while read -r file target; do
161
164
            if [ ! -e "${file}" ]; then
162
165
                echo "WARNING: file ${file} not found, requested by Mandos network hook '${hook##*/}'" >&2
163
166
            fi
169
172
        done
170
173
        # Copy and load any modules needed by the network hook
171
174
        MANDOSNETHOOKDIR=/etc/mandos/network-hooks.d MODE=modules \
172
 
            VERBOSITY=0 "$hook" modules | while read module; do
173
 
            if [ -z "${target}" ]; then
174
 
                force_load "$module"
175
 
            fi
 
175
            VERBOSITY=0 "$hook" modules | while read -r module; do
 
176
            force_load "$module"
176
177
        done
177
178
    fi
178
179
done
252
253
# initrd; it is intended to affect the initrd.img file itself, since
253
254
# it now contains secret key files.  There is, however, no other way
254
255
# to set the permission of the initrd.img file without a race
255
 
# condition.  This umask is set by "initramfs-tools-hook-conf",
256
 
# installed as "/usr/share/initramfs-tools/conf-hooks.d/mandos".)
 
256
# condition.  This umask is set by "initramfs-tools-conf", installed
 
257
# as "/usr/share/initramfs-tools/conf.d/mandos-conf".)
257
258
258
259
for full in "${MANDOSDIR}" "${CONFDIR}"; do
259
260
    while [ "$full" != "/" ]; do