Team,

Coming back to this as I've been reviewing all the great output of OWASP
that we're getting daily now (thanks David) as well as some findings from a
nice vendor tool by JFrog.  And what is popping up left and right are
issues in terms of vulnerabilities tied to Jython-standalone.  It is very
clear this component needs to go and is not actively maintained.  It is
also as noted tied to Python 2 which is eol.  I'll file a JIRA to deprecate
in 1.x and remove in 2.x.

The discussion about Javascript/Ruby, etc.. I think the best course going
forward is a specific component appropriate to each desired mechanism is
introduced in 2.x as interest/effort dictates.  The native Python support
will eliminate the need for Jython obviously so not worried about that
coming back.

Thanks

On Tue, Nov 7, 2023 at 5:17 AM Mike Thomsen <mikerthom...@gmail.com> wrote:

> Matt,
>
> I don't use JRuby, but the reason it raised my eyebrow a little was that
> AFAIK JRuby is the complete opposite of Jython in terms of enterprise
> readiness and parity with its C-based counterpart.
>
> Edward,
>
> The problem with Lua here is that the Java versions of Lua aren't being
> maintained. I think the most recent release on any branch of them was 3
> years ago. They're basically dead in the water as projects.
>
> On Mon, Nov 6, 2023 at 2:57 PM Edward Armes <edward.ar...@gmail.com>
> wrote:
>
> > While I do like the ExecuteScript processors as they are great at digging
> > you out of a hole. The performance of them isn't that great.
> >
> > That being said I would ve careful about dropping Lua support as there
> is a
> > growing list of software that supports end user/administrator extensions
> > via Lua for those that don't want to have to re-compile software
> > themselves. On the other hand given that Jython doesn't yet have a
> Python 3
> > implementation it could be argued dropping Jython support is a must given
> > that the Python 2.x line is basically end of life.
> >
> > Now I wonder if its worth re-factoring the ExecuteScript processors to be
> > per language implementations inheriting from a common base like a few
> > processors do already.
> >
> > Edward
> >
> > On Mon, 6 Nov 2023, 16:24 Matt Burgess, <mattyb...@apache.org> wrote:
> >
> > > I believe it is because in both ExecuteScript and ExecuteGroovyScript
> > > you can do "regular" groovy, but EGS has extra built-ins such as easy
> > > access to controller services, Groovy SQL stuff, etc, and we could
> > > keep building it out. But IMO we'd have to port the rest of the
> > > scripted components (ScriptedReader/Writer, etc.) over to the Groovy
> > > bundle and make sure there's a drop-in replacement in the Python stuff
> > > before we'd want to deprecate the scripted bundle.
> > >
> > > On the JRuby front, is that something you use actively? This question
> > > is for you and the entire community of course.
> > >
> > > Regards,
> > > Matt
> > >
> > > On Mon, Nov 6, 2023 at 7:12 AM Mike Thomsen <mikerthom...@gmail.com>
> > > wrote:
> > > >
> > > > If we deprecate ExecuteScript, I think we need to have groovyx be
> ready
> > > to
> > > > function as a drop-in replacement if it's not there already.
> > > >
> > > > On Sun, Nov 5, 2023 at 9:21 PM Matt Burgess <mattyb...@apache.org>
> > > wrote:
> > > >
> > > > > IIRC the removal of these engines was mostly due to lack of use or
> at
> > > > > least the perception thereof. If JRuby is being used by the
> community
> > > > > actively, I'm happy to revisit that discussion. Luaj's JSR-223
> > > > > interface left something to be desired, but JRuby just needed a
> > system
> > > > > variable set or something like that.
> > > > >
> > > > > For the groovyx bundle, because it is Groovy-specific I tend to
> think
> > > > > we could make better use of that than ExecuteScript, especially if
> we
> > > > > do get rid of all the engines. We have a Groovy-specific
> processor, a
> > > > > "real" Python SDK, and no more Nashorn. Perhaps we move all the
> > > > > scripted components to the Groovy bundle, although I believe some
> > > > > folks still make use of Jython for these. Of course if we reinstate
> > > > > JRuby for ExecuteScript it's probably best to keep things the way
> > they
> > > > > are, or create a jruby bundle. The original scripting bundle was
> > > > > aiming to support several engines, but if it turns out only one or
> > two
> > > > > will be useful, it may not be worth shoehorning all that JSR-223
> > logic
> > > > > when engine-specific components could be simpler, more easily
> > > > > maintained, and allow for the idioms of the language to be better
> > used
> > > > > (as is done in the groovyx bundle).
> > > > >
> > > > > Just my two cents, looking forward to everyone's thoughts!
> > > > >
> > > > > - Matt
> > > > >
> > > > > On Sun, Nov 5, 2023 at 8:31 PM Mike Thomsen <
> mikerthom...@gmail.com>
> > > > > wrote:
> > > > > >
> > > > > > https://issues.apache.org/jira/browse/NIFI-11646
> > > > > >
> > > > > > I get the removal of Lua, but not the removal of JRuby. It's a
> > clean
> > > > > > reimplementation of Ruby native to the JVM and AFAICT is pound
> for
> > > pound
> > > > > as
> > > > > > actively maintained as Groovy.
> > > > > >
> > > > > > Also, at this point, does it make sense to even keep the groovyx
> > > bundle
> > > > > > rather than deprecate it for 2.X?
> > > > >
> > >
> >
>

Reply via email to