comparison vendor/symfony/browser-kit/CookieJar.php @ 13:5fb285c0d0e3

Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've been lucky to get away with this so far, as we don't support self-registration which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5 was vulnerable to.
author Chris Cannam
date Mon, 23 Apr 2018 09:33:26 +0100
parents 7a779792577d
children 129ea1e6d783
comparison
equal deleted inserted replaced
12:7a779792577d 13:5fb285c0d0e3
41 */ 41 */
42 public function get($name, $path = '/', $domain = null) 42 public function get($name, $path = '/', $domain = null)
43 { 43 {
44 $this->flushExpiredCookies(); 44 $this->flushExpiredCookies();
45 45
46 if (!empty($domain)) { 46 foreach ($this->cookieJar as $cookieDomain => $pathCookies) {
47 foreach ($this->cookieJar as $cookieDomain => $pathCookies) { 47 if ($cookieDomain && $domain) {
48 if ($cookieDomain) { 48 $cookieDomain = '.'.ltrim($cookieDomain, '.');
49 $cookieDomain = '.'.ltrim($cookieDomain, '.'); 49 if ($cookieDomain !== substr('.'.$domain, -\strlen($cookieDomain))) {
50 if ($cookieDomain != substr('.'.$domain, -strlen($cookieDomain))) { 50 continue;
51 continue; 51 }
52 } 52 }
53 } 53
54 54 foreach ($pathCookies as $cookiePath => $namedCookies) {
55 foreach ($pathCookies as $cookiePath => $namedCookies) { 55 if (0 !== strpos($path, $cookiePath)) {
56 if ($cookiePath != substr($path, 0, strlen($cookiePath))) { 56 continue;
57 continue; 57 }
58 } 58 if (isset($namedCookies[$name])) {
59 if (isset($namedCookies[$name])) { 59 return $namedCookies[$name];
60 return $namedCookies[$name]; 60 }
61 }
62 }
63 }
64
65 return;
66 }
67
68 // avoid relying on this behavior that is mainly here for BC reasons
69 foreach ($this->cookieJar as $cookies) {
70 if (isset($cookies[$path][$name])) {
71 return $cookies[$path][$name];
72 } 61 }
73 } 62 }
74 } 63 }
75 64
76 /** 65 /**