diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2007-04-01 15:38:50 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2007-04-01 15:38:50 +0000 |
commit | b4ddc815b77785e93fd6a0654888da2ea63d647b (patch) | |
tree | de98e10851e2eb436942bb6229832e738e2e3d7f /lisp/url | |
parent | f3e30bd0ec2a5358b74b51f2a1eac7c7ae7ad438 (diff) | |
download | emacs-b4ddc815b77785e93fd6a0654888da2ea63d647b.tar.gz |
(url-cookie-retrieve, url-cookie-host-can-set-p): Deal with wildcard
dots in domain values.
Diffstat (limited to 'lisp/url')
-rw-r--r-- | lisp/url/url-cookie.el | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el index cfe4f8ecf71..8d729c92369 100644 --- a/lisp/url/url-cookie.el +++ b/lisp/url/url-cookie.el @@ -272,7 +272,15 @@ telling Microsoft that." storage (cdr storage) cookies (cdr cur)) (if (and (car cur) - (string-match (concat "^.*" (regexp-quote (car cur)) "$") host)) + (string-match + (concat "^.*" + (regexp-quote + ;; Remove the dot from wildcard domains + ;; before matching. + (if (eq ?. (aref (car cur) 0)) + (substring (car cur) 1) + (car cur))) + "$") host)) ;; The domains match - a possible hit! (while cookies (setq cur (car cookies) @@ -344,7 +352,13 @@ telling Microsoft that." ((>= numdots mindots) ; We have enough dots in domain name ;; Need to check and make sure the host is actually _in_ the ;; domain it wants to set a cookie for though. - (string-match (concat (regexp-quote domain) "$") host)) + (string-match (concat (regexp-quote + ;; Remove the dot from wildcard domains + ;; before matching. + (if (eq ?. (aref domain 0)) + (substring domain 1) + domain)) + "$") host)) (t nil)))) |