Skip to content

Commit 1acfb20

Browse files
committedJul 8, 2018
fix(this): use the correct reference to this for object unwrapping
1 parent 4bb8953 commit 1acfb20

File tree

4 files changed

+20
-24
lines changed

4 files changed

+20
-24
lines changed
 

‎src/kerberos.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class InitializeServerWorker : public Nan::AsyncWorker {
110110

111111
NAN_METHOD(InitializeServer) {
112112
std::string service(*Nan::Utf8String(info[0]));
113-
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
113+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
114114

115115
AsyncQueueWorker(new InitializeServerWorker(service, callback));
116116
}

‎src/kerberos_client.cc

+11-11
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,21 @@ gss_client_state* KerberosClient::state() const {
4444
}
4545

4646
NAN_GETTER(KerberosClient::UserNameGetter) {
47-
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.Holder());
47+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
4848
(client->_state->username == NULL) ?
4949
info.GetReturnValue().Set(Nan::Null()) :
5050
info.GetReturnValue().Set(Nan::New(client->_state->username).ToLocalChecked());
5151
}
5252

5353
NAN_GETTER(KerberosClient::ResponseGetter) {
54-
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.Holder());
54+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
5555
(client->_state->response == NULL) ?
5656
info.GetReturnValue().Set(Nan::Null()) :
5757
info.GetReturnValue().Set(Nan::New(client->_state->response).ToLocalChecked());
5858
}
5959

6060
NAN_GETTER(KerberosClient::ResponseConfGetter) {
61-
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.Holder());
61+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
6262
info.GetReturnValue().Set(Nan::New(client->_state->responseConf));
6363
}
6464

@@ -85,9 +85,9 @@ class ClientStepWorker : public Nan::AsyncWorker {
8585
};
8686

8787
NAN_METHOD(KerberosClient::Step) {
88-
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info[0]->ToObject());
89-
std::string challenge(*Nan::Utf8String(info[1]));
90-
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
88+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
89+
std::string challenge(*Nan::Utf8String(info[0]));
90+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
9191

9292
AsyncQueueWorker(new ClientStepWorker(client, challenge, callback));
9393
}
@@ -115,9 +115,9 @@ class ClientUnwrapWorker : public Nan::AsyncWorker {
115115
};
116116

117117
NAN_METHOD(KerberosClient::UnwrapData) {
118-
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info[0]->ToObject());
119-
std::string challenge(*Nan::Utf8String(info[1]));
120-
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
118+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
119+
std::string challenge(*Nan::Utf8String(info[0]));
120+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
121121

122122
AsyncQueueWorker(new ClientUnwrapWorker(client, challenge, callback));
123123
}
@@ -149,8 +149,8 @@ class ClientWrapWorker : public Nan::AsyncWorker {
149149
};
150150

151151
NAN_METHOD(KerberosClient::WrapData) {
152-
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info[0]->ToObject());
153-
std::string challenge(*Nan::Utf8String(info[1]));
152+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
153+
std::string challenge(*Nan::Utf8String(info[0]));
154154
v8::Local<v8::Object> options = Nan::To<v8::Object>(info[1]).ToLocalChecked();
155155
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
156156

‎src/kerberos_gss.cc

+2-5
Original file line numberDiff line numberDiff line change
@@ -688,11 +688,8 @@ static gss_result* gss_error_result(OM_uint32 err_maj, OM_uint32 err_min)
688688

689689
result = (gss_result *) malloc(sizeof(gss_result));
690690
result->code = AUTH_GSS_ERROR;
691-
// TODO: set the correct message here
692-
// PyErr_SetObject(GssException_class, Py_BuildValue("((s:i)(s:i))", buf_maj, err_maj, buf_min, err_min));
693-
// result->message = (char *) malloc(sizeof(buf_maj));
694-
// strncpy(result->message, (char *) &buf_maj, sizeof(buf_maj));
695-
result->message = strdup("Figure out what error message to report here!");
691+
result->message = (char *) malloc(sizeof(char) * 1024 + 2);
692+
sprintf(result->message, "%s: %s", buf_maj, buf_min);
696693

697694
return result;
698695
}

‎src/kerberos_server.cc

+6-7
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,21 @@ gss_server_state* KerberosServer::state() const {
4242
}
4343

4444
NAN_GETTER(KerberosServer::UserNameGetter) {
45-
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.Holder());
45+
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.This());
4646
(server->_state->username == NULL) ?
4747
info.GetReturnValue().Set(Nan::Null()) :
4848
info.GetReturnValue().Set(Nan::New(server->_state->username).ToLocalChecked());
4949
}
5050

5151
NAN_GETTER(KerberosServer::ResponseGetter) {
52-
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.Holder());
52+
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.This());
5353
(server->_state->response == NULL) ?
5454
info.GetReturnValue().Set(Nan::Null()) :
5555
info.GetReturnValue().Set(Nan::New(server->_state->response).ToLocalChecked());
5656
}
5757

5858
NAN_GETTER(KerberosServer::TargetNameGetter) {
59-
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.Holder());
59+
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.This());
6060
(server->_state->targetname == NULL) ?
6161
info.GetReturnValue().Set(Nan::Null()) :
6262
info.GetReturnValue().Set(Nan::New(server->_state->targetname).ToLocalChecked());
@@ -85,10 +85,9 @@ class ServerStepWorker : public Nan::AsyncWorker {
8585
};
8686

8787
NAN_METHOD(KerberosServer::Step) {
88-
KerberosServer* client =
89-
Nan::ObjectWrap::Unwrap<KerberosServer>(info[0]->ToObject());
90-
std::string challenge(*Nan::Utf8String(info[1]));
91-
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
88+
KerberosServer* client = Nan::ObjectWrap::Unwrap<KerberosServer>(info.This());
89+
std::string challenge(*Nan::Utf8String(info[0]));
90+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
9291

9392
AsyncQueueWorker(new ServerStepWorker(client, challenge, callback));
9493
}

0 commit comments

Comments
 (0)
Please sign in to comment.