Icon View Incident Report

Serious Serious
Reported By: Raul Sinimae [Globestar Systems]
Reported On: 1/31/2019
For: Version 4.47 Build 1
# 4719 OnPassword Event Handler Not Working Properly with Remote Sessions

Order of opening remote queries to get data from encrypted table seems to affect whether OnPassword event is called and sometimes fails.

Setup

1. I have a DBISAM session, , database and 2 query components (A and B) - all named properly and wired up

2. Session has OnPassword event defined that uses AddPassword to add password to session and set Continue = true

3. Running against dbsrvr (also 4.47 b1)

4. database contains 2 tables "ENCTBL" that has table password and "TESTTBL" that requires no password



A. opening query with "select * from ENCTBL" works - onpassword is called and data is retrieved

B. opening query A with "select * from ENCTBL" and then query B with "select * from TESTTBL" works OK - both open (onpassword is called for first) and app has data

C. Opening them in opposite order (first B and then A) does not workm OnPassword is not called and exception is raised

Project DBISAMPass.exe raised exception class EDBISAMEngineError with message 'DBISAM Engine Error # 10498 Insufficient rights to the table 'ENCTBL', a password is required'.

Opening queries in this order results in exception

  QueryTEST.Active := false;
  QueryTEST.SQL.Text := 'select * from testtbl1';
  QueryTEST.Open;

  QueryENC.Active := false;
  QueryENC.SQL.Text := 'select * from ENCTBL';
  QueryENC.Open;



however this works:

  QueryENC.Active := false;
  QueryENC.SQL.Text := 'select * from ENCTBL';
  QueryENC.Open;

  QueryTEST.Active := false;
  QueryTEST.SQL.Text := 'select * from testtbl1';
  QueryTEST.Open;



Comments Comments
The problem was with how the password event was being saved/restored across triggers in the DBISAM Database Server. This bug has probably been around for a while, but surfaced when the SQL statement performance monitoring was added to the DBISAM Database Server because this functionality uses the SQL triggers in DBISAM.


Resolution Resolution
Fixed Problem on 2/15/2019 in version 4.48 build 1


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image