/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/changelog

  • Committer: teddy at recompile
  • Date: 2020-04-05 21:30:59 UTC
  • Revision ID: teddy@recompile.se-20200405213059-fb2a61ckqynrmatk
Fix file descriptor leak in mandos-client

When the local network has Mandos servers announcing themselves using
real, globally reachable, IPv6 addresses (i.e. not link-local
addresses), but there is no router on the local network providing IPv6
RA (Router Advertisement) packets, the client cannot reach the server
by normal means, since the client only has a link-local IPv6 address,
and has no usable route to reach the server's global IPv6 address.
(This is not a common situation, and usually only happens when the
router itself reboots and runs a Mandos client, since it cannot then
give RA packets to itself.)  The client code has a solution for
this, which consists of adding a temporary local route to reach the
address of the server during communication, and removing this
temporary route afterwards.

This solution with a temporary route works, but has a file descriptor
leak; it leaks one file descriptor for each addition and for each
removal of a route.  If one server requiring an added route is present
on the network, but no servers gives a password, making the client
retry after the default ten seconds, and we furthermore assume a
default 1024 open files limit, the client runs out of file descriptors
after about 90 minutes, after which time the client process will be
useless and fail to retrieve any passwords, necessitating manual
password entry via the keyboard.

Fix this by eliminating the file descriptor leak in the client.

* plugins.d/mandos-client.c (add_delete_local_route): Do
  close(devnull) also in parent process, also if fork() fails, and on
  any failure in child process.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
mandos (1.8.10-1) unstable; urgency=medium
 
2
 
 
3
  * Fix "[INTL:pt] Updated Portuguese translation - debconf messages"
 
