Skip to content

Commit 9e49f08

Browse files
committed
Fix: Updated default config and parsing to reflect existance of <yp-directory>
1 parent d1ea95f commit 9e49f08

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

conf/icecast.xml.in

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,9 @@
5959
very carefully, as it is not enough to just uncomment this.
6060
-->
6161
<!--
62-
<directory>
63-
<yp-url-timeout>15</yp-url-timeout>
64-
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
65-
</directory>
62+
<yp-directory url="https://dir.xiph.org/cgi-bin/yp-cgi">
63+
<option name="timeout" value="15" />
64+
</yp-directory>
6665
-->
6766

6867
<!-- You may have multiple <listen-socket> elements -->

conf/icecast_minimal.xml.in

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@
1414
<admin-user>admin</admin-user>
1515
<admin-password>hackme</admin-password>
1616
</authentication>
17-
<directory>
18-
<yp-url-timeout>15</yp-url-timeout>
19-
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
20-
</directory>
17+
<yp-directory url="https://dir.xiph.org/cgi-bin/yp-cgi">
18+
<option name="timeout" value="15" />
19+
</yp-directory>
2120
<hostname>localhost</hostname>
2221
<listen-socket>
2322
<port>8000</port>

conf/icecast_shoutcast_compat.xml.in

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616
<admin-user>admin</admin-user>
1717
<admin-password>hackme</admin-password>
1818
</authentication>
19-
<directory>
20-
<yp-url-timeout>15</yp-url-timeout>
21-
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
22-
</directory>
19+
<yp-directory url="https://dir.xiph.org/cgi-bin/yp-cgi">
20+
<option name="timeout" value="15" />
21+
</yp-directory>
2322
<!-- This is the hostname other people will use to connect to your server.
2423
It affects mainly the urls generated by Icecast for playlists and yp
2524
listings.

src/cfgfile.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1338,6 +1338,7 @@ static void _parse_root(xmlDocPtr doc,
13381338
} else if (xmlStrcmp(node->name, XMLSTR("mount")) == 0) {
13391339
_parse_mount(doc, node, configuration);
13401340
} else if (xmlStrcmp(node->name, XMLSTR("directory")) == 0) {
1341+
__found_bad_tag(configuration, node, BTR_OBSOLETE, "Use a <yp-directory> block.");
13411342
_parse_oldstyle_directory(doc, node->xmlChildrenNode, configuration);
13421343
} else if (xmlStrcmp(node->name, XMLSTR("yp-directory")) == 0) {
13431344
_parse_yp_directory(doc, node, configuration);
@@ -2446,6 +2447,7 @@ static void _parse_yp_directory(xmlDocPtr doc,
24462447

24472448
url = (char *)xmlGetProp(node, XMLSTR("url"));
24482449
if (url == NULL) {
2450+
__found_bad_tag(configuration, node, BTR_INVALID, NULL);
24492451
ICECAST_LOG_ERROR("Missing mandatory attribute 'url' for <yp-directory>.");
24502452
return;
24512453
}
@@ -2461,6 +2463,7 @@ static void _parse_yp_directory(xmlDocPtr doc,
24612463
options = config_parse_options(node);
24622464
for (config_options_t *opt = options; opt; opt = opt->next) {
24632465
if (!opt->name || !opt->value) {
2466+
__found_bad_tag(configuration, node, BTR_INVALID, NULL);
24642467
ICECAST_LOG_WARN("Invalid <option>, missing 'name' and 'value' attributes.");
24652468
continue;
24662469
}
@@ -2479,6 +2482,7 @@ static void _parse_yp_directory(xmlDocPtr doc,
24792482
/* FIXME: Pass the correct node to config_href_to_id(). */
24802483
yp_dir->listen_socket_id = config_href_to_id(configuration, NULL, opt->value);
24812484
} else {
2485+
__found_bad_tag(configuration, node, BTR_INVALID, NULL);
24822486
ICECAST_LOG_WARN("Invalid YP <option> with unknown 'name' attribute.");
24832487
}
24842488
}

0 commit comments

Comments
 (0)