[ https://issues.apache.org/jira/browse/DRILL-4280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15623241#comment-15623241 ]
ASF GitHub Bot commented on DRILL-4280: --------------------------------------- Github user laurentgo commented on a diff in the pull request: https://github.com/apache/drill/pull/578#discussion_r85796563 --- Diff: contrib/native/client/src/clientlib/drillClientImpl.cpp --- @@ -427,6 +511,121 @@ connectionStatus_t DrillClientImpl::validateHandshake(DrillUserProperties* prope getMessage(ERR_CONN_AUTHFAIL, this->m_handshakeErrorId.c_str(), this->m_handshakeErrorMsg.c_str())); + case exec::user::AUTH_REQUIRED: { + DRILL_MT_LOG(DRILL_LOG(LOG_TRACE) << "Server requires SASL authentication." << std::endl;) + SaslAuthenticatorImpl saslAuthenticator(properties); + int saslResult = 0; + std::string chosenMech; + const char *out; + unsigned outlen; + saslResult = saslAuthenticator.init(m_mechanisms, chosenMech, &out, &outlen); + if (saslResult != SASL_OK) { + DRILL_MT_LOG(DRILL_LOG(LOG_TRACE) << "Authenticator init failed. Code: " << saslResult << std::endl;) + return handleConnError(CONN_AUTH_FAILED, "User authentication init failed."); + } + if (NULL == out) { + out = (&::google::protobuf::internal::kEmptyString)->c_str(); --- End diff -- we should not use protobuf internal constants. Either use the empty string "" here (it might be okay if some of the functions you call out with are not keeping reference on it after returning), or create a special constant. > Kerberos Authentication > ----------------------- > > Key: DRILL-4280 > URL: https://issues.apache.org/jira/browse/DRILL-4280 > Project: Apache Drill > Issue Type: Improvement > Reporter: Keys Botzum > Assignee: Chunhui Shi > Labels: security > > Drill should support Kerberos based authentication from clients. This means > that both the ODBC and JDBC drivers as well as the web/REST interfaces should > support inbound Kerberos. For Web this would most likely be SPNEGO while for > ODBC and JDBC this will be more generic Kerberos. > Since Hive and much of Hadoop supports Kerberos there is a potential for a > lot of reuse of ideas if not implementation. > Note that this is related to but not the same as > https://issues.apache.org/jira/browse/DRILL-3584 -- This message was sent by Atlassian JIRA (v6.3.4#6332)