Yup, it will be really helpful if you could try and reproduce it. Yes...that's the thing I was wondering, 'no secret in database' means its able to reach the database, but unable to read/load the memcached-sasl-pwdb file. Additionally, I was wondering, if there is need to write additional code for some shared secret at client side or any other dependencies. Currently, I am directly using memcached_set_sasl_auth_data function in the client.
Here are the steps to reproduce: 1. I installed the memcached server with the enable-sasl and enable-sasl-db. 2. Wrote a c client as attached in the email. 3. Created a file with the username:password entry named memcached-sasl-pwdb as shown before. 4. Created a memcached.conf with mech:plain 5. Ran the server using ./memcached -S -vv 6. Ran the client using ./testsasl username password localhost Couple more things to add: 1. I have followed the following wiki: https://github.com/memcached/memcached/wiki/SASLHowto 2. I haven't used this but added the user:pass in the memcached-sasl-pwdb file manually. saslpasswd2 -a memcached -c cacheuser 3. For the SASL library cyrus-sasl-plain, I have installed it, but havent used/pointed to it in code or on the server as I did not see steps for this. 4.I see its mentioned configure option --enable-sasl-pwdb is not working on the wiki, but saw that its there in one of the new PRs. https://github.com/memcached/memcached/issues/365 Let me know if you need any additional info from my side. Regards, Om Kale On Friday, April 6, 2018 at 12:45:26 PM UTC-7, Dormando wrote: > > No secret in database means it thinks the pwdb is empty (or it can't > load/find the pwdb). > > I'm not sure why offhand.. I can try to reproduce it but won't have time > until later today. > > On Fri, 6 Apr 2018, Om Kale wrote: > > > Hi Dormando, > > Thanks for the quick reply. I used the environment variable you > suggested before running the memcached server instance: > > > MEMCACHED_SASL_PWDB="/Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached-sasl-pwdb" > > > > > > I have added the following in my memcached.conf file (so basically tells > plain text). I have openssl and openldap installed on my machine but > haven't > > specified it any config or pointed to it in the code. > > > OKALE-M-33H5:memcached-1.5.7 okale$ cat memcached.conf > > > mech_list: plain > > > > Now I run: > > ./memcached -S -v > > > > Followed by the client: > > OKALE-M-33H5:mycode okale$ ./testsasl ok hello localhost > > Set failed: AUTHENTICATION FAILURE > > > > But still get the same error as before on the memcached server: > > OKALE-M-33H5:memcached-1.5.7 okale$ export > MEMCACHED_SASL_PWDB="/Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached-sasl-pwdb" > > > > OKALE-M-33H5:memcached-1.5.7 okale$ ./memcached -S -v > > Reading configuration from: > </Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached.conf> > > Initialized SASL. > > mech: ``SRP'' with 15 bytes of data > > SASL (severity 2): no secret in database > > sasl result code: -4 > > Unknown sasl response: -4 > > > > > > > > You could refer to my attached client code above but I still don't > understand why it says 'no secret in database'. > > > > > > > > Thanks and Regards, > > Om Kale > > > > > > > > > > > > On Friday, April 6, 2018 at 12:19:17 PM UTC-7, Dormando wrote: > > > > > > On Fri, 6 Apr 2018, Om Kale wrote: > > > > > and then try to run my client, I get the following error on the > server: > > > > > > > > > OKALE-M-33H5:memcached-1.5.7 okale$ ./memcached -S -v > > > Reading configuration from: > </Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached.conf> > > > Initialized SASL. > > > mech: ``SRP'' with 15 bytes of data > > > SASL (severity 2): no secret in database > > > sasl result code: -4 > > > Unknown sasl response: -4 > > > > > > > > > I have added my username, password in a file called > memcached-sasl-pwdb which is located at > > > > /Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached-sasl-pwdb > > > > > > > > > OKALE-M-33H5:memcached-1.5.7 okale$ cat memcached-sasl-pwdb > > > ok:hello > > > > > > > > > > > > My memcached.conf located at > /Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached.conf and > contains: > > > > > > > > > OKALE-M-33H5:memcached-1.5.7 okale$ cat memcached.conf > > > mech_list: plain > > > > > > > > > I have a couple of questions: > > > 1. How can the memcached server on start up know the configured > users and the username:password details. (Does it read it from > > memcached-sasl-pwdb? If > > > yes, how do I configure it/point to it?) > > > > I guess the wiki didn't get fully updated :( If you use PWDB, it's > via > > MEMCACHED_SASL_PWDB as an environment variable, so: > > $ > > > MEMCACHED_SASL_PWDB="/Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached-sasl-pwdb" > > > > ./memcached -S -v > > > > > > > 2. What's the use of the memcached.conf file in the "Reading > configuration from: > > > </Users/okale/Library/Caches/Homebrew/memcached-1.5.7/memcached.conf>" > > > > Stating the supported mechanisms for sasl authentication (ie; the > at-rest > > state of the password data) > > > > > in the output. I am presuming this read will tell the memcached > server the username:password details. If yes, what should be the location > > of this file > > > 3. Do I need to install/point to any additional ssl libraries > during server bring up? > > > > Should be answered above. Hopefully that works for you > > > > -- > > > > --- > > You received this message because you are subscribed to the Google > Groups "memcached" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to memcached+...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > > > > -- --- You received this message because you are subscribed to the Google Groups "memcached" group. To unsubscribe from this group and stop receiving emails from it, send an email to memcached+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.