http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/remote/server.cpp?r1=1.158.2.6&r2=1.158.2.7&view=patch --- src/remote/server.cpp 2008-05-27 05:27:51.000000000 -0400 +++ src/remote/server.cpp.oden 2009-07-30 14:33:08.000000000 -0400 @@ -1124,19 +1124,20 @@ static void aux_request( rem_port* port, port->port_status_vector = status_vector; success(status_vector); + RDB rdb = port->port_context; + if (bad_db(status_vector, rdb)) + { + port->send_response(send, 0, 0, status_vector, false); + return; + } + // This buffer is used by INET and WNET transports // to return the server identification string UCHAR buffer[BUFFER_TINY]; send->p_resp.p_resp_data.cstr_address = buffer; rem_port* aux_port = port->request(send); - RDB rdb = port->port_context; - if (bad_db(status_vector, rdb)) - { - // who has any idea what else to do with such attempt - return; - } - + port->send_response(send, rdb->rdb_id, send->p_resp.p_resp_data.cstr_length, status_vector, false);