Re: Password accessing in CRAM-MD5 authentication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Denis Malyshkin wrote:

Hello Alexey,

Wednesday, February 7, 2007, 11:50:11 PM, Alexey Melnikov wrote:
Does SASL 2 use another way for the caller-supplied database for
CRAM-MD5 mechanism ?
AM> Yes. You should write your own auxprop plugin. Look at plugins/sasldb.c
AM> (or plugins/sql.c) for an example.

 Thanks a lot. It works!

 But I have two other questions:

1. My application is written in C++, so it can have multiple objects
"SMTP-Server" at run-time. SASL plugins have only one "void *"
parameter which used in global plugin initialization. How can I
associate different user/password databases to different servers
(different classes instance in one application) ?
The best you can get with the current API is having multiple instances of the same plugin, each creating a different instance of your class.

2. Also we use library 'libetpan' and we need to encapsulate both
server and client into the one application. But 'libetpan' often calls
sasl_client_init()/sasl_done(). After sasl_done() SASL server part
also is terminated. Do you have any suggestions in that case ?  How
should client completely terminate his SASL session without
interfering server sessions ?
There is a patch to Cyrus SASL that can do proper reference counting. E.g. if an application calls both sasl_client_init and sasl_server_init, it will have to call sasl_done twice. And only the second call to sasl_done will destroy internal objects.

Rob Siemborski didn't want to integrate it, because he was worried that this would break existing applications, which expect the current (broken) behavior.


[Index of Archives]     [Info Cyrus]     [Squirrel Mail]     [Linux Media]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux