[ https://issues.apache.org/jira/browse/DRILL-4335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15970787#comment-15970787 ]
ASF GitHub Bot commented on DRILL-4335: --------------------------------------- Github user sohami commented on a diff in the pull request: https://github.com/apache/drill/pull/773#discussion_r111647100 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/rpc/security/ServerAuthenticationHandler.java --- @@ -251,25 +256,62 @@ void process(SaslResponseContext<S, T> context) throws Exception { private static <S extends ServerConnection<S>, T extends EnumLite> void handleSuccess(final SaslResponseContext<S, T> context, final SaslMessage.Builder challenge, final SaslServer saslServer) throws IOException { - context.connection.changeHandlerTo(context.requestHandler); - context.connection.finalizeSaslSession(); - context.sender.send(new Response(context.saslResponseType, challenge.build())); - // setup security layers here.. + final S connection = context.connection; + connection.changeHandlerTo(context.requestHandler); + connection.finalizeSaslSession(); + context.sender.send(new Response(context.saslResponseType, challenge.build())); if (logger.isTraceEnabled()) { - logger.trace("Authenticated {} successfully using {} from {}", saslServer.getAuthorizationID(), - saslServer.getMechanismName(), context.remoteAddress); + logger.trace("Authenticated {} successfully using {} from {} with encryption context {}", + saslServer.getAuthorizationID(), saslServer.getMechanismName(), connection.getRemoteAddress().toString(), + connection.getEncryptionString()); + } + + if (connection.isEncrypted()) { + try { + // Check if connection was marked for being secure then verify for negotiated QOP value for correctness. + final String negotiatedQOP = saslServer.getNegotiatedProperty(Sasl.QOP).toString(); + assert (negotiatedQOP.equals(SaslProperties.QualityOfProtection.PRIVACY.getSaslQop())); --- End diff -- Fixed. > Apache Drill should support network encryption > ---------------------------------------------- > > Key: DRILL-4335 > URL: https://issues.apache.org/jira/browse/DRILL-4335 > Project: Apache Drill > Issue Type: New Feature > Reporter: Keys Botzum > Assignee: Sorabh Hamirwasia > Labels: security > Attachments: ApacheDrillEncryptionUsingSASLDesign.pdf > > > This is clearly related to Drill-291 but wanted to make explicit that this > needs to include network level encryption and not just authentication. This > is particularly important for the client connection to Drill which will often > be sending passwords in the clear until there is encryption. -- This message was sent by Atlassian JIRA (v6.3.15#6346)