[w3m-dev 04064] authentication

closes: Bug#:244029: w3m: HTTP basic authentication annoyance
* fm.h (auth_cookie): deleted
* proto.h (find_auth_cookie): deleted
	(add_auth_cookie): deleted
	(add_auth_user_passwd): added
	(invalidate_auth_user_passwd): added
* etc.c (auth_pass): add bad flag
		delete file
	(dir_under): deleted
	(add_auth_pass_entry): add override flag
		no need to check file
	(find_auth_pass_entry): delete file
		check bad flag
		check uname
	(find_auth_user_passwd): find by pu->user
	(add_auth_user_passwd): added
	(invalidate_auth_user_passwd): added
	(parsePasswd): add no override
		ignore file
	(find_auth): deleted
	(find_auth_cookie): deleted
	(dump_auth_cookie): deleted
	(add_auth_cookie): deleted
* file.c (getAuthCookie): add *uname, *pwd
		rewrite
	(loadGeneralFile): delete ss, add uname, pwd
		use add_auth_user_passwd instead of add_auth_cookie
* url.c (HTTPrequest): don't authorization here
		it should be done in getAuthCookie in loadGeneralFile
		through extra_header
* ftp.c (openFTPStream): add uname
		use find_auth_user_passwd instead of find_auth_cookie
		use add_auth_user_passwd instead of add_auth_cookie
This commit is contained in:
Fumitoshi UKAI
2004-04-16 18:47:18 +00:00
parent e4e1dd26a2
commit d02cc0c7de
7 changed files with 193 additions and 219 deletions

29
url.c
View File

@@ -1,4 +1,4 @@
/* $Id: url.c,v 1.88 2004/03/30 18:06:43 ukai Exp $ */
/* $Id: url.c,v 1.89 2004/04/16 18:47:19 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
#include <sys/socket.h>
@@ -1400,33 +1400,6 @@ HTTPrequest(ParsedURL *pu, ParsedURL *current, HRequest *hr, TextList *extra)
Strcat_charp(tmp, i->ptr);
}
if (!seen_www_auth
#ifdef USE_SSL
&& hr->command != HR_COMMAND_CONNECT
#endif
) {
Str auth_cookie = find_auth_cookie(pu->host, pu->port, pu->file, NULL);
if (auth_cookie)
Strcat_m_charp(tmp, "Authorization: ", auth_cookie->ptr,
"\r\n", NULL);
}
if (!seen_proxy_auth && (hr->flag & HR_FLAG_PROXY)
#ifdef USE_SSL
&& (pu->scheme != SCM_HTTPS || hr->command == HR_COMMAND_CONNECT)
#endif
) {
ParsedURL *proxy_pu = schemeToProxy(pu->scheme);
Str auth_cookie =
find_auth_cookie(proxy_pu->host, proxy_pu->port, proxy_pu->file,
NULL);
if (!auth_cookie && proxy_auth_cookie)
auth_cookie = proxy_auth_cookie;
if (auth_cookie)
Strcat_m_charp(tmp, "Proxy-Authorization: ", auth_cookie->ptr,
"\r\n", NULL);
}
#ifdef USE_COOKIE
if (hr->command != HR_COMMAND_CONNECT &&
use_cookie && (cookie = find_cookie(pu))) {