[JIRA] Created: (SSPCPP-411) openSUSE 12.1 erases /var/run at each reboot, so shibd fails to start
mgk25@cam.ac.uk (JIRA)
noreply at shibboleth.net
Tue Dec 20 18:41:26 GMT 2011
openSUSE 12.1 erases /var/run at each reboot, so shibd fails to start
---------------------------------------------------------------------
Key: SSPCPP-411
URL: https://issues.shibboleth.net/jira/browse/SSPCPP-411
Project: Shibboleth SP - C++
Issue Type: Bug
Security Level: Standard (Standard bug, may impact functionality but does not represent a security vulnerability )
Components: Installation / Packaging
Affects Versions: 2.4.3
Environment: openSUSE Linux 12.1
Reporter: mgk25 at cam.ac.uk
Assignee: Scott Cantor
Problem: shibd tries to create files and sockets in /var/run/shibboleth. This directory is created once when the RPM is installed, but in openSUSE Linux 12.1 /var/run (as well as /var/lock) is now mounted on tmpfs, and therefore emptied automatically at each reboot.
How to reproduce:
- Install shibboleth-2.4.3-3.1.i586.rpm
- "/etc/init.d/shibd start" works fine
- reboot
- "/etc/init.d/shibd start" fails with
2011-12-19 17:58:20 ERROR Shibboleth.Listener : socket call resulted in error (2): no message
2011-12-19 17:58:20 CRIT Shibboleth.Listener : failed to bind to socket.
in /var/log/shibboleth/shibd.log.
Suggested fix/workaround: Add the line
[ -d /var/run/shibboleth ] || mkdir /var/run/shibboleth
to /etc/init.d/shibd, or equivalent, to recreate (as root) that directory each
time before starting shibd, if necessary.
See also: http://blog.stastnarodina.com/honza-en/spot/shibboleth-ubuntu/
Related considerations:
- According to
http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY
the directory /var/run is only meant for information related to
currently running processes, which by definition can be discarded
at each reboot, such as pids and sockets. For more long-term state,
please consider using /var/cache or /var/lib instead.
- The above error message in /var/log/shibboleth/shibd.log could be
improved by actually stating what went wrong in terms of file path
and errno (here: ENOTDIR), e.g. "bind() cannot create
/var/run/shibboleth/shibd.sock: not a directory"
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the commits
mailing list