From commits-return-49385-archive-asf-public=cust-asf.ponee.io@directory.apache.org Tue Jun 5 10:56:10 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 06BE118067B for ; Tue, 5 Jun 2018 10:56:09 +0200 (CEST) Received: (qmail 30628 invoked by uid 500); 5 Jun 2018 08:56:09 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 30588 invoked by uid 99); 5 Jun 2018 08:56:08 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jun 2018 08:56:08 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 30E35829D9; Tue, 5 Jun 2018 08:56:08 +0000 (UTC) Date: Tue, 05 Jun 2018 08:56:10 +0000 To: "commits@directory.apache.org" Subject: [directory-server] 02/02: o Extending IoHandlerAdapter instead of implementing IoHandler o Added the event() message for LDAP o Calling closeNow() instead of close(true) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: elecharny@apache.org In-Reply-To: <152818896808.25656.8702299342734583024@gitbox.apache.org> References: <152818896808.25656.8702299342734583024@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: directory-server X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Rev: af4c0723d671827c60749b4239a7cb40cf0de32b X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20180605085608.30E35829D9@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. elecharny pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/directory-server.git commit af4c0723d671827c60749b4239a7cb40cf0de32b Author: Emmanuel Lécharny AuthorDate: Tue Jun 5 10:55:54 2018 +0200 o Extending IoHandlerAdapter instead of implementing IoHandler o Added the event() message for LDAP o Calling closeNow() instead of close(true) --- .../server/dhcp/protocol/DhcpProtocolHandler.java | 4 +- .../server/dns/protocol/DnsProtocolHandler.java | 4 +- .../kerberos/protocol/KerberosProtocolHandler.java | 6 +-- .../directory/server/ldap/LdapProtocolHandler.java | 49 ++++++++++++---------- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/protocol-dhcp/src/main/java/org/apache/directory/server/dhcp/protocol/DhcpProtocolHandler.java b/protocol-dhcp/src/main/java/org/apache/directory/server/dhcp/protocol/DhcpProtocolHandler.java index 3457783..da11887 100644 --- a/protocol-dhcp/src/main/java/org/apache/directory/server/dhcp/protocol/DhcpProtocolHandler.java +++ b/protocol-dhcp/src/main/java/org/apache/directory/server/dhcp/protocol/DhcpProtocolHandler.java @@ -27,7 +27,7 @@ import java.net.InetSocketAddress; import org.apache.directory.server.dhcp.messages.DhcpMessage; import org.apache.directory.server.dhcp.messages.MessageType; import org.apache.directory.server.dhcp.service.DhcpService; -import org.apache.mina.core.service.IoHandler; +import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; @@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory; * @see org.apache.directory.server.dhcp.service.DhcpService * @author Apache Directory Project */ -public class DhcpProtocolHandler implements IoHandler +public class DhcpProtocolHandler extends IoHandlerAdapter { private static final Logger LOG = LoggerFactory.getLogger( DhcpProtocolHandler.class ); diff --git a/protocol-dns/src/main/java/org/apache/directory/server/dns/protocol/DnsProtocolHandler.java b/protocol-dns/src/main/java/org/apache/directory/server/dns/protocol/DnsProtocolHandler.java index 3e764c8..f20a864 100644 --- a/protocol-dns/src/main/java/org/apache/directory/server/dns/protocol/DnsProtocolHandler.java +++ b/protocol-dns/src/main/java/org/apache/directory/server/dns/protocol/DnsProtocolHandler.java @@ -34,7 +34,7 @@ import org.apache.directory.server.dns.messages.ResponseCode; import org.apache.directory.server.dns.service.DnsContext; import org.apache.directory.server.dns.service.DomainNameService; import org.apache.directory.server.dns.store.RecordStore; -import org.apache.mina.core.service.IoHandler; +import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; @@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory; /** * @author Apache Directory Project */ -public class DnsProtocolHandler implements IoHandler +public class DnsProtocolHandler extends IoHandlerAdapter { private static final Logger LOG = LoggerFactory.getLogger( DnsProtocolHandler.class ); diff --git a/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java b/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java index 4f6f904..ec71944 100644 --- a/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java +++ b/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/protocol/KerberosProtocolHandler.java @@ -40,7 +40,7 @@ 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.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; import org.slf4j.Logger; @@ -53,7 +53,7 @@ import org.slf4j.LoggerFactory; * * @author Apache Directory Project */ -public class KerberosProtocolHandler implements IoHandler +public class KerberosProtocolHandler extends IoHandlerAdapter { /** The loggers for this class */ private static final Logger LOG = LoggerFactory.getLogger( KerberosProtocolHandler.class ); @@ -156,7 +156,7 @@ public class KerberosProtocolHandler implements IoHandler { LOG.error( "{} EXCEPTION", session.getRemoteAddress(), cause ); LOG_KRB.error( "{} EXCEPTION", session.getRemoteAddress(), cause ); - session.close( true ); + session.closeNow(); } diff --git a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java index 6b815bd..d53f673 100644 --- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java +++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java @@ -20,14 +20,12 @@ package org.apache.directory.server.ldap; -import org.apache.directory.api.ldap.codec.api.LdapApiServiceFactory; import org.apache.directory.api.ldap.codec.api.LdapDecoder; import org.apache.directory.api.ldap.codec.api.LdapMessageContainer; import org.apache.directory.api.ldap.codec.api.MessageDecorator; import org.apache.directory.api.ldap.codec.api.SchemaBinaryAttributeDetector; import org.apache.directory.api.ldap.model.exception.ResponseCarryingMessageException; import org.apache.directory.api.ldap.model.message.Control; -import org.apache.directory.api.ldap.model.message.ExtendedRequest; import org.apache.directory.api.ldap.model.message.Message; import org.apache.directory.api.ldap.model.message.Request; import org.apache.directory.api.ldap.model.message.ResultCodeEnum; @@ -36,7 +34,8 @@ import org.apache.directory.api.ldap.model.message.ResultResponseRequest; import org.apache.directory.api.ldap.model.message.extended.NoticeOfDisconnect; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; -import org.apache.mina.filter.ssl.SslFilter; +import org.apache.mina.filter.FilterEvent; +import org.apache.mina.filter.ssl.SslEvent; import org.apache.mina.handler.demux.DemuxingIoHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -136,7 +135,7 @@ class LdapProtocolHandler extends DemuxingIoHandler { try { - ldapSession.getIoSession().close( true ); + ldapSession.getIoSession().closeNow(); } catch ( Throwable t ) { @@ -162,6 +161,30 @@ class LdapProtocolHandler extends DemuxingIoHandler super.messageSent( session, message ); } + + /** + * {@inheritDoc} + */ + @Override + public void event( IoSession session, FilterEvent event ) throws Exception + { + Object message; + + if ( event instanceof SslEvent ) + { + if ( ( ( SslEvent ) event ) == SslEvent.SECURED ) + { + LdapSession ldapSession = ldapServer.getLdapSessionManager().getLdapSession( session ); + LOG.debug( "Session {} secured", ldapSession ); + } + else + { + LdapSession ldapSession = ldapServer.getLdapSessionManager().getLdapSession( session ); + LOG.debug( "Session {} not secured", ldapSession ); + } + } + } + /** * {@inheritDoc} @@ -178,22 +201,6 @@ class LdapProtocolHandler extends DemuxingIoHandler // handler should react to only SESSION_UNSECURED message // and degrade authentication level to 'anonymous' as specified // in the RFC, and this is no threat. - - if ( message == SslFilter.SESSION_SECURED ) - { - ExtendedRequest req = - LdapApiServiceFactory.getSingleton().newExtendedRequest( "1.3.6.1.4.1.1466.20037", - "SECURED".getBytes( "ISO-8859-1" ) ); - message = req; - } - else if ( message == SslFilter.SESSION_UNSECURED ) - { - ExtendedRequest req = - LdapApiServiceFactory.getSingleton().newExtendedRequest( "1.3.6.1.4.1.1466.20037", - "SECURED".getBytes( "ISO-8859-1" ) ); - message = req; - } - if ( ( ( Request ) message ).getControls().size() > 0 && message instanceof ResultResponseRequest ) { @@ -238,6 +245,6 @@ class LdapProtocolHandler extends DemuxingIoHandler session.write( NoticeOfDisconnect.PROTOCOLERROR ); LdapSession ldapSession = this.ldapServer.getLdapSessionManager().removeLdapSession( session ); cleanUpSession( ldapSession ); - session.close( true ); + session.closeNow(); } } -- To stop receiving notification emails like this one, please contact elecharny@apache.org.