You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/12/07 19:26:01 UTC
svn commit: r1043155 - in
/directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src:
main/java/org/apache/directory/server/kerberos/protocol/
test/java/org/apache/directory/server/kerberos/protocol/
Author: elecharny
Date: Tue Dec 7 18:26:01 2010
New Revision: 1043155
URL: http://svn.apache.org/viewvc?rev=1043155&view=rev
Log:
Fixed a error when the received message is not a request
Modified:
directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java
directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/AuthenticationServiceTest.java
Modified: directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java?rev=1043155&r1=1043154&r2=1043155&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java (original)
+++ directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java Tue Dec 7 18:26:01 2010
@@ -31,13 +31,13 @@ import org.apache.directory.server.kerbe
import org.apache.directory.server.kerberos.kdc.authentication.AuthenticationService;
import org.apache.directory.server.kerberos.kdc.ticketgrant.TicketGrantingContext;
import org.apache.directory.server.kerberos.kdc.ticketgrant.TicketGrantingService;
-import org.apache.directory.shared.kerberos.exceptions.KerberosException;
import org.apache.directory.server.kerberos.shared.store.PrincipalStore;
import org.apache.directory.shared.kerberos.KerberosMessageType;
import org.apache.directory.shared.kerberos.KerberosTime;
import org.apache.directory.shared.kerberos.components.KdcReq;
import org.apache.directory.shared.kerberos.components.PrincipalName;
import org.apache.directory.shared.kerberos.exceptions.ErrorType;
+import org.apache.directory.shared.kerberos.exceptions.KerberosException;
import org.apache.directory.shared.kerberos.messages.KrbError;
import org.apache.mina.core.service.IoHandler;
import org.apache.mina.core.session.IdleStatus;
@@ -125,6 +125,16 @@ public class KerberosProtocolHandler imp
}
InetAddress clientAddress = ( ( InetSocketAddress ) session.getRemoteAddress() ).getAddress();
+
+ if ( !message.getClass().isAssignableFrom( KdcReq.class ) )
+ {
+ log.error( I18n.err( I18n.ERR_152, ErrorType.KRB_AP_ERR_BADDIRECTION ) );
+
+ session.write( getErrorMessage( config.getServicePrincipal(), new KerberosException(
+ ErrorType.KRB_AP_ERR_BADDIRECTION ) ) );
+ return;
+ }
+
KdcReq request = ( KdcReq ) message;
KerberosMessageType messageType = request.getMessageType();
@@ -191,7 +201,6 @@ public class KerberosProtocolHandler imp
}
catch ( Exception e )
{
- e.printStackTrace();
log.error( I18n.err( I18n.ERR_152, e.getLocalizedMessage() ), e );
session.write( getErrorMessage( config.getServicePrincipal(), new KerberosException(
Modified: directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/AuthenticationServiceTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/AuthenticationServiceTest.java?rev=1043155&r1=1043154&r2=1043155&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/AuthenticationServiceTest.java (original)
+++ directory/apacheds/branches/apacheds-kerberos-codec-2.0/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/AuthenticationServiceTest.java Tue Dec 7 18:26:01 2010
@@ -154,7 +154,7 @@ public class AuthenticationServiceTest e
Object msg = session.getMessage();
assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
KrbError error = ( KrbError ) msg;
- assertEquals( "Incorrect message direction", 47, error.getErrorCode() );
+ assertEquals( "Incorrect message direction", ErrorType.KRB_AP_ERR_BADDIRECTION, error.getErrorCode() );
message = new TgsRep();
@@ -163,7 +163,7 @@ public class AuthenticationServiceTest e
msg = session.getMessage();
assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
error = ( KrbError ) msg;
- assertEquals( "Incorrect message direction", 47, error.getErrorCode() );
+ assertEquals( "Incorrect message direction", ErrorType.KRB_AP_ERR_BADDIRECTION, error.getErrorCode() );
}