4
    by including the contributed translation (Closes: #942595)
 
5
  * Fix "[INTL:nl] Dutch translation of debconf messages" by including the
 
6
    contributed translation (Closes: #946006)
 
7
  * Fix "flaky autopkgtest on arm64" by skipping the flaky test on
 
8
    non-amd64 (Closes: #953799)
 
9
  * debian/control (Standards-Version): Update to "4.5.0".
 
10
 
 
11
 -- Teddy Hogeborn <teddy@recompile.se>  Sat, 21 Mar 2020 17:45:01 +0100
 
12
 
 
13
mandos (1.8.9-2) unstable; urgency=medium
 
14
 
 
15
  * Fix failing autopkgtest.
 
16
  * debian/tests/control (mandos-check/Restrictions): Add "allow-stderr".
 
17
 
 
18
 -- Teddy Hogeborn <teddy@recompile.se>  Wed, 04 Sep 2019 23:14:06 +0200
 
19
 
 
20
mandos (1.8.9-1) unstable; urgency=medium
 
21
 
 
22
  * New upstream release.
 
23
  * Fix "Python2 removal in sid/bullseye" by using Python 3 instead
 
24
    (Closes: #936987)
 
25
  * debian/control (Build-Depends, Build-Depends-Indep): Move "systemd"
 
26
    from indep to regular build-depends.
 
27
    (Build-Depends-Indep, Package: mandos/Depends): Depend on Python 3 and
 
28
    Python 3 modules instead of Python 2.
 
29
 
 
30
 -- Teddy Hogeborn <teddy@recompile.se>  Tue, 03 Sep 2019 20:58:27 +0200
 
31
 
 
32
mandos (1.8.8-1) unstable; urgency=medium
 
33
 
 
34
  * New upstream release.
 
35
  * debian/po/de.po: New; Fix "[INTL:de] Initial German debconf
 
36
    translation" by including the contributed translation (Closes:
 
37
    #934373)
 
38
  * debian/po/fr.po: New; Fix "[INTL:fr] French debconf templates
 
39
    translation" by including the contributed translation (Closes:
 
40
    #934888)
 
41
  * debian/po/sv.po: New Swedish translation.
 
42
  * debian/mandos.postinst: Only reload D-Bus daemon if new user was
 
43
    created.
 
44
  * debian/mandos.dirs (usr/lib/sysusers.d): New.
 
45
  * debian/mandos-client.dirs (usr/lib/sysusers.d): - '' -
 
46
 
 
47
 -- Teddy Hogeborn <teddy@recompile.se>  Sun, 18 Aug 2019 22:01:13 +0200
 
48
 
 
49
mandos (1.8.7-1) unstable; urgency=medium
 
50
 
 
51
  * New upstream release.
 
52
  * debian/upstream/metadata: New.
 
53
  * debian/mandos-client.postrm: Use the same logic as the
 
54
    update_initramfs function in debian/mandos-client.postinst.
 
55
  * debian/mandos-client.templates (mandos-client/key_id): Line which
 
56
    should not be wrapped should be prefixed by a space.
 
57
  * debian/mandos.templates (mandos/key_id): - '' -
 
58
  * debian/po/en_US.po: New "translation" from ASCII to UTF-8.
 
59
  * debian/po/templates.pot: Updated.
 
60
  * debian/source/lintian-overrides
 
61
    (package-uses-old-debhelper-compat-version): New; set to "10".
 
62
  * debian/mandos-client.lintian-overrides
 
63
    (maintainer-script-supports-ancient-package-version): New.
 
64
    debian/mandos.lintian-overrides
 
65
    (maintainer-script-supports-ancient-package-version): - '' -
 
66
 
 
67
 -- Teddy Hogeborn <teddy@recompile.se>  Mon, 05 Aug 2019 23:22:00 +0200
 
68
 
 
69
mandos (1.8.6-1) unstable; urgency=medium
 
70
 
 
71
  * New upstream release.
 
72
  * Fix "mandos FTCBFS: hard codes build architecture pkg-config"
 
73
    by making pkg-config overridable (Closes: #933701)
 
74
  * debian/mandos.postinst (configure): After creating (or renaming) user
 
75
    & group, reload D-Bus daemon (if present).
 
76
 
 
77
 -- Teddy Hogeborn <teddy@recompile.se>  Sat, 03 Aug 2019 14:51:01 +0200
 
78
 
 
79
mandos (1.8.5-1) unstable; urgency=medium
 
80
 
 
81
  * New upstream release.
 
82
  * Fix "does not reap children" by reaping children (Closes: #933387)
 
83
  * debian/mandos-client.README.Debian: Use new-style interface name.
 
84
  * debian/tests/control: New file; implements autopkgtest support.
 
85
  * debian/mandos-client.lintian-overrides
 
86
    (manpage-has-errors-from-man): Remove; unnecessary.
 
87
  * debian/mandos.lintian-overrides
 
88
    (init.d-script-needs-depends-on-lsb-base): - '' -
 
89
  * debian/mandos-client.postinst (update_initramfs): Upstream now
 
90
    supports dracut(8), so update commands here to and run the correct
 
91
    command to update initramfs.
 
92
  * debian/control (Build-Depends): Add GLib -dev package.
 
93
    (mandos-client/Depends): Add dracut(8) as an alternative dependency to
 
94
    initramfs-tools.
 
95
    (mandos-client/Conflicts): New; set to "dracut-config-generic".
 
96
    (debian/mandos-client.README.Debian): Update for dracut(8) support.
 
97
  * debian/mandos-client.templates: Reflowed by debconf-gettextize(1).
 
98
  * debian/mandos.templates: - '' -
 
99
  * debian/po/POTFILES.in: New.
 
100
  * debian/po/templates.pot: - '' -
 
101
  * debian/source/lintian-overrides: New.
 
102
  * debian/control (Standards-Version): Update to "4.4.0".
 
103
 
 
104
 -- Teddy Hogeborn <teddy@recompile.se>  Tue, 30 Jul 2019 20:41:29 +0200
 
105
 
 
106
mandos (1.8.4-1) unstable; urgency=medium
 
107
 
 
108
  * Fix "dirs in initrd are not accessible by mandos plugin-runner" by
 
109
    making sure UMASK is set, no matter what other packages have installed
 
110
    in "/usr/share/initramfs-tools/conf-hooks.d". (Closes: #926641)
 
111
  * Fix "LeakSanitizer: detected memory leaks, fails to decrypt"
 
112
    by fixing memory leak in plugin-runner. (Closes: #926643)
 
113
  * debian/mandos-client.dirs: Add
 
114
    "usr/share/initramfs-tools/conf-hooks.d", needed by fix for #926641.
 
115
 
 
116
 -- Teddy Hogeborn <teddy@recompile.se>  Tue, 09 Apr 2019 22:05:39 +0200
 
117
 
 
118
mandos (1.8.3-3) unstable; urgency=medium
 
119
 
 
120
  * Fix "src:mandos: modifies d/control during build" by not doing that
 
121
    anymore.  (Closes: #922202)
 
122
  * debian/rules (override_dh_shlibdeps-arch): Commented out.
 
123
 
 
124
 -- Teddy Hogeborn <teddy@recompile.se>  Wed, 13 Feb 2019 09:52:39 +0100
 
125
 
 
126
mandos (1.8.3-2) unstable; urgency=medium
 
127
 
 
128
  * debian/rules (override_dh_shlibdeps-arch): New; conditionally edit
 
129
    debian/control before running dh_shlibdeps.
 
130
 
 
131
 -- Teddy Hogeborn <teddy@recompile.se>  Mon, 11 Feb 2019 12:49:57 +0100
 
132
 
 
133
mandos (1.8.3-1) unstable; urgency=medium
 
134
 
 
135
  * New upstream release.
 
136
  * debian/watch: Make the ".orig" file name suffix non-optional;
 
137
    otherwise uscan thinks that ".orig" is part of the version number.
 
138
  * debian/control (Build-Depends): Changed GnuTLS dependencies; move
 
139
    3.6.6 alternative to first in list, and remove dependencies on the
 
140
    virtual package "gnutls-dev", since we need the version restrictions.
 
141
    (Package: mandos/Depends): Remove dependency on libgnutls28-dev
 
142
    package.
 
143
    (Package: mandos/Suggests): New; set to "libc6-dev, c-compiler". (Used
 
144
    to find value of "SO_BINDTODEVICE").
 
145
    (Package: mandos-client/Depends): Don't depend on openssl anymore;
 
146
    instead depend on either a gnutls-bin (>= 3.6.6) (in which case TLS
 
147
    key generation will work), or on libgnutls30 (<< 3.6.0) (in which case
 
148
    TLS key generation will not be needed).
 
149
 
 
150
 -- Teddy Hogeborn <teddy@recompile.se>  Mon, 11 Feb 2019 07:30:32 +0100
 
151
 
 
152
mandos (1.8.2-1) unstable; urgency=medium
 
153
 
 
154
  * New upstream release.
 
155
  * debian/mandos-client.postinst (create_keys): Ignore failure to remove
 
156
                                                 bad keys.
 
157
 
 
158
 -- Teddy Hogeborn <teddy@recompile.se>  Sun, 10 Feb 2019 11:44:56 +0100
 
159
 
 
160
mandos (1.8.1-1) unstable; urgency=high
 
161
 
 
162
  * New upstream release.
 
163
  * debian/mandos-client.postinst (create_keys): Remove any bad keys
 
164
    created by 1.8.0-1. Only create TLS keys if certtool succeeds.
 
165
  * debian/mandos.postinst (configure): Remove any bad keys from
 
166
    clients.conf, and inform the user if any were found.
 
167
  * debian/mandos.templates (mandos/removed_bad_key_ids): New message.
 
168
 
 
169
 -- Teddy Hogeborn <teddy@recompile.se>  Sun, 10 Feb 2019 10:00:21 +0100
 
170
 
 
171
mandos (1.8.0-1) unstable; urgency=medium
 
172
 
 
173
  * New upstream release.
 
174
  * Fix "(tries to) use GnuTLS OpenPGP support" by using raw public keys
 
175
    when available (Closes: #879538)
 
176
  * Fix "mandos : Depends: libgnutls30 (< 3.6.0) but 3.6.5-2 is to be
 
177
    installed" by now also allowing GnuTLS >= 3.6.6 (Closes: #916673)
 
178
  * debian/control (Standards-Version): Update to "4.3.0".
 
179
    (Package: mandos-client/Depends): Change from "cryptsetup" to
 
180
    "cryptsetup (<< 2:2.0.3-1) | cryptsetup-initramfs".  Add "debconf (>=
 
181
    1.5.5) | debconf-2.0".
 
182
    (Source: mandos/Build-Depends): Also allow libgnutls30 (>= 3.6.6).
 
183
    (Package: mandos/Depends): - '' - and add debconf (>= 1.5.5) |
 
184
    debconf-2.0".
 
185
    (Package: mandos/Description): Alter description to match new design.
 
186
    (Package: mandos-client/Description): - '' -
 
187
    (Package: mandos-client/Depends): Move "gnutls-bin | openssl" to here
 
188
    from "Recommends".
 
189
  * debian/mandos-client.README.Debian: Add --tls-privkey and --tls-pubkey
 
190
    options to test command.
 
191
  * debian/mandos-client.postinst (create_key): Renamed to "create_keys"
 
192
    - all callers changed - and also create TLS key files.  Show notice if
 
193
    new TLS key files were created.
 
194
  * debian/mandos-client.postrm (purge): Also remove TLS key files.
 
195
  * debian/mandos-client.lintian-overrides: Override warnings.
 
196
  * debian/mandos-client.templates: New.
 
197
  * debian/mandos.lintian-overrides: Override warnings.
 
198
  * debian/mandos.postinst (configure): If GnuTLS 3.6.6 or later is
 
199
    detected, show an important notice (once) about the new key_id option
 
200
    required in clients.conf.
 
201
  * debian/mandos.templates: New.
 
202
  * debian/copyright: Update copyright year to 2019.
 
203
 
 
204
 -- Teddy Hogeborn <teddy@recompile.se>  Sun, 10 Feb 2019 05:52:49 +0100
 
205
 
 
206
mandos (1.7.20-1) unstable; urgency=medium
 
207
 
 
208
  * New upstream release.
 
209
  * Fix "[tethys] mandos-client: Mandos client fails while booting but
 
210
    works from chroot into unpacked initramfs" by setting system clock if
 
211
    necessary (Closes: #894495)
 
212
  * Fix "initramfs boot script assumes internal cryptsetup implementation
 
213
    details and is now broken" by only using documented
 
214
    interfaces (Closes: #904899)
 
215
  * debian/mandos-client.dirs: Add
 
216
    "usr/share/initramfs-tools/scripts/local-premount" and
 
217
    "usr/share/initramfs-tools/conf.d", and remove
 
218
    "usr/share/initramfs-tools/conf-hooks.d".
 
219
  * debian/control (mandos-client/Depends): Add "(>= 0.99)" to dependency
 
220
    on "initramfs-tools".
 
221
  * debian/control (Source: mandos/Rules-Requires-Root): New; set to
 
222
    "binary-targets".
 
223
    (Standards-Version): Update to "4.2.0".
 
224
 
 
225
 -- Teddy Hogeborn <teddy@recompile.se>  Sun, 19 Aug 2018 22:14:04 +0200
 
226
 
 
227
mandos (1.7.19-1) unstable; urgency=medium
 
228
 
 
229
  * New upstream release.
 
230
  * Fix "fails with "LeakSanitizer has encountered a fatal error"" by not
 
231
    using LeakSanitizer in affected binary (Closes: #886595)
 
232
 
 
233
 -- Teddy Hogeborn <teddy@recompile.se>  Thu, 22 Feb 2018 19:47:59 +0100
 
234
 
 
235
mandos (1.7.18-1) unstable; urgency=medium
 
236
 
 
237
  * New upstream release.
 
238
 
 
239
 -- Teddy Hogeborn <teddy@recompile.se>  Mon, 12 Feb 2018 16:00:11 +0100
 
240
 
 
241
mandos (1.7.17-1) unstable; urgency=medium
 
242
 
 
243
  * New upstream release.
 
244
  * Fix "fails with "LeakSanitizer has encountered a fatal error""
 
245
    by fixing memory leak in plugin-runner (Closes: #886595)
 
246
  * debian/control (Build-Depends): Also depend on "libgnutls28-dev (<<
 
247
    3.6.0) | libgnutls30 (<< 3.6.0)".
 
248
    (Package: mandos/Depends): - '' -
 
249
  * debian/compat: Change to "10".
 
250
  * debian/watch (version): Change to "4".
 
251
    (opts/pgpsigurlmangle): Remove.
 
252
    (opts/pgpmode): New; set to "auto".
 
253
    (URL): Change to "https://ftp.recompile.se/pub/@PACKAGE@/@PACKAGE@
 
254
    @ANY_VERSION@(?:\.orig)?@ARCHIVE_EXT@".
 
255
  * debian/copyright: Update copyright year to 2018.
 
256
  * debian/rules: Support the "noopt" and "parallel" DEB_BUILD_OPTIONS.
 
257
    (override_dh_fixperms-arch): Use the DEB_HOST_MULTIARCH
 
258
    variable directly instead of shelling out to "dpkg-architecture".
 
259
  * debian/control (Standards-Version): Update to "4.1.3".
 
260
    (Build-Depends): Change version of debhelper dependency to ">= 10".
 
261
  * debian/mandos.lintian-overrides
 
262
    (init.d-script-needs-depends-on-lsb-base): Change line number to "46".
 
263
 
 
264
 -- Teddy Hogeborn <teddy@recompile.se>  Sat, 10 Feb 2018 19:09:50 +0100
 
265
 
1
266
mandos (1.7.16-1) unstable; urgency=medium
2
267
 
3
268
  * New upstream release.