3 ** Copyright 2000 Double Precision, Inc. See COPYING for
4 ** distribution information.
7 #include "courier_auth_config.h"
8 #include "courierauthsasl.h"
9 #include "authsaslclient.h"
16 int authsaslclient_plain(const struct authsaslclientinfo
*info
)
20 const char *userid
, *password
;
21 size_t userid_l
, password_l
;
23 userid
=info
->userid
? info
->userid
:"";
24 password
=info
->password
? info
->password
:"";
26 userid_l
=strlen(userid
);
27 password_l
=strlen(password
);
29 q
=malloc(userid_l
+password_l
+2);
34 return (AUTHSASL_ERROR
);
38 memcpy(q
+2+userid_l
, password
, password_l
);
40 r
=authsasl_tobase64(q
, userid_l
+password_l
+2);
46 return (AUTHSASL_ERROR
);
49 i
=(*info
->plain_conv_func
)("PLAIN", r
, info
->conv_func_arg
);