Blame SOURCES/daemon-fix-cookie-options.patch

d759a1
From 898cfe8212a5940dba6552196ddd243f912b5942 Mon Sep 17 00:00:00 2001
d759a1
From: Tomas Jelinek <tojeline@redhat.com>
d759a1
Date: Tue, 11 Feb 2020 10:18:33 +0100
d759a1
Subject: [PATCH 5/7] daemon: fix cookie options
d759a1
d759a1
---
d759a1
 pcs/daemon/app/session.py | 14 +++++++++++---
d759a1
 1 file changed, 11 insertions(+), 3 deletions(-)
d759a1
d759a1
diff --git a/pcs/daemon/app/session.py b/pcs/daemon/app/session.py
d759a1
index b4d29add..dcbb4c23 100644
d759a1
--- a/pcs/daemon/app/session.py
d759a1
+++ b/pcs/daemon/app/session.py
d759a1
@@ -4,10 +4,16 @@ from pcs.daemon.auth import check_user_groups, authorize_user
d759a1
 PCSD_SESSION = "pcsd.sid"
d759a1
 
d759a1
 class Mixin:
d759a1
-    __session = None
d759a1
     """
d759a1
     Mixin for tornado.web.RequestHandler
d759a1
     """
d759a1
+
d759a1
+    __session = None
d759a1
+    __cookie_options = {
d759a1
+        "secure": True,
d759a1
+        "httponly": True,
d759a1
+    }
d759a1
+
d759a1
     def initialize(self, session_storage: Storage):
d759a1
         self.__storage = session_storage
d759a1
 
d759a1
@@ -63,7 +69,7 @@ class Mixin:
d759a1
         """
d759a1
         Write the session id into a response cookie.
d759a1
         """
d759a1
-        self.set_cookie(PCSD_SESSION, self.session.sid)
d759a1
+        self.set_cookie(PCSD_SESSION, self.session.sid, **self.__cookie_options)
d759a1
 
d759a1
     def put_request_cookies_sid_to_response_cookies_sid(self):
d759a1
         """
d759a1
@@ -73,7 +79,9 @@ class Mixin:
d759a1
         #TODO this method should exist temporarily (for sinatra compatibility)
d759a1
         #pylint: disable=invalid-name
d759a1
         if self.__sid_from_client is not None:
d759a1
-            self.set_cookie(PCSD_SESSION, self.__sid_from_client)
d759a1
+            self.set_cookie(
d759a1
+                PCSD_SESSION, self.__sid_from_client, **self.__cookie_options
d759a1
+            )
d759a1
 
d759a1
     def was_sid_in_request_cookies(self):
d759a1
         return self.__sid_from_client is not None
d759a1
-- 
d759a1
2.21.1
d759a1