Firebird Documentation Index → Firebird 2.0.6 Release Notes → New in Firebird 2.0 → Reimplemented Protocols on Windows |
Two significant changes have been made to the Windows-only protocols.-
Firebird 2.0 has replaced the former implementation of the local transport protocol (often referred to as IPC or IPServer) with a new one, named XNET.
It serves exactly the same goal, to provide an efficient way to connect to server located on the same machine as the connecting client without a remote node name in the connection string. The new implementation is different and addresses the known issues with the old protocol.
Like the old IPServer implementation, the XNET implementation uses shared memory for inter-process communication. However, XNET eliminates the use of window messages to deliver attachment requests and it also implements a different synchronization logic.
Besides providing a more robust protocol for local clients, the XNET protocol brings some notable benefits:
it works with Classic Server
it works for non-interactive services and terminal sessions
it eliminates lockups when a number of simultaneous connections are attempted
The XNET implementation should be similar to the old IPServer implementation, although XNET is expected to be slightly faster.
The one disadvantage is that the XNET and IPServer implementations are not compatible with each other. This makes it essential that your fbclient.dll version should match the version of the server binaries you are using (fbserver.exe or fb_inet_server.exe) exactly. It will not be possible to to establish a local connection if this detail is overlooked. (A TCP localhost loopback connection via an ill-matched client will still do the trick, of course).
WNET (a.k.a. NetBEUI) protocol no longer performs client impersonation.
In all previous Firebird versions, remote requests via WNET are performed in the context of the client security token. Since the server serves every connection according to its client security credentials, this means that, if the client machine is running some OS user from an NT domain, that user should have appropriate permissions to access the physical database file, UDF libraries, etc., on the server filesystem. This situation is contrary to what is generally regarded as proper for a client-server setup with a protected database.
Such impersonation has been removed in Firebird 2.0. WNET connections are now truly client-server and behave the same way as TCP ones, i.e., with no presumptions with regard to the rights of OS users.
Firebird Documentation Index → Firebird 2.0.6 Release Notes → New in Firebird 2.0 → Reimplemented Protocols on Windows |