diff --git a/src/unix/kerberos_unix.cc b/src/unix/kerberos_unix.cc index 103f44d..94b27e9 100644 --- a/src/unix/kerberos_unix.cc +++ b/src/unix/kerberos_unix.cc @@ -232,8 +232,15 @@ NAN_METHOD(CheckPassword) { std::string username(*Nan::Utf8String(info[0])); std::string password(*Nan::Utf8String(info[1])); std::string service(*Nan::Utf8String(info[2])); - std::string defaultRealm(*Nan::Utf8String(info[3])); - Nan::Callback* callback = new Nan::Callback(Nan::To(info[4]).ToLocalChecked()); + + std::string defaultRealm; + Nan::Callback* callback; + if (info[3]->IsFunction()) { + callback = new Nan::Callback(Nan::To(info[3]).ToLocalChecked()); + } else { + defaultRealm = *Nan::Utf8String(info[3]); + callback = new Nan::Callback(Nan::To(info[4]).ToLocalChecked()); + } KerberosWorker::Run(callback, "kerberos:CheckPassword", [=](KerberosWorker::SetOnFinishedHandler onFinished) { std::shared_ptr result(authenticate_user_krb5pwd( diff --git a/src/win32/kerberos_win32.cc b/src/win32/kerberos_win32.cc index 74fec88..5bcc868 100644 --- a/src/win32/kerberos_win32.cc +++ b/src/win32/kerberos_win32.cc @@ -173,23 +173,13 @@ NAN_METHOD(InitializeClient) { } NAN_METHOD(InitializeServer) { - std::string service(*Nan::Utf8String(info[0])); - Nan::Callback* callback = new Nan::Callback(Nan::To(info[1]).ToLocalChecked()); Nan::ThrowError("`initializeServer` is not implemented yet for windows"); } NAN_METHOD(PrincipalDetails) { - std::string service(*Nan::Utf8String(info[0])); - std::string hostname(*Nan::Utf8String(info[1])); - Nan::Callback* callback = new Nan::Callback(Nan::To(info[2]).ToLocalChecked()); Nan::ThrowError("`principalDetails` is not implemented yet for windows"); } NAN_METHOD(CheckPassword) { - std::string username(*Nan::Utf8String(info[0])); - std::string password(*Nan::Utf8String(info[1])); - std::string service(*Nan::Utf8String(info[2])); - std::string defaultRealm(*Nan::Utf8String(info[3])); - Nan::Callback* callback = new Nan::Callback(Nan::To(info[4]).ToLocalChecked()); Nan::ThrowError("`checkPassword` is not implemented yet for windows"); }