Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable delete procedure source on Firebird 3.0 Alpha 2.0 [CORE4507] #4826

Closed
firebird-automations opened this issue Aug 2, 2014 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

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."

@firebird-automations
Copy link
Collaborator Author

Commented by: @sim1984

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.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Regression: 3.0 Alpha 2 [ 10560 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Dmitry Yemanov [ dimitr ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

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.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 Beta 2 [ 10586 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Imam Chalimi (virgonia)

great solusion (y)

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: Done successfully

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants