[xiph-commits] r15526 - in icecast/branches/kh/icecast: . src win32
karl at svn.xiph.org
karl at svn.xiph.org
Tue Nov 18 18:15:55 PST 2008
Author: karl
Date: 2008-11-18 18:15:53 -0800 (Tue, 18 Nov 2008)
New Revision: 15526
Modified:
icecast/branches/kh/icecast/NEWS
icecast/branches/kh/icecast/config.h.vc6
icecast/branches/kh/icecast/configure.in
icecast/branches/kh/icecast/src/admin.c
icecast/branches/kh/icecast/src/auth.c
icecast/branches/kh/icecast/src/cfgfile.c
icecast/branches/kh/icecast/src/cfgfile.h
icecast/branches/kh/icecast/src/connection.c
icecast/branches/kh/icecast/src/format_mp3.c
icecast/branches/kh/icecast/src/format_mp3.h
icecast/branches/kh/icecast/src/format_skeleton.c
icecast/branches/kh/icecast/src/global.h
icecast/branches/kh/icecast/src/source.c
icecast/branches/kh/icecast/src/stats.c
icecast/branches/kh/icecast/src/stats.h
icecast/branches/kh/icecast/win32/Icecast2winDlg.cpp
icecast/branches/kh/icecast/win32/icecast2.iss
Log:
commit a number of small fixes and cleanups from feeback. added
streamurl metadata via admin req for non-ogg as it wasn't a biggie
Modified: icecast/branches/kh/icecast/NEWS
===================================================================
--- icecast/branches/kh/icecast/NEWS 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/NEWS 2008-11-19 02:15:53 UTC (rev 15526)
@@ -15,6 +15,26 @@
any extra tags are show in the conf/icecast.xml.dist file
+2.3.2-kh6
+. some source stats were not being reported on the xsl pages.
+. win32 access log timestamps should now to correct.
+
+2.3.2-kh5
+. stats fixes, crash case in stats handling, and hidden attribute was not honoured
+ on xsl pages with recent stats changes.
+. if requesting /admin/streams via stats method then allow auth via relay user/pass
+ or mountpoint auth. receives only stats for slaves
+. allow url= tag on metadata update for non-ogg streams, adds StreamUrl.
+. fixed possible crash with skeleton stream handling
+. actually prevent metadata updates if there is a stream already running from a
+ different IP.
+. fix build bug on FBSD7
+. allow optional queue-len tag in listen-socket, default is 10
+
+2.3.2-kh4
+. Where's the brown paper bag. boolean settings in the xml were being ignored due
+ to an incorrect test.
+
2.3.2-kh3
. fixed master not informing slaves of streams bug. caused by missed setting in
the kh2 stats update
Modified: icecast/branches/kh/icecast/config.h.vc6
===================================================================
--- icecast/branches/kh/icecast/config.h.vc6 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/config.h.vc6 2008-11-19 02:15:53 UTC (rev 15526)
@@ -95,7 +95,7 @@
#define PACKAGE_NAME "Icecast"
/* Version number of package */
-#define VERSION "2.3.2-kh3"
+#define VERSION "2.3.2-kh6"
/* Define to the version of this package. */
#define PACKAGE_VERSION VERSION
Modified: icecast/branches/kh/icecast/configure.in
===================================================================
--- icecast/branches/kh/icecast/configure.in 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/configure.in 2008-11-19 02:15:53 UTC (rev 15526)
@@ -1,4 +1,4 @@
-AC_INIT([Icecast], [2.3.2-kh3], [karl at xiph.org])
+AC_INIT([Icecast], [2.3.2-kh6], [karl at xiph.org])
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR(src/main.c)
@@ -33,7 +33,7 @@
AC_HEADER_STDC
AC_HEADER_TIME
-AC_CHECK_HEADERS([alloca.h fnmatch.h])
+AC_CHECK_HEADERS([alloca.h fnmatch.h limits.h])
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(CHUID, 1, [Define if you have pwd.h]),,)
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(CHROOT, 1, [Define if you have unistd.h]),,)
Modified: icecast/branches/kh/icecast/src/admin.c
===================================================================
--- icecast/branches/kh/icecast/src/admin.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/admin.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -986,7 +986,7 @@
static void command_metadata(client_t *client, source_t *source,
int response)
{
- const char *song, *title, *artist, *artwork, *charset;
+ const char *song, *title, *artist, *artwork, *charset, *url;
format_plugin_t *plugin;
xmlDocPtr doc;
xmlNodePtr node;
@@ -1001,6 +1001,7 @@
COMMAND_OPTIONAL(client, "song", song);
COMMAND_OPTIONAL(client, "title", title);
COMMAND_OPTIONAL(client, "artist", artist);
+ COMMAND_OPTIONAL(client, "url", url);
COMMAND_OPTIONAL(client, "artwork", artwork);
COMMAND_OPTIONAL(client, "charset", charset);
@@ -1013,12 +1014,17 @@
do
{
- if (same_ip == 0 && plugin == NULL)
+ if (same_ip == 0 || plugin == NULL)
break;
if (artwork)
stats_event (source->mount, "artwork", artwork);
- else if (plugin->set_tag)
+ if (plugin->set_tag)
{
+ if (url)
+ {
+ plugin->set_tag (plugin, "url", url, charset);
+ INFO2 ("Metadata url on %s set to \"%s\"", source->mount, url);
+ }
if (song)
{
plugin->set_tag (plugin, "song", song, charset);
@@ -1034,6 +1040,8 @@
source->mount, artist, title);
}
}
+ /* updates are now done, let them be pushed into the stream */
+ plugin->set_tag (plugin, NULL, NULL, NULL);
}
else
{
Modified: icecast/branches/kh/icecast/src/auth.c
===================================================================
--- icecast/branches/kh/icecast/src/auth.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/auth.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -537,12 +537,14 @@
{
int ret = 0;
+ client->authenticated = 1;
+
/* check whether we are processing a streamlist request for slaves */
if (strcmp (mount, "/admin/streams") == 0)
{
- if (client->authenticated == 0)
+ if (client->parser->req_type == httpp_req_stats)
{
- client_send_401 (client, NULL);
+ stats_add_listener (client, STATS_SLAVE|STATS_GENERAL);
return 0;
}
mount = httpp_get_query_param (client->parser, "mount");
@@ -553,7 +555,6 @@
}
mountinfo = config_find_mount (config_get_config_unlocked(), mount);
}
- client->authenticated = 1;
/* Here we are parsing the URI request to see if the extension is .xsl, if
* so, then process this request as an XSLT request
Modified: icecast/branches/kh/icecast/src/cfgfile.c
===================================================================
--- icecast/branches/kh/icecast/src/cfgfile.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/cfgfile.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -100,7 +100,7 @@
*/
int config_get_bool (xmlNodePtr node, void *x)
{
- if (xmlNodeIsText (node))
+ if (xmlIsBlankNode (node) == 0)
{
char *str = (char *)xmlNodeListGetString (node->doc, node->xmlChildrenNode, 1);
if (str == NULL)
@@ -972,6 +972,7 @@
{ "port", config_get_int, &listener->port },
{ "shoutcast-compat", config_get_bool, &listener->shoutcast_compat },
{ "bind-address", config_get_str, &listener->bind_address },
+ { "queue-len", config_get_int, &listener->qlen },
{ "ssl", config_get_bool, &listener->ssl },
{ "shoutcast-mount", config_get_str, &listener->shoutcast_mount },
{ NULL, NULL, NULL },
@@ -979,12 +980,15 @@
listener->refcount = 1;
listener->port = 8000;
+ listener->qlen = ICE_LISTEN_QUEUE;
if (parse_xml_tags (node, icecast_tags))
{
config_clear_listener (listener);
return -1;
}
+ if (listener->qlen < 1)
+ listener->qlen = ICE_LISTEN_QUEUE;
listener->next = config->listen_sock;
config->listen_sock = listener;
config->listen_sock_count++;
@@ -994,6 +998,7 @@
listener_t *sc_port = calloc (1, sizeof (listener_t));
sc_port->refcount = 1;
sc_port->port = listener->port+1;
+ sc_port->qlen = listener->qlen;
sc_port->shoutcast_compat = 1;
sc_port->shoutcast_mount = (char*)xmlStrdup (XMLSTR(listener->shoutcast_mount));
if (listener->bind_address)
Modified: icecast/branches/kh/icecast/src/cfgfile.h
===================================================================
--- icecast/branches/kh/icecast/src/cfgfile.h 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/cfgfile.h 2008-11-19 02:15:53 UTC (rev 15526)
@@ -127,8 +127,9 @@
int refcount;
int port;
char *bind_address;
+ char *shoutcast_mount;
+ int qlen;
int shoutcast_compat;
- char *shoutcast_mount;
int ssl;
};
Modified: icecast/branches/kh/icecast/src/connection.c
===================================================================
--- icecast/branches/kh/icecast/src/connection.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/connection.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -1122,16 +1122,12 @@
{
if (connection_check_admin_pass (client->parser) == 0)
{
- client_send_401 (client, NULL);
- ERROR0("Bad password for stats connection");
+ auth_add_listener (uri, client);
return;
}
- client->respcode = 200;
- snprintf (client->refbuf->data, PER_CLIENT_REFBUF_SIZE,
- "HTTP/1.0 200 OK\r\ncapability: streamlist\r\n\r\n");
- client->refbuf->len = strlen (client->refbuf->data);
- fserve_add_client_callback (client, stats_callback, NULL);
+ client->authenticated = 1;
+ stats_add_listener (client, STATS_ALL);
}
static void check_for_filtering (ice_config_t *config, client_t *client)
@@ -1488,7 +1484,7 @@
sock_t sock = sock_get_server_socket (listener->port, listener->bind_address);
if (sock == SOCK_ERROR)
break;
- if (sock_listen (sock, ICE_LISTEN_QUEUE) == SOCK_ERROR)
+ if (sock_listen (sock, listener->qlen) == SOCK_ERROR)
{
sock_close (sock);
break;
Modified: icecast/branches/kh/icecast/src/format_mp3.c
===================================================================
--- icecast/branches/kh/icecast/src/format_mp3.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/format_mp3.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -121,13 +121,13 @@
static void mp3_set_tag (format_plugin_t *plugin, const char *tag, const char *in_value, const char *charset)
{
mp3_state *source_mp3 = plugin->_state;
- unsigned int len;
- const char meta[] = "StreamTitle='";
- int size = sizeof (meta) + 1;
char *value;
if (tag==NULL || in_value == NULL)
+ {
+ source_mp3->update_metadata = 1;
return;
+ }
/* protect against multiple updaters */
thread_mutex_lock (&source_mp3->url_lock);
@@ -136,23 +136,21 @@
if (value == NULL)
value = strdup (in_value);
- len = strlen (value)+1;
- size += len;
-
if (strcmp (tag, "title") == 0 || strcmp (tag, "song") == 0)
{
free (source_mp3->url_title);
- free (source_mp3->url_artist);
- source_mp3->url_artist = NULL;
source_mp3->url_title = value;
- source_mp3->update_metadata = 1;
}
else if (strcmp (tag, "artist") == 0)
{
free (source_mp3->url_artist);
source_mp3->url_artist = value;
- source_mp3->update_metadata = 1;
}
+ else if (strcmp (tag, "url") == 0)
+ {
+ free (source_mp3->url);
+ source_mp3->url = value;
+ }
else
free (value);
thread_mutex_unlock (&source_mp3->url_lock);
@@ -232,6 +230,7 @@
static void mp3_set_title (source_t *source)
{
const char meta[] = "StreamTitle='";
+ const char streamurl[] = "StreamUrl='";
size_t size;
unsigned char len_byte;
refbuf_t *p;
@@ -248,6 +247,8 @@
len += strlen (source_mp3->url_title);
if (source_mp3->url_artist && source_mp3->url_title)
len += 3;
+ if (source_mp3->url)
+ len += strlen (source_mp3->url) + strlen (streamurl) + 2;
#define MAX_META_LEN 255*16
if (len > MAX_META_LEN)
{
@@ -265,19 +266,32 @@
if (p)
{
mp3_state *source_mp3 = source->format->_state;
+ int r;
memset (p->data, '\0', size);
if (source_mp3->url_artist && source_mp3->url_title)
- snprintf (p->data, size, "%c%s%s - %s';", len_byte, meta,
+ r = snprintf (p->data, size, "%c%s%s - %s';", len_byte, meta,
source_mp3->url_artist, source_mp3->url_title);
else
- snprintf (p->data, size, "%c%s%s';", len_byte, meta,
+ r = snprintf (p->data, size, "%c%s%s';", len_byte, meta,
source_mp3->url_title);
+ DEBUG2 ("r is %d, url %s", r, source_mp3->url);
+ if (r > 0 && source_mp3->url)
+ {
+ snprintf (p->data+r, size-r, "StreamUrl='%s';", source_mp3->url);
+ DEBUG2 ("val %d %d", p->data[r-1], p->data[r]);
+ }
DEBUG1 ("shoutcast metadata block setup with %s", p->data+1);
filter_shoutcast_metadata (source, p->data, size);
refbuf_release (source_mp3->metadata);
source_mp3->metadata = p;
+ free (source_mp3->url);
+ source_mp3->url = NULL;
+ free (source_mp3->url_title);
+ source_mp3->url_title = NULL;
+ free (source_mp3->url_artist);
+ source_mp3->url_artist = NULL;
}
thread_mutex_unlock (&source_mp3->url_lock);
}
@@ -445,6 +459,7 @@
thread_mutex_destroy (&format_mp3->url_lock);
free (format_mp3->url_artist);
free (format_mp3->url_title);
+ free (format_mp3->url);
refbuf_release (format_mp3->metadata);
refbuf_release (format_mp3->read_data);
free(format_mp3);
Modified: icecast/branches/kh/icecast/src/format_mp3.h
===================================================================
--- icecast/branches/kh/icecast/src/format_mp3.h 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/format_mp3.h 2008-11-19 02:15:53 UTC (rev 15526)
@@ -25,6 +25,7 @@
int interval;
char *url_artist;
char *url_title;
+ char *url;
int update_metadata;
int queue_block_size;
Modified: icecast/branches/kh/icecast/src/format_skeleton.c
===================================================================
--- icecast/branches/kh/icecast/src/format_skeleton.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/format_skeleton.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -91,6 +91,7 @@
INFO0 ("seen initial skeleton header");
codec->process_page = process_skeleton_page;
codec->codec_free = skeleton_codec_free;
+ codec->parent = ogg_info;
codec->headers = 1;
codec->name = "Skeleton";
Modified: icecast/branches/kh/icecast/src/global.h
===================================================================
--- icecast/branches/kh/icecast/src/global.h 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/global.h 2008-11-19 02:15:53 UTC (rev 15526)
@@ -15,7 +15,7 @@
#include "config.h"
-#define ICE_LISTEN_QUEUE 5
+#define ICE_LISTEN_QUEUE 10
#define ICE_RUNNING 1
#define ICE_HALTING 2
Modified: icecast/branches/kh/icecast/src/source.c
===================================================================
--- icecast/branches/kh/icecast/src/source.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/source.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -18,6 +18,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
#include <sys/types.h>
#include <ogg/ogg.h>
#include <errno.h>
@@ -813,11 +816,15 @@
/* start off the statistics */
stats_event_inc (NULL, "source_total_connections");
- stats_event (source->mount, "slow_listeners", "0");
- stats_event (source->mount, "listener_connections", "0");
+ stats_event_hidden (source->mount, "slow_listeners", "0", STATS_COUNTERS);
+ stats_event_hidden (source->mount, "listener_connections", "0", STATS_COUNTERS);
stats_event (source->mount, "server_type", source->format->contenttype);
+ stats_event_hidden (source->mount, "listener_peak", "0", STATS_COUNTERS);
stats_event_args (source->mount, "listener_peak", "%lu", source->peak_listeners);
stats_event_time (source->mount, "stream_start");
+ stats_event_hidden (source->mount, "total_mbytes_sent", "0", STATS_COUNTERS);
+ stats_event_hidden (source->mount, "total_bytes_sent", "0", STATS_COUNTERS);
+ stats_event_hidden (source->mount, "total_bytes_read", "0", STATS_COUNTERS);
DEBUG0("Source creation complete");
source->last_read = global.time;
@@ -1311,14 +1318,14 @@
DEBUG1 ("fallback_when_full to %u", mountinfo->fallback_when_full);
DEBUG1 ("max listeners to %d", mountinfo->max_listeners);
stats_event_args (source->mount, "max_listeners", "%d", mountinfo->max_listeners);
- stats_event_hidden (source->mount, "cluster_password", mountinfo->cluster_password, STATS_SLAVE);
+ stats_event_hidden (source->mount, "cluster_password", mountinfo->cluster_password, STATS_SLAVE|STATS_HIDDEN);
if (mountinfo->hidden)
{
stats_event_hidden (source->mount, NULL, NULL, STATS_HIDDEN);
DEBUG0 ("hidden from public");
}
else
- stats_event_hidden (source->mount, NULL, NULL, STATS_PUBLIC);
+ stats_event_hidden (source->mount, NULL, NULL, 0);
}
else
{
Modified: icecast/branches/kh/icecast/src/stats.c
===================================================================
--- icecast/branches/kh/icecast/src/stats.c 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/stats.c 2008-11-19 02:15:53 UTC (rev 15526)
@@ -38,6 +38,7 @@
#include "stats.h"
#include "xslt.h"
#include "util.h"
+#include "fserve.h"
#define CATMODULE "stats"
#include "logging.h"
@@ -172,6 +173,8 @@
stats_event_hidden (NULL, "stats_connections", "0", STATS_COUNTERS);
stats_event_hidden (NULL, "listener_connections", "0", STATS_COUNTERS);
stats_event_hidden (NULL, "outgoing_kbitrate", "0", STATS_COUNTERS);
+ stats_event_hidden (NULL, "stream_kbytes_sent", "0", STATS_COUNTERS);
+ stats_event_hidden (NULL, "stream_kbytes_read", "0", STATS_COUNTERS);
}
void stats_shutdown(void)
@@ -248,7 +251,10 @@
build_event (&event, source, name, value);
event.hidden = hidden;
- event.action |= STATS_EVENT_HIDDEN;
+ if (value)
+ event.action |= STATS_EVENT_HIDDEN;
+ else
+ event.action = STATS_EVENT_HIDDEN;
process_event (&event);
}
@@ -435,8 +441,11 @@
}
snprintf (event->value, VAL_BUFSIZE, "%" PRId64, value);
}
- free (node->value);
- node->value = strdup (event->value);
+ if (node->value)
+ {
+ free (node->value);
+ node->value = strdup (event->value);
+ }
}
@@ -511,7 +520,7 @@
node->name = (char *)strdup(event->name);
node->value = (char *)strdup(event->value);
node->hidden = event->hidden;
- if (snode->hidden | STATS_HIDDEN)
+ if (snode->hidden & STATS_HIDDEN)
node->hidden |= STATS_HIDDEN;
stats_listener_send (node->hidden, "EVENT %s %s %s\n", event->source, event->name, event->value);
@@ -766,7 +775,7 @@
while (avlnode)
{
stats_source_t *source = (stats_source_t *)avlnode->key;
- if (source->hidden & hidden &&
+ if (((hidden&STATS_HIDDEN) || (source->hidden&STATS_HIDDEN) == (hidden&STATS_HIDDEN)) &&
(show_mount == NULL || strcmp (show_mount, source->source) == 0))
{
avl_node *avlnode2 = avl_get_first (source->stats_tree);
@@ -778,7 +787,8 @@
while (avlnode2)
{
stats_node_t *stat = avlnode2->key;
- xmlNewTextChild (xmlnode, NULL, XMLSTR(stat->name), XMLSTR(stat->value));
+ if ((hidden&STATS_HIDDEN) || (stat->hidden&STATS_HIDDEN) == (hidden&STATS_HIDDEN))
+ xmlNewTextChild (xmlnode, NULL, XMLSTR(stat->name), XMLSTR(stat->value));
avlnode2 = avl_get_next (avlnode2);
}
}
@@ -877,37 +887,32 @@
_stats.event_listeners = listener;
}
-static void check_uri (event_listener_t *listener, const char *mount)
-{
- listener->hidden_level = STATS_PUBLIC;
- if (strncmp (mount, "/admin/", 7) == 0)
- {
- if (strcmp (mount+7, "streams") == 0)
- listener->hidden_level = STATS_SLAVE|STATS_GENERAL;
- }
- /* else
- * check for reserved mountpoint, show hidden source stats */
-}
-
-
-void stats_callback (client_t *client, void *arg)
+static void stats_callback (client_t *client, void *arg)
{
- event_listener_t * listener;
- const char *mount = arg;
+ event_listener_t *listener = arg;
client_set_queue (client, NULL);
- listener = calloc (1, sizeof (event_listener_t));
- listener->client = client;
- listener->queue_recent_p = &listener->queue;
- check_uri (listener, mount);
thread_mutex_lock(&_stats_mutex);
_register_listener (listener);
thread_mutex_unlock(&_stats_mutex);
}
+void stats_add_listener (client_t *client, int hidden_level)
+{
+ event_listener_t *listener = calloc (1, sizeof (event_listener_t));
+ listener->hidden_level = hidden_level;
+ listener->client = client;
+ listener->queue_recent_p = &listener->queue;
+ client->respcode = 200;
+ snprintf (client->refbuf->data, PER_CLIENT_REFBUF_SIZE,
+ "HTTP/1.0 200 OK\r\ncapability: streamlist\r\n\r\n");
+ client->refbuf->len = strlen (client->refbuf->data);
+ fserve_add_client_callback (client, stats_callback, listener);
+}
+
void stats_transform_xslt(client_t *client, const char *uri)
{
xmlDocPtr doc;
Modified: icecast/branches/kh/icecast/src/stats.h
===================================================================
--- icecast/branches/kh/icecast/src/stats.h 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/src/stats.h 2008-11-19 02:15:53 UTC (rev 15526)
@@ -48,7 +48,7 @@
void stats_event_time (const char *mount, const char *name);
void *stats_connection(void *arg);
-void stats_callback (client_t *client, void *mount);
+void stats_add_listener (client_t *client, int hidden_level);
void stats_global_calc(void);
void stats_transform_xslt(client_t *client, const char *uri);
Modified: icecast/branches/kh/icecast/win32/Icecast2winDlg.cpp
===================================================================
--- icecast/branches/kh/icecast/win32/Icecast2winDlg.cpp 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/win32/Icecast2winDlg.cpp 2008-11-19 02:15:53 UTC (rev 15526)
@@ -545,7 +545,7 @@
xmlDocPtr doc;
- doc = stats_get_xml(0, NULL);
+ doc = stats_get_xml(STATS_PUBLIC, NULL);
xmlNodePtr cur;
cur = xmlDocGetRootElement(doc);
Modified: icecast/branches/kh/icecast/win32/icecast2.iss
===================================================================
--- icecast/branches/kh/icecast/win32/icecast2.iss 2008-11-18 03:26:14 UTC (rev 15525)
+++ icecast/branches/kh/icecast/win32/icecast2.iss 2008-11-19 02:15:53 UTC (rev 15526)
@@ -3,7 +3,7 @@
[Setup]
AppName=Icecast2-KH
-AppVerName=Icecast v2.3.2-kh3
+AppVerName=Icecast v2.3.2-kh6
AppPublisherURL=http://www.icecast.org
AppSupportURL=http://www.icecast.org
AppUpdatesURL=http://www.icecast.org
@@ -13,7 +13,7 @@
LicenseFile=..\COPYING
InfoAfterFile=..\README
OutputDir=.
-OutputBaseFilename=icecast2_win32_v2.3.2-kh3_setup
+OutputBaseFilename=icecast2_win32_v2.3.2-kh6_setup
WizardImageFile=icecast2logo2.bmp
WizardImageStretch=no
; uncomment the following line if you want your installation to run on NT 3.51 too.
More information about the commits
mailing list