Skip to content

Commit 16456db

Browse files
committed
chore(windows): provide default implementations for windows support
1 parent 01d0d8a commit 16456db

File tree

4 files changed

+82
-1
lines changed

4 files changed

+82
-1
lines changed

binding.gyp

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
}],
2727
['OS=="win"', {
2828
'sources': [
29-
'src/win32/kerberos_sspi.cc',
3029
'src/win32/kerberos_win32.cc',
3130
'src/win32/kerberos_client_win32.cc',
3231
'src/win32/kerberos_server_win32.cc'

src/windows/kerberos_client_win32.cc

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include <memory>
2+
3+
#include "../kerberos_client.h"
4+
#include "../kerberos_worker.h"
5+
6+
NAN_METHOD(KerberosClient::Step) {
7+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
8+
std::string challenge(*Nan::Utf8String(info[0]));
9+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
10+
Nan::ThrowError('`KerberosClient::Step` is not implemented yet for windows');
11+
}
12+
13+
NAN_METHOD(KerberosClient::UnwrapData) {
14+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
15+
std::string challenge(*Nan::Utf8String(info[0]));
16+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
17+
Nan::ThrowError('`KerberosClient::UnwrapData` is not implemented yet for windows');
18+
}
19+
20+
NAN_METHOD(KerberosClient::WrapData) {
21+
KerberosClient* client = Nan::ObjectWrap::Unwrap<KerberosClient>(info.This());
22+
std::string challenge(*Nan::Utf8String(info[0]));
23+
v8::Local<v8::Object> options = Nan::To<v8::Object>(info[1]).ToLocalChecked();
24+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
25+
std::string user = StringOptionValue(options, "user");
26+
int protect = 0; // NOTE: this should be an option
27+
Nan::ThrowError('`KerberosClient::WrapData` is not implemented yet for windows');
28+
}

src/windows/kerberos_server_win32.cc

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include <memory>
2+
3+
#include "../kerberos_worker.h"
4+
#include "../kerberos_server.h"
5+
6+
KerberosServer::~KerberosServer() {
7+
// if (_state != NULL) {
8+
// authenticate_gss_server_clean(_state);
9+
// _state = NULL;
10+
// }
11+
}
12+
13+
NAN_METHOD(KerberosServer::Step) {
14+
KerberosServer* server = Nan::ObjectWrap::Unwrap<KerberosServer>(info.This());
15+
std::string challenge(*Nan::Utf8String(info[0]));
16+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
17+
Nan::ThrowError('`KerberosServer::Step` is not implemented yet for windows');
18+
}

src/windows/kerberos_win32.cc

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include <memory>
2+
3+
#include "../kerberos.h"
4+
#include "../kerberos_client.h"
5+
#include "../kerberos_common.h"
6+
#include "../kerberos_server.h"
7+
#include "../kerberos_worker.h"
8+
9+
NAN_METHOD(InitializeClient) {
10+
std::string service(*Nan::Utf8String(info[0]));
11+
v8::Local<v8::Object> options = Nan::To<v8::Object>(info[1]).ToLocalChecked();
12+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
13+
Nan::ThrowError('`initializeClient` is not implemented yet for windows');
14+
}
15+
16+
NAN_METHOD(InitializeServer) {
17+
std::string service(*Nan::Utf8String(info[0]));
18+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[1]).ToLocalChecked());
19+
Nan::ThrowError('`initializeServer` is not implemented yet for windows');
20+
}
21+
22+
NAN_METHOD(PrincipalDetails) {
23+
std::string service(*Nan::Utf8String(info[0]));
24+
std::string hostname(*Nan::Utf8String(info[1]));
25+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[2]).ToLocalChecked());
26+
Nan::ThrowError('`principalDetails` is not implemented yet for windows');
27+
}
28+
29+
NAN_METHOD(CheckPassword) {
30+
std::string username(*Nan::Utf8String(info[0]));
31+
std::string password(*Nan::Utf8String(info[1]));
32+
std::string service(*Nan::Utf8String(info[2]));
33+
std::string defaultRealm(*Nan::Utf8String(info[3]));
34+
Nan::Callback* callback = new Nan::Callback(Nan::To<v8::Function>(info[4]).ToLocalChecked());
35+
Nan::ThrowError('`checkPassword` is not implemented yet for windows');
36+
}

0 commit comments

Comments
 (0)