Bug#1037455: ITP: narcissus -- limited Java reflection library that bypasses security restrictions

Joseph Nahmias <[email protected]>
Newsgroups gmane.linux.debian.devel.java
Message-ID <168663205915.3870341.152652530794163565.reportbug__8389.66581957124$1686632257$gmane$org@pinky.nahmias.net>
Package: wnpp
Severity: wishlist
Owner: Joseph Nahmias <[email protected]>
X-Debbugs-Cc: [email protected], [email protected], [email protected], [email protected]

* Package name    : narcissus
  Version         : 1.0.7
  Upstream Contact: ToolFactory <[email protected]>
* URL             : https://github.com/toolfactory/narcissus
* License         : MIT
  Programming Lang: Java
  Description     : limited Java reflection library that bypasses security restrictions

Narcissus is a JNI native code library that provides a small subset of the Java
reflection API, while bypassing all of Java's access/visibility checks,
security manager restrictions, and module strong encapsulation enforcement, by
calling methods and accessing fields through the JNI API. This allows code that
relies on reflective access to non-public classes, fields, and methods to keep
working even now that strong encapsulation is being enforced in JDK 16+.

Narcissus works on JDK 7+, however it is most useful for suppressing reflective
access warnings in JDK 9-15, and for circumventing strong encapsulation for JDK
16+, in order to keep legacy software running (for example, when legacy
software depends upon setAccessible to access a needed private field of a class
in some library).
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.