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

allow to specify subfolders when declare udr function [CORE5809] #6071

Open
firebird-automations opened this issue Apr 30, 2018 · 3 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: fbbt (fbbt)

This is need for grouping and isolation.

Example:

SphinxV7 and SphinxV8 - subfolders of UDR forlder

SphinxV7:
-> udr_SphinxClient.dll
-> libmysql.dll // mysql v7
-> udr_SphinxClient.ini // for connect to v7 database

SphinxV8:
-> udr_SphinxClient.dll
-> libmysql.dll // mysql v8
-> udr_SphinxClient.ini // for connect to v8 database

CREATE OR ALTER PROCEDURE SPHINXCLIENTV7$EXECUTE (
SQL_TEXT VARCHAR(8000) CHARACTER SET UTF8 NOT NULL)
RETURNS (
MODULE_ID BIGINT,
ROW_ID VARCHAR(128) CHARACTER SET OCTETS)
EXTERNAL NAME 'SphinxV7\udr_SphinxClient!Execute'
ENGINE UDR

CREATE OR ALTER PROCEDURE SPHINXCLIENTV8$EXECUTE (
SQL_TEXT VARCHAR(8000) CHARACTER SET UTF8 NOT NULL)
RETURNS (
MODULE_ID BIGINT,
ROW_ID VARCHAR(128) CHARACTER SET OCTETS)
EXTERNAL NAME 'SphinxV8\udr_SphinxClient!Execute'
ENGINE UDR

@firebird-automations
Copy link
Collaborator Author

Modified by: fbbt (fbbt)

description: This is need for grouping and isolation.

Example:

SphinxV7 and SphinxV7 - subfolders of UDR forlder

SphinxV7:
-> udr_SphinxClient.dll
-> libmysql.dll // mysql v7
-> udr_SphinxClient.ini // for connect to v7 database

SphinxV8:
-> udr_SphinxClient.dll
-> libmysql.dll // mysql v8
-> udr_SphinxClient.ini // for connect to v8 database

CREATE OR ALTER PROCEDURE SPHINXCLIENTV7$EXECUTE (
SQL_TEXT VARCHAR(8000) CHARACTER SET UTF8 NOT NULL)
RETURNS (
MODULE_ID BIGINT,
ROW_ID VARCHAR(128) CHARACTER SET OCTETS)
EXTERNAL NAME 'SphinxV7\udr_SphinxClient!Execute'
ENGINE UDR

CREATE OR ALTER PROCEDURE SPHINXCLIENTV8$EXECUTE (
SQL_TEXT VARCHAR(8000) CHARACTER SET UTF8 NOT NULL)
RETURNS (
MODULE_ID BIGINT,
ROW_ID VARCHAR(128) CHARACTER SET OCTETS)
EXTERNAL NAME 'SphinxV8\udr_SphinxClient!Execute'
ENGINE UDR

=>

This is need for grouping and isolation.

Example:

SphinxV7 and SphinxV8 - subfolders of UDR forlder

SphinxV7:
-> udr_SphinxClient.dll
-> libmysql.dll // mysql v7
-> udr_SphinxClient.ini // for connect to v7 database

SphinxV8:
-> udr_SphinxClient.dll
-> libmysql.dll // mysql v8
-> udr_SphinxClient.ini // for connect to v8 database

CREATE OR ALTER PROCEDURE SPHINXCLIENTV7$EXECUTE (
SQL_TEXT VARCHAR(8000) CHARACTER SET UTF8 NOT NULL)
RETURNS (
MODULE_ID BIGINT,
ROW_ID VARCHAR(128) CHARACTER SET OCTETS)
EXTERNAL NAME 'SphinxV7\udr_SphinxClient!Execute'
ENGINE UDR

CREATE OR ALTER PROCEDURE SPHINXCLIENTV8$EXECUTE (
SQL_TEXT VARCHAR(8000) CHARACTER SET UTF8 NOT NULL)
RETURNS (
MODULE_ID BIGINT,
ROW_ID VARCHAR(128) CHARACTER SET OCTETS)
EXTERNAL NAME 'SphinxV8\udr_SphinxClient!Execute'
ENGINE UDR

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

In this specific use case, the solution would be to disambiguate the library names (i.e. "udrSphinxClient!Execute_v7", "udrSphinxClient!Execute_v8")

@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

The solution to use subfolders should be possible, the security measure should just be changed to a better one, instead of disallow slashed, to verify actual subfolder of configured one.

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

1 participant