[JIRA] Commented: (SSPCPP-411) openSUSE 12.1 erases /var/run at each reboot, so shibd fails to start

Scott Cantor (JIRA) noreply at shibboleth.net
Thu Mar 1 21:02:37 GMT 2012


    [ https://issues.shibboleth.net/jira/browse/SSPCPP-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899#comment-13899 ] 

Scott Cantor commented on SSPCPP-411:
-------------------------------------

http://svn.shibboleth.net/view/cpp-sp?rev=3588&view=rev

Main patch to fix makefiles, specfile, and init scripts to handle /var/cache directory and recreate rundir at startup.

Windows installer still needs to be updated.

> 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: Configuration, Installation / Packaging
>    Affects Versions: 2.4.3
>         Environment: openSUSE Linux 12.1
>            Reporter: mgk25 at cam.ac.uk
>            Assignee: Scott Cantor
>             Fix For: 2.5
>
>   Original Estimate: 1 day
>  Remaining Estimate: 1 day
>
> 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