The following checks implemented break the driver in certain environments for the Kerberos Authentication:
Unable to find source-code formatter for language: csharp. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
public ISaslStep Transition(SaslConversation conversation, byte[] bytesReceivedFromServer) { // Even though RFC says that clients should specifically check this and raise an error // if it isn't true, this breaks on Windows XP, so we are skipping the check for windows // XP, identified as Win32NT 5.1: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx if (Environment.OSVersion.Platform != PlatformID.Win32NT || Environment.OSVersion.Version.Major != 5) { if (bytesReceivedFromServer == null || bytesReceivedFromServer.Length != 32) //RFC specifies this must be 4 octets { throw new MongoAuthenticationException(conversation.ConnectionId, message: "Invalid server response."); } }
We should remove these extra checks for now.