Hi Will,

What OS are you compiling on ?

Best Regards
Hugh Williams
Professional Services
OpenLink Software

On 6 Jul 2008, at 12:40, Will Daniels wrote:

Hello!

I've encountered a problem when building Virtuoso in a path that has a
plus (+) symbol. Where the sticker URI is passed into VAD_PACK as
relative, it all seems to work fine:

VAD Sticker vad_dav.xml creation...

VAD Sticker vad_fs.xml creation...
PASSED: DB.DBA.VAD_PACK('vad_fs.xml', '.', 'bpel_filesystem.vad')
PASSED: commit work
PASSED: checkpoint
PASSED: DB.DBA.VAD_PACK('vad_dav.xml', '.', 'bpel_dav.vad')
PASSED: commit work
PASSED: checkpoint

But when an absolute path is used containing a plus symbol:

***FAILED: execution of
DB.DBA.VAD_PACK('/build/buildd/virtuoso-opensource-5.0.6+wgd1~ppa2/ binsrc/tutorial/make_tutorial_fs_vad.xml',
'.', 'tutorial_filesystem.vad')
------------ SQL ERROR -------------

*** Error 42000: [Virtuoso Driver][Virtuoso Server]FA004: Access to
/build/buildd/virtuoso-opensource-5.0.6
wgd1~ppa2/binsrc/tutorial/make_tutorial_fs_vad.xml is denied due to
access control in ini file
in
file_to_string:(BIF),
DB.DBA.VAD_PACK,
<Top Level>
at line 0 of Top-Level:
DB.DBA.VAD_PACK('/build/buildd/virtuoso-opensource-5.0.6
wgd1~ppa2/binsrc/tutorial/make_tutorial_fs_vad.xml', '.',
'tutorial_filesystem.vad')
------------------------------------

Note that the plus sign between 5.0.6 and wgd1 in the path has become as space in the FA004 error message, which is taken directly from the same
fname variable that is used in the call to is_allowed.

I have tried digging through the code to find out where exactly the
problem lies, but I've never looked at this code base before and my head is starting to spin now, so I thought I'd post the problem here and hope
that some nice person gives me a few pointers on this.

I guess it must have something to do with the path being treated as a
URI, so the + is interpreted as a space, as per the spec. Anyway, this
is presumably what causes is_allowed to return false in
bif_file_to_string (since it all builds correctly without a plus sign in
the path), and that would seem to make enough sense given that it's
actually the wrong path, only I can't quite work out where the + is
getting converted to a space.

Can anybody help me out here?

Thanks,
Will

---------------------------------------------------------------------- ---
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


Reply via email to