Package: libapache2-mod-musicindex
Version: 0.99.5.2
Severity: normal

I run my house server exclusively over SSL. I recently installed and configured
the musicindex mod for Apache2 and noted that the URLs pointing to the icecast
server picked up the https state from the request_rec. XMMS and other players
cannot stream via https, but they can get the playlist. I am including a patch
which corrected this issue for me.


-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.10-awtrey
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages libapache2-mod-musicindex depends on:
ii  apache2-common              2.0.53-5     next generation, scalable, extenda
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared libraries an
ii  libflac6                    1.1.1-5      Free Lossless Audio Codec - runtim
ii  libid3tag0                  0.15.1b-4.1  ID3 tag reading library from the M
ii  libmad0                     0.15.1b-1.1  MPEG audio decoder library
ii  libvorbis0a                 1.1.0-1      The Vorbis General Audio Compressi
ii  libvorbisfile3              1.1.0-1      The Vorbis General Audio Compressi
ii  mod-musicindex-common       0.99.5.2     Common files for mod-musicindex

-- no debconf information
diff -urN libapache-mod-musicindex-0.99.5.2.org/html.c libapache-mod-musicindex-0.99.5.2/html.c
--- libapache-mod-musicindex-0.99.5.2.org/html.c	2005-04-14 20:32:18.447108905 -0400
+++ libapache-mod-musicindex-0.99.5.2/html.c	2005-04-14 20:55:27.257756659 -0400
@@ -419,12 +419,15 @@
 	char *bufcoded, *decoded;
 	unsigned short l;
 	
-	strcpy(prefix, ap_http_method(r));
- 	strcat(prefix, "://"); 
-
 	/* If we have an icecast server, it takes precedence, in a 'staticdir' fashion.
 	If we're sending an RSS feed, it's up to us to send the ?stream links. */
 	if ((conf->iceserver) && !(conf->options & MI_RSS)) {
+
+		/* If we are sending to an icecast server, we want to force http
+		rather than allow https connections that will never work */
+ 		prefix[0] = '\0'; 
+ 		strcat(prefix, "http://";); 
+
 		/* if we only have a port number, we assume icecast is running on the same host */
 		if (conf->iceserver[0] == ':')
 			strcat(prefix, r->hostname);
@@ -432,6 +435,10 @@
 		strcat(prefix, conf->iceserver);
 	}
 	else {
+
+		strcpy(prefix, ap_http_method(r));
+ 		strcat(prefix, "://"); 
+
 		if (REQUEST_USER(r)) {
 			/* grab the auth credentials base64 encoded */
 			const char *auth = ap_table_get(r->headers_in, "Authorization");

Reply via email to