Hi,

On Wed, Mar 21, 2018 at 9:31 PM, Dave Page <dp...@pgadmin.org> wrote:

>
>
> On Wed, Mar 21, 2018 at 3:57 PM, Joao De Almeida Pereira <
> jdealmeidapere...@pivotal.io> wrote:
>
>> Sorry I did not understand what you said.
>> This configuration:
>>
>> DEFAULT_SERVER = '0.0.0.0'
>> SESSION_COOKIE_DOMAIN = DEFAULT_SERVER
>> COOKIE_DEFAULT_DOMAIN = DEFAULT_SERVER
>>
>> If the application lives in the domain pgadmin.somedomain.com do I need
>> to have in config_local:
>> DEFAULT_SERVER = '0.0.0.0'
>> SESSION_COOKIE_DOMAIN = 'pgadmin.somedomain.com'
>> COOKIE_DEFAULT_DOMAIN = 'pgadmin.somedomain.com'
>> ?
>>
>> Does this mean that if for some reason I have a second domain like
>> pgadmin.somedomain2.com that I want to use I cannot?
>>
>> The issue of 127.0.0.1 to localhost is very cumbersome, and somehow we
>> should be able to disable this, because when we are developing doesn't make
>> sense to not being able to use localhost and 127.0.0.1
>>
>
> +1. I didn't realise we'd added this restriction when I tested the patch.
>
> Perhaps a better approach would be to leave the default cookie handling as
> it was, and just expose the domain and path via config options that the
> user can set if appropriate for their installation.
>
> Please find the attached updated patch as discussed.

If one has to set cookie domain and path then below *config variables*
should be changed.

COOKIE_DEFAULT_PATH
COOKIE_DEFAULT_DOMAIN
SESSION_COOKIE_DOMAIN

Thanks,
Khushboo

>
>
>>
>> Thanks
>> Joao
>>
>> On Wed, Mar 21, 2018 at 11:01 AM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> On Wed, Mar 21, 2018 at 8:27 PM, Joao De Almeida Pereira <
>>> jdealmeidapere...@pivotal.io> wrote:
>>>
>>>> So what you are saying is that if I have a server, I need to do
>>>> DEFAULT_SERVER=0.0.0.0 and then set the real domain on the COOKIE domain?
>>>>
>>>> No I am saying, whatever you set as a DEFAULT_SERVER,  the app can be
>>> accessible with that server.
>>> As, we have explicitly set  DOMAIN in the cookie setting.
>>>
>>>> On Wed, Mar 21, 2018 at 10:55 AM Khushboo Vashi <
>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>
>>>>> On Wed, Mar 21, 2018 at 8:10 PM, Joao De Almeida Pereira <
>>>>> jdealmeidapere...@pivotal.io> wrote:
>>>>>
>>>>>> Ok Murtuza you are right,
>>>>>> Now my question is I have the default server to 127.0.0.1 and I want
>>>>>> to access it using localhost as well. How can I do this?
>>>>>>
>>>>>> No, you can't.
>>>>> Domain based cookie will work for that domain and it's sub-domains.
>>>>>
>>>>>> On Wed, Mar 21, 2018 at 10:39 AM Khushboo Vashi <
>>>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 21 Mar 2018 20:01, "Joao De Almeida Pereira" <
>>>>>>> jdealmeidapere...@pivotal.io> wrote:
>>>>>>>
>>>>>>> I tried that but still nothing. When i check in the inspector for
>>>>>>> cookies I have none
>>>>>>>
>>>>>>> Share your config_local file.
>>>>>>>
>>>>>>> On Wed, Mar 21, 2018 at 10:30 AM Murtuza Zabuawala <
>>>>>>> murtuza.zabuaw...@enterprisedb.com> wrote:
>>>>>>>
>>>>>>>> Yes, that's cookie related issue (RM#3197), To fix that I added
>>>>>>>> below in my config_local.py and it started working again,
>>>>>>>>
>>>>>>>> DEFAULT_SERVER = '0.0.0.0'
>>>>>>>> COOKIE_DEFAULT_DOMAIN = SESSION_COOKIE_DOMAIN = DEFAULT_SERVER
>>>>>>>>
>>>>>>>> Clear your browser cookies and server side sessions.
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Regards,
>>>>>>>> Murtuza Zabuawala
>>>>>>>> EnterpriseDB: http://www.enterprisedb.com
>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Mar 21, 2018 at 7:55 PM, Joao De Almeida Pereira <
>>>>>>>> jdealmeidapere...@pivotal.io> wrote:
>>>>>>>>
>>>>>>>>> Where can I find information about that?
>>>>>>>>>
>>>>>>>>> On Wed, Mar 21, 2018 at 10:16 AM Khushboo Vashi <
>>>>>>>>> khushboo.va...@enterprisedb.com> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 21 Mar 2018 19:41, "Joao De Almeida Pereira" <
>>>>>>>>>> jdealmeidapere...@pivotal.io> wrote:
>>>>>>>>>>
>>>>>>>>>> Hello Hackers,
>>>>>>>>>> Can anyone use the current master branch?
>>>>>>>>>> When I try to open a server I get a 428. Is that only me?
>>>>>>>>>>
>>>>>>>>>> May be because of cookie changes.
>>>>>>>>>> Check your config.py and config_local.py if you have done changes
>>>>>>>>>> related to DEFAULT_SERVER in your config_local.py then you need to 
>>>>>>>>>> change
>>>>>>>>>> other 2 cookie related variables also.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Joao
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
diff --git a/web/config.py b/web/config.py
index 926a87b..ed28438 100644
--- a/web/config.py
+++ b/web/config.py
@@ -252,7 +252,6 @@ SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
 
 SESSION_COOKIE_NAME = 'pga4_session'
 
