Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jLOzY-0004qV-GL for pgadmin-hackers@arkaria.postgresql.org; Mon, 06 Apr 2020 10:28:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jLOzX-00076m-BL for pgadmin-hackers@arkaria.postgresql.org; Mon, 06 Apr 2020 10:28:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jLOzX-00076f-32 for pgadmin-hackers@lists.postgresql.org; Mon, 06 Apr 2020 10:28:31 +0000 Received: from mail-il1-x12a.google.com ([2607:f8b0:4864:20::12a]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jLOzT-0008NY-PA for pgadmin-hackers@postgresql.org; Mon, 06 Apr 2020 10:28:30 +0000 Received: by mail-il1-x12a.google.com with SMTP id a6so14142529ilr.4 for ; Mon, 06 Apr 2020 03:28:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Q9qol1fxv4TqxYGI0YfiznTSByvo8Fa8V3vVpd93KuE=; b=OKoy2nrAYnxEDAelUWgO3lOEc/2DGsrbac+pwTaxGxpfkC+dkIeOCRdd3rzvGA1MJM 06TyAfx9cdEFUWnk0aViUfzQtGE4lnoaP6GmgclK06drJ+jhRIv6DCfHIMpzVQJNHrP/ roSxWa2XYju9DDmD1ZLcQ0YsPJPLruXPuBSBwsRBz08BeV0nHAsFK0s6NIghESAV98Ip bQ8PvQ/YDwnT3Qn8idkYJoS/wDnemGixtstWCXLScarICCKzKdik3+T61ZpvVrdHQ/Dj u+bHM2MU+cuJfxbAVqxdILdWhbDHdis9JF2Pef9f7+0zufUBAlHHyeSxVq7qn8BmqF4c 17tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Q9qol1fxv4TqxYGI0YfiznTSByvo8Fa8V3vVpd93KuE=; b=tt8Qgslc+CDxFNx3GOmANKFn2fPIMmM/IEH09lYqW8BkgIIPNsJDi+xFQc69hDoNk0 3uZ/gRrAppl7yFmd3h2gbOclSbnMPhtJy40bU5k/WhU+xJ4D65OmnGQMZf1xyCx6DwLJ KADQ2x8TGUDkLgsAHum9E0q/fipXrOPqXRufdcp9qwcRYzQzoMQuvjcG+9PE+I8EvLu3 VrthtcpuG97T7weUCI3tLEsACLPaeFxaUE/0I2opZJrNGGajG7McXj7GjE6Y/KvIn/kS cV8vat9N8W60wAggH+wiCi13mqBy1CsKbMMzubHy+zV6rjJuzAtff85xtN5JIseZB/Ud fcig== X-Gm-Message-State: AGi0PuYvYIYiVSdMR3yV4z2MhMTcuzWzurP+1LZJhdPKHJa7dazdpoCV lAeH9Oq++kGeDt3pwIWUuXkvsuC5uemdfKVBcinVoWI87rJZkYAVjnCZouh3Cr5DA5pd0sIN1f5 tqPhadP9G013hLoLO00cKeR6D4qeP0UK3ZyS1Lzx23/X0C6an/QuD7AX9ZpW/OJBatEnq8unIiI OoHfjn7FMt25EA8oZnpvFm2rzr/v4xMqNlWDfKsRv8aysbXoeTBvM= X-Google-Smtp-Source: APiQypJ5jteCBMLtBAkmAWQtJtzPsXgNkn+z4I5LgdkI0KXiEcAtzx4Zc1UDjRlH4BAdDXg2zCuzIQ6as5NEuFf1trY= X-Received: by 2002:a92:5b17:: with SMTP id p23mr20005423ilb.121.1586168904488; Mon, 06 Apr 2020 03:28:24 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Akshay Joshi Date: Mon, 6 Apr 2020 15:58:13 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch] - RM 2186 - Support external authentication sources [LDAP] To: Khushboo Vashi Cc: Dave Page , pgadmin-hackers Content-Type: multipart/alternative; boundary="0000000000001b333b05a29cba67" X-CLOUD-SEC-AV-Info: edb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000001b333b05a29cba67 Content-Type: text/plain; charset="UTF-8" Thanks, patch applied. On Fri, Apr 3, 2020 at 2:37 PM Khushboo Vashi < khushboo.vashi@enterprisedb.com> wrote: > Hi, > > Please find the attached updated patch. > > On Fri, Apr 3, 2020 at 1:50 PM Akshay Joshi > wrote: > >> Hi Khushboo >> >> Some more review comments: >> >> - Fix one small PEP8 issue. >> >> Fixed. > >> >> - If ipAddress or Port is not set in the configuration file then >> browser showing the following data, it should be shown proper error message >> on the login page >> - {"success":0,"errormsg":"Port could not be cast to integer value >> as ''","info":"","result":null,"data":null} >> >> Fixed. > >> >> - Disable the Username field in the User Management dialog if the >> authentication source is set to internal. >> >> Done. > >> >> - API Test cases are failing if LDAP related settings are not >> provided in the test_config.json file. If the configuration is not provided >> then LDAP tests should be skipped. >> >> Fixed. > >> @Dave, I have tested and done the code review. Can you please do it once >> as well, whenever Khushboo will fix and send the updated patch? >> >> Thanks, > Khushboo > >> >> On Thu, Apr 2, 2020 at 7:00 PM Khushboo Vashi < >> khushboo.vashi@enterprisedb.com> wrote: >> >>> Hi Akshay, >>> >>> Please find the attached updated patch. >>> >>> On Thu, Apr 2, 2020 at 4:55 PM Akshay Joshi < >>> akshay.joshi@enterprisedb.com> wrote: >>> >>>> Hi Khushboo >>>> >>>> Following are the initial review comments (GUI): >>>> >>>> *Desktop Mode: * >>>> >>>> - KeyError: '_auth_source_manager_obj' in desktop mode. (*Note* >>>> error occurs when the patch has applied and server mode is False.) >>>> >>>> Fixed. >>> >>>> *Server Mode:* >>>> >>>> AUTHENTICATION_SOURCES = ['internal'] >>>> >>>> >>>> - Try to add a new user with the same email address, it throws a >>>> unique key constraint error. Validation was there previously before saving >>>> it. >>>> >>>> Fixed. >>> >>>> AUTHENTICATION_SOURCES = ['internal', 'ldap'] >>>> >>>> - Try to add a new user with the same email address, it throws >>>> unique key constraint error which should not it may possible that the user >>>> has the same email address for internal and ldap. >>>> >>>> If the source is internal, it will not allow but with ldap, we can add >>> the user with the same email id. >>> >>>> AUTHENTICATION_SOURCES = ['ldap'] >>>> >>>> - If ipAddress or Port is not set in the configuration file then >>>> browser showing the following data, it should be shown proper error message >>>> on the login page >>>> - {"success":0,"errormsg":"Port could not be cast to integer >>>> value as ''","info":"","result":null,"data":null} >>>> >>>> Done >>> >>>> >>>> - If IP address and port is provided but it is wrong, it shows the >>>> following error, can we make a generic error message? Also clicking on the >>>> Close button on that error message is not working. >>>> [image: Screenshot 2020-04-02 at 4.23.55 PM.png] >>>> >>>> I will look into the close button issue as it is an existing issue. >>> >>>> >>>> - >>>> - IP address and port of LDAP server are correct, give wrong user >>>> name and password, it shows error "Error binding to the LDAP Server: None". >>>> Please correct the appropriate error message. >>>> >>>> Fixed. >>> >>>> >>>> - All the configuration parameter is correct and tries to log in on >>>> LDAP server using username (*not email address*) and password got following >>>> error: >>>> >>>> current_user.email.split('@')[0] if config.SERVER_MODE is True >>>> AttributeError: 'NoneType' object has no attribute 'split'. >>>> >>>> Fixed. >>> >>>> Not able to test due to the above error. Please fix and resend the >>>> patch. >>>> >>> >>> Thanks, >>> Khushboo >>> >>> Thanks, >>> Khushboo >>> >>>> >>>> On Thu, Apr 2, 2020 at 2:06 PM Khushboo Vashi < >>>> khushboo.vashi@enterprisedb.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> Resending the patch. >>>>> Missed the requirements.txt file in the previous patch. >>>>> >>>>> Thanks, >>>>> Khushboo >>>>> >>>>> On Wed, Apr 1, 2020 at 5:38 PM Khushboo Vashi < >>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Please find the attached updated patch which includes the review >>>>>> comments given in the review meeting: >>>>>> >>>>>> 1. Do not store password for ldap user in sqlite database >>>>>> 2. Forgot Password : Give error to ldap users >>>>>> 3. User Management dialog changes >>>>>> 4. Authentication source display besides username / email after login >>>>>> >>>>>> Thanks, >>>>>> Khushboo >>>>>> >>>>>> >>>>>> On Tue, Mar 24, 2020 at 3:20 PM Khushboo Vashi < >>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>> >>>>>>> Please disregard my previous patch, attached the updated patch. :) >>>>>>> >>>>>>> >>>>>>> On Tue, Mar 24, 2020 at 10:32 AM Khushboo Vashi < >>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Please disregard my previous patch, attached the updated patch. >>>>>>>> >>>>>>>> On Tue, Mar 24, 2020 at 10:29 AM Khushboo Vashi < >>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Please find the attached updated patch. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Mar 17, 2020 at 4:11 PM Dave Page >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi >>>>>>>>>> >>>>>>>>>> On Tue, Mar 17, 2020 at 10:24 AM Khushboo Vashi < >>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Dave, >>>>>>>>>>> >>>>>>>>>>> Thanks for the review. >>>>>>>>>>> >>>>>>>>>>> On Tue, Mar 17, 2020 at 3:42 PM Dave Page >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi >>>>>>>>>>>> >>>>>>>>>>>> 30 second read of the first version of the patch... >>>>>>>>>>>> >>>>>>>>>>>> - Please move the configuration into config.py. Users should >>>>>>>>>>>> never have to modify a distributed file (it messes up packaging). I don't >>>>>>>>>>>> see any reason to use a different file just for auth config. >>>>>>>>>>>> >>>>>>>>>>>> There are many settings for the LDAP, and in the future we will >>>>>>>>>>> add other external sources also, so I thought it would be better if we have >>>>>>>>>>> different file for the authentication. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Sure, but our config file is small compared to many. Splitting >>>>>>>>>> things out is more confusing for users. If they want to do that themselves >>>>>>>>>> of course, they can add a config_local.py file which includes other files >>>>>>>>>> as needed. >>>>>>>>>> >>>>>>>>> Fixed. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> - I think all config options should be prefixed with LDAP_ as we >>>>>>>>>>>> may have things like CERT_FILE for other purposes too. >>>>>>>>>>>> >>>>>>>>>>>> Sure. >>>>>>>>>>> >>>>>>>>>> Done. >>>>>>>>> >>>>>>>>>> - I don't see any test cases. >>>>>>>>>>>> >>>>>>>>>>>> I will think about this, as right now no idea how to write test >>>>>>>>>>> cases for this. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> It should be fairly straightforward to write tests for some of >>>>>>>>>> the functions in the auth classes. For testing the actual LDAP stuff, we >>>>>>>>>> probably need to add LDAP config options to test_config.json, and only if >>>>>>>>>> present, run the tests. That would probably need to support a list of LDAP >>>>>>>>>> servers, so we can test with different configurations (LDAP, LDAPS, >>>>>>>>>> LDAP_STARTTLS, AD etc). >>>>>>>>>> >>>>>>>>>> >>>>>>>>> Done. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Khushboo >>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>> Khushboo >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Mar 17, 2020 at 8:55 AM Khushboo Vashi < >>>>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> Please find the attached patch to support LDAP Authentication >>>>>>>>>>>>> in Server mode. >>>>>>>>>>>>> To test the patch, config_auth.py needs to be configured for >>>>>>>>>>>>> LDAP configurations. The config settings are explained in this file in >>>>>>>>>>>>> detail. After configuring the parameters, start the pgadmin server in >>>>>>>>>>>>> Server mode and connect with LDAP server with the valid user via login page. >>>>>>>>>>>>> >>>>>>>>>>>>> I have tested this patch with ldap and ldap + ssl/tls. With >>>>>>>>>>>>> the TLS, I have used the default config of ldap3 without certificates. >>>>>>>>>>>>> >>>>>>>>>>>>> @Dave, can you please review this patch, as you have a better >>>>>>>>>>>>> understanding of LDAP and you can easily pointed out if I have missed >>>>>>>>>>>>> anything. >>>>>>>>>>>>> >>>>>>>>>>>>> Note: For the document update I will create the task and >>>>>>>>>>>>> assign to Nidhi for the same. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Khushboo >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Dave Page >>>>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>>>> Twitter: @pgsnake >>>>>>>>>>>> >>>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Dave Page >>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>> Twitter: @pgsnake >>>>>>>>>> >>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>> >>>>>>>>> >>>> >>>> -- >>>> *Thanks & Regards* >>>> *Akshay Joshi* >>>> >>>> *Sr. Software Architect* >>>> *EnterpriseDB Software India Private Limited* >>>> *Mobile: +91 976-788-8246* >>>> >>> >> >> -- >> *Thanks & Regards* >> *Akshay Joshi* >> >> *Sr. Software Architect* >> *EnterpriseDB Software India Private Limited* >> *Mobile: +91 976-788-8246* >> > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* --0000000000001b333b05a29cba67 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, patch applied.

