Icecast Streaming Media Server Forum Index Icecast Streaming Media Server
Icecast is a Xiph Foundation Project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Problem with dir.xiph.org

 
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server
View previous topic :: View next topic  
Author Message
Anonymous
Guest





PostPosted: Fri Mar 09, 2007 2:44 pm    Post subject: Problem with dir.xiph.org Reply with quote

if I want to publish my server on dir.xiph, icecast2 does not start

icecast.xml
Code:

    <directory>
            <yp-url-timeout>30</yp-url-timeout>
            <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>


start error

Code:

#:/home/ftp# /etc/init.d/icecast2 start
Starting icecast2: Starting icecast2
Detaching from the console
icecast2.
Fatal: no entropy gathering module detected


without <directory> lines in icecast.xml icecast2 works exelently.

Any ideas?

icecast2 (debian etch)

Vlad
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Fri Mar 09, 2007 3:01 pm    Post subject: Reply with quote

That's a new one on me, are you using a chroot jail? it may be unable to use a /dev/ file.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Fri Mar 09, 2007 3:27 pm    Post subject: Reply with quote

Quote:
That's a new one on me, are you using a chroot jail? it may be unable to use a /dev/ file.


no, i can access /dev/urandom

Code:

delta321:/home/schum# ll /dev/urandom
crwxrwxrwx 1 root root 1, 9 2007-02-23 13:31 /dev/urandom


Code:


<icecast>
    <limits>
        <clients>100</clients>
        <sources>5</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>


       <burst-on-connect>1</burst-on-connect>


        <burst-size>65535</burst-size>
    </limits>






    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>XXXXXX</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>XXXX</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>XXXXXX</admin-password>
    </authentication>


    <hostname>mymir.org</hostname>

    <!-- You can use these two if you only want a single listener -->
    <!--<port>8000</port> -->
    <!--<bind-address>127.0.0.1</bind-address>-->

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
    </listen-socket>




<mount>
 <mount-name>/vdohlive</mount-name>
   <max-listeners>100</max-listeners>
     <dump-file></dump-file>
    <fallback-mount>/vdoh</fallback-mount>
 </mount>


<mount>
 <mount-name>/eealive</mount-name>
   <max-listeners>100</max-listeners>
     <dump-file></dump-file>
    <fallback-mount>/eea</fallback-mount>
 </mount>




    <fileserve>1</fileserve>



    <paths>
                <!-- basedir is only used if chroot is enabled -->
        <basedir>/usr/share/icecast2</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>/var/log/icecast2</logdir>
        <webroot>/usr/share/icecast2/web</webroot>
        <adminroot>/usr/share/icecast2/admin</adminroot>

       <alias source="/" dest="/status.xsl"/>
    </paths>






        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <!-- <playlistlog>playlist.log</playlistlog> -->
        <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
        <logsize>10000</logsize> <!-- Max size of a logfile -->
        <!-- If logarchive is enabled (1), then when logsize is reached
             the logfile will be moved to [error|access|playlist].log.DATESTAMP
             otherwise it will be moved to [error|access|playlist].log.old.
             Default is non-archive mode (i.e. overwrite)
        -->
        <!-- <logarchive>1</logarchive> -->
    </logging>

    <security>
        <chroot>0</chroot>
        <!--
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
        -->
    </security>
</icecast>
Back to top
Anonymous
Guest





PostPosted: Fri Aug 31, 2007 9:02 am    Post subject: Reply with quote

Hi there!

I got nearly the exact same problem with my icecast2 installation..

I am using a chroot jail and I'm using the dns-name (something.ath.cx) for one relay.
So I already had to copy some files to the chroot or else he complied about missing entropy gathering modules, because of the dns-name.
After having copied the needed libs to the chroot jail, this worked fine for me..

But now, I also wanted to add the directory-listing-option for some of my hosted streams and icecast starts complaining again. About missing entropy gathering modules.. (just as bouillon descriped..)

