diff --git a/lib/client.c b/lib/client.c index e778463b..71cc3790 100644 --- a/lib/client.c +++ b/lib/client.c @@ -168,6 +168,8 @@ static int mech_compare(const sasl_client_plug_t *a, if (sec_diff & b->security_flags & SASL_SEC_NODICTIONARY) return -1; if (sec_diff & a->security_flags & SASL_SEC_FORWARD_SECRECY) return 1; if (sec_diff & b->security_flags & SASL_SEC_FORWARD_SECRECY) return -1; + if (sec_diff & a->security_flags & SASL_SEC_NONSTD_CBIND) return 1; + if (sec_diff & b->security_flags & SASL_SEC_NONSTD_CBIND) return -1; features_diff = a->features ^ b->features; if (features_diff & a->features & SASL_FEAT_CHANNEL_BINDING) return 1; @@ -1216,7 +1218,10 @@ _sasl_print_mechanism ( delimiter = '|'; } - + if (m->plug->security_flags & SASL_SEC_NONSTD_CBIND) { + printf ("%cNONSTD_CBIND", delimiter); + delimiter = '|'; + } printf ("\n\tfeatures:"); diff --git a/plugins/gssapi.c b/plugins/gssapi.c index 630ad691..082cbd7e 100644 --- a/plugins/gssapi.c +++ b/plugins/gssapi.c @@ -2626,6 +2626,7 @@ static sasl_client_plug_t gssapi_client_plugins[] = | SASL_SEC_NOACTIVE | SASL_SEC_NOANONYMOUS | SASL_SEC_MUTUAL_AUTH + | SASL_SEC_NONSTD_CBIND | SASL_SEC_PASS_CREDENTIALS, /* security_flags */ SASL_FEAT_NEEDSERVERFQDN | SASL_FEAT_WANT_CLIENT_FIRST @@ -2649,6 +2650,7 @@ static sasl_client_plug_t gssapi_client_plugins[] = | SASL_SEC_NOACTIVE | SASL_SEC_NOANONYMOUS | SASL_SEC_MUTUAL_AUTH + | SASL_SEC_NONSTD_CBIND | SASL_SEC_PASS_CREDENTIALS, /* security_flags */ SASL_FEAT_NEEDSERVERFQDN | SASL_FEAT_WANT_CLIENT_FIRST