Open Bug 817633 Opened 13 years ago Updated 2 years ago

FIPS tests do not run on Android

Categories

(NSS :: Test, defect, P5)

3.14
ARM
Android

Tracking

(Not tracked)

People

(Reporter: briansmith, Unassigned)

References

Details

+++ This bug was initially created as a clone of Bug #772144 +++ We can re-do the cross-compilation by doing the following, in order to get the FIPS tests to run: 1. Require that a build of NSS be done for the host system, 2. Require that the cross-build of NSS to Android pass NSS_HOST_PREFIX=<path to the host build> 3. Use $NSS_HOST_PREFIX/shlibsign instead of the in-tree shlibsign to sign the libraries.
From the patch in bug 772144: "Android doesn't support FIPS tests, because dladdr does not return a full path for implicitly loaded libraries." Mike, do you have any suggestions here?
Flags: needinfo?(mh+mozilla)
You're essentially screwed. The Android system linker just doesn't store the full path for any library (not even the non dlopen()ed ones). It works in firefox because we use our own linker for our libs.
Flags: needinfo?(mh+mozilla)
(In reply to Mike Hommey [:glandium] from comment #2) > You're essentially screwed. The Android system linker just doesn't store the > full path for any library (not even the non dlopen()ed ones). > It works in firefox because we use our own linker for our libs. It seems like this is a very solvable problem as long as we're willing to make some assumptions that are reasonable for Android apps that might not be so reasonable on other platforms. On Android, do we actually need dladdr to return the full path for these libraries? We should be able to figure out the base directory $BASE of the app. For the vast majority of apps, the NSS shared libraries are always going to be at some path $BASE/$something. From there, we can Couldn't we just have a build-time flag for Android builds that tells us $something, and then use some Android API (or environment variable) to determine $BASE?
Assignee: bsmith → nobody
Component: Build → Test
Summary: NSS libraries are not signed and the FIPS tests do not run on Android → FIPS tests do not run on Android
Severity: normal → S3
Severity: S3 → N/A
Priority: -- → P5
Severity: N/A → S4
You need to log in before you can comment on or make changes to this bug.