Am 2018-04-25 um 09:54 schrieb Claude Brisson:
Any thoughts on this? From my side, apart from this potential point, the
tools are ready.
There are several issues I have noticed which I'd like to have resolved
before 3.0. I won't be able to comment on before the end of the next week.
Michael
On 22/03/2018 01:25, Claude Brisson wrote:
Yes, it'd be great to soon release the tools since the engine is out.
And yes, autoconfig hasn't to be the default. Why not starting with an
empty toolbox by default if it eases things for integrators. But there
are two different things here:
1) *default* tools (loaded from tools.xml files inside each
velocity-tools jar)
2) *standard* user toolbox configuration files
For 1), what about a "load-default-tools" param in the descriptor? (As
usual, we would first check init-params for the concerned
servlet/filter and then, if not found, the context-params). It can be
false by default for 3.0, if you guys think that that's the way to go.
As long as we diligently document it when releasing.
For 2), I'm pretty sure no standard configuration file should be ever
checked if an explicit configuration is provided, of course (but, by
the way, why is it problematic whenever those files aren't there? Oh,
I see, the SecurityManager doesn't want me to read files that do not
exist, funny but perfectly logical). Would it be harmful to still
check for those standard locations whenever no explicit location is
given be harmful (other than itching the SecurityManager)?
So if I understand correctly, we *also* need to use PrivilegedActions.
Does it boils down to wrapping system calls in
AccessController.doPrivileged() calls? Where and how are those calls
authorized? Sorry, I never used the PrivilegedActions and
SecurityManager paradigm yet. If you have some good pointers or
suggestions...
I don't really understand either why we're speaking of the CWD whereas
all the VelocityView knows is the webapp root. But I may have missed
something.
Claude
On 21/03/2018 22:23, Nathan Bubna wrote:
If we're talking 2.x, then adding a PrivilegedAction sounds better.
If 3.0
(which, i think needs to happen anyway, right Claude?), then i'd
agree with
Michael. The auto config would be better off as something users need to
explicitly turn on, not the default any longer.
On Wed, Mar 21, 2018 at 2:03 PM, Michael Osipov <[email protected]>
wrote:
Am 2018-03-21 um 06:17 schrieb Christopher Schultz:
All,
Using velocity-tools 2.0.
I've been exploring what it takes to get my application working
under a
SecurityManager and it seems that o.a.v.t.view.VelocityView tries to
load a few configuration files from their default locations even
when a
specific configuration file has been specified by a subclass like
VelocityLayoutServlet:
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>
com.chadis.web.servlet.VelocityLayoutServlet
</servlet-class>
<init-param>
<param-name>org.apache.velocity.tools</param-name>
<param-value>/WEB-INF/tools.xml</param-value>
</init-param>
...
What ends up happening is that VelocityView checks for the default
configuration files tools.xml and tools.properties (in the current
working directory) and so FilePermissions must be given to the
whole JVM
-- because VelocityView (or ConfigurationUtils) doesn't make the
attempt
in a PrivilegedAction.
I think this can be done in a more friendly way, but I'm not sure what
is best for the community.
We could add a PrivilegedAction to the mix when a SecurityManager is
present. This way, the velocity library could be granted read
access to
these specific files (instead of the whole JVM). This would impact the
smallest number of users.
We could remove the attempts to load these configuration files out of
the CWD. This would probably affect the largest number of users
(although relying on the CWD to find a default configuration file
is ...
bad practice).
Or we could change the way Velocity*Servlet use VelocityView so that
default configuration files are only loaded when there is no explicit
configuration file.
Thoughts?
Personally, I was never a huge fan of this autoconfig. It was overly
comples. A few only understood. This also lead to subtile bugs which
Maven
Doxia leaving them open for years which I finally fixed last year.
I would personally expact an empty toolbox present, if nothing has been
configured by the user. Even if this will break stuff, we can do so
for 3.0
with ease. See https://issues.apache.org/jira/browse/DOXIASITETOOLS-93.
Michael
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]