Bug#960358: exim4-base: spec.txt, NFS and file locking

Vincent Lefevre vincent at vinc17.net
Tue May 12 01:17:01 BST 2020


Package: exim4-base
Version: 4.93-15
Severity: normal

In /usr/share/doc/exim4-base/spec.txt.gz :

--------
In order to append to an NFS file safely from more than one host, it is
necessary to take out a lock before opening the file, and the lock file
achieves this. Otherwise, even with fcntl() locking, there is a risk of file
corruption.
--------

I don't see why. If used correctly, fcntl() locking should be
sufficient under NFS. And if fcntl() locking is broken, lock files
won't prevent corruption anyway: even if you have the lock, there
is no guarantee that the client will synchronize the changes with
the server before another process gets the lock and do changes
(this is the problem I had with shared zsh history, which often
got corrupted even though zsh used some form of locking... until
I patched it in 2008 to use fcntl() locking).

-- Package-specific info:
Exim version 4.93 #5 built 25-Apr-2020 12:10:47
Copyright (c) University of Cambridge, 1995 - 2018
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2018
Berkeley DB: Berkeley DB 5.3.28: (September  9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DANE DKIM DNSSEC Event I18N OCSP PRDR SOCKS TCP_Fast_Open
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Configure owner: 0:0
Size of off_t: 8
Configuration file search path is /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
Configuration file is /var/lib/exim4/config.autogenerated

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.4.0-4-amd64 (SMP w/12 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=POSIX (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages exim4-base depends on:
ii  adduser                        3.118
ii  anacron                        2.3-29
ii  cron [cron-daemon]             3.0pl1-136
ii  debconf [debconf-2.0]          1.5.74
ii  exim4-config [exim4-config-2]  4.93-15
ii  libc6                          2.30-4
ii  libdb5.3                       5.3.28+dfsg1-0.6
ii  lsb-base                       11.1.0
ii  netbase                        6.1
ii  systemd-sysv                   245-2

Versions of packages exim4-base recommends:
ii  mailutils [mailx]  1:3.7-2.1
ii  psmisc             23.3-1

Versions of packages exim4-base suggests:
ii  emacs-gtk [mail-reader]          1:26.3+1-1
pn  exim4-doc-html | exim4-doc-info  <none>
pn  eximon4                          <none>
ii  file                             1:5.38-4
ii  gnutls-bin                       3.6.13-2
ii  mailutils [mail-reader]          1:3.7-2.1
ii  mutt [mail-reader]               1.13.2-1
ii  openssl                          1.1.1g-1
pn  spf-tools-perl                   <none>
pn  swaks                            <none>

-- debconf information excluded

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



More information about the Pkg-exim4-maintainers mailing list