Hi Tatsuo, Any feedback on the correctness of the patch?
Thanks, On Mon, Sep 26, 2011 at 10:18 PM, Gurjeet Singh <singh.gurj...@gmail.com>wrote: > Hi Tatsuo, > > Please find an updated patch. I am now using strcmp() to check if we > need to reopne the file, just like the code in main.c, instead of comparing > the value with NULL. > > Regards, > > > On Mon, Sep 26, 2011 at 9:57 PM, Tatsuo Ishii <is...@sraoss.co.jp> wrote: > >> Thanks for report and patches. I will take care of this. >> -- >> Tatsuo Ishii >> SRA OSS, Inc. Japan >> English: http://www.sraoss.co.jp/index_en.php >> Japanese: http://www.sraoss.co.jp >> >> > Hi, >> > >> > Maybe this is expected behaviour, but it definitely is not >> desirable. If >> > we add a new user:passwrod to the contents of pool_passwd file and send >> a >> > reload signal to pgpool, the child processes are still not able to honor >> the >> > new user and the trying to login using the new user causes error "MD5 >> > authentication failed..." >> > >> > I have diagnosed it back to the fact that pgpool uses stdio.h >> interface >> > (FILE *) to access the pool_passwd file, and it reads the contents of >> the >> > file for every new login that requests MD5 authentication. The problem >> with >> > the stdio.h interface is that it caches the contents of the file and it >> does >> > not refresh the cache even when the contents of the file change on-disk, >> so >> > every time pgpool tries to read new user's password it does not see the >> new >> > entry and hence fails. >> > >> > To be able to connect as the new user we have to either restart >> pgpool >> > or wait for a new child to be forked which will see the new contents of >> the >> > file. All of these problems also apply to the case where we might alter >> the >> > password of an existing user and update the md5 password in pool_passwd >> > file. >> > >> > I have attached a minimal patch to address this issue. In the patch, >> we >> > save the file path that was initially used to open the pool_passwd and >> upon >> > every reload the child closes and reopens the file so that the stdio.h >> > interface does not show it cached data. >> > >> > Regards, >> > -- >> > Gurjeet Singh >> > EnterpriseDB Corporation >> > The Enterprise PostgreSQL Company >> > > > > -- > Gurjeet Singh > EnterpriseDB Corporation > The Enterprise PostgreSQL Company > > -- Gurjeet Singh EnterpriseDB Corporation The Enterprise PostgreSQL Company
_______________________________________________ Pgpool-hackers mailing list Pgpool-hackers@pgfoundry.org http://pgfoundry.org/mailman/listinfo/pgpool-hackers