[prev in list] [next in list] [prev in thread] [next in thread]
List: netbsd-bugs
Subject: pkg/7500: mpg123-0.59q can't play from name-based virtual hosts
From: Michael Graff <explorer () flame ! org>
Date: 1999-04-29 22:19:29
[Download RAW message or body]
> Number: 7500
> Category: pkg
> Synopsis: mpg123-0.59q can't play from name-based virtual hosts
> Confidential: no
> Severity: serious
> Priority: high
> Responsible: pkg-manager (NetBSD software packages system bug manager)
> State: open
> Class: sw-bug
> Submitter-Id: net
> Arrival-Date: Thu Apr 29 15:35:01 1999
> Last-Modified:
> Originator: Michael Graff
> Organization:
flame.org: yes, we do know everything
> Release: current
> Environment:
System: NetBSD kechara.flame.org 1.4_BETA NetBSD 1.4_BETA (KECHARA) #0: Wed Apr 28 \
19:59:58 PDT 1999 explorer@kechara.flame.org:/raid0/OS/NetBSD/src-1-4/sys/arch/i386/compile/KECHARA \
i386
> Description:
mpg123 fails to send the HTTP Host: header, so name based virtual hosts
cannot be used to pull files from.
> How-To-Repeat:
mpg123 http://virtual.host.somewhere.com/file.mp3
404 is returned.
> Fix:
Here's my patch-ag:
--- work/mpg123-0.59q/httpget.c Mon Nov 23 08:17:46 1998
+++ httpget.c Thu Apr 29 15:08:05 1999
@@ -154,6 +154,7 @@
if (!(proxyurl = getenv("http_proxy")))
proxyurl = getenv("HTTP_PROXY");
if (proxyurl && proxyurl[0] && strcmp(proxyurl, "none")) {
+ host = NULL;
if (!(url2hostport(proxyurl, &host, &proxyip, &proxyport))) {
fprintf (stderr, "Unknown proxy host \"%s\".\n",
host ? host : "");
@@ -184,18 +185,22 @@
myip = proxyip;
}
else {
+ host = NULL;
if (!(sptr = url2hostport(purl, &host, &myip, &myport))) {
fprintf (stderr, "Unknown host \"%s\".\n",
host ? host : "");
exit (1);
}
- if (host)
- free (host);
strcat (request, sptr);
}
sprintf (request + strlen(request),
" HTTP/1.0\r\nUser-Agent: %s/%s\r\n",
prgName, prgVersion);
+ if (host) {
+ sprintf(request + strlen(request),
+ "Host: %s:%u\r\n", host, myport);
+ free (host);
+ }
strcat (request, ACCEPT_HEAD);
strcat (request, "\r\n");
server.sin_family = AF_INET;
> Audit-Trail:
> Unformatted:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic