You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Interbase, Firebird 2.5 or Firebird 3.0 Alpha 1, to improve the security I can successfully remove the body of the procedure source.
UPDATE
RDB$PROCEDURES P
SET
P.RDB$PROCEDURE_SOURCE = NULL
WHERE
P.RDB$SYSTEM_FLAG = 0;
But I failed to do it in Firebird 3.0 Alpha 2 with an error message :
"Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
UPDATE operation is not allowed for system table RDB$PROCEDURES."
The text was updated successfully, but these errors were encountered:
Ban modification of system tables is one of the most important security tasks. If you need a mechanism which allows to hide the source code stored procedures, functions, triggers, and packages for this purpose it is necessary to make a separate DDL statement. Or another solution in which the text of the procedures is only visible to the owner or SYSDBA.
I suggest not to consider it as a bug, and to preserve this opportunity to create a separate ticket as an improvement.
The ability to explicitly set the source code to NULL is restored. All other kinds of direct modifications are still prohibited. Later (v4?) it will be replaced with a proper solution, be it special permissions or new DDL command or whatever else.
Submitted by: Imam Chalimi (virgonia)
When using Interbase, Firebird 2.5 or Firebird 3.0 Alpha 1, to improve the security I can successfully remove the body of the procedure source.
UPDATE
RDB$PROCEDURES P
SET
P.RDB$PROCEDURE_SOURCE = NULL
WHERE
P.RDB$SYSTEM_FLAG = 0;
But I failed to do it in Firebird 3.0 Alpha 2 with an error message :
"Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
UPDATE operation is not allowed for system table RDB$PROCEDURES."
The text was updated successfully, but these errors were encountered: