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:
valid 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.

I am a little less familiar with this module.
Can someone give me advice for how I can
build libpamj, test it, and submit fixes back upstream?

Thanks.

--
Craig

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to