Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-29289

SASL-AUTH SCRAM-SHA512 fails just for the Administrator user

    XMLWordPrintable

Details

    • Bug
    • Resolution: User Error
    • Major
    • None
    • 5.0.0
    • memcached
    • None
    • MacOS 10.13.4 BETA
    • Untriaged
    • Unknown

    Description

      Background
      This is a follow on from JVMCBC-528

      Problem

      When trying to authenticate as "Administrator" user using SCRAM-SHA512 the following error is reported in the memcached.log:

      2018-04-17T15:42:25.664194+01:00 NOTICE 47: HELO [{"a":"couchbase-java-client/2.5.7 (git: 2.5.6-7-g17b4f94, core: 1.5.6-3-gca2bb88) (Mac OS X/10.13.4 x86_64; Java HotSpot(TM) 64-Bit Server VM 1.8.0_92-b14)","i":"2B291CEDFD320B27/FFFFFFFF809C4A4E"}] TCP NODELAY, XATTR, Select Bucket, XERROR [ 127.0.0.1:50183 - 127.0.0.1:11210 (not authenticated) ]
      2018-04-17T15:42:25.827595+01:00 WARNING 47: StartSaslAuthTask::execute(): UUID:[2aa6d411-b5b8-4eb8-7141-30bb8083cbe7] An exception occurred: cb::cbsasl::User::getPassword: requested mechanism not available
      

      This error message is also passed back to the client in the following format

      {{"error":{"context":"An exception occurred","ref":"2aa6d411-b5b8-4eb8-7141-30bb8083cbe7"}}
      

      When any of the other users are used, it authenticates successfully.

      Steps to reproduce

      • Couchbase 5.0.0 on MacOS
      • Java SDK 2.5.7
      1. Setup a single bucket
      2. Run the following code:

        import com.couchbase.client.java.Bucket;
        import com.couchbase.client.java.Cluster;
        import com.couchbase.client.java.CouchbaseCluster;
         
        public class GetTTL
        {
            public static void main(String [] args)
            {
         
                Cluster cluster = CouchbaseCluster.create("localhost");
         
                System.out.println("Authenticating as administrator");
                cluster.authenticate("Administrator", "password");
         
                // Open the test bucket.
                System.out.println("Opening the bucket test");
                Bucket test = cluster.openBucket("test");
            }
        }
        

      Request

      • What is cause the failure?
      • Should the Server be passing the exception error back to the client
        • If it should is it in the correct format?

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              pvarley Patrick Varley (Inactive)
              pvarley Patrick Varley (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty