[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: [HACKERS] [proposal] protocol extension to support loadable stream filters
From:       Tom Lane <tgl () sss ! pgh ! pa ! us>
Date:       2005-04-27 3:00:05
Message-ID: 17073.1114570805 () sss ! pgh ! pa ! us
[Download RAW message or body]

Brent Verner <brent@rcfile.org> writes:
> | I also wonder what happens when
> | the client and server disagree on the meaning of a filter name.

>   How this is any different than saying "...when the client and
> server disagree on the meaning of a ProtocolVersion.", which is
> how ssl support is currently requested/negotiated?

Nonsense.  The ProtocolVersion stuff is documented, fixed, and the same
for every Postgres installation that understands a given version at all.
What you are proposing is an installation-dependent meaning of protocol
(because the meaning of any particular filter name is not standardized).
I cannot see any way that that is a good idea.

>   What am I overlooking?

Cost/benefit.  You have yet to offer even one reason why destandardizing
the protocol is a win.

I am also pretty concerned about the security risks involved.  AFAICS
what you are proposing is that a user who hasn't even authenticated yet,
let alone proven himself to be a superuser, can ask the server to load
in code of uncertain provenance.  The downsides of this are potentially
enormous, and the upsides are ... well ... you didn't actually offer any.

>   I still don't see what additional problems would be created by
> using this StreamFilter API, so I'm going to march on and perhaps
> the problems/difficulties will become apparent ;-)

The stream-filter part is not a bad idea: that would definitely make it
easier to incorporate new capabilities into the standard protocol.
What I'm complaining about is the dynamic-loading part, and the
installation-dependent behavior.  I see no real advantage to either of
those aspects, and lots of risks.

			regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic