From b2beeeab259b0c5ceb02a46be66ebd14618aefa8 Mon Sep 17 00:00:00 2001 From: briankopp Date: Sun, 16 Feb 2020 10:10:18 -0600 Subject: [PATCH] Add case for when user agent is nil Add test for nil user agent --- rootfs/etc/nginx/lua/test/util/same_site_test.lua | 4 ++++ rootfs/etc/nginx/lua/util/same_site.lua | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) 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