[pkg-wpa-devel] Bug#537790: Bug#537790: wpa_supplicant references dynamic libs in /usr/lib; will not run at boot
Stefan Lippers-Hollmann
s.L-H at gmx.de
Sat Mar 29 21:54:57 UTC 2014
Hi
On Saturday 29 March 2014, Cameron Norman wrote:
> This bug can be seen in Upstart (#694963), and hangs boot in a NFS
> mounted /usr, as well as errors the network setup when one uses "auto"
> in /etc/network/interfaces. Here is the output of ldd, with the libs in
> /usr bolded (HTML):
[ please avoid HTML Mails, they're very likely to be eaten by antispam
measures along their way ]
As you see in the bugreport, this is a long standing issue, which is
only partially under our control. Actually the situation has been
improved significantly during the last release cycle with many of the
required libraries moving from /usr/lib/ to /lib/ already. What remains
is libssl1.0.0, as libpcsclite can be avoided, but actually working on
that (which is a bit problematic on kfreebsd-any) doesn't make sense
before the hard-dependency is out of the way (libssl).
So yes, wpa_supplicant being in /sbin/ is a bug, done ages ago by
previous maintainers of the package. However moving it to /usr/ isn't
a solution either, as wpa_supplicant is heavily used in local
configuration scripts, which may break hard if wpa_supplicant were to
disappear from /sbin/ (and introducing a compatibility symlink from
/sbin/wpa_supplicant to /usr/sbin/ wouldn't actually gain you
anything in practice, other than papering over the problem). And
technically speaking you do want the stuff needed to bring up the
network outside of /usr/.
That said, trying to mount any remote filesystem over wlan at the
kernel level, even more so for vital filesystems just as /usr/, /var/
or /tmp/ would be plainly insane, as you do have to expect interruption
with wlan for any real world deployment (which would make your system
hang, if vital parts are mounted over wlan). Likewise 'auto' is usually
not a good configuration for wireless interfaces either, as -like you
mentioned- this does block booting until a connection has been
established, which is something you can't guarantee for wlan - not even
for a static system.
So what are the options to fix this?
- the ideal fix for this would be to move libssl into /lib/, which
is outside of our domain and depends on the openssl maintainer.
Combined with using weak symbols for the libpcsclite dependency[1]
(this has been tried already, but failed on kfreebsd-any - although
this is fixable given enough attention), this would close the bug
once and for all. However anyone mounting /usr/ over a wireless link
would still be insane, even if this were possible from the policy
side of it.
- another approach would be mounting /usr/, along the rootfs, from
within the initramfs environment, to the best of my knowledge this
has been planned for quite a while already (and should even be
possible in experimental, iirc rleigh's efforts correctly).
- moving wpa_supplicant from the rootfs into /usr/ would fullfill the
letter of the FHS and Debian policy, but wouldn't actually solve this
problem at all (combined with a lot of pain in breaking lots of local
configuration). Still, doing this would be the easiest option for us
to close this bug (so consider me happy to oblige) - but that's not
really helping anyone in practice.
Whatever we end up with, you won't *ever* be able to depend on wireless
links for reliable operations or mounting vital parts of your
filesystem tree remotely. It just is, by definition, an unreliable
network connection in practice (just about anywhere outside of lab
environments). While you may not notice short interruptions for
browsing the web (other than some log spam talking about reconnecting),
the kernel (and nfsd in particular) doesn't like stalled network
connections for mounted remote filesystems at all. Any assumptions
relying on stable (and early boot) availability of wireless links are
simply flawed, even if the the FHS issues were fixed.
Regards
Stefan Lippers-Hollmann
[1] using weak symbols for libpcsclite would reduce the breakage to
wpa_supplicant configurations reading wpa credentials from
smartcards, which is a corner-case I'd be willing to risk.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-wpa-devel/attachments/20140329/bc8f9b4b/attachment.sig>
More information about the Pkg-wpa-devel
mailing list