diff --git a/rootfs/etc/nginx/lua/test/util/same_site_test.lua b/rootfs/etc/nginx/lua/test/util/same_site_test.lua index 341f2bb99..fb1fe488b 100644 --- a/rootfs/etc/nginx/lua/test/util/same_site_test.lua +++ b/rootfs/etc/nginx/lua/test/util/same_site_test.lua @@ -1,4 +1,8 @@ describe("same_site_compatible_test", function() + it("returns true for nil user agent", function() + local same_site = require("util.same_site") + assert.True(same_site.same_site_none_compatible(nil)) + end) it("returns false for chrome 4", function() local same_site = require("util.same_site") assert.False(same_site.same_site_none_compatible("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2704.103 Safari/537.36")) diff --git a/rootfs/etc/nginx/lua/util/same_site.lua b/rootfs/etc/nginx/lua/util/same_site.lua index 735bd132f..d8ee5fd2d 100644 --- a/rootfs/etc/nginx/lua/util/same_site.lua +++ b/rootfs/etc/nginx/lua/util/same_site.lua @@ -13,7 +13,9 @@ local _M = {} -- browsers which will reject SameSite=None cookies. -- reference: https://www.chromium.org/updates/same-site/incompatible-clients function _M.same_site_none_compatible(user_agent) - if string.match(user_agent, "Chrome/4") then + if not user_agent then + return true + elseif string.match(user_agent, "Chrome/4") then return false elseif string.match(user_agent, "Chrome/5") then return false