Subject Over-the-wire compression
Author Jonathan Neve

What do you think of adding over the wire compression and encryption
functionnalities to FireBird? I know this has already been discussed,
and that the conclusion was that it's not FireBird's job to perform
compression nor encryption, and that it would therefore be better to use
an external tool.

However, the problem is that since FireBird has not been made with this
in mind, the only way to provide over the wire encryption and
compression is to use a general-purpose tool (like Zebedee), that
redirects at a low level all accesses to a certain local port to the
correct destination, after having encrypted and/or compressed it. Now,
this is all very well, but it's a lot of setup, because that means that
I have to hard-configure Zebedee with one port for each remote host I
want to be able to connect to. I can't simply set the host-name on the
connection string, rather I have to connect to localhost at a predefined
port, which Zebedee will then translate to the corresponding host...
This is not very versatile, and it's a bit of a pain to configure...

What would be wrong with providing this in the engine itself? Wouldn't
it make things considerably simpler (for the end-user)?
Or if this is not desirable, perhaps we could make some kind of hook
that would allow external code to be performed every time anything has
to go over the wire. This seems like an interesting idea in its own
right (IMO), since it's a general-purpose solution, that would allow for
loading extra modules dynamically, so that those who don't want a
certain module don't have to install it... However, for the case at
hand, I can't help but think that the former solution is preferable.

Any thoughts?

Jonathan Neve.