On 07/25/2015 12:12 PM, Mark Rotteveel wrote:
> I am getting to a point where I want to implement the protocol 13 and
> new authentication and encryption of Firebird 3 in Jaybird. I'd like to
> know what was changed for protocol 13, and details on how authentication
> and encryption work, and how I can implement it.
>
> I'd prefer a formal description without having to dig and interpret the
> sources, but I assume that is a pipe dream. So if nor formal
> documentation is available, then pointers to specific source
> code/methods would be appreciated.
>

Mark, I'll be happy to provide you any possible help after return from 
vacations (10-Aug).

In brief handshake in p.13 looks as follows - client sends CONNECT 
packet, containing information about login, database client wants to 
talk to (required for correct choice of security database on server), 
list of known plugins, requirements for line encryption and compression 
and some plugin's data (created by the first plugin in that list) for 
earlier authentication start. (That data may be ignored by server if 
that plugin is not supported by it). Server builds list of common for 
client and server plugins and returns it to the client together with 
server's line encryption requirements and (may be) handshake data from 
plugin. The process of plugin's data exchange between client and server 
continues until server agrees to accept connection. At each step server 
may break connection for various reasons (failure return from plugin, 
different client/server line encryption settings (required vs. 
disabled), etc.)

Details of protocol are as always in src/remote directory, pluguns' code 
is in src/auth.

Alex.


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to