Jacek Caban : wininet: Ignore unknown attributes in get_cookie.

Alexandre Julliard julliard at winehq.org
Tue Jun 21 11:13:47 CDT 2016


Module: wine
Branch: master
Commit: 0d9dcf5c8f97bf86790d9a49b2e65441622de2a2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0d9dcf5c8f97bf86790d9a49b2e65441622de2a2

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jun 20 21:32:48 2016 +0200

wininet: Ignore unknown attributes in get_cookie.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wininet/cookie.c         | 5 ++++-
 dlls/wininet/tests/internet.c | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c
index 5de2304..38f69e0 100644
--- a/dlls/wininet/cookie.c
+++ b/dlls/wininet/cookie.c
@@ -911,6 +911,7 @@ DWORD set_cookie(substr_t domain, substr_t path, substr_t name, substr_t data, D
         static const WCHAR szSecure[] = {'s','e','c','u','r','e'};
         static const WCHAR szHttpOnly[] = {'h','t','t','p','o','n','l','y'};
         static const WCHAR szVersion[] = {'v','e','r','s','i','o','n','='};
+        static const WCHAR max_ageW[] = {'m','a','x','-','a','g','e','='};
 
         /* Skip ';' */
         if(data.len)
@@ -976,9 +977,11 @@ DWORD set_cookie(substr_t domain, substr_t path, substr_t name, substr_t data, D
             substr_skip(&data, len);
 
             FIXME("version not handled (%s)\n",debugstr_wn(data.str, data.len));
+        }else if(data.len >= (len = sizeof(max_ageW)/sizeof(WCHAR)) && !strncmpiW(data.str, max_ageW, len)) {
+            /* Native doesn't support Max-Age attribute. */
+            WARN("Max-Age ignored\n");
         }else if(data.len) {
             FIXME("Unknown additional option %s\n", debugstr_wn(data.str, data.len));
-            break;
         }
 
         substr_skip(&data, end_ptr - data.str);
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index db662a2..9b0a2e7 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -388,7 +388,7 @@ static void test_complicated_cookie(void)
   /* Technically illegal! domain should require 2 dots, but native wininet accepts it */
   ret = InternetSetCookieA("http://www.example.com",NULL,"E=F; domain=example.com");
   ok(ret == TRUE,"InternetSetCookie failed\n");
-  ret = InternetSetCookieA("http://www.example.com",NULL,"G=H; domain=.example.com; path=/foo");
+  ret = InternetSetCookieA("http://www.example.com",NULL,"G=H; domain=.example.com; invalid=attr; path=/foo");
   ok(ret == TRUE,"InternetSetCookie failed\n");
   ret = InternetSetCookieA("http://www.example.com/bar.html",NULL,"I=J; domain=.example.com");
   ok(ret == TRUE,"InternetSetCookie failed\n");




More information about the wine-cvs mailing list