diff --git a/src/main/java/org/jvnet/libpam/PAM.java b/src/main/java/org/jvnet/libpam/PAM.java index 1afdf26..86dac2d 100644 --- a/src/main/java/org/jvnet/libpam/PAM.java +++ b/src/main/java/org/jvnet/libpam/PAM.java @@ -57,10 +57,10 @@ public class PAM { private int ret; /** - * Temporarily stored to pass a value from {@link #authenticate(String, String)} + * Temporarily stored to pass a value from {@link #authenticate(String, String...)} * to {@link pam_conv}. */ - private String password; + private String[] factors; /** * Creates a new authenticator. @@ -73,19 +73,19 @@ public PAM(String serviceName) throws PAMException { pam_conv conv = new pam_conv(new PamCallback() { public int callback(int num_msg, Pointer msg, Pointer resp, Pointer _) { LOGGER.fine("pam_conv num_msg="+num_msg); - if(password==null) + if(factors==null) return PAM_CONV_ERR; // allocates pam_response[num_msg]. the caller will free this Pointer m = libc.calloc(pam_response.SIZE,num_msg); resp.setPointer(0,m); - for( int i=0; i