Can't move files using symbolic links (allowLinking=true)

--0015175cdff6a4f5b0049efb171a
Content-Type: text/plain; charset=ISO-8859-1

Hi.
I need to use a symbolic link to access a certain path in my server, where
I'm using Jakarta Tomcat 4.1.18.
We stablished a symbolic link to another path. At first, tomcat didn't see
this path through the symlink, but we searched for it and found the
allowLinking=true feature.
Now, it sees the path. However, and here comes the problem, it doesn't allow
to move files to this path.
We've tried to move files manually with the same user of tomcat and it works
well, but it doesn't via the web application. Besides, this feature worked
perfect before making this folder reachable through a symlink.

And we don't know what we have done wrong. Any help?

This is our config.xml:

<Context path="/documents" docBase="/opt/rware/sgidoc/data" debug="0"
reloadable="true" crossContext="true">
<Resources
className="org.apache.naming.resources.FileDirContext"
allowLinking="true" />
</Context>

<Context path="/documents/temp" docBase="/opt/rware/my_app/pdf_mark"
debug="0"
reloadable="true" crossContext="true"/>

<Context path="/my_app" docBase="sgidoc" debug="5"
reloadable="true" crossContext="true">
<Resources
className="org.apache.naming.resources.FileDirContext"
allowLinking="true" />
<Resource name="jdbc/YatskivBD" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/YatskivBD">
<parameter>
<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>30</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>-1</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://
127.0.0.1:5432/my_app</value>
</parameter>
<parameter>
<name>username</name>
<value>user</value>
</parameter>
<parameter>
<name>password</name>
<value>pass</value>
</parameter>

</ResourceParams>


</Context>

<Context path="/my_app_2" docBase="/home/my_app_2/webapp"
debug="5" reloadable="true" crossContext="true">
<Resources
className="org.apache.naming.resources.FileDirContext"
allowLinking="true" />
<Resource name="jdbc/YatskivBD" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/YatskivBD">
<parameter>
<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>30</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>-1</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://
127.0.0.1:5432/my_app_2</value>
</parameter>
<parameter>
<name>username</name>
<value>user</value>
</parameter>
<parameter>
<name>password</name>
<value>pass</value>
</parameter>

</ResourceParams>

</Context>

--0015175cdff6a4f5b0049efb171a--
Goyo [ Mo, 21 März 2011 10:52 ] [ ID #2056944 ]

Re: Can't move files using symbolic links (allowLinking=true)

On 21 March 2011 09:52, Goyo <goyocasero [at] gmail.com> wrote:
> Hi.
> I need to use a symbolic link to access a certain path in my server, wher=
e
> I'm using Jakarta Tomcat 4.1.18.

Jakarta Tomcat is now an independent project, see

http://tomcat.apache.org/

where you will find documentation and details of how to subscribe to
their user mailing list.


> We stablished a symbolic link to another path. At first, tomcat didn't se=
e
> this path through the symlink, but we searched for it and found the
> allowLinking=3Dtrue feature.
> Now, it sees the path. However, and here comes the problem, it doesn't al=
low
> to move files to this path.
> We've tried to move files manually with the same user of tomcat and it wo=
rks
> well, but it doesn't via the web application. Besides, this feature worke=
d
> perfect before making this folder reachable through a symlink.
>
> And we don't know what we have done wrong. Any help?
>
> This is our config.xml:
>
> =A0 =A0 =A0 <Context path=3D"/documents" docBase=3D"/opt/rware/sgidoc/dat=
a" debug=3D"0"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 reloadable=3D"true" crossContext=3D"true"=
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<Resources
> className=3D"org.apache.naming.resources.FileDirContext"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 allowLinking=3D"true" />
> =A0 =A0 =A0 =A0</Context>
>
> =A0 =A0 =A0 =A0<Context path=3D"/documents/temp" docBase=3D"/opt/rware/my=
_app/pdf_mark"
> debug=3D"0"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 reloadable=3D"true" crossContext=3D"true"=
/>
>
> =A0 =A0 =A0 =A0<Context =A0path=3D"/my_app" docBase=3D"sgidoc" =A0debug=
=3D"5"
> reloadable=3D"true" crossContext=3D"true">
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<Resources
> className=3D"org.apache.naming.resources.FileDirContext"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 allowLinking=3D"true" />
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<Resource name=3D"jdbc/YatskivBD" auth=3D"=
Container"
> type=3D"javax.sql.DataSource"/>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<ResourceParams name=3D"jdbc/YatskivBD">
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>factory</name>
>
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>removeAbandonedTimeo=
ut</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>30</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>removeAbandoned</nam=
e>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>true</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>maxActive</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>20</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>maxIdle</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>-1</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>maxWait</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>10000</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>driv=
erClassName</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>org=
..postgresql.Driver</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>url<=
/name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>jdb=
c:postgresql://
> 127.0.0.1:5432/my_app</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>user=
name</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>use=
r</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>pass=
word</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>pas=
s</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</ResourceParams>
>
>
> =A0 =A0 =A0 =A0</Context>
>
> =A0 =A0 =A0 =A0<Context =A0path=3D"/my_app_2" docBase=3D"/home/my_app_2/w=
ebapp"
> debug=3D"5" reloadable=3D"true" crossContext=3D"true">
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<Resources
> className=3D"org.apache.naming.resources.FileDirContext"
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 allowLinking=3D"true" />
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<Resource name=3D"jdbc/YatskivBD" auth=3D"=
Container"
> type=3D"javax.sql.DataSource"/>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<ResourceParams name=3D"jdbc/YatskivBD">
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>factory</name>
>
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>removeAbandonedTimeo=
ut</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>30</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>removeAbandoned</nam=
e>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>true</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>maxActive</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>20</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>maxIdle</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>-1</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>maxWait</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>10000</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>driv=
erClassName</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>org=
..postgresql.Driver</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>url<=
/name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>jdb=
c:postgresql://
> 127.0.0.1:5432/my_app_2</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>user=
name</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>use=
r</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<parameter>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<name>pass=
word</name>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0<value>pas=
s</value>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</parameter>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0</ResourceParams>
>
> =A0 =A0 =A0 =A0</Context>
>
sebb [ Mo, 21 März 2011 14:02 ] [ ID #2056945 ]
Miscellaneous » gmane.comp.jakarta.general » Can't move files using symbolic links (allowLinking=true)

Vorheriges Thema: [VOTE][LAZY] Move Jakarta Regexp to Attic
Nächstes Thema: [RESULT][VOTE][LAZY] Move ECS, ORO and Regexp to Attic