On 21-12-2017 03:06, FSPAPA INCA Team i...@foodstuffs-si.co.nz [firebird-support] wrote: > I reckon this change to src/remote/server/server.cpp in commit > 2fdb281759299f24d47349246f3c800ec78971cc introduced an unintended effect:
I think you're right. I'll create a ticket in the tracker for this. Mark > @@ -1715,11 +1814,8 @@ static bool accept_connection(rem_port* port, > P_CNCT* connect, PACKET* send) > > for (const p_cnct::p_cnct_repeat* const end = protocol + > connect->p_cnct_count; > > protocol < end; protocol++) > > { > > - if ((protocol->p_cnct_version == PROTOCOL_VERSION10 || > > - protocol->p_cnct_version == PROTOCOL_VERSION11 || > > - protocol->p_cnct_version == PROTOCOL_VERSION12 || > > - protocol->p_cnct_version == PROTOCOL_VERSION13 || > > - protocol->p_cnct_version == PROTOCOL_VERSION14) && > > + if ((protocol->p_cnct_version >= PROTOCOL_VERSION10 && > > + protocol->p_cnct_version <= PROTOCOL_VERSION15) && > > (protocol->p_cnct_architecture == arch_generic || > > protocol->p_cnct_architecture == ARCHITECTURE) && > > protocol->p_cnct_weight >= weight) > > The constants are defined in protocol.h: > > const USHORT PROTOCOL_VERSION10 = 10; > > // Since protocol 11 we must be separated from Borland Interbase. > > // Therefore always set highmost bit in protocol version to 1. > > // For unsigned protocol version this does not break version's compare. > > const USHORT FB_PROTOCOL_FLAG = 0x8000; > > const USHORT PROTOCOL_VERSION11 = (FB_PROTOCOL_FLAG | 11); > > ... > > const USHORT PROTOCOL_VERSION15 = (FB_PROTOCOL_FLAG | 15); > > So after the change above the version check accepts anything between > 0x000a and 0x800f – ie legacy protocol version 10, or Firebird protocol > 11-15, as well as any newer InterBase protocol versions. If the list of > protocol versions is getting a bit long to check each one individually, > then how about something like the following? > > if ((protocol->p_cnct_version == PROTOCOL_VERSION10 || > > (protocol->p_cnct_version >= PROTOCOL_VERSION11 && > > protocol->p_cnct_version <= PROTOCOL_VERSION15)) && > > (protocol->p_cnct_architecture == arch_generic || > > protocol->p_cnct_architecture == ARCHITECTURE) && > > protocol->p_cnct_weight >= weight) > > *From:*firebird-support@yahoogroups.com > [mailto:firebird-support@yahoogroups.com] > *Sent:* Thursday, 21 December 2017 10:15 AM > *To:* firebird-support@yahoogroups.com > *Subject:* RE: [firebird-support] Firebird 3.0.3 no longer compatible > with InterBase 7.5.1 clients > > Hmm, that’s interesting thanks Mark… when connecting to a Firebird 3.0.1 > server, I see this in mon$attachments (where mon$system_flag=0): > > MON$REMOTE_PID MON$REMOTE_PROCESS MON$REMOTE_PROTOCOL > MON$REMOTE_VERSION > > -------------- ------------------ ------------------- > ------------------ > > <null> <null> TCPv4 P10 > > 23184 C:\Apps\fbclient\isql.exe TCPv4 P14 > > But when connecting to Firebird 3.0.2 (or 3.0.3 nightly… sorry about the > confusion with version numbers there!) I see: > > MON$REMOTE_PID MON$REMOTE_PROCESS MON$REMOTE_PROTOCOL > MON$REMOTE_VERSION > > -------------- ------------------ ------------------- > ------------------ > > <null> <null> TCPv4 P14 > > 19512 C:\Apps\fbclient\isql.exe TCPv4 P14 > > In each case the monitoring attachment is made using a Firebird client > while an existing idle connection from InterBase 7.5.1 isql is open. > Firebird 3.0.1 reports the InterBase client as using protocol version > 10, but Firebird 3.0.2 reports it as protocol version 14. > > *From:*firebird-support@yahoogroups.com > [mailto:firebird-support@yahoogroups.com] > *Sent:* Wednesday, 20 December 2017 10:40 PM > *To:* firebird-support@yahoogroups.com > *Subject:* Re: [firebird-support] Firebird 3.0.3 no longer compatible > with InterBase 7.5.1 clients > > On 19-12-2017 21:06, Dimitry Sibiryakov s...@ibphoenix.com > [firebird-support] wrote: > > 19.12.2017 4:32, FSPAPA INCA Team i...@foodstuffs-si.co.nz > [firebird-support] wrote: > >> Wireshark traces show that the server is sending all the data from > the query, but the > >> client is not recognising it and waits forever > > > > So, you, actually, should ask Embarcadero why their client cannot > work with Firebird > > anymore. > > Not necessarily, it could also mean that 3.0.3 has a change that breaks > protocol version 10. > > -- > Mark Rotteveel > > ------------------------------------------------------------------------ > > Posted by: Mark Rotteveel <m...@lawinegevaar.nl> > > ------------------------------------------------------------------------------------------------------------------------ > Note: > This e-mail message has been inspected for malicious content. > > Attention: > The information contained in this message and or attachments is intended > only for the person > or entity to which it is addressed and may contain confidential and/or > privileged material. Any > review, retransmission, dissemination or other use of, or taking of any > action in reliance upon, > this information by persons or entities other than the intended > recipient is prohibited. If you > received this in error, please contact the sender and delete the > material from any system and > destroy any copies. > Please note that the views and opinions expressed in this message may be > those of the > individual and not necessarily those of Foodstuffs South Island Ltd. > > Thank you. > ------------------------------------------------------------------------------------------------------------------------ > > ------------------------------------------------------------------------ > > Posted by: FSPAPA INCA Team <i...@foodstuffs-si.co.nz> > > ------------------------------------------------------------------------------------------------------------------------ > Note: > This e-mail message has been inspected for malicious content. > > Attention: > The information contained in this message and or attachments is intended > only for the person > or entity to which it is addressed and may contain confidential and/or > privileged material. Any > review, retransmission, dissemination or other use of, or taking of any > action in reliance upon, > this information by persons or entities other than the intended > recipient is prohibited. If you > received this in error, please contact the sender and delete the > material from any system and > destroy any copies. > Please note that the views and opinions expressed in this message may be > those of the > individual and not necessarily those of Foodstuffs South Island Ltd. > > Thank you. > ------------------------------------------------------------------------------------------------------------------------ > > > -- Mark Rotteveel