You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2007/07/21 13:21:22 UTC
svn commit: r558301 -
/directory/apacheds/trunk/protocol-changepw/src/main/java/org/apache/directory/server/changepw/service/VerifyServiceTicket.java
Author: erodriguez
Date: Sat Jul 21 04:21:21 2007
New Revision: 558301
URL: http://svn.apache.org/viewvc?view=rev&rev=558301
Log:
Broke ticket verification hierarchy.
Modified:
directory/apacheds/trunk/protocol-changepw/src/main/java/org/apache/directory/server/changepw/service/VerifyServiceTicket.java
Modified: directory/apacheds/trunk/protocol-changepw/src/main/java/org/apache/directory/server/changepw/service/VerifyServiceTicket.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-changepw/src/main/java/org/apache/directory/server/changepw/service/VerifyServiceTicket.java?view=diff&rev=558301&r1=558300&r2=558301
==============================================================================
--- directory/apacheds/trunk/protocol-changepw/src/main/java/org/apache/directory/server/changepw/service/VerifyServiceTicket.java (original)
+++ directory/apacheds/trunk/protocol-changepw/src/main/java/org/apache/directory/server/changepw/service/VerifyServiceTicket.java Sat Jul 21 04:21:21 2007
@@ -23,19 +23,22 @@
import javax.security.auth.kerberos.KerberosPrincipal;
import org.apache.directory.server.changepw.ChangePasswordConfiguration;
+import org.apache.directory.server.kerberos.shared.exceptions.ErrorType;
+import org.apache.directory.server.kerberos.shared.exceptions.KerberosException;
import org.apache.directory.server.kerberos.shared.messages.components.Ticket;
-import org.apache.directory.server.kerberos.shared.service.VerifyTicket;
import org.apache.mina.common.IoSession;
+import org.apache.mina.handler.chain.IoHandlerCommand;
/**
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class VerifyServiceTicket extends VerifyTicket
+public class VerifyServiceTicket implements IoHandlerCommand
{
private String contextKey = "context";
+
public void execute( NextCommand next, IoSession session, Object message ) throws Exception
{
ChangePasswordContext changepwContext = ( ChangePasswordContext ) session.getAttribute( getContextKey() );
@@ -44,13 +47,16 @@
String primaryRealm = config.getPrimaryRealm();
KerberosPrincipal changepwPrincipal = config.getServicePrincipal();
- verifyTicket( ticket, primaryRealm, changepwPrincipal );
+ if ( !ticket.getRealm().equals( primaryRealm ) || !ticket.getServerPrincipal().equals( changepwPrincipal ) )
+ {
+ throw new KerberosException( ErrorType.KRB_AP_ERR_NOT_US );
+ }
next.execute( session, message );
}
- public String getContextKey()
+ protected String getContextKey()
{
return ( this.contextKey );
}