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)