-SESSION_COOKIE_DOMAIN = DEFAULT_SERVER
 ##########################################################################
 # Mail server settings
 ##########################################################################
@@ -361,8 +360,8 @@ SHOW_GRAVATAR_IMAGE = True
 # Set cookie path
 ##########################################################################
 COOKIE_DEFAULT_PATH = '/'
-COOKIE_DEFAULT_DOMAIN = DEFAULT_SERVER
-
+COOKIE_DEFAULT_DOMAIN = None
+SESSION_COOKIE_DOMAIN = None
 ##########################################################################
 # Local config settings
 ##########################################################################
diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py
index 2f27d07..4e57abf 100644
--- a/web/pgadmin/__init__.py
+++ b/web/pgadmin/__init__.py
@@ -541,13 +541,6 @@ def create_app(app_name=None):
         app.logger.info('Registering blueprint module: %s' % module)
         app.register_blueprint(module)
 
-    #########################################################################
-    # Set cookie path
-    #########################################################################
-    @app.before_first_request
-    def before_first_request():
-        from pgadmin.utils.paths import get_cookie_path
-        config.COOKIE_DEFAULT_PATH = get_cookie_path()
 
     ##########################################################################
     # Handle the desktop login
@@ -586,7 +579,8 @@ def create_app(app_name=None):
     def after_request(response):
         if 'key' in request.args:
             domain = dict()
-            if config.COOKIE_DEFAULT_DOMAIN != 'localhost':
+            if config.COOKIE_DEFAULT_DOMAIN and\
+                    config.COOKIE_DEFAULT_DOMAIN != 'localhost':
                 domain['domain'] = config.COOKIE_DEFAULT_DOMAIN
             response.set_cookie('PGADMIN_KEY', value=request.args['key'],
                                 path=config.COOKIE_DEFAULT_PATH,
diff --git a/web/pgadmin/browser/__init__.py b/web/pgadmin/browser/__init__.py
index 34d0c86..724e677 100644
--- a/web/pgadmin/browser/__init__.py
+++ b/web/pgadmin/browser/__init__.py
@@ -799,7 +799,8 @@ def index():
         language = user_languages.get() or 'en'
 
     domain = dict()
-    if config.COOKIE_DEFAULT_DOMAIN != 'localhost':
+    if config.COOKIE_DEFAULT_DOMAIN and\
+            config.COOKIE_DEFAULT_DOMAIN != 'localhost':
         domain['domain'] = config.COOKIE_DEFAULT_DOMAIN
 
     response.set_cookie("PGADMIN_LANGUAGE", value=language,
diff --git a/web/pgadmin/preferences/__init__.py b/web/pgadmin/preferences/__init__.py
index 9c14cc2..6358841 100644
--- a/web/pgadmin/preferences/__init__.py
+++ b/web/pgadmin/preferences/__init__.py
@@ -200,7 +200,8 @@ def save(pid):
         language = user_languages.get() or language
 
     domain = dict()
-    if config.COOKIE_DEFAULT_DOMAIN != 'localhost':
+    if config.COOKIE_DEFAULT_DOMAIN and\
+            config.COOKIE_DEFAULT_DOMAIN != 'localhost':
         domain['domain'] = config.COOKIE_DEFAULT_DOMAIN
 
     setattr(session, 'PGADMIN_LANGUAGE', language)

Reply via email to