aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorRichard M. Stallman2005-01-03 21:00:07 +0000
committerRichard M. Stallman2005-01-03 21:00:07 +0000
commit8ea5080e3587261d4188dbdeac4ed6ddf352f706 (patch)
tree0eb44d3911bc38b7c25f1640e46375c508065dde /admin
parent8a525646b0d1b78ecd3e36bf34f7002625814cf5 (diff)
downloademacs-8ea5080e3587261d4188dbdeac4ed6ddf352f706.tar.gz
emacs-8ea5080e3587261d4188dbdeac4ed6ddf352f706.zip
(url-http-handle-authentication): Don't kill the current buffer.
Diffstat (limited to 'admin')
-rw-r--r--admin/FOR-RELEASE39
1 files changed, 3 insertions, 36 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 40fb0168793..84c236fe426 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -32,6 +32,9 @@ invalid pointer from string_free_list.
32 32
33** Fix up url-ldap.el. 33** Fix up url-ldap.el.
34 34
35** url/*.el has lots of `(declare (special ...))' which
36are meaningless. What's that trying to do?
37
35* BUGS 38* BUGS
36 39
37** Incomplete overlay mouse-face highlight bug (Ralf Angeli, Oct 18) 40** Incomplete overlay mouse-face highlight bug (Ralf Angeli, Oct 18)
@@ -62,42 +65,6 @@ further.
62I think in the near future we will see more of this problem, so it might be 65I think in the near future we will see more of this problem, so it might be
63time to make anfe-ftp more intelligent. 66time to make anfe-ftp more intelligent.
64 67
65** Bug in url-http-parse-headers, reported in
66From: Vivek Dasmohapatra <vivek@zeus.com>
67Date: Tue, 28 Sep 2004 16:13:13 +0100
68
69Fetching a url with url-retrieve can reult in an anrbitrary buffer
70being killed if a 401 (or possibly a 407) result is encountered:
71
72url-http-parse-headers calls url-http-handle-authentication,
73which can call url-retrieve.
74
75This results in the current buffer being killed, and a new http buffer
76being generated. However, when the old http buffer is killed, emacs
77picks the top buffer from the list as the new current buffer, so by the
78time we get to the end of url-http-parse-headers, _that_ buffer is marked
79as dead even though it is not necessarily a url buffer, so next time the
80url libraries reap their dead buffers, an innocent bystander buffer is
81killed instead (and an obsolete http buffer may be left lying around too).
82
83A possible fix (which I am currently using) is to call set-buffer
84on the return value of url-http-parse-headers:
85
86 (case url-http-response-status
87 (401
88 ;; The request requires user authentication. The response
89 ;; MUST include a WWW-Authenticate header field containing a
90 ;; challenge applicable to the requested resource. The
91 ;; client MAY repeat the request with a suitable
92 ;; Authorization header field.
93 (url-mark-buffer-as-dead (current-buffer))
94 (set-buffer (url-http-handle-authentication nil)))
95etc ....
96
97which makes sure that it is the right http buffer that is current when
98we come to mark the http buffers as dead.
99
100
101 68
102* GTK RELATED BUGS 69* GTK RELATED BUGS
103 70