On Fri, Apr 3, 2020 at 2:37 PM Khush= boo Vashi <khushboo.v= ashi@enterprisedb.com> wrote:
Hi,

Please find the attached updated patch.

On Fri, Apr 3, 2020 at 1:50= PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0Khushboo

Some more review com= ments:
  • Fix one small PEP8 issue.
Fixed.=C2=A0
  • If ipAddress or Port is not set in th= e configuration file then browser showing the following data, it should be = shown proper error message on the login page
    • {"succe= ss":0,"errormsg":"Port could not be cast to integer val= ue as '<port>'","info":"","resu= lt":null,"data":null}
Fixed.=C2=A0
  • Disable the Username field in the User = Management dialog if the authentication source is set to internal.
Done.=C2=A0
  • API Test cases are fai= ling if LDAP related settings are not provided=C2=A0in the test_config.json= =C2=A0file. If the configuration is not provided then LDAP tests should be = skipped.=C2=A0
Fixed.=C2=A0
@Dave,= I have tested and done the code review. Can you please do it once as well,= whenever Khushboo will fix and send the updated patch?

<= /div>
Thanks,
Khushboo=C2=A0

On Th= u, Apr 2, 2020 at 7:00 PM Khushboo Vashi <khushboo.vashi@enterprisedb.com&= gt; wrote:
Hi Akshay,

