Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-14850 C++ client implementation
  3. HBASE-17860

Implement secure native client connection

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • HBASE-14850
    • None
    • Reviewed

    Description

      So far, the native client communicates with insecure cluster.

      This JIRA is to add secure connection support for native client using Cyrus library.
      The work is based on earlier implementation and is redone via wangle and folly frameworks.

      Thanks to devaraj who started the initiative.

      Here is high level description of the design:

      • SaslHandler is declared as:
        class SaslHandler
            : public wangle::HandlerAdapter<folly::IOBufQueue&, std::unique_ptr<folly::IOBuf>>{
        

        It would be inserted between EventBaseHandler and LengthFieldBasedFrameDecoder in the pipeline (via RpcPipelineFactory::newPipeline())

      • SaslHandler would intercept writes to server by buffering the IOBuf's and start the handshake process (via sasl_client_XX calls provided by Cyrus)
      • after handshake is complete, SaslHandler would send the buffered IOBuf's to server and act as pass-thru from then on

      Attachments

        1. 17860.v43.txt
          55 kB
          Ted Yu
        2. 17860.v21.txt
          47 kB
          Ted Yu
        3. 17860.v4.txt
          42 kB
          Ted Yu
        4. 17860.v3.txt
          42 kB
          Ted Yu
        5. 17860.v2.txt
          39 kB
          Ted Yu

        Activity

          People

            yuzhihong@gmail.com Ted Yu
            yuzhihong@gmail.com Ted Yu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: