X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Fjava%2Fdolda%2Fdolcon%2FPasswordAuth.java;fp=lib%2Fjava%2Fdolda%2Fdolcon%2FPasswordAuth.java;h=9f62d7afb321703ec383eabc5ea4852693a24abe;hb=7131093cf84874bc7290c18cf34a3ae4d36cf2bd;hp=0000000000000000000000000000000000000000;hpb=59b214d63f3e51473177f573bdc4c8edaa08f9ea;p=doldaconnect.git diff --git a/lib/java/dolda/dolcon/PasswordAuth.java b/lib/java/dolda/dolcon/PasswordAuth.java new file mode 100644 index 0000000..9f62d7a --- /dev/null +++ b/lib/java/dolda/dolcon/PasswordAuth.java @@ -0,0 +1,32 @@ +package dolda.dolcon; + +import java.util.List; +import dolda.dolcon.protocol.Response; +import dolda.dolcon.protocol.Command; + +public class PasswordAuth implements Authenticator { + private String password; + + public PasswordAuth(String password) { + this.password = password; + } + + public String handles(List name) { + System.out.println(name); + if(name.contains("pam")) + return("pam"); + return(null); + } + + public Command step(Response resp) throws ProtocolException { + if((password != null) && (resp.code == 301)) { + try { + return(new Command("pass", password)); + } finally { + password = null; + } + } else { + throw(new ResponseException(resp, 0)); + } + } +}