Please find the attached updated patch.

On Thu, Apr 2, 2020 at 4:55 PM Aks= hay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0Khushboo
Following are the initial review comments (GUI):

Desktop Mode:=C2=A0
  • KeyError: '_au= th_source_manager_obj' in desktop mode. (Note error occurs when = the patch has applied and server mode is False.)
Fixed.=C2=A0
Server Mode:
AUTHENTICATION_SO= URCES =3D ['internal']
  • Tr= y to add a new user with the same=C2=A0email address, it throws a unique=C2= =A0key constraint=C2=A0error. Validation was there previously before saving= it.
Fixed.= =C2=A0
AUTHENTICATION_SOURCES =3D ['internal', 'ldap'= ;]
  • Try to add a new user with the same=C2=A0email address, it th= rows unique=C2=A0key constraint=C2=A0error which should not it may possible= that=C2=A0the user has the same email address for internal and ldap.
  • <= /ul>
If the source is= internal, it will not allow but with ldap, we can add the user with the sa= me email id.=C2=A0
<= div dir=3D"ltr">
AUTHENTICATION_SOURCES =3D ['ldap']
  • If ipAddress or Port is not set in the configuration file then browse= r showing the following data, it should be shown proper error message on th= e login page
    • {"success":0,"errormsg":"Port could not be cas= t to integer value as '<port>'","info":"&= quot;,"result":null,"data":null}
    <= /div>
    Done=C2=A0
  • If IP add= ress and port is provided but it is wrong, it shows the following error, ca= n we make a generic error message? Also clicking on the Close button on tha= t error message is not working.
    3D"Screenshot
  • I will look into the close button issue as it is an existing issue.<= /div>
    • IP address and port of LDAP server = are correct, give wrong user name and password, it shows error "Error = binding to the LDAP Server: None". Please correct the appropriate erro= r message.
    Fixed.=C2=A0
    <= div dir=3D"ltr">
    • All the configuration parameter is c= orrect and tries to log in on LDAP server using username (*not email addres= s*) and password got following error:
    current_user.email.split('@')[0] if config.SERVER_MODE is TrueAttributeError: 'NoneType' object has no attribute 'split'= ;.
    Fixed= .=C2=A0
    Not able to test due to the above error. Please fix and resend th= e patch.

    Thanks,
    Khus= hboo

    Thanks,
    Khushboo

    On Thu, Apr 2, 2020 at 2:06 PM Khushboo Vash= i <= khushboo.vashi@enterprisedb.com> wrote:
    Hi,

    Re= sending the patch.=C2=A0
    Missed the requirements.txt file in the = previous patch.

    Thanks,
    Khushboo



    Ple= ase disregard my previous patch, attached the updated patch. :)


    On Tue, Mar 24, 2020 at 10:32 AM Khushboo Vashi <khushboo.vashi@enterprise= db.com> wrote:
    Please disregard my previous patch, attached the upd= ated patch.

    On Tue, Mar 24, 2020 at 10:29 AM Khushboo Vashi <khushboo.vashi@ent= erprisedb.com> wrote:
    Hi,

    Pleas= e find the attached updated patch.


    On Tue, Mar 17, 2020= at 4:11 PM Dave Page <dpage@pgadmin.org> wrote:
    Hi

    On Tue, Mar 17, 2020 at 10:2= 4 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
    <= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
    Hi D= ave,

    Thanks for the review.

    On Tue, Mar 17, 2020 at= 3:42 PM Dave Page <dpage@pgadmin.org> wrote:
    Hi

    30 second read o= f the first version of the patch...

    - Please move = the configuration into config.py. Users should never have to modify a distr= ibuted file (it messes up packaging). I don't see any reason to use a d= ifferent file just for auth config.

    =
    There are many settings for the LDAP, and in the future we will add ot= her external sources also, so I thought it would be better if we have diffe= rent file for the authentication.

    Sure, but our config file is small compared to many. Splitting thi= ngs out is more confusing for users. If they want to do that themselves of = course, they can add a config_local.py file which includes other files as n= eeded.
    Fixed.=C2=A0
    =C2=A0
    - I think al= l config options should be prefixed with LDAP_ as we may have things like C= ERT_FILE for other purposes too.

    Sure.=C2=A0
    D= one.=C2=A0
    - I don'= t see any test cases.

    I will th= ink about this, as right now no idea how to write test cases for this.=C2= =A0

    It should be fairly s= traightforward to write tests for some of the functions in the auth classes= . For testing the actual LDAP stuff, we probably need to add LDAP config op= tions to test_config.json, and only if present, run the tests. That would p= robably need to support a list of LDAP servers, so we can test with differe= nt configurations (LDAP, LDAPS, LDAP_STARTTLS, AD etc).
    =C2=A0
    Done.

    Thanks,
    Khushboo
    Thanks.<= /div>

    Thanks,
    Khushboo=C2= =A0

    On Tue, Mar 17, 2020 at 8:55 AM Khushboo Vashi <khushboo.vashi@ent= erprisedb.com> wrote:
    Hi,

    Please find the attach= ed patch to support LDAP Authentication in Server mode.
    To test t= he patch, config_auth.py needs to be configured for LDAP configurations. Th= e config settings are explained in this file in detail. After configuring t= he parameters, start the pgadmin server in Server mode and connect with LDA= P server with the valid user via login page.

    I hav= e tested this patch with ldap and ldap=C2=A0+ ssl/tls. With the TLS, I have= used the default config of ldap3 without certificates.

    @Dave, can you please review this patch, as you have a better underst= anding of LDAP and you can easily pointed out if I have missed anything.

    Note: For the document update I will create the task= and assign to Nidhi for the same.

    Than= ks,
    Khushboo


    --
    Dave Page
    Blog: http://pgsnake.blogspot.com
    Twitter: @pgsnake

    EnterpriseDB= UK: http://www.e= nterprisedb.com
    The Enterprise PostgreSQL Company


    --
    Dave Page
    Blog: http://pgsnake.blogspot.com
    Twitter: @pgsnake

    EnterpriseDB= UK: http://www.e= nterprisedb.com
    The Enterprise PostgreSQL Company


    --
    Thanks & Regards
    Akshay Joshi
    <= font color=3D"#3333FF">Sr. Software Architect=
    <= font color=3D"#000000" face=3D"arial, sans-serif">EnterpriseDB Software = India Private Limited
    Mobile: +91 976-788-8246=


    --
    Thanks & Regards
    Akshay Joshi
    <= font color=3D"#3333FF">Sr. Software Architect=
    <= font color=3D"#000000" face=3D"arial, sans-serif">EnterpriseDB Software = India Private Limited
    Mobile: +91 976-788-8246=


    --
    Thanks & Regards
    =
    Akshay Joshi
    Sr. Software Architect
    EnterpriseDB Software India Private Limited
    =
    Mobile: += 91 976-788-8246
    --0000000000001b333b05a29cba67--