java-native-access / java-native-access/jna

Recommended compiler and linker flags when building native library

Open
#1,213 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Java
Stars
8.9k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

libjnidispatch.so is embedded in the jna java library. Some security compiler and linker flags are not enabled for the Linux platform when building libjnidispatch.so, which may cause security risks

FilePath Object BIND_NOW NX PIC PIE RELRO SP NO Rpath/RunPath FS Ftrapv Strip
jna-5.3.1.jar_/com/sun/jna/linux-armel/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/sunos-x86/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-s390x/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED YES NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-ppc/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/freebsd-x86/libjnidispatch.so libjnidispatch.so NO NO NO UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/sunos-sparc/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED NO NO YES NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-x86-64/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/sunos-sparcv9/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED NO NO YES NO NO NO
jna-5.3.1.jar_/com/sun/jna/sunos-x86-64/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-x86/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/freebsd-x86-64/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-aarch64/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-arm/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/openbsd-x86-64/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED YES NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-mips64el/libjnidispatch.so libjnidispatch.so NO NO YES UNUSED NO NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/openbsd-x86/libjnidispatch.so libjnidispatch.so NO NO NO UNUSED YES NO NO NO NO NO
jna-5.3.1.jar_/com/sun/jna/linux-ppc64le/libjnidispatch.so libjnidispatch.so NO YES YES UNUSED NO NO NO NO NO NO

See https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the native build entry point that produces libjnidispatch.so for the Linux and other listed platforms, then compare its compiler and linker settings with the security gaps in the table and the linked GCC guidance. Done means the rebuilt platform libraries have the requested hardening properties verified against the reported checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, java, linux
Domain
build-system, operating-systems, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.