[w3m-dev 03072] Proxy-Authorization (Re: Re: https through proxy)

* file.c (loadGeneralFile) delete Proxy-Authorization set here
* fm.h (HR_FLAG_PROXY): added
* main.c (MAIN): need "Basic " for proxy_auth_cookie
* url.c (HTTPrequest): add seen_proxy_auth
	if proxy and no Proxy-Authorization: header seen and
	has proxy_auth_cookie, use it
* url.c (openURL): hr->flag |= HR_FLAG_PROXY

* file.c (loadGeneralFile) comment indent fix
* html.c (TagMAP): ditto
From: Fumitoshi UKAI <ukai@debian.or.jp>
This commit is contained in:
Fumitoshi UKAI
2002-02-28 16:15:41 +00:00
parent b6e7d6aa35
commit 84854e6db6
6 changed files with 42 additions and 15 deletions

18
url.c
View File

@@ -1,4 +1,4 @@
/* $Id: url.c,v 1.45 2002/02/27 16:53:27 ukai Exp $ */
/* $Id: url.c,v 1.46 2002/02/28 16:15:42 ukai Exp $ */
#include <stdio.h>
#include "config.h"
#include "fm.h"
@@ -1284,6 +1284,7 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra)
{
Str tmp;
TextListItem *i;
int seen_proxy_auth = 0;
#ifdef USE_COOKIE
Str cookie;
#endif /* USE_COOKIE */
@@ -1296,8 +1297,18 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra)
else
Strcat_charp(tmp, otherinfo(pu, current, hr->referer));
if (extra != NULL)
for (i = extra->first; i != NULL; i = i->next)
for (i = extra->first; i != NULL; i = i->next) {
if (strncasecmp(i->ptr, "Proxy-Authorization:",
sizeof("Proxy-Authorization:") - 1) == 0)
seen_proxy_auth = 1;
Strcat_charp(tmp, i->ptr);
}
if (!seen_proxy_auth && (hr->flag & HR_FLAG_PROXY)
&& proxy_auth_cookie != NULL)
Strcat_m_charp(tmp, "Proxy-Authorization: ", proxy_auth_cookie->ptr,
"\r\n", NULL);
#ifdef USE_COOKIE
if (hr->command != HR_COMMAND_CONNECT &&
use_cookie && (cookie = find_cookie(pu))) {
@@ -1516,6 +1527,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
if (non_null(FTP_proxy) &&
!Do_not_use_proxy &&
pu->host != NULL && !check_no_proxy(pu->host)) {
hr->flag |= HR_FLAG_PROXY;
sock = openSocket(FTP_proxy_parsed.host,
schemetable[FTP_proxy_parsed.scheme].cmdname,
FTP_proxy_parsed.port);
@@ -1546,6 +1558,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
!Do_not_use_proxy &&
pu->host != NULL && !check_no_proxy(pu->host)) {
char *save_label;
hr->flag |= HR_FLAG_PROXY;
#ifdef USE_SSL
if (pu->scheme == SCM_HTTPS && *status == HTST_CONNECT) {
sock = ssl_socket_of(ouf->stream);
@@ -1650,6 +1663,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
if (non_null(GOPHER_proxy) &&
!Do_not_use_proxy &&
pu->host != NULL && !check_no_proxy(pu->host)) {
hr->flag |= HR_FLAG_PROXY;
sock = openSocket(GOPHER_proxy_parsed.host,
schemetable[GOPHER_proxy_parsed.scheme].cmdname,
GOPHER_proxy_parsed.port);