[xiph-commits] r8795 - icecast/branches/kh/icecast/conf
karl at motherfish-iii.xiph.org
karl at motherfish-iii.xiph.org
Wed Jan 26 13:33:00 PST 2005
Author: karl
Date: 2005-01-26 13:32:58 -0800 (Wed, 26 Jan 2005)
New Revision: 8795
Added:
icecast/branches/kh/icecast/conf/icecast_auth.php
Modified:
icecast/branches/kh/icecast/conf/Makefile.am
Log:
add this example just for reference
Modified: icecast/branches/kh/icecast/conf/Makefile.am
===================================================================
--- icecast/branches/kh/icecast/conf/Makefile.am 2005-01-26 20:52:28 UTC (rev 8794)
+++ icecast/branches/kh/icecast/conf/Makefile.am 2005-01-26 21:32:58 UTC (rev 8795)
@@ -2,7 +2,7 @@
AUTOMAKE_OPTIONS = foreign
-EXTRA_DIST = icecast.xml.in icecast_minimal.xml.in icecast_shoutcast_compat.xml.in
+EXTRA_DIST = icecast.xml.in icecast_minimal.xml.in icecast_shoutcast_compat.xml.in icecast_auth.php
DISTCLEANFILES = icecast.xml.dist icecast_minimal.xml.dist icecast_shoutcast_compat.xml.dist
docdir = $(datadir)/$(PACKAGE)/doc
Added: icecast/branches/kh/icecast/conf/icecast_auth.php
===================================================================
--- icecast/branches/kh/icecast/conf/icecast_auth.php 2005-01-26 20:52:28 UTC (rev 8794)
+++ icecast/branches/kh/icecast/conf/icecast_auth.php 2005-01-26 21:32:58 UTC (rev 8795)
@@ -0,0 +1,73 @@
+<?php
+// This is a simple example script when using auth url. This sort of
+// script would be on a web server that would be invoked by icecast when
+// checking for a username/password supplied by a listener.
+
+// This code is made available under the most current version of the GPL
+// (c) S.Nixon
+
+// copy to local variables
+$user_name = $HTTP_GET_VARS['user'];
+$passwd = $HTTP_GET_VARS['pass'];
+
+if ($user_name && $passwd)
+// trying to authenticate
+{
+ // try authenticating them in
+ $login_result = login($user_name, $passwd);
+ if ($login_result === true)
+ {
+ // okay, so they have a valid login
+ header('icecast-auth-user: 1');
+ }
+ else
+ {
+ // unsuccessful login, error message should be in $login_result
+ header('icecast-auth-user: 0');
+ echo 'You could not be logged in for the following reason: '.$login_result.'<br /> You must be authenticated to connect to this stream.<br />';
+ }
+}
+
+function login($username, $password)
+// check username and password with db
+// if yes, return true
+// else return an error string...
+{
+
+ $username = trim($username);
+ // connect to db
+ $conn = db_connect();
+ if (!$conn)
+ return 'Could not connect to database server - please try later.';
+
+ // check username & pass
+ $result = mysql_query("select * from users where user_name='$username' and password = password('$password')");
+ if (!$result)
+ return 'Could not execute authenication query; please report this to the admin.';
+ // if there's exactly one result, the user is validated. Otherwise, they're invalid
+ if (mysql_num_rows($result) == 1)
+ {
+ return true;
+ }
+}
+
+function db_connect()
+{
+ // hostname for db
+ $db_hostname = 'localhost';
+ // Names of DB to connect to
+ $db_name = 'user_auth_db';
+ // User for accessing the db
+ $db_username = 'db_user';
+ // Password for DB user above
+ $db_password = 'db_pass';
+
+ $result = mysql_pconnect($db_hostname, $db_username, $db_password);
+ if (!$result)
+ return false;
+ if (!mysql_select_db($global_db_name))
+ return false;
+
+ return $result;
+}
+?>
More information about the commits
mailing list