public inbox for [email protected]  
help / color / mirror / Atom feed
From: Khushboo Vashi <[email protected]>
To: Dave Page <[email protected]>
Cc: Joao De Almeida Pereira <[email protected]>
Cc: Murtuza Zabuawala <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: Experiencing issues
Date: Fri, 23 Mar 2018 11:47:23 +0530
Message-ID: <CAFOhELdtE9dJz9Raw3nXJ3qgo+ZjVRUmdNta7Bk5Pf3=O137eQ@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxozhkY_s1YC0BmrYrwfV59QCF8pCXyNiErDmf7ebj+tJWw@mail.gmail.com>
References: <CAE+jja=24CGbB8kBXnKNNRT4n=t=f1hNYAi+iMNgZPhvtaJ_kQ@mail.gmail.com>
	<CAFOhELdND4ZwmPk2D+MDYERWsiFqUHjLBwLUJ0ZasgYqva+ZSg@mail.gmail.com>
	<CAE+jjamAJh82ZPN59R+-4bFROQccARKwG8YPS3Xtt9M8qm_mww@mail.gmail.com>
	<CAKKotZT2M1q=0mfYrw13DSD8Og3ZYsfzt3sc8Y2sRiy7565uVA@mail.gmail.com>
	<CAE+jjamnndMfhN-tnQmczY6NrNRVRdyeVVQ3RcE8SiKcg_HhSA@mail.gmail.com>
	<CAFOhELdroDKmtNFS4T=ha=d35knfw8dmr2G6Cx0+5gmDqC+eKw@mail.gmail.com>
	<CAE+jjanHFe7Di5HASmQUQRWzCg+qQMpZEK7K9GmD7mQVC1bPMA@mail.gmail.com>
	<CAFOhELconM+iXeEAxeYNt5XU3UoE640tLK8V5839q4i4rtGoYA@mail.gmail.com>
	<CAE+jja=LBv-u5oXt=8JucnUC7NdYq06FqP6K6-w199ozg0emOQ@mail.gmail.com>
	<CAFOhELcfBBU30Qnzj6O-XtwwMBT-fN1AewX+MFsfa6_VL0rmmA@mail.gmail.com>
	<CAE+jjak5GMg3cOvX5PLVO56r1HhdwwoF6frRq4GzNeF_9zX32A@mail.gmail.com>
	<CA+OCxozhkY_s1YC0BmrYrwfV59QCF8pCXyNiErDmf7ebj+tJWw@mail.gmail.com>

Hi,

On Wed, Mar 21, 2018 at 9:31 PM, Dave Page <[email protected]> wrote:

>
>
> On Wed, Mar 21, 2018 at 3:57 PM, Joao De Almeida Pereira <
> [email protected]> 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 <
>> [email protected]> wrote:
>>
>>> On Wed, Mar 21, 2018 at 8:27 PM, Joao De Almeida Pereira <
>>> [email protected]> 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 <
>>>> [email protected]> wrote:
>>>>
>>>>> On Wed, Mar 21, 2018 at 8:10 PM, Joao De Almeida Pereira <
>>>>> [email protected]> 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 <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 21 Mar 2018 20:01, "Joao De Almeida Pereira" <
>>>>>>> [email protected]> 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 <
>>>>>>> [email protected]> 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 <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Where can I find information about that?
>>>>>>>>>
>>>>>>>>> On Wed, Mar 21, 2018 at 10:16 AM Khushboo Vashi <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 21 Mar 2018 19:41, "Joao De Almeida Pereira" <
>>>>>>>>>> [email protected]> 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
>


Attachments:

  [text/x-patch] RM_3197_cookie_domain_changes.patch (3.3K, 3-RM_3197_cookie_domain_changes.patch)
  download | inline diff:
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)


view thread (22+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Experiencing issues
  In-Reply-To: <CAFOhELdtE9dJz9Raw3nXJ3qgo+ZjVRUmdNta7Bk5Pf3=O137eQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox