The GSSAPI auth mechanism does not seem to be working in the intended manner. Looks like the code at https://github.com/mongodb/mongo-c-driver/blob/master/src/mongoc/mongoc-sasl.c#L303-L310 seem to be breaking for the step = 0. This condition seems to be valid only for sasl step 1 onwards when the inbuflen should not be 0.
if (!sasl->step && !*outbuflen) { bson_set_error (error, MONGOC_ERROR_SASL, MONGOC_ERROR_CLIENT_AUTHENTICATE, "SASL Failure: no data received from SASL request. " "Does server have SASL support enabled?"); return false; }
should rather be:
if (sasl->step && !inbuflen) { bson_set_error (error, MONGOC_ERROR_SASL, MONGOC_ERROR_CLIENT_AUTHENTICATE, "SASL Failure: no data received from SASL request. " "Does server have SASL support enabled?"); return false; }