aboutsummaryrefslogtreecommitdiffstats
path: root/url.c
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2001-12-06 16:35:37 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2001-12-06 16:35:37 +0000
commit10e43e224863a92eeb34a24b82a4ec91d49378de (patch)
treed62a343c01d4ca961a19174e2b083413b15cbc98 /url.c
parent[w3m-dev 02629] (diff)
downloadw3m-10e43e224863a92eeb34a24b82a4ec91d49378de.tar.gz
w3m-10e43e224863a92eeb34a24b82a4ec91d49378de.zip
[#489463] Host: header is wrong IPv6 literal addr
Diffstat (limited to '')
-rw-r--r--url.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/url.c b/url.c
index bc0381b..3f5c322 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,4 @@
-/* $Id: url.c,v 1.19 2001/12/06 15:44:41 ukai Exp $ */
+/* $Id: url.c,v 1.20 2001/12/06 16:35:37 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
#include <sys/socket.h>
@@ -1204,7 +1204,12 @@ otherinfo(ParsedURL *target, ParsedURL *current, char *referer)
if (target->host) {
Strcat_charp(s, "Host: ");
- Strcat_charp(s, target->host);
+#ifdef INET6
+ if (strchr(target->host, ':') != NULL)
+ Strcat(s, Sprintf("[%s]", target->host));
+ else
+#endif
+ Strcat_charp(s, target->host);
if (target->port != DefaultPort[target->scheme])
Strcat(s, Sprintf(":%d", target->port));
Strcat_charp(s, "\r\n");