Fixed handling of channel bindings on the client side
[cyrus-sasl.git] / include / saslplug.h
index ad96e93..4878a96 100755 (executable)
@@ -225,8 +225,8 @@ typedef enum  {
 
 typedef enum {
     SASL_CB_DISP_NONE = 0,          /* client did not support CB */
-    SASL_CB_DISP_USED,              /* client supports CB, thinks server does not */
-    SASL_CB_DISP_WANT               /* client supports and used CB */
+    SASL_CB_DISP_WANT,              /* client supports CB, thinks server does not */
+    SASL_CB_DISP_USED               /* client supports and used CB */
 } sasl_cbinding_disp_t;
 
 /* TRUE if channel binding is non-NULL */
@@ -343,11 +343,17 @@ typedef struct sasl_client_params {
 /* This plugin allows proxying */
 #define SASL_FEAT_ALLOWS_PROXY 0x0020
 
+/* server plugin needs old password in order to change password */
+#define SASL_FEAT_NEED_OLD_PASSWD 0x0040
+
+/* server plugin don't use cleartext userPassword attribute */
+#define SASL_FEAT_DONTUSE_USERPASSWD 0x0080
+
 /* Underlying mechanism uses GSS framing */
-#define SASL_FEAT_GSS_FRAMING       0x0040
+#define SASL_FEAT_GSS_FRAMING       0x0100
 
 /* Underlying mechanism supports channel binding */
-#define SASL_FEAT_CHANNEL_BINDING  0x0080
+#define SASL_FEAT_CHANNEL_BINDING  0x0200
 
 /* client plug-in features */
 #define SASL_FEAT_NEEDSERVERFQDN 0x0001