Yes, that will be very helpful Dormando. I agree, might be missing
something.
The points where I think I might be going wrong are as follows:

1. The exact location and contents of memcached.conf and the sasl db file -
memcached-sasl-pwdb (and the interaction between the two).
As per my understanding, SASL_CONF_PATH, tells the memcached server where
to read the file from and then the line sasldb_path in the conf file tells
the server where to get the sasl db file for username:password
authentication. I feel this linkage is not happening correctly in my case.

2. Is the sasl db file generated on its own when I run the server? If yes,
do we need to add command line parameters while running the memcached
server for this to happen. (FYI: I have configured --enable-sasl-pwdb while
running configure)

The main problem I am facing right now is memcached-sasl-pwdb is not
getting created and populated on its own.
Please do let me know the outcome once you try to reproduce it. I am
cuurently using MAC-OS high Sierra.

Thanks and Regards,
Om Kale


On Mon, Apr 9, 2018 at 12:28 PM, dormando <dorma...@rydia.net> wrote:

> Hey,
>
> I'll try to reproduce this today. I have a feeling you're skipping some
> steps but it's definitely a confusing process...
>
> On Mon, 9 Apr 2018, Om Kale wrote:
>
> > Currently my set up is as follows:
> > 1. My memcached.conf exists at /Users/okale/Library/Caches/
> Homebrew/memcached-1.5.7/
> > 2. The memcached server on starting reads from this file as shown in the
> log:
> > 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.
> > 3. The contents of the memcached.conf are:
> > mech_list: plain
> > log_level: 5
> > sasldb_path: /Users/okale/Library/Caches/Homebrew/memcached-1.5.7/
> memcached-sasl-pwdb
> > 4. The memcached-sasl-pwdb is located at /Users/okale/Library/
> Caches/Homebrew/memcached-1.5.7/ and has the line:
> > (I am adding this line manually as the command 'echo "testpass" |
> saslpasswd2 -a memcached -c -p testuser' is not creating the file and
> adding the
> > content in it)
> > ok:hello
> >
> > However, I still see same error on server side:
> > mech:  ``SRP'' with 15 bytes of data
> > SASL (severity 2): no secret in database
> > sasl result code:  -4
> > Unknown sasl response:  -4
> >
> > Also on client side, I still see:
> > OKALE-M-33H5:mycode okale$ ./testsasl ok hello localhost
> > Set failed: AUTHENTICATION FAILURE
> >
> >
> > One more question is:
> > Is there any additional info to be provided while starting the memcached
> server itself?
> >
> > Thanks and Regards,Om Kale
> >
> >
> > On Mon, Apr 9, 2018 at 10:35 AM, Om Kale <omkal...@gmail.com> wrote:
> >       Hey Dormando,
> > I do not see the memcached-sasl-pwdb created and the password added in
> it.
> > The steps are same as above.
> > Also, is there a specific location where memcached.conf and the sasl db
> file: memcached-sasl-pwdb, need to be put?
> > I do not see the memcached-sasl-pwdb created automatically. Also the
> memcached.conf is located at t/sasl/memcached.conf, do I need to make the
> > modification in this file to point to sasl db or can I create my own
> memcached.conf at another location?
> >
> >
> >
> >
> > Thanks and Regards,Om Kale
> >
> >
> > On Fri, Apr 6, 2018 at 5:53 PM, dormando <dorma...@rydia.net> wrote:
> >       Hey,
> >
> >       Did the memcached-sasl-pwdb file get created and is there a line
> in it?
> >
> >       On Fri, 6 Apr 2018, Om Kale wrote:
> >
> >       > Got it. I see the line you mentioned in the test code.
> >       > I executed the following steps but still see same issue. (I ran
> ./configure after the echo command)
> >       >
> >       >
> >       > Here are the steps:
> >       >
> >       > OKALE-M-33H5:memcached-1.5.7 okale$ echo "hello" | saslpasswd2
> -a memcached -c -p ok
> >       > OKALE-M-33H5:memcached-1.5.7 okale$ ls -lrth | grep -i
> 'memcached.conf'
> >       > -rw-r--r--   1 okale  staff   116B Apr  6 15:28 memcached.conf
> >       > OKALE-M-33H5:memcached-1.5.7 okale$
> >       > OKALE-M-33H5:memcached-1.5.7 okale$
> >       > OKALE-M-33H5:memcached-1.5.7 okale$
> >       > OKALE-M-33H5:memcached-1.5.7 okale$ cat memcached.conf
> >       > mech_list: plain
> >       > log_level: 5
> >       > sasldb_path: /Users/okale/Library/Caches/
> Homebrew/memcached-1.5.7/memcached-sasl-pwdb
> >       > OKALE-M-33H5:memcached-1.5.7 okale$
> >       > OKALE-M-33H5:memcached-1.5.7 okale$
> >       > 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
> >       >
> >       >
> >       >
> >       > Client side:
> >       > OKALE-M-33H5:mycode okale$ ./testsasl ok hello localhost
> >       > Set failed: AUTHENTICATION FAILURE
> >       > OKALE-M-33H5:mycode okale$
> >       >
> >       >
> >       >
> >       > Is there a specific location where memcached.conf and the sasl
> db file: memcached-sasl-pwdb, need to be put?
> >       >
> >       >
> >       >
> >       >
> > > Thanks and Regards,Om Kale
> > >
> > >
> > > On Fri, Apr 6, 2018 at 3:54 PM, dormando <dorma...@rydia.net> wrote:
> > >       Read the 30 lines around where I said, not just that line.
> > >
> > >       though I guess it's just:
> > >
> > >       system("echo testpass | $saslpasswd_path -a memcached -c -p
> testuser");
> > >
> > >       so that means:
> > >
> > >       echo "testpass" | saslpasswd2 -a memcached -c -p testuser
> > >       if you run that from the same directory as your memcached.conf
> (or use -f
> > >       to point to it?), it should create the file properly.
> > >
> > >       I'm saying to use the tool instead of just putting the
> username/password
> > >       into the file, and also using the sasldb_path: argument in
> memcached.conf
> > >       to point to the sasldb, instead of the environment variable.
> > >
> > >       On Fri, 6 Apr 2018, Om Kale wrote:
> > >
> > >       > Hey Dormando,
> > >       > Ok. When I look at the 't/binary-sasl.t' and search for the
> section you mentioned,
> > >       > I see this:
> > >       >
> > >       > # Build the auth DB for testing.
> > >       >
> > >       > my $sasldb = '/tmp/test-memcached.sasldb';
> > >       >
> > >       > unlink $sasldb;
> > >       >
> > >       >
> > >       > In the t/sasl/memcached.conf, I see the following:
> > >       > mech_list: plain cram-md5
> > >       > log_level: 5
> > >       > sasldb_path: /tmp/test-memcached.sasldb
> > >       >
> > >       > Now, let me know what I need to do....a bit confused.
> > >       > Do I need to change any of the above or do I create
> test-memcached.sasldb under tmp on my machine, add a username:password to it
> > and then
> > >       run ./configure
> > >       > followed by make?
> > >       >
> > >       >
> > >       >
> > >       >
> > >       > Thanks and Regards,Om Kale
> > >       >
> > >       >
> > >       > On Fri, Apr 6, 2018 at 2:48 PM, dormando <dorma...@rydia.net>
> wrote:
> > >       >       Just for sanity's sake, if you look at:
> t/sasl/memcached.conf in the
> > >       >       tarball, and look at t/binary-sasl.t (look for the
> section starting with
> > >       >       "my $sasldb =", and build a passwd + configure the pwdb
> that way, does it
> > >       >       work?
> > >       >
> > >       >       to reiterate; the test config file explicitly declares
> the path for the db
> > >       >       within memcached.conf, and then adds the passwords to it
> via the
> > >       >       saslpasswd tool.
> > >       >
> > >       >       Would help rule things out anyway. thanks!
> > >       >
> > >       >       On Fri, 6 Apr 2018, Om Kale wrote:
> > >       >
> > >       >       > 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.
> > >       >       >       > 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.
> > >       >       >
> > >       >       >
> > >       >
> > >       >       --
> > >       >
> > >       >       ---
> > >       >       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.
> > >       >
> > >       >
> > >       > --
> > >       >
> > >       > ---
> > >       > 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.
> > >       >
> > >       >
> > >
> > >       --
> > >
> > >       ---
> > >       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.
> > >
> > >
> > > --
> > >
> > > ---
> > > 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.
> > >
> > >
> >
> > --
> >
> > ---
> > 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.
> >
> >
> >
> > --
> >
> > ---
> > 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.
> >
> >
>
> --
>
> ---
> 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.
>

-- 

--- 
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.

Reply via email to