Alessandro Vesely writes:
On Thu 26/Jan/2017 01:53:59 +0100 Sam Varshavchik wrote: > Alessandro Vesely writes: >> On Wed 25/Jan/2017 14:33:16 +0100 Sam Varshavchik wrote: >>> Alessandro Vesely writes: >>>> >>>> The main difficulty is to get the sources for the include files: >>>> >>>> I include courierauth.h and courierauthsasl.h from authlib-devel. But >>>> I also need: >>>> >>>> #include "libs/libhmac/hmac.h" // for struct hmac_hashinfo >>>> #include "cramlib.h" // for auth_cram_callback >>>> >>>> In addition, I also need auth.h, because cramlib.h includes it (it >>>> would suffice to declare "struct authinfo;" to avoid the inclusion). >>>> All file names in include_HEADER start with "courier", so some >>>> renaming would be in order if this issue is ever addressed. >>> >>> It should be possible for you to support SASL authentication by using >>> authsasl_list, that's declared in courierauthsasl.h. >> >> The authsasl_cram function declared in courierauthsasl.h seems to be >> designed to be called /during/ the dialog. In authProg, instead, I read >> stuff more or less like: >> >> AUTH 30\nesmtp\nlogin\njoe@spam\npassword >>>> /after/ the dialog is already terminated. If it was SASL instead of login, the >> last two lines read would contain challenge and response, which I decode with >> authsasl_frombase64(); then I pass cleartext password, challenge and response >> to auth_cram_callback(), and based on its return code either authenticate the>> user or fail. > > Yeah, ok. > > These exported functions are meant to be used for developing authentication > clients, not servers. > > Looks like all you need are the functions in cramlib.hYes, and the structure defined in hmac.h. I trimmed the text above so as to make it more likely to fit on a sticky note, for the next release of authlib, whenever it comes.
I don't follow – what's still left in hmac.h that needs to be visible, when using only the exported functions from cramlib.h?
The definition of hmac_hashinfo doesn't appear to need to be visible. The pointer to it will be initialized by auth_get_cram().
pgp51Cg5P9bd4.pgp
Description: PGP signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________ courier-users mailing list courier-users@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users