> All,
>
> I admit my previous method for protecting Tomcat from conflicting system
>   extensions proved to be a bit flawed. However, I still would like to
> add  some protection against these conflicts since this tends to be a
> difficult to diagnose problem for a lot of new Tomcat users. On the
> other hand, I don't think we want to prevent knowledgable users from
> using their installed extensions to support their installation.
>
> So, here is what I propose. Note that I am in favor of checking the
> installed extensions so this proposal should be complimentary to any
> checking that might be implemented in the Tomcat code:
>
> 1. Add the following to each Java execution line in the wrapper scripts:
>
>     Unix:
>        -Djava.ext.dirs="$JAVA_EXT_DIRS"
>     Windows:
>        -Djava.ext.dirs="%JAVA_EXT_DIRS%"
>
> 2. Add the following lines in setclasspath.bat and setclasspath.sh:
>
>     Unix:
>        if [ -z "$JAVA_EXT_DIRS" ]; then
>          echo "Disabling installed Java extensions. Set the"
>          echo "JAVA_EXT_DIRS environment variable to the following
> value"
>          echo "to enable installed Java extensions:"
>          echo "    $JAVA_HOME/jre/lib/ext"
>        fi
>     Windows:
>        if not "%JAVA_EXT_DIRS%" == "" goto gotJavaExtDirs
>        echo Disabling installed Java extensions. Set the
>        echo JAVA_EXT_DIRS environment variable to the following value
>
>        echo to enable installed Java extensions:
>        echo     %JAVA_HOME%\jre\lib\ext
>        :gotJavaExtDirs
>
> 3. If the user does not defined JAVA_EXT_DIRS (the default case), the
>     java.ext.dirs property is set to "" and the above status message is
>     printed. Then, if the user defines JAVA_EXT_DIRS, the existing
>     behavior is enabled.
>
> Since new Tomcat users primarily use the installed scripts, this is a
> good way to protect Tomcat without preventing other custom scripts or
> launchers from enforcing a different standard.
>
> Does this sound like a reasonable approach? It would be nice to have
> this property setting in the Bootstrap.java class, but unfortunately,
> you must set the java.endorsed.dirs property when the JVM is started as
> it is immediately put in the JVM's bootstrap classpath.

As Costin mentioned, it's not necessarily a good idea because of the
complexity issue; this is similar to what is done to ignore the classpath.

Remy


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to