What does DPB mean for Firebird and how to use isc_dpb_trusted_auth parameter?

What does DPB mean in Firebird and how to use the parameter isc_dpb_trusted_auth

?

0


source to share


1 answer


What does DPB stand for in Firebird

Most likely it is "Buffer Parameter Buffer", and for "Transaction ..." and SPB for "Service ..." (used in Service API) there is TPB.

And Firebird 2.1.7 bugslist has the following quote:

Incorrect filling of container with integer in blob parameter buffer (BPB)

I think these shortcuts were conceived over 30 years ago when the database that is known today as Firebird was being developed as a proposed new component of the VAX VMS operating system.

You can go to Firebird-developers maillist and ask how the current developers guess what DPB means. Or you can try to find mr. Starks and Misters. Harrison and ask if they remember what they meant over 30 years ago.

how to use isc_dpb_trusted_auth parameter

This is described in two sources that I see. And both use the same words.



  • https://firebirdsql.org/rlsnotesh/rnfb210-wintrusted.html
  • c: \ Program Files \ Firebird \ Firebird_2_1 \ doc \ README.trusted_authentication.txt

    To maintain legacy behavior, when the ISC_USER / ISC_PASSWORD variables are changed in the environment, they are selected and used instead of strong authentication. In case strong authentication is required and ISC_USER / ISC_PASSWORD are installed, add the new DPB parameter isc_dpb_trusted_auth for DPB.

It doesn't seem to matter what value the parameter has, it only matters sometime if it is present or not.

To connect the database, you call the Firebird function isc_attach_database

. This function takes 6 parameters. # 5 is the length of the DPB binary and # 6 is the pointer to the DPB binary.

An example of building a DPB binary block, which you can find in the sources of the library of your choice that you use to connect to the firebird server.

For example, with the Interbase Unified Library you can start exploring projects examples\UIB\API\

. They all use calls like

 UL.AttachDatabase(new_dbname, newdb, 'user_name = SYSDBA; password = masterkey');

      

The last line is a list of parameters. For trusted aithenticaton to work according to the documentation above, you must remove the user_name

and parameters password

, and you can add the parameter trusted_auth

with any value if needed . Then you can trace it back to function CreateDBParams

, which creates a binary representation of DPB from a string of a keyword's list of values.

PS. you would try to compile these examples - remember to configure the UIB to use the Firebird API 2.1 or higher by enabling the option FB21

in the file uib.inc

.

0


source







All Articles