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