Thanks, patch applied.

On Mon, May 3, 2021 at 2:50 PM Khushboo Vashi <
khushboo.va...@enterprisedb.com> wrote:

> Hi Akshay,
>
> Please find the attached updated patch.
>
> Thanks,
> Khushboo
>
> On Mon, Apr 26, 2021 at 12:42 PM Akshay Joshi <
> akshay.jo...@enterprisedb.com> wrote:
>
>> Hi Khushboo
>>
>> I have applied your patch and started testing it in different scenarios. 
>> Following
>> are the GUI review comments:
>>
>>    - Update the comments about Kerberos support for AUTHENTICATION_SOURCES
>>    in config.py.
>>
>> Done.
>
>>
>>    - You will have to create a migration file again. Getting "Error:
>>    Multiple head revisions are present for given argument"
>>
>> Done.
>
>>
>>    - Increase the height of the server dialog as after adding "Kerberos
>>    Authentication?" switch Connection tab showing scroll bars.
>>
>> This is the default behaviour of all the dialogues, for example: Table
> Advanced tab
>
>>
>>    - Desktop/Server mode Getting No such file or directory:
>>    '/var/lib/pgadmin/krbccache'. KERBEROS_CCACHE_DIR should only be
>>    created in Server Mode and AUTHENTICATION_SOURCES is 'kerberos'.
>>
>> Done
>
>>
>>    - Server Dialog "Kerberos Authentication?" switch control should be
>>    enabled only in Server Mode and AUTHENTICATION_SOURCES is 'kerberos'.
>>
>> Done
>
>>
>>    - "Kerberos Authentication?" switch should be disabled when the
>>    server is connected.
>>
>> Even if the user changes the setting when the server is connected, the
> effect will take place only on reconnection, so I think we can leave it as
> it is.
>
>>
>>    - In Desktop mode AUTHENTICATION_SOURCES must be '*internal*' doesn't
>>    matter what mode is provided in *config.py *or* config_local.py*. In
>>    fact, we should create a flag '*authentication_mode*' which will be
>>    set after the valid authentication source has been detected/connected. 
>> *For
>>    example,* the user has provided  AUTHENTICATION_SOURCES =
>>    ['kerberos', 'internal'], it is unable to connect using kerberos and then
>>    the user has provided a valid email and password so we will set '
>>    *authentication_mode*' to 'internal' and the rest of the logic will
>>    be based on that flag.
>>
>> This was already taken care of.
>
>>
>>    -
>>
>>
>>    - Connect to any database server and check backend logs following
>>    error is visible:
>>       - KeyError: 'KRB5CCNAME'  *Solution*: It should not call
>>       "kerberos_validate_ticket()" function until AUTHENTICATION_SOURCES is
>>       'kerberos' and Server Mode is true.
>>
>> Fixed.
>
>
>> *AUTHENTICATION_SOURCES = ['kerberos']:*
>>
>>    - Kerberos is not set up: Open pgAdmin page, enter email and password
>>    two message box popped up one with valid Kerberos error and the second one
>>    with "None" as a string.
>>
>> Fixed
>
>>
>>    - Similarly, if AUTHENTICATION_SOURCES = ['kerberos', 'internal'] and
>>    it is failed to connect using kerberos, then provide an email, and the
>>    wrong password two message boxes popped up one with Kerberos error and
>>    another with Password error.
>>
>> Somehow, I couldn't find the fix for this issue, for now we can ignore
> this as this will not affect the login process.
>
>>
>>    - In the User Management dialog 'kerberos' should not be visible in
>>    the authentication source dropdown. As there is no point creating kerberos
>>    user from there.
>>
>> We have provided an option to add manual users for Kerberos also the same
> as LDAP.
>
>>
>>    - Add local server(without kerberos) to the browser tree, set
>>    "Kerberos Authentication?" to True, try to connect by providing the
>>    password it always returns "fe_sendauth: no password supplied" error. If
>>    possible can we identify and change the error message?
>>
>> Fixed
>
>>
>>    - Add database server where kerberos authentication is ON, make
>>    changes in pg_hba.conf with the wrong user name, then try to connect to 
>> the
>>    database server. The server tries to connect and the spinner is visible 
>> and
>>    never stops. It should raise a proper error message. There are some other
>>    scenarios where entries in pg_hba.conf is wrong.
>>
>> Fixed
>
>>
>>    - *Suggestion 1*: As per current implementation even if  "Kerberos
>>    Authentication?" is set to false the user can connect to the database
>>    server by providing any password or blank password. It is difficult for 
>> the
>>    user to identify it is connected using GSSAPI. I would suggest providing
>>    the control in the properties dialog which tells the database server is
>>    connected using GSSAPI.
>>
>> I have removed the old implementation in which the user was able to
> connect the PostgresQL even if a user has not selected "Kerberos
> Authentication" but we have a valid kerberos ticket and pg_hba is
> configured to support it. So, now users can get the idea about the
> connection through The "Kerberos authentication" flag displayed on the
> properties tab.
>
>>
>>    - *Suggestion 2*: If it is possible to detect that the database
>>    server is connected using Kerberos then we should disable the 'Username'
>>    control as for Kerberos both the users (pgadmin user and database user )
>>    must be the same.
>>
>>
>> *Note:- *pgAdmin on OSX not working with Kerberos authentication. Failed
>> with error "Your GSSAPI implementation does not have support for
>> manipulating credential stores directly" Need to document this behavior.
>>
>
> Thanks,
> khushboo
>
>>
>> *Code review still remains, which I'll be started after the above fixes.*
>>
>> On Wed, Apr 14, 2021 at 2:06 PM Khushboo Vashi <
>> khushboo.va...@enterprisedb.com> wrote:
>>
>>> Hi,
>>>
>>> Please find the attached patch with some minor improvements.
>>>
>>> Thanks,
>>> Khushboo
>>>
>>> On Wed, Apr 7, 2021 at 11:50 PM Khushboo Vashi <
>>> khushboo.va...@enterprisedb.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please find the attached patch for RM 6158: Support Kerberos
>>>> Authentication - Phase 2.
>>>> This patch includes the support for logging into PostgreSQL servers
>>>> with Kerberos authentication.
>>>>
>>>> Thanks,
>>>> Khushboo
>>>>
>>>>
>>
>> --
>> *Thanks & Regards*
>> *Akshay Joshi*
>> *pgAdmin Hacker | Principal Software Architect*
>> *EDB Postgres <http://edbpostgres.com>*
>>
>> *Mobile: +91 976-788-8246*
>>
>

-- 
*Thanks & Regards*
*Akshay Joshi*
*pgAdmin Hacker | Principal Software Architect*
*EDB Postgres <http://edbpostgres.com>*

*Mobile: +91 976-788-8246*

Reply via email to