So: I need help.. Please! Smile

Maybe interesting for you:

host-OS: Debian etch
icecast: 2.3.1(-5)

chroot-content:
Code:
./admin
./admin/listclients.xsl
./admin/listmounts.xsl
./admin/manageauth.xsl
./admin/moveclients.xsl
./admin/response.xsl
./admin/stats.xsl
./admin/updatemetadata.xsl
./web
./web/tunein.png
./web/key.gif
./web/corner_bottomleft.jpg
./web/corner_bottomright.jpg
./web/corner_topleft.jpg
./web/corner_topright.jpg
./web/icecast.png
./web/auth.xsl
./web/key.png
./web/server_version.xsl
./web/status2.xsl
./web/status.xsl
./web/hifi
./web/bigbeat_intro.mp3
./web/style.css
./log
./log/error.log*
./log/access.log*
./run
./etc
./etc/nsswitch.conf
./etc/resolv.conf
./lib
./lib/libnss_dns-2.3.6.so
./lib/libnss_dns.so.2
./lib/tls
./lib/tls/libc.so.6
./lib/tls/libresolv-2.3.6.so
./lib/tls/libresolv.so.2
./lib/ld-linux.so.2


icecast.xml
Code:
<icecast>
    <limits>
        <clients>100</clients>
        <sources>5</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <burst-on-connect>1</burst-on-connect>
        <burst-size>65535</burst-size>
    </limits>

    <authentication>
        <source-password>XXXXXXXXXXX</source-password>
        <relay-password>XXXXXXXXX</relay-password>
        <admin-user>XXXXXXXXXXX</admin-user>
        <admin-password>XXXXXXXXX</admin-password>
    </authentication>
<!--

yes, I have removed the comment-tags for testing.. ;)

    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://yp.shoutcast.com</yp-url>
    </directory>
