From 41ca7abd7e64e8a52a9ccfb45817e54472060b77 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 19 Jul 2016 06:58:19 -0300 Subject: [PATCH] Add multi-factor authentication support --- src/main/java/org/jvnet/libpam/PAM.java | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) 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