[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:
@@ -1,3 +1,17 @@
|
||||
2002-03-01 Fumitoshi UKAI <ukai@debian.or.jp>
|
||||
|
||||
* [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
|
||||
|
||||
2002-02-28 Fumitoshi UKAI <ukai@debian.or.jp>
|
||||
|
||||
* [w3m-dev 03070] Re: https through proxy
|
||||
@@ -3006,4 +3020,4 @@
|
||||
* release-0-2-1
|
||||
* import w3m-0.2.1
|
||||
|
||||
$Id: ChangeLog,v 1.327 2002/02/27 16:53:27 ukai Exp $
|
||||
$Id: ChangeLog,v 1.328 2002/02/28 16:15:41 ukai Exp $
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: file.c,v 1.71 2002/02/26 04:08:48 ukai Exp $ */
|
||||
/* $Id: file.c,v 1.72 2002/02/28 16:15:41 ukai Exp $ */
|
||||
#include "fm.h"
|
||||
#include <sys/types.h>
|
||||
#include "myctype.h"
|
||||
@@ -1433,10 +1433,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
|
||||
prevtrap = NULL;
|
||||
add_auth_cookie_flag = 0;
|
||||
|
||||
if (proxy_auth_cookie != NULL) {
|
||||
pushText(extra_header, Sprintf("Proxy-Authorization: Basic %s\r\n",
|
||||
proxy_auth_cookie->ptr)->ptr);
|
||||
}
|
||||
load_doc:
|
||||
url_option.referer = referer;
|
||||
url_option.flag = flag;
|
||||
@@ -1566,7 +1562,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
|
||||
}
|
||||
if (t_buf == NULL)
|
||||
t_buf = newBuffer(INIT_BUFFER_WIDTH);
|
||||
#if 0 /* USE_SSL */
|
||||
#if 0 /* USE_SSL */
|
||||
if (IStype(f.stream) == IST_SSL) {
|
||||
Str s = ssl_get_certificate(f.stream, pu.host);
|
||||
if (s == NULL)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: fm.h,v 1.52 2002/02/19 15:50:18 ukai Exp $ */
|
||||
/* $Id: fm.h,v 1.53 2002/02/28 16:15:41 ukai Exp $ */
|
||||
/*
|
||||
* w3m: WWW wo Miru utility
|
||||
*
|
||||
@@ -675,6 +675,7 @@ typedef struct http_request {
|
||||
#define HR_COMMAND_HEAD 3
|
||||
|
||||
#define HR_FLAG_LOCAL 1
|
||||
#define HR_FLAG_PROXY 2
|
||||
|
||||
#define HTST_UNKNOWN 255
|
||||
#define HTST_MISSING 254
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: html.c,v 1.11 2002/02/25 15:55:39 ukai Exp $ */
|
||||
/* $Id: html.c,v 1.12 2002/02/28 16:15:41 ukai Exp $ */
|
||||
#include "html.h"
|
||||
|
||||
/* Define HTML Tag Infomation Table */
|
||||
@@ -134,8 +134,8 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
|
||||
{"hr", ALST_HR, MAXA_HR, 0}, /* 16 HTML_HR */
|
||||
{"dl", ALST_DL, MAXA_DL, 0}, /* 17 HTML_DL */
|
||||
{"/dl", NULL, 0, TFLG_END}, /* 18 HTML_N_DL */
|
||||
{"dt", ALST_NOP, MAXA_NOP, 0}, /* 19 HTML_DT */
|
||||
{"dd", ALST_NOP, MAXA_NOP, 0}, /* 20 HTML_DD */
|
||||
{"dt", ALST_NOP, MAXA_NOP, 0}, /* 19 HTML_DT */
|
||||
{"dd", ALST_NOP, MAXA_NOP, 0}, /* 20 HTML_DD */
|
||||
{"pre", ALST_PRE, MAXA_PRE, 0}, /* 21 HTML_PRE */
|
||||
{"/pre", NULL, 0, TFLG_END}, /* 22 HTML_N_PRE */
|
||||
{"blockquote", ALST_NOP, MAXA_NOP, 0}, /* 23 HTML_BLQ */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: main.c,v 1.84 2002/02/19 15:25:19 ukai Exp $ */
|
||||
/* $Id: main.c,v 1.85 2002/02/28 16:15:41 ukai Exp $ */
|
||||
#define MAINPROGRAM
|
||||
#include "fm.h"
|
||||
#include <signal.h>
|
||||
@@ -643,7 +643,9 @@ MAIN(int argc, char **argv, char **envp)
|
||||
else if (!strcmp("-pauth", argv[i])) {
|
||||
if (++i >= argc)
|
||||
usage();
|
||||
proxy_auth_cookie = encodeB(argv[i]);
|
||||
proxy_auth_cookie = Strnew_m_charp("Basic ",
|
||||
encodeB(argv[i])->ptr,
|
||||
NULL);
|
||||
while (argv[i][0]) {
|
||||
argv[i][0] = '\0';
|
||||
argv[i]++;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user