-
Bug
-
Resolution: Fixed
-
Major
-
None
-
FreeBSD 10.0
Hi,
I installed jenkins-1.545, under FreeBSD-10.0RC5.
For this installation, I enabled a feature which I don't
normally use. In the configuration setup,
I enabled security, and used Unix security. This uses the
PAM plugin for Jenkins.
I enabled "Matrix security", and created one user "jenkins"
and gave the user all the permissions.
The "jenkins" user was already created in /etc/passwd.
I validated that I could login as "jenkins" from the command-line.
When I tried to login via the jenkins web interface as "jenkins",
I saw this error traceback in /var/log/jenkins.log:
JNA: Callback org.jvnet.libpam.PAM$1@
66732173 threw the following exception:
Invalid file format
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:166)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:366)
at com.sun.jna.Native.loadLibrary(Native.java:351)
at org.jvnet.libpam.impl.CLibrary$Instance.init(CLibrary.java:127)
at org.jvnet.libpam.impl.CLibrary$Instance.access$000(CLibrary.java:124)
at org.jvnet.libpam.impl.CLibrary.<clinit>(CLibrary.java:122)
at org.jvnet.libpam.PAM$1.callback(PAM.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:239)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:366)
at com.sun.jna.Native.loadLibrary(Native.java:351)
at org.jvnet.libpam.impl.CLibrary$Instance.init(CLibrary.java:127)
at org.jvnet.libpam.impl.CLibrary$Instance.access$000(CLibrary.java:124)
at org.jvnet.libpam.impl.CLibrary.<clinit>(CLibrary.java:122)
at org.jvnet.libpam.PAM$1.callback(PAM.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java:57)
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
lbackReference.java:394)
eference.java:424)
at com.sun.jna.Native.invokeInt(Native Method)
at com.sun.jna.Function.invoke(Function.java:344)
at com.sun.jna.Function.invoke(Function.java:276)
at com.sun.jna.Library$Handler.invoke(Library.java:216)
and the login failed.
After further investigation of the source code, it looks like in Jenkins,
one of the modules
used in PAM authentication is this one:
http://libpam4j.kohsuke.org/
libpam4j has some hardcoded logic about the size
of certain C data structures such as "struct passwd" gets the logic
wrong, becaue in FreeBSD, those structures have changed since
this code was written.
- is related to
-
JENKINS-24527 Update jna-posix so that it can compile with JNA 4.1.0
- Resolved
-
JENKINS-24521 Update jna from 3.3.0-jenkins to 4.1.0 (or newer)
- Resolved