[icecast] Ices -> Icecast Authentication Failure

Michael Higgins michael.higgins at yale.edu
Thu May 15 17:53:41 UTC 2003



Hello, list --

Sorry for the dumb post about confirmation -- I've always wanted to run 
majordomo so I could see how this stuff works. Whoops! I guess replying 
to the email really isn't the thing to do -- even though it explicitly 
states it as an option...

My problem, outside of list etiquette, is this: having compiled all the 
latest, installed, etc., ... having read all I can find on-line, 
including the archives for this list, I'm still stumped. I fudged a bit 
on compiling, but, assuming the proggies are working.

I just recompiled ices 023 to suppport xml. Now it reads the config file 
(was just sending config on command line). I'm kind've learning as I go, 
fine.

I'll attach the configuration files I'm using below. Icecast loads when 
I point it to the xml config, waits. If I http://myip:8000/???? I always 
get 'The source you requested could not be found.' as an error. Telnet 
just fails, killing the session, whatever I put in followed by 2 
newlines. But my problem isn't remote administration...

When I load ices, it fails authentication. I've tried all combinations 
of passwords, specifying mountpoints, server i.p. vs 'localhost' vs 
127.0.0.1, etc, etc. Always the same result. '401 Authentication Faulure'.

I'm not a compiler junkie, so, looking through the makefile for icecast, 
I seen no mention of compile option for encryption... I didn't ask for 
it on the command line... no 'mkpassswd' is in my /usr/local/bin folder 
And, anyway, if I specify a normal, unencrypted pass in the config file, 
what does it need if it's encryption enabled? Or, how do I find out if 
it is expecting a crypted pass?

Seems to be the most likely culprit from what I've read, but, I don't 
know. I opened up port forwarding on the router/firewall, but, I'm 
working entirely on the local machine...

I feel, since this works for other folks, that I'm missing some big 
piece of the equation. Maybe someone can shed a little wisdom? I'm 
stuck. I could go back and recompile everything, bu(As if that was 
working...)

TIA

-- mike higgins

----------------------------in /usr/local/icecast/etc-----------------

<icecast>
     <location>Not Currently Used</location>
     <admin>Not Currently Used</admin>

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

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

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

     <!-- Uncomment this if you want directory listings -->
     <!--
     <directory>
         <yp-url-timeout>15</yp-url-timeout>
         <yp-url><a href="http://www.oddsock.org/cgi-bin/yp-cgi</yp-url">http://www.oddsock.org/cgi-bin/yp-cgi</yp-url</a>>
     </directory>
      -->

     <hostname>64.252.210.146</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>
     <!--
     <listen-socket>
         <port>8001</port>
     </listen-socket>
     -->

     <!--<master-server>127.0.0.1</master-server>-->
     <!--<master-server-port>8001</master-server-port>-->
     <!--<master-update-interval>120</master-update-interval>-->
     <!--<master-password>hackme</master-password>-->
     <!--
     <relay>
       <server>127.0.0.1</server>
       <port>8001</port>
       <mount>/example.ogg</mount>
       <local-mount>/another.ogg</local-mount>

       <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
     </relay>
     -->

     <!-- Only define a <mount> section if you want to use advanced options,
          like alternative usernames or passwords
       -->
    <mount>
         <mount-name>ices</mount-name>

          <password>letmein</password>

         <max-listeners>1</max-listeners>
<!--      <dump-file>/tmp/dump-example1.ogg</dump-file>
         <fallback-mount>/example2.ogg</fallback-mount> -->
     </mount>

     <fileserve>1</fileserve>

     <paths>
         <basedir>/usr/local/icecast</basedir>

         <!-- Note that if <chroot> is turned on below, these paths must 
both
              be relative to the new root, not the original root -->
         <logdir>/usr/local/icecast/logs</logdir>
         <webroot>/usr/local/icecast/web</webroot>

         <!-- Aliases: treat requests for 'source' path as being for 
'dest' path
              May be made specific to a port or bound address using the 
"port"
              and "bind-address" attributes.
           -->
         <!--
         <alias source="/foo" dest="/bar"/>
           -->
     </paths>

     <logging>
         <accesslog>access.log</accesslog>
         <errorlog>error.log</errorlog>
           <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
     </logging>

     <security>
         <chroot>0</chroot>
<!--        <changeowner>
             <user>nobody</user>
             <group>nogroup</group>
         </changeowner>  -->
     </security>
</icecast>

<p><p><?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
   <Playlist>
     <!-- This is the filename used as a playlist when using the builtin
      playlist handler. -->
     <File>playlist.txt</File>
     <!-- Set this to 0 if you don't want to randomize your playlist, and to
      1 if you do. -->
     <Randomize>1</Randomize>
     <!-- One of builtin, perl, or python. -->
     <Type>builtin</Type>
     <!-- Module name to pass to the playlist handler if using  perl or 
python.
      If you use the builtin playlist handler then this is ignored -->
     <Module>ices</Module>
   </Playlist>

   <Execution>
     <!-- Set this to 1 if you want ices to launch in the background as a
          daemon -->
     <Background>0</Background>
     <!-- Set this to 1 if you want to see more verbose output from ices -->
     <Verbose>0</Verbose>
     <!-- This directory specifies where ices should put the logfile, 
cue file
      and pid file (if daemonizing). -->
     <BaseDirectory>/tmp</BaseDirectory>
   </Execution>

   <Stream>
     <Server>
       <!-- Hostname or ip of the icecast server you want to connect to -->
       <Hostname>64.252.210.146</Hostname>
       <!-- Port of the same -->
       <Port>8000</Port>
       <!-- Encoder password on the icecast server -->

       <Password>letmein</Password>
       <!-- Header protocol to use when communicating with the server.
            Shoutcast servers need "icy", icecast 1.x needs 
"xaudiocast", and
        icecast 2.x needs "http". -->
       <Protocol>http</Protocol>
     </Server>

     <!-- The name of the mountpoint on the icecast server -->
     <Mountpoint>ices</Mountpoint>
     <!-- The name of the dumpfile on the server for your stream. DO NOT set
      this unless you know what you're doing.
     <Dumpfile>ices.dump</Dumpfile>
     -->
     <!-- The name of you stream, not the name of the song! -->
     <Name>Default stream</Name>
     <!-- Genre of your stream, be it rock or pop or whatever -->
     <Genre>Default genre</Genre>
     <!-- Longer description of your stream -->
     <Description>Default description</Description>
     <!-- URL to a page describing your stream -->
     <URL><a href="http://localhost/</URL">http://localhost/</URL</a>>
     <!-- 0 if you don't want the icecast server to publish your stream on
      the yp server, 1 if you do -->
     <Public>0</Public>

     <!-- Stream bitrate, used to specify bitrate if reencoding, otherwise
      just used for display on yp and on the server. Try to keep it
      accurate -->
     <Bitrate>128</Bitrate>
     <!-- If this is set to 1, and ices is compiled with liblame support,
      ices will reencode the stream on the fly to the stream bitrate. -->
     <Reencode>0</Reencode>
     <!-- Number of channels to reencode to, 1 for mono or 2 for stereo -->
     <Channels>2</Channels>
   </Stream>
</ices:Configuration>

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Icecast mailing list