-->

    <hostname>radio.kennmer.net</hostname>
    <listen-socket>
        <port>80</port>
        <bind-address>123.123.123.123</bind-address>
    </listen-socket>
    <listen-socket>
        <port>8000</port>
        <bind-address>127.0.0.1</bind-address>
    </listen-socket>

    <relay>
        <server>123.123.123.123</server>
        <port>8100</port>
        <mount>/lo-fi.ogg</mount>
        <local-mount>/lofi.ogg</local-mount>
        <on-demand>0</on-demand>
        <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
    </relay>

    <relay>
        <server>some.dns.name</server>
        <port>8000</port>
        <mount>/jukebox.ogg</mount>
        <password>kkWumK99</password>
        <local-mount>/jukebox.ogg</local-mount>
        <on-demand>1</on-demand>
        <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
        <public>0</public>
    </relay>

    <mount>
        <mount-name>/test.mp3</mount-name>
        <max-listeners>100</max-listeners>
        <public>0</public>
        <password>XXXXXXXXXX</password>
        <mp3-metadata-interval>4096</mp3-metadata-interval>
        <type>application/mpeg</type>
        <burst-size>65536</burst-size>
        <stream-name>.:: eclectix radio -LIVE- ::.</stream-name>
        <stream-description>MashUp your World</stream-description>
        <stream-url>http://eclectix.de</stream-url>
    </mount>
    <mount>
        <mount-name>/live.mp3</mount-name>
        <fallback-mount>/rotation.mp3</fallback-mount>
        <max-listeners>100</max-listeners>
        <public>1</public>
        <password>XXXXXXXXXXXX</password>
        <mp3-metadata-interval>4096</mp3-metadata-interval>
        <type>application/mpeg</type>
        <burst-size>65536</burst-size>
        <stream-name>.:: eclectix radio -LIVE- ::.</stream-name>
        <stream-description>MashUp your World</stream-description>
        <stream-url>http://eclectix.de</stream-url>
    </mount>

    <mount>
        <mount-name>/fallback.mp3</mount-name>
        <max-listeners>100</max-listeners>
        <public>1</public>
        <mp3-metadata-interval>4096</mp3-metadata-interval>
        <type>application/mpeg</type>
        <burst-size>65536</burst-size>
        <stream-name>.:: eclectix radio ::.</stream-name>
        <stream-description>MashUp your World</stream-description>
        <stream-url>http://eclectix.de</stream-url>
    </mount>

    <mount>
        <mount-name>/rotation.mp3</mount-name>
        <fallback-mount>/fallback.mp3</fallback-mount>
        <max-listeners>100</max-listeners>
        <public>1</public>
        <mp3-metadata-interval>4096</mp3-metadata-interval>
        <type>application/mpeg</type>
        <burst-size>65536</burst-size>
        <stream-name>.:: eclectix radio ::.</stream-name>
        <stream-description>MashUp your World</stream-description>
        <stream-url>http://eclectix.de</stream-url>
    </mount>

    <mount>
        <mount-name>/eclectix.mp3</mount-name>
        <fallback-mount>/live.mp3</fallback-mount>
        <max-listeners>100</max-listeners>
        <fallback-override>1</fallback-override>
        <public>1</public>
        <mp3-metadata-interval>4096</mp3-metadata-interval>
        <type>application/mpeg</type>
        <burst-size>65536</burst-size>
        <stream-name>.:: eclectix radio ::.</stream-name>
        <stream-description>MashUp your World</stream-description>
        <stream-url>http://eclectix.de</stream-url>
    </mount>

    <fileserve>1</fileserve>

    <paths>
        <basedir>/usr/share/icecast2</basedir>
        <logdir>/log</logdir>
        <webroot>/web</webroot>
        <adminroot>/admin</adminroot>
        <pidfile>/run/icecast.pid</pidfile>
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <loglevel>2</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
        <logsize>10000</logsize> <!-- Max size of a logfile -->
        <logarchive>1</logarchive>
    </logging>

    <security>
        <chroot>1</chroot>
        <changeowner>
            <user>icecast2</user>
            <group>icecast</group>
        </changeowner>
    </security>
</icecast>


So.. Anyone has an idea..? Any help is appreciated..! Smile

Cheers,
stimpy
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Fri Aug 31, 2007 12:34 pm    Post subject: Reply with quote

The message is not one from icecast itself but from the libraries libcurl being the prime candidate. I would use strace to monitor the system calls that icecast and the libs do. Towards the end you may see a reference to something that is missing or inaccessible. Avoid setting icecast in the background and use a -f on strace. The output can be quite long so you can email instead of posting.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Sat Sep 01, 2007 1:48 pm    Post subject: Reply with quote

Yes, it complains about not finding "/dev/random" - just as you said in your first post..

Code:
[pid 26957] access("/dev/random", R_OK) = -1 ENOENT (No such file or directory)
[pid 26957] write(2, "Fatal: ", 7Fatal: )      = 7
[pid 26957] write(2, "no entropy gathering module dete"..., 37no entropy gathering module detected


But isn't there anything I can do about that? Is it possible to run icecast2 in a chroot jail AND have it update the yellow pages..?

Cheers,
stimpy
Back to top
Anonymous
Guest





PostPosted: Mon Sep 03, 2007 11:25 am    Post subject: Reply with quote

Was it so much of a stupid question or don't you know either?
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Mon Sep 03, 2007 11:58 am    Post subject: Reply with quote

You just have to remember that if you want to run in a chroot jail then you have to setup the jail, ideally libcurl could do with being more explicit with what is actually missing. Use mknod to create the character device file, use the same major/minor numbers shown in
ls -l /dev/random

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Mon Sep 03, 2007 1:46 pm    Post subject: Reply with quote

\o/ Thank you so much! I just didn't think about simply creating another random-device.. Smile

Now everything looks fine. Smile

Cheers,
stimpy
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group
subRebel style by ktauber