/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 debian/mandos-client.lintian-overrides

  • Committer: Teddy Hogeborn
  • Date: 2024-09-09 01:36:41 UTC
  • Revision ID: teddy@recompile.se-20240909013641-6zu6kx2f7meu134k
Make all required directories when installing

When installing into a normal system, one can assume that target
directories, such as /usr/bin, already exists.  But when installing
into a subdirectory for the purpose of creating a package, one cannot
assume that all directories already exist.  Therefore, when
installing, we must not check if any directories exist, and must
instead always create any directories we want to install into.

* Makefile (confdir/mandos.conf, confdir/clients.conf, install-html):
  Use the "-D" option to "install" instead of creating the directory
  separately.
  (install-server): Move creation of $(CONFDIR) down to before it is
  needed.  Don't check if the $(TMPFILES) or $(SYSUSERS) directories
  exist; instead create them by using the "-D" option to "install".
  Create the $(PREFIX)/sbin directory.  Always use
  "--target-directory" if possible; i.e. if the file name is the same.
  Create the $(DBUSPOLICYDIR) and $(DESTDIR)/etc/init.d directories by
  using the "-D" option to "install".  Don't check if the $(SYSTEMD)
  directory exists; instead create it by using the "-D" option to
  "install".  Create the $(DESTDIR)/etc/default and $(MANDIR)/man8
  directories by using the "-D" option to "install".  Create the
  $(MANDIR)/man5 directories explicitly.
  (install-client-nokey): Remove unnecessary creation of the
  $(CONFDIR) directory.  Don't check if the $(SYSUSERS) directory
  exists; instead create it by using the "-D" option to "install".
  Move the "--directory" argument to be the first argument, for
  clarity.  Create the $(PREFIX)/sbin directory.  Use the "-D"
  argument to "install" when installing
  $(INITRAMFSTOOLS)/hooks/mandos,
  $(INITRAMFSTOOLS)/conf.d/mandos-conf,
  $(INITRAMFSTOOLS)/conf-hooks.d/zz-mandos,
  $(INITRAMFSTOOLS)/scripts/init-premount/mandos,
  $(INITRAMFSTOOLS)/scripts/local-premount/mandos,
  $(DRACUTMODULE)/ask-password-mandos.path, and
  $(DRACUTMODULE)/dracut-module/ask-password-mandos.service.  Create
  the $(MANDIR)/man8 directory.

Reported-By: Erich Eckner <erich@eckner.net>
Thanks: Erich Eckner <erich@eckner.net> for analysis

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# This example command line is long without spaces, but it must be
2
 
# that way; it's part of the point of showing it.
3
 
#
4
 
mandos-client binary: manpage-has-errors-from-man usr/share/man/man8/plugin-runner.8mandos.gz 297: warning [p 4, 5.8i]: can't break line
5
 
 
6
1
# This directory contains secret client key files.
7
 
#
8
2
mandos-client binary: non-standard-dir-perm etc/keys/mandos/ 0700 != 0755
9
3
 
10
 
# The directory /usr/lib/mandos/plugins.d contains setuid binaries
11
 
# which are not meant to be run outside an initial RAM disk
 
4
# The directory /usr/lib/<arch>/mandos/plugins.d contains setuid
 
5
# binaries which are only meant to be run inside an initial RAM disk
12
6
# environment (except for test purposes).  It would be insecure to
13
7
# allow anyone to run them.
14
 
#
15
 
mandos-client binary: non-standard-dir-perm usr/lib/mandos/plugins.d/ 0700 != 0755
 
8
mandos-client binary: non-standard-dir-perm usr/lib/*/mandos/plugins.d/ 0700 != 0755
 
9
# Likewise for helper executables for plugins
 
10
mandos-client binary: non-standard-dir-perm usr/lib/*/mandos/plugin-helpers/ 0700 != 0755
16
11
 
17
12
# These binaries must be setuid root, since they need root powers, but
18
13
# are started by plugin-runner(8mandos), which runs all plugins as
19
 
# user/group "mandos".  These binaries are not run in a running
20
 
# system, but in an initial RAM disk environment.  Here they are
 
14
# user/group "_mandos".  These binaries are never run in a running
 
15
# system, but only in an initial RAM disk environment.  Here they are
21
16
# protected from non-root access by the directory permissions, above.
22
 
#
23
 
mandos-client binary: setuid-binary usr/lib/mandos/plugins.d/mandos-client 4755 root/root
24
 
mandos-client binary: setuid-binary usr/lib/mandos/plugins.d/askpass-fifo 4755 root/root
25
 
mandos-client binary: setuid-binary usr/lib/mandos/plugins.d/splashy 4755 root/root
26
 
mandos-client binary: setuid-binary usr/lib/mandos/plugins.d/usplash 4755 root/root
 
17
mandos-client binary: elevated-privileges usr/lib/*/mandos/plugins.d/mandos-client 4755 root/root
 
18
mandos-client binary: elevated-privileges usr/lib/*/mandos/plugins.d/askpass-fifo 4755 root/root
 
19
mandos-client binary: elevated-privileges usr/lib/*/mandos/plugins.d/splashy 4755 root/root
 
20
mandos-client binary: elevated-privileges usr/lib/*/mandos/plugins.d/usplash 4755 root/root
 
21
mandos-client binary: elevated-privileges usr/lib/*/mandos/plugins.d/plymouth 4755 root/root
27
22
 
28
23
# The directory /etc/mandos/plugins.d can be used by local system
29
24
# administrators to place plugins in, overriding and complementing
30
 
# /usr/lib/mandos/plugins.d, and must be likewise protected.
31
 
#
 
25
# /usr/lib/<arch>/mandos/plugins.d, and must be likewise protected.
32
26
mandos-client binary: non-standard-dir-perm etc/mandos/plugins.d/ 0700 != 0755
 
27
# Likewise for plugin-helpers directory
 
28
mandos-client binary: non-standard-dir-perm etc/mandos/plugin-helpers/ 0700 != 0755
 
29
 
 
30
# The debconf templates is only used for displaying information
 
31
# detected in the postinst, not for saving answers to questions, so we
 
32
# don't need a .config file.
 
33
mandos-client binary: no-debconf-config
 
34
 
 
35
# The notice displayed from the postinst script really is critical
 
36
mandos-client binary: postinst-uses-db-input
 
37
 
 
38
# These are very important to work around bugs or changes in the old
 
39
# versions, and there is no pressing need to remove them.
 
40
mandos-client binary: maintainer-script-supports-ancient-package-version *