Skip to content

Commit f45da50

Browse files
committed
feat(src): begin to develop the new version of the module in src
1 parent ca3877a commit f45da50

File tree

3 files changed

+176
-4
lines changed

3 files changed

+176
-4
lines changed

binding.gyp

+2-4
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
'conditions': [
99
['OS=="mac" or OS=="linux"', {
1010
'sources': [
11-
'lib/kerberos.cc',
12-
'lib/kerberos_unix.cc'
11+
'src/kerberos.cc'
1312
],
1413
'link_settings': {
1514
'libraries': [
@@ -20,8 +19,7 @@
2019
}],
2120
['OS=="win"', {
2221
'sources': [
23-
'lib/kerberos.cc',
24-
'lib/kerberos_win32.cc'
22+
'src/kerberos.cc'
2523
]
2624
}]
2725
]

src/kerberos.cc

+151
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
#include "kerberos.h"
2+
3+
using v8::FunctionTemplate;
4+
5+
class DummyWorker : public Nan::AsyncWorker {
6+
public:
7+
DummyWorker(Nan::Callback *callback)
8+
: AsyncWorker(callback, "kerberos:DummyWorker") {}
9+
~DummyWorker() {}
10+
11+
void Execute () {}
12+
};
13+
14+
NAN_METHOD(AuthGSSClientInit) {
15+
v8::MaybeLocal<v8::String> service = Nan::To<v8::String>(info[0]);
16+
v8::MaybeLocal<v8::Object> options = Nan::To<v8::Object>(info[1]);
17+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
18+
19+
AsyncQueueWorker(new DummyWorker(callback));
20+
}
21+
22+
NAN_METHOD(AuthGSSClientClean) {
23+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
24+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
25+
26+
AsyncQueueWorker(new DummyWorker(callback));
27+
}
28+
29+
NAN_METHOD(AuthGSSClientStep) {
30+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
31+
v8::MaybeLocal<v8::String> challenge = Nan::To<v8::String>(info[1]);
32+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
33+
34+
AsyncQueueWorker(new DummyWorker(callback));
35+
}
36+
37+
NAN_METHOD(AuthGSSClientResponse) {
38+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
39+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
40+
41+
AsyncQueueWorker(new DummyWorker(callback));
42+
}
43+
44+
NAN_METHOD(AuthGSSClientResponseConf) {
45+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
46+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
47+
48+
AsyncQueueWorker(new DummyWorker(callback));
49+
}
50+
51+
NAN_METHOD(AuthGSSClientUserName) {
52+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
53+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
54+
55+
AsyncQueueWorker(new DummyWorker(callback));
56+
}
57+
58+
NAN_METHOD(AuthGSSClientUnwrap) {
59+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
60+
v8::MaybeLocal<v8::String> challenge = Nan::To<v8::String>(info[1]);
61+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
62+
63+
AsyncQueueWorker(new DummyWorker(callback));
64+
}
65+
66+
NAN_METHOD(AuthGSSClientWrap) {
67+
v8::MaybeLocal<v8::String> service = Nan::To<v8::String>(info[0]);
68+
v8::MaybeLocal<v8::Object> options = Nan::To<v8::Object>(info[1]);
69+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
70+
71+
AsyncQueueWorker(new DummyWorker(callback));
72+
}
73+
74+
NAN_METHOD(AuthGSSServerInit) {
75+
v8::MaybeLocal<v8::String> service = Nan::To<v8::String>(info[0]);
76+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
77+
78+
AsyncQueueWorker(new DummyWorker(callback));
79+
}
80+
81+
NAN_METHOD(AuthGSSServerClean) {
82+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
83+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
84+
85+
AsyncQueueWorker(new DummyWorker(callback));
86+
}
87+
88+
NAN_METHOD(AuthGSSServerStep) {
89+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
90+
v8::MaybeLocal<v8::String> challenge = Nan::To<v8::String>(info[1]);
91+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
92+
93+
AsyncQueueWorker(new DummyWorker(callback));
94+
}
95+
96+
NAN_METHOD(AuthGSSServerResponse) {
97+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
98+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
99+
100+
AsyncQueueWorker(new DummyWorker(callback));
101+
}
102+
103+
NAN_METHOD(AuthGSSServerUserName) {
104+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
105+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
106+
107+
AsyncQueueWorker(new DummyWorker(callback));
108+
}
109+
110+
NAN_METHOD(AuthGSSServerTargetName) {
111+
v8::MaybeLocal<v8::Object> context = Nan::To<v8::Object>(info[0]);
112+
Nan::Callback *callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
113+
114+
AsyncQueueWorker(new DummyWorker(callback));
115+
}
116+
117+
NAN_MODULE_INIT(Init) {
118+
// Client
119+
Nan::Set(target, Nan::New("authGSSClientInit").ToLocalChecked(),
120+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientInit)).ToLocalChecked());
121+
Nan::Set(target, Nan::New("authGSSClientClean").ToLocalChecked(),
122+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientClean)).ToLocalChecked());
123+
Nan::Set(target, Nan::New("authGSSClientStep").ToLocalChecked(),
124+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientStep)).ToLocalChecked());
125+
Nan::Set(target, Nan::New("authGSSClientResponse").ToLocalChecked(),
126+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientResponse)).ToLocalChecked());
127+
Nan::Set(target, Nan::New("authGSSClientResponseConf").ToLocalChecked(),
128+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientResponseConf)).ToLocalChecked());
129+
Nan::Set(target, Nan::New("authGSSClientUserName").ToLocalChecked(),
130+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientUserName)).ToLocalChecked());
131+
Nan::Set(target, Nan::New("authGSSClientUnwrap").ToLocalChecked(),
132+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientUnwrap)).ToLocalChecked());
133+
Nan::Set(target, Nan::New("authGSSClientWrap").ToLocalChecked(),
134+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSClientWrap)).ToLocalChecked());
135+
136+
// Server
137+
Nan::Set(target, Nan::New("authGSSServerInit").ToLocalChecked(),
138+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSServerInit)).ToLocalChecked());
139+
Nan::Set(target, Nan::New("authGSSServerClean").ToLocalChecked(),
140+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSServerClean)).ToLocalChecked());
141+
Nan::Set(target, Nan::New("authGSSServerStep").ToLocalChecked(),
142+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSServerStep)).ToLocalChecked());
143+
Nan::Set(target, Nan::New("authGSSServerResponse").ToLocalChecked(),
144+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSServerResponse)).ToLocalChecked());
145+
Nan::Set(target, Nan::New("authGSSServerUserName").ToLocalChecked(),
146+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSServerUserName)).ToLocalChecked());
147+
Nan::Set(target, Nan::New("authGSSServerTargetName").ToLocalChecked(),
148+
Nan::GetFunction(Nan::New<FunctionTemplate>(AuthGSSServerTargetName)).ToLocalChecked());
149+
}
150+
151+
NODE_MODULE(kerberos, Init)

src/kerberos.h

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
#ifndef KERBEROS_NATIVE_EXTENSION_H
3+
#define KERBEROS_NATIVE_EXTENSION_H
4+
5+
#include <nan.h>
6+
7+
NAN_METHOD(AuthGSSClientInit);
8+
NAN_METHOD(AuthGSSClientClean);
9+
NAN_METHOD(AuthGSSClientStep);
10+
NAN_METHOD(AuthGSSClientResponse);
11+
NAN_METHOD(AuthGSSClientResponseConf);
12+
NAN_METHOD(AuthGSSClientUserName);
13+
NAN_METHOD(AuthGSSClientUnwrap);
14+
NAN_METHOD(AuthGSSClientWrap);
15+
16+
NAN_METHOD(AuthGSSServerInit);
17+
NAN_METHOD(AuthGSSServerClean);
18+
NAN_METHOD(AuthGSSServerStep);
19+
NAN_METHOD(AuthGSSServerResponse);
20+
NAN_METHOD(AuthGSSServerUserName);
21+
NAN_METHOD(AuthGSSServerTargetName);
22+
23+
#endif

0 commit comments

Comments
 (0)