struct sasl_channel_bindings *cb = (struct sasl_channel_bindings *)value;
if (conn->type == SASL_CONN_SERVER) {
struct sasl_channel_bindings *cb = (struct sasl_channel_bindings *)value;
if (conn->type == SASL_CONN_SERVER) {
((sasl_server_conn_t *)conn)->sparams->chanbindingstype = cb->type;
((sasl_server_conn_t *)conn)->sparams->chanbindingscrit = cb->critical;
((sasl_server_conn_t *)conn)->sparams->chanbindingsdata = cb->data;
((sasl_server_conn_t *)conn)->sparams->chanbindingslen = cb->len;
} else {
((sasl_client_conn_t *)conn)->cparams->chanbindingstype = cb->type;
((sasl_server_conn_t *)conn)->sparams->chanbindingstype = cb->type;
((sasl_server_conn_t *)conn)->sparams->chanbindingscrit = cb->critical;
((sasl_server_conn_t *)conn)->sparams->chanbindingsdata = cb->data;
((sasl_server_conn_t *)conn)->sparams->chanbindingslen = cb->len;
} else {
((sasl_client_conn_t *)conn)->cparams->chanbindingstype = cb->type;
((sasl_client_conn_t *)conn)->cparams->chanbindingsdata = cb->data;
((sasl_client_conn_t *)conn)->cparams->chanbindingslen = cb->len;
}
((sasl_client_conn_t *)conn)->cparams->chanbindingsdata = cb->data;
((sasl_client_conn_t *)conn)->cparams->chanbindingslen = cb->len;
}