Skip site navigation (1) Skip section navigation (2)

Re: Ticket 298: bug on pg_hba.conf editor

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Ticket 298: bug on pg_hba.conf editor
Date: 2011-07-18 19:33:10
Message-ID: 1311017591.2008.24.camel@laptop (view raw or flat)
Thread:
Lists: pgadmin-hackers
On Mon, 2011-07-18 at 14:40 +0200, Guillaume Lelarge wrote:
> On Mon, 2011-07-18 at 09:41 +0100, Dave Page wrote:
> > On Sun, Jul 17, 2011 at 4:13 PM, Guillaume Lelarge
> > <guillaume(at)lelarge(dot)info> wrote:
> > > On Sun, 2011-07-17 at 11:30 +0200, Guillaume Lelarge wrote:
> > >> On Sun, 2011-07-17 at 10:12 +0100, Dave Page wrote:
> > >> > On Saturday, July 16, 2011, Guillaume Lelarge <guillaume(at)lelarge(dot)info> wrote:
> > >> > > On Sat, 2011-07-16 at 21:11 +0100, Dave Page wrote:
> > >> > >> On Sat, Jul 16, 2011 at 1:12 PM, Guillaume Lelarge
> > >> > >> <guillaume(at)lelarge(dot)info> wrote:
> > >> > >> > Hi,
> > >> > >> >
> > >> > >> > I worked a bit this morning on this bug. The editor was made in a way
> > >> > >> > that invalid configuration lines are not displayed which is wrong
> > >> > >> > because you can't fix a line if you stored it wrong once.
> > >> > >> >
> > >> > >> > So I did the change to allow the change of an invalid configuration
> > >> > >> > line, and that works well.
> > >> > >> >
> > >> > >> > But I now have many other lines that aren't supposed to appear:
> > >> > >> >
> > >> > >> > # local      DATABASE  USER  METHOD  [OPTIONS]
> > >> > >> > # host       DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
> > >> > >> > # hostssl    DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
> > >> > >> > # hostnossl  DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
> > >> > >> > # host name, or it is
> > >> > >> >
> > >> > >> > All are considered comments, and all have a valid first column, so all
> > >> > >> > are displayed. Which is a bit disturbing because they are part of the
> > >> > >> > comments in pg_hba.conf, they are not supposed to be "actual" lines.
> > >> > >> >
> > >> > >> > So, they match our process of identifiying lines, and so they are
> > >> > >> > displayed. Do you have any idea how we could not display these? I mean,
> > >> > >> > I can simply add a check on the line string to see if they are equal to
> > >> > >> > the one of the five strings above, but it seems quite a ugly hack.
> > >> > >>
> > >> > >> Why don't we just ignore anything that starts with a # ?
> > >> > >>
> > >> > >
> > >> > > Because we need to guess which comment is an actual comment and which
> > >> > > comment is a disabled configuration. That allows us to hide actual
> > >> > > comments, and show disabled configuration. Problem is that our guess is
> > >> > > wrong sometimes.
> > >> >
> > >> > Sounds like you're trying to be too clever.
> > >>
> > >> I'm not. That's what the code already does since quite a long time.
> > >> Problem is it doesn't show lines that are enabled and invalid. And if I
> > >> try to show invalid lines, it shows even ones I don't want.
> > >>
> > >> Hmmm, thinking now that I could show invalid but enabled lines, and not
> > >> invalid and disabled lines.
> > >>
> > >
> > > I've commited this one. Seems to work fine.
> > 
> > Seems pretty broken on Windows unfortunately:
> > 
> > 1>Generating svnversion.h for revision REL-1_14_0-BETA3-12-gc047d65.
> > 1>Compiling...
> > 1>dlgColumn.cpp
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\dlg\dlgcolumn.cpp(595)
> > : error C2509: 'GetTypeOid' : member function not declared in
> > 'dlgColumn'
> > 1>        c:\users\dpage\documents\pgadmin3\pgadmin\include\dlg\dlgcolumn.h(21)
> > : see declaration of 'dlgColumn'
> > 1>dlgHbaConfig.cpp
> > 1>dlgProperty.cpp
> > 1>dlgTable.cpp
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\dlg\dlgtable.cpp(1894)
> > : error C2660: 'dlgTypeProperty::GetTypeOid' : function does not take
> > 0 arguments
> > 1>frmHbaConfig.cpp
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\frm\frmhbaconfig.cpp(175)
> > : error C2039: 'isValid' : is not a member of 'pgHbaConfigLine'
> > 1>        c:\users\dpage\documents\pgadmin3\pgadmin\include\utils\pgconfig.h(59)
> > : see declaration of 'pgHbaConfigLine'
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\frm\frmhbaconfig.cpp(175)
> > : error C2039: 'isValid' : is not a member of 'pgHbaConfigLine'
> > 1>        c:\users\dpage\documents\pgadmin3\pgadmin\include\utils\pgconfig.h(59)
> > : see declaration of 'pgHbaConfigLine'
> > 1>pgColumn.cpp
> > 1>pgconfig.cpp
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\utils\pgconfig.cpp(390)
> > : error C2065: 'isValid' : undeclared identifier
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\utils\pgconfig.cpp(399)
> > : error C2065: 'isValid' : undeclared identifier
> > 1>c:\users\dpage\documents\pgadmin3-1.14\pgadmin\utils\pgconfig.cpp(510)
> > : error C2065: 'isValid' : undeclared identifier
> > 
> > Please fix!
> > 
> 
> Will do this evening.
> 

Compiled it with Visual Studio Express 2008, with no error whatsoever.
Debug and Release. 1.14 and master. Have you done any changes?


-- 
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


In response to

Responses

pgadmin-hackers by date

Next:From: Thom BrownDate: 2011-07-18 20:06:25
Subject: Re: Prevent duplicate attributes
Previous:From: Dave PageDate: 2011-07-18 14:18:01
Subject: Handling connection loss

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group