Subject Re: [firebird-support] UdfAccess Question
Author Helen Borrie
At 03:59 PM 9/02/2005 +1100, you wrote:

>FB 1.5.2 intalled on Fedora via the install script (not rpm) - Using
>IBExpert
>Declared a test UDF as follows (from the distro sql
>DECLARE EXTERNAL FUNCTION ltrim
> CSTRING(255)
> RETURNS CSTRING(255) FREE_IT
> ENTRY_POINT 'IB_UDF_ltrim' MODULE_NAME 'ib_udf';
>UdfAccess = None
>causes IBExpert to hang permanently - service restart is the only way out -
>i.e. no exception raised just a lock up - restarting FB produces a service
>crash on the server but it restarts.
>UdfAccess = Full
>causes a BLR entry point missing error on the standard udf libraries
>
>UdfAccess = /opt/firebird/UDF
>causes this message
>Unsuccessful execution caused by a system error that precludes
>successful execution of subsequent statements.
>Access to UDF library "libib_udf.so.so" is denied by server administrator.
>
>Please note the "lib" on the front and the extra ".so" on the end...
>
>I find the config file lacking in specific examples - the Release Notes
>shows an example
>UdfAccess = UDF; /bad_dir
>What does
>UdfAccess = UDF mean? is this a directory with no slash? or somthing else?
>The notes say it needs to be None, Restrict or Full but there are no clear
>examples.
>Can someone clarify these issues, and also confirm the permissions required
>for the libraries? Maybe the install script does not set these correctly?

read and execute on the UDF directory for the firebird group (should
already have been done by the install script) and same for the file (copy
the perms that ib_udf has).


>Simply I cannot get any UDFs to respond.

It seems you've tried everything but the right one. :-)

configure it as

UDFAccess = UDF # relative path location !!

Remember to take the '#' off the beginning of the parameter.

If you're using Superserver, remember to stop and restart the server to
have the config change take effect. (With Classic, the next login will see
it.)

,.hb


FULL, btw, is platform-specific and not recommended.

./heLen