You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by da...@apache.org on 2015/11/30 22:06:08 UTC
[02/98] [abbrv] [partial] incubator-apex-malhar git commit: Removing
all web demos
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.cc
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.cc b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.cc
deleted file mode 100644
index 08eda82..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.cc
+++ /dev/null
@@ -1,563 +0,0 @@
-#include "kerberos.h"
-#include <stdlib.h>
-#include "worker.h"
-#include "kerberos_context.h"
-
-#ifndef ARRAY_SIZE
-# define ARRAY_SIZE(a) (sizeof((a)) / sizeof((a)[0]))
-#endif
-
-Persistent<FunctionTemplate> Kerberos::constructor_template;
-
-// Call structs
-typedef struct AuthGSSClientCall {
- uint32_t flags;
- char *uri;
-} AuthGSSClientCall;
-
-typedef struct AuthGSSClientStepCall {
- KerberosContext *context;
- char *challenge;
-} AuthGSSClientStepCall;
-
-typedef struct AuthGSSClientUnwrapCall {
- KerberosContext *context;
- char *challenge;
-} AuthGSSClientUnwrapCall;
-
-typedef struct AuthGSSClientWrapCall {
- KerberosContext *context;
- char *challenge;
- char *user_name;
-} AuthGSSClientWrapCall;
-
-typedef struct AuthGSSClientCleanCall {
- KerberosContext *context;
-} AuthGSSClientCleanCall;
-
-// VException object (causes throw in calling code)
-static Handle<Value> VException(const char *msg) {
- HandleScope scope;
- return ThrowException(Exception::Error(String::New(msg)));
-}
-
-Kerberos::Kerberos() : ObjectWrap() {
-}
-
-void Kerberos::Initialize(v8::Handle<v8::Object> target) {
- // Grab the scope of the call from Node
- HandleScope scope;
- // Define a new function template
- Local<FunctionTemplate> t = FunctionTemplate::New(Kerberos::New);
- constructor_template = Persistent<FunctionTemplate>::New(t);
- constructor_template->InstanceTemplate()->SetInternalFieldCount(1);
- constructor_template->SetClassName(String::NewSymbol("Kerberos"));
-
- // Set up method for the Kerberos instance
- NODE_SET_PROTOTYPE_METHOD(constructor_template, "authGSSClientInit", AuthGSSClientInit);
- NODE_SET_PROTOTYPE_METHOD(constructor_template, "authGSSClientStep", AuthGSSClientStep);
- NODE_SET_PROTOTYPE_METHOD(constructor_template, "authGSSClientUnwrap", AuthGSSClientUnwrap);
- NODE_SET_PROTOTYPE_METHOD(constructor_template, "authGSSClientWrap", AuthGSSClientWrap);
- NODE_SET_PROTOTYPE_METHOD(constructor_template, "authGSSClientClean", AuthGSSClientClean);
-
- // Set the symbol
- target->ForceSet(String::NewSymbol("Kerberos"), constructor_template->GetFunction());
-}
-
-Handle<Value> Kerberos::New(const Arguments &args) {
- // Create a Kerberos instance
- Kerberos *kerberos = new Kerberos();
- // Return the kerberos object
- kerberos->Wrap(args.This());
- return args.This();
-}
-
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-// authGSSClientInit
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-static void _authGSSClientInit(Worker *worker) {
- gss_client_state *state;
- gss_client_response *response;
-
- // Allocate state
- state = (gss_client_state *)malloc(sizeof(gss_client_state));
-
- // Unpack the parameter data struct
- AuthGSSClientCall *call = (AuthGSSClientCall *)worker->parameters;
- // Start the kerberos client
- response = authenticate_gss_client_init(call->uri, call->flags, state);
-
- // Release the parameter struct memory
- free(call->uri);
- free(call);
-
- // If we have an error mark worker as having had an error
- if(response->return_code == AUTH_GSS_ERROR) {
- worker->error = TRUE;
- worker->error_code = response->return_code;
- worker->error_message = response->message;
- } else {
- worker->return_value = state;
- }
-
- // Free structure
- free(response);
-}
-
-static Handle<Value> _map_authGSSClientInit(Worker *worker) {
- HandleScope scope;
-
- KerberosContext *context = KerberosContext::New();
- context->state = (gss_client_state *)worker->return_value;
- // Persistent<Value> _context = Persistent<Value>::New(context->handle_);
- return scope.Close(context->handle_);
-}
-
-// Initialize method
-Handle<Value> Kerberos::AuthGSSClientInit(const Arguments &args) {
- HandleScope scope;
-
- // Ensure valid call
- if(args.Length() != 3) return VException("Requires a service string uri, integer flags and a callback function");
- if(args.Length() == 3 && !args[0]->IsString() && !args[1]->IsInt32() && !args[2]->IsFunction())
- return VException("Requires a service string uri, integer flags and a callback function");
-
- Local<String> service = args[0]->ToString();
- // Convert uri string to c-string
- char *service_str = (char *)calloc(service->Utf8Length() + 1, sizeof(char));
- // Write v8 string to c-string
- service->WriteUtf8(service_str);
-
- // Allocate a structure
- AuthGSSClientCall *call = (AuthGSSClientCall *)calloc(1, sizeof(AuthGSSClientCall));
- call->flags =args[1]->ToInt32()->Uint32Value();
- call->uri = service_str;
-
- // Unpack the callback
- Local<Function> callback = Local<Function>::Cast(args[2]);
-
- // Let's allocate some space
- Worker *worker = new Worker();
- worker->error = false;
- worker->request.data = worker;
- worker->callback = Persistent<Function>::New(callback);
- worker->parameters = call;
- worker->execute = _authGSSClientInit;
- worker->mapper = _map_authGSSClientInit;
-
- // Schedule the worker with lib_uv
- uv_queue_work(uv_default_loop(), &worker->request, Kerberos::Process, (uv_after_work_cb)Kerberos::After);
- // Return no value as it's callback based
- return scope.Close(Undefined());
-}
-
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-// authGSSClientStep
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-static void _authGSSClientStep(Worker *worker) {
- gss_client_state *state;
- gss_client_response *response;
- char *challenge;
-
- // Unpack the parameter data struct
- AuthGSSClientStepCall *call = (AuthGSSClientStepCall *)worker->parameters;
- // Get the state
- state = call->context->state;
- challenge = call->challenge;
-
- // Check what kind of challenge we have
- if(call->challenge == NULL) {
- challenge = (char *)"";
- }
-
- // Perform authentication step
- response = authenticate_gss_client_step(state, challenge);
-
- // If we have an error mark worker as having had an error
- if(response->return_code == AUTH_GSS_ERROR) {
- worker->error = TRUE;
- worker->error_code = response->return_code;
- worker->error_message = response->message;
- } else {
- worker->return_code = response->return_code;
- }
-
- // Free up structure
- if(call->challenge != NULL) free(call->challenge);
- free(call);
- free(response);
-}
-
-static Handle<Value> _map_authGSSClientStep(Worker *worker) {
- HandleScope scope;
- // Return the return code
- return scope.Close(Int32::New(worker->return_code));
-}
-
-// Initialize method
-Handle<Value> Kerberos::AuthGSSClientStep(const Arguments &args) {
- HandleScope scope;
-
- // Ensure valid call
- if(args.Length() != 2 && args.Length() != 3) return VException("Requires a GSS context, optional challenge string and callback function");
- if(args.Length() == 2 && !KerberosContext::HasInstance(args[0])) return VException("Requires a GSS context, optional challenge string and callback function");
- if(args.Length() == 3 && !KerberosContext::HasInstance(args[0]) && !args[1]->IsString()) return VException("Requires a GSS context, optional challenge string and callback function");
-
- // Challenge string
- char *challenge_str = NULL;
- // Let's unpack the parameters
- Local<Object> object = args[0]->ToObject();
- KerberosContext *kerberos_context = KerberosContext::Unwrap<KerberosContext>(object);
-
- // If we have a challenge string
- if(args.Length() == 3) {
- // Unpack the challenge string
- Local<String> challenge = args[1]->ToString();
- // Convert uri string to c-string
- challenge_str = (char *)calloc(challenge->Utf8Length() + 1, sizeof(char));
- // Write v8 string to c-string
- challenge->WriteUtf8(challenge_str);
- }
-
- // Allocate a structure
- AuthGSSClientStepCall *call = (AuthGSSClientStepCall *)calloc(1, sizeof(AuthGSSClientCall));
- call->context = kerberos_context;
- call->challenge = challenge_str;
-
- // Unpack the callback
- Local<Function> callback = Local<Function>::Cast(args[2]);
-
- // Let's allocate some space
- Worker *worker = new Worker();
- worker->error = false;
- worker->request.data = worker;
- worker->callback = Persistent<Function>::New(callback);
- worker->parameters = call;
- worker->execute = _authGSSClientStep;
- worker->mapper = _map_authGSSClientStep;
-
- // Schedule the worker with lib_uv
- uv_queue_work(uv_default_loop(), &worker->request, Kerberos::Process, (uv_after_work_cb)Kerberos::After);
-
- // Return no value as it's callback based
- return scope.Close(Undefined());
-}
-
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-// authGSSClientUnwrap
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-static void _authGSSClientUnwrap(Worker *worker) {
- gss_client_response *response;
- char *challenge;
-
- // Unpack the parameter data struct
- AuthGSSClientUnwrapCall *call = (AuthGSSClientUnwrapCall *)worker->parameters;
- challenge = call->challenge;
-
- // Check what kind of challenge we have
- if(call->challenge == NULL) {
- challenge = (char *)"";
- }
-
- // Perform authentication step
- response = authenticate_gss_client_unwrap(call->context->state, challenge);
-
- // If we have an error mark worker as having had an error
- if(response->return_code == AUTH_GSS_ERROR) {
- worker->error = TRUE;
- worker->error_code = response->return_code;
- worker->error_message = response->message;
- } else {
- worker->return_code = response->return_code;
- }
-
- // Free up structure
- if(call->challenge != NULL) free(call->challenge);
- free(call);
- free(response);
-}
-
-static Handle<Value> _map_authGSSClientUnwrap(Worker *worker) {
- HandleScope scope;
- // Return the return code
- return scope.Close(Int32::New(worker->return_code));
-}
-
-// Initialize method
-Handle<Value> Kerberos::AuthGSSClientUnwrap(const Arguments &args) {
- HandleScope scope;
-
- // Ensure valid call
- if(args.Length() != 2 && args.Length() != 3) return VException("Requires a GSS context, optional challenge string and callback function");
- if(args.Length() == 2 && !KerberosContext::HasInstance(args[0]) && !args[1]->IsFunction()) return VException("Requires a GSS context, optional challenge string and callback function");
- if(args.Length() == 3 && !KerberosContext::HasInstance(args[0]) && !args[1]->IsString() && !args[2]->IsFunction()) return VException("Requires a GSS context, optional challenge string and callback function");
-
- // Challenge string
- char *challenge_str = NULL;
- // Let's unpack the parameters
- Local<Object> object = args[0]->ToObject();
- KerberosContext *kerberos_context = KerberosContext::Unwrap<KerberosContext>(object);
-
- // If we have a challenge string
- if(args.Length() == 3) {
- // Unpack the challenge string
- Local<String> challenge = args[1]->ToString();
- // Convert uri string to c-string
- challenge_str = (char *)calloc(challenge->Utf8Length() + 1, sizeof(char));
- // Write v8 string to c-string
- challenge->WriteUtf8(challenge_str);
- }
-
- // Allocate a structure
- AuthGSSClientUnwrapCall *call = (AuthGSSClientUnwrapCall *)calloc(1, sizeof(AuthGSSClientUnwrapCall));
- call->context = kerberos_context;
- call->challenge = challenge_str;
-
- // Unpack the callback
- Local<Function> callback = args.Length() == 3 ? Local<Function>::Cast(args[2]) : Local<Function>::Cast(args[1]);
-
- // Let's allocate some space
- Worker *worker = new Worker();
- worker->error = false;
- worker->request.data = worker;
- worker->callback = Persistent<Function>::New(callback);
- worker->parameters = call;
- worker->execute = _authGSSClientUnwrap;
- worker->mapper = _map_authGSSClientUnwrap;
-
- // Schedule the worker with lib_uv
- uv_queue_work(uv_default_loop(), &worker->request, Kerberos::Process, (uv_after_work_cb)Kerberos::After);
-
- // Return no value as it's callback based
- return scope.Close(Undefined());
-}
-
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-// authGSSClientWrap
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-static void _authGSSClientWrap(Worker *worker) {
- gss_client_response *response;
- char *user_name = NULL;
-
- // Unpack the parameter data struct
- AuthGSSClientWrapCall *call = (AuthGSSClientWrapCall *)worker->parameters;
- user_name = call->user_name;
-
- // Check what kind of challenge we have
- if(call->user_name == NULL) {
- user_name = (char *)"";
- }
-
- // Perform authentication step
- response = authenticate_gss_client_wrap(call->context->state, call->challenge, user_name);
-
- // If we have an error mark worker as having had an error
- if(response->return_code == AUTH_GSS_ERROR) {
- worker->error = TRUE;
- worker->error_code = response->return_code;
- worker->error_message = response->message;
- } else {
- worker->return_code = response->return_code;
- }
-
- // Free up structure
- if(call->challenge != NULL) free(call->challenge);
- if(call->user_name != NULL) free(call->user_name);
- free(call);
- free(response);
-}
-
-static Handle<Value> _map_authGSSClientWrap(Worker *worker) {
- HandleScope scope;
- // Return the return code
- return scope.Close(Int32::New(worker->return_code));
-}
-
-// Initialize method
-Handle<Value> Kerberos::AuthGSSClientWrap(const Arguments &args) {
- HandleScope scope;
-
- // Ensure valid call
- if(args.Length() != 3 && args.Length() != 4) return VException("Requires a GSS context, the result from the authGSSClientResponse after authGSSClientUnwrap, optional user name and callback function");
- if(args.Length() == 3 && !KerberosContext::HasInstance(args[0]) && !args[1]->IsString() && !args[2]->IsFunction()) return VException("Requires a GSS context, the result from the authGSSClientResponse after authGSSClientUnwrap, optional user name and callback function");
- if(args.Length() == 4 && !KerberosContext::HasInstance(args[0]) && !args[1]->IsString() && !args[2]->IsString() && !args[2]->IsFunction()) return VException("Requires a GSS context, the result from the authGSSClientResponse after authGSSClientUnwrap, optional user name and callback function");
-
- // Challenge string
- char *challenge_str = NULL;
- char *user_name_str = NULL;
-
- // Let's unpack the kerberos context
- Local<Object> object = args[0]->ToObject();
- KerberosContext *kerberos_context = KerberosContext::Unwrap<KerberosContext>(object);
-
- // Unpack the challenge string
- Local<String> challenge = args[1]->ToString();
- // Convert uri string to c-string
- challenge_str = (char *)calloc(challenge->Utf8Length() + 1, sizeof(char));
- // Write v8 string to c-string
- challenge->WriteUtf8(challenge_str);
-
- // If we have a user string
- if(args.Length() == 4) {
- // Unpack user name
- Local<String> user_name = args[2]->ToString();
- // Convert uri string to c-string
- user_name_str = (char *)calloc(user_name->Utf8Length() + 1, sizeof(char));
- // Write v8 string to c-string
- user_name->WriteUtf8(user_name_str);
- }
-
- // Allocate a structure
- AuthGSSClientWrapCall *call = (AuthGSSClientWrapCall *)calloc(1, sizeof(AuthGSSClientWrapCall));
- call->context = kerberos_context;
- call->challenge = challenge_str;
- call->user_name = user_name_str;
-
- // Unpack the callback
- Local<Function> callback = args.Length() == 4 ? Local<Function>::Cast(args[3]) : Local<Function>::Cast(args[2]);
-
- // Let's allocate some space
- Worker *worker = new Worker();
- worker->error = false;
- worker->request.data = worker;
- worker->callback = Persistent<Function>::New(callback);
- worker->parameters = call;
- worker->execute = _authGSSClientWrap;
- worker->mapper = _map_authGSSClientWrap;
-
- // Schedule the worker with lib_uv
- uv_queue_work(uv_default_loop(), &worker->request, Kerberos::Process, (uv_after_work_cb)Kerberos::After);
-
- // Return no value as it's callback based
- return scope.Close(Undefined());
-}
-
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-// authGSSClientWrap
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-static void _authGSSClientClean(Worker *worker) {
- gss_client_response *response;
-
- // Unpack the parameter data struct
- AuthGSSClientCleanCall *call = (AuthGSSClientCleanCall *)worker->parameters;
-
- // Perform authentication step
- response = authenticate_gss_client_clean(call->context->state);
-
- // If we have an error mark worker as having had an error
- if(response->return_code == AUTH_GSS_ERROR) {
- worker->error = TRUE;
- worker->error_code = response->return_code;
- worker->error_message = response->message;
- } else {
- worker->return_code = response->return_code;
- }
-
- // Free up structure
- free(call);
- free(response);
-}
-
-static Handle<Value> _map_authGSSClientClean(Worker *worker) {
- HandleScope scope;
- // Return the return code
- return scope.Close(Int32::New(worker->return_code));
-}
-
-// Initialize method
-Handle<Value> Kerberos::AuthGSSClientClean(const Arguments &args) {
- HandleScope scope;
-
- // // Ensure valid call
- if(args.Length() != 2) return VException("Requires a GSS context and callback function");
- if(!KerberosContext::HasInstance(args[0]) && !args[1]->IsFunction()) return VException("Requires a GSS context and callback function");
-
- // Let's unpack the kerberos context
- Local<Object> object = args[0]->ToObject();
- KerberosContext *kerberos_context = KerberosContext::Unwrap<KerberosContext>(object);
-
- // Allocate a structure
- AuthGSSClientCleanCall *call = (AuthGSSClientCleanCall *)calloc(1, sizeof(AuthGSSClientCleanCall));
- call->context = kerberos_context;
-
- // Unpack the callback
- Local<Function> callback = Local<Function>::Cast(args[1]);
-
- // Let's allocate some space
- Worker *worker = new Worker();
- worker->error = false;
- worker->request.data = worker;
- worker->callback = Persistent<Function>::New(callback);
- worker->parameters = call;
- worker->execute = _authGSSClientClean;
- worker->mapper = _map_authGSSClientClean;
-
- // Schedule the worker with lib_uv
- uv_queue_work(uv_default_loop(), &worker->request, Kerberos::Process, (uv_after_work_cb)Kerberos::After);
-
- // Return no value as it's callback based
- return scope.Close(Undefined());
-}
-
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-// UV Lib callbacks
-// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-void Kerberos::Process(uv_work_t* work_req) {
- // Grab the worker
- Worker *worker = static_cast<Worker*>(work_req->data);
- // Execute the worker code
- worker->execute(worker);
-}
-
-void Kerberos::After(uv_work_t* work_req) {
- // Grab the scope of the call from Node
- v8::HandleScope scope;
-
- // Get the worker reference
- Worker *worker = static_cast<Worker*>(work_req->data);
-
- // If we have an error
- if(worker->error) {
- v8::Local<v8::Value> err = v8::Exception::Error(v8::String::New(worker->error_message));
- Local<Object> obj = err->ToObject();
- obj->Set(NODE_PSYMBOL("code"), Int32::New(worker->error_code));
- v8::Local<v8::Value> args[2] = { err, v8::Local<v8::Value>::New(v8::Null()) };
- // Execute the error
- v8::TryCatch try_catch;
- // Call the callback
- worker->callback->Call(v8::Context::GetCurrent()->Global(), ARRAY_SIZE(args), args);
- // If we have an exception handle it as a fatalexception
- if (try_catch.HasCaught()) {
- node::FatalException(try_catch);
- }
- } else {
- // // Map the data
- v8::Handle<v8::Value> result = worker->mapper(worker);
- // Set up the callback with a null first
- v8::Handle<v8::Value> args[2] = { v8::Local<v8::Value>::New(v8::Null()), result};
- // Wrap the callback function call in a TryCatch so that we can call
- // node's FatalException afterwards. This makes it possible to catch
- // the exception from JavaScript land using the
- // process.on('uncaughtException') event.
- v8::TryCatch try_catch;
- // Call the callback
- worker->callback->Call(v8::Context::GetCurrent()->Global(), ARRAY_SIZE(args), args);
- // If we have an exception handle it as a fatalexception
- if (try_catch.HasCaught()) {
- node::FatalException(try_catch);
- }
- }
-
- // Clean up the memory
- worker->callback.Dispose();
- delete worker;
-}
-
-// Exporting function
-extern "C" void init(Handle<Object> target) {
- HandleScope scope;
- Kerberos::Initialize(target);
- KerberosContext::Initialize(target);
-}
-
-NODE_MODULE(kerberos, init);
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.h
deleted file mode 100644
index 0619957..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef KERBEROS_H
-#define KERBEROS_H
-
-#include <node.h>
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
-#include <gssapi/gssapi_krb5.h>
-
-#include <node_object_wrap.h>
-#include <v8.h>
-
-extern "C" {
- #include "kerberosgss.h"
-}
-
-using namespace v8;
-using namespace node;
-
-class Kerberos : public ObjectWrap {
-
-public:
- Kerberos();
- ~Kerberos() {};
-
- // Constructor used for creating new Kerberos objects from C++
- static Persistent<FunctionTemplate> constructor_template;
-
- // Initialize function for the object
- static void Initialize(Handle<Object> target);
-
- // Method available
- static Handle<Value> AuthGSSClientInit(const Arguments &args);
- static Handle<Value> AuthGSSClientStep(const Arguments &args);
- static Handle<Value> AuthGSSClientUnwrap(const Arguments &args);
- static Handle<Value> AuthGSSClientWrap(const Arguments &args);
- static Handle<Value> AuthGSSClientClean(const Arguments &args);
-
-private:
- static Handle<Value> New(const Arguments &args);
-
- // Handles the uv calls
- static void Process(uv_work_t* work_req);
- // Called after work is done
- static void After(uv_work_t* work_req);
-};
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.js b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.js
deleted file mode 100644
index b1a701b..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var kerberos = require('../build/Release/kerberos')
- , KerberosNative = kerberos.Kerberos;
-
-var Kerberos = function() {
- this._native_kerberos = new KerberosNative();
-}
-
-Kerberos.prototype.authGSSClientInit = function(uri, flags, callback) {
- return this._native_kerberos.authGSSClientInit(uri, flags, callback);
-}
-
-Kerberos.prototype.authGSSClientStep = function(context, challenge, callback) {
- if(typeof challenge == 'function') {
- callback = challenge;
- challenge = '';
- }
-
- return this._native_kerberos.authGSSClientStep(context, challenge, callback);
-}
-
-Kerberos.prototype.authGSSClientUnwrap = function(context, challenge, callback) {
- if(typeof challenge == 'function') {
- callback = challenge;
- challenge = '';
- }
-
- return this._native_kerberos.authGSSClientUnwrap(context, challenge, callback);
-}
-
-Kerberos.prototype.authGSSClientWrap = function(context, challenge, user_name, callback) {
- if(typeof user_name == 'function') {
- callback = user_name;
- user_name = '';
- }
-
- return this._native_kerberos.authGSSClientWrap(context, challenge, user_name, callback);
-}
-
-Kerberos.prototype.authGSSClientClean = function(context, callback) {
- return this._native_kerberos.authGSSClientClean(context, callback);
-}
-
-Kerberos.prototype.acquireAlternateCredentials = function(user_name, password, domain) {
- return this._native_kerberos.acquireAlternateCredentials(user_name, password, domain);
-}
-
-Kerberos.prototype.prepareOutboundPackage = function(principal, inputdata) {
- return this._native_kerberos.prepareOutboundPackage(principal, inputdata);
-}
-
-Kerberos.prototype.decryptMessage = function(challenge) {
- return this._native_kerberos.decryptMessage(challenge);
-}
-
-Kerberos.prototype.encryptMessage = function(challenge) {
- return this._native_kerberos.encryptMessage(challenge);
-}
-
-Kerberos.prototype.queryContextAttribute = function(attribute) {
- if(typeof attribute != 'number' && attribute != 0x00) throw new Error("Attribute not supported");
- return this._native_kerberos.queryContextAttribute(attribute);
-}
-
-// Some useful result codes
-Kerberos.AUTH_GSS_CONTINUE = 0;
-Kerberos.AUTH_GSS_COMPLETE = 1;
-
-// Some useful gss flags
-Kerberos.GSS_C_DELEG_FLAG = 1;
-Kerberos.GSS_C_MUTUAL_FLAG = 2;
-Kerberos.GSS_C_REPLAY_FLAG = 4;
-Kerberos.GSS_C_SEQUENCE_FLAG = 8;
-Kerberos.GSS_C_CONF_FLAG = 16;
-Kerberos.GSS_C_INTEG_FLAG = 32;
-Kerberos.GSS_C_ANON_FLAG = 64;
-Kerberos.GSS_C_PROT_READY_FLAG = 128;
-Kerberos.GSS_C_TRANS_FLAG = 256;
-
-// Export Kerberos class
-exports.Kerberos = Kerberos;
-
-// If we have SSPI (windows)
-if(kerberos.SecurityCredentials) {
- // Put all SSPI classes in it's own namespace
- exports.SSIP = {
- SecurityCredentials: require('./win32/wrappers/security_credentials').SecurityCredentials
- , SecurityContext: require('./win32/wrappers/security_context').SecurityContext
- , SecurityBuffer: require('./win32/wrappers/security_buffer').SecurityBuffer
- , SecurityBufferDescriptor: require('./win32/wrappers/security_buffer_descriptor').SecurityBufferDescriptor
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.cc
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.cc b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.cc
deleted file mode 100644
index 7a5f4eb..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "kerberos_context.h"
-
-Persistent<FunctionTemplate> KerberosContext::constructor_template;
-
-KerberosContext::KerberosContext() : ObjectWrap() {
-}
-
-KerberosContext::~KerberosContext() {
-}
-
-KerberosContext* KerberosContext::New() {
- HandleScope scope;
-
- Local<Object> obj = constructor_template->GetFunction()->NewInstance();
- KerberosContext *kerberos_context = ObjectWrap::Unwrap<KerberosContext>(obj);
-
- return kerberos_context;
-}
-
-Handle<Value> KerberosContext::New(const Arguments &args) {
- HandleScope scope;
- // Create code object
- KerberosContext *kerberos_context = new KerberosContext();
- // Wrap it
- kerberos_context->Wrap(args.This());
- // Return the object
- return args.This();
-}
-
-static Persistent<String> response_symbol;
-
-void KerberosContext::Initialize(Handle<Object> target) {
- // Grab the scope of the call from Node
- HandleScope scope;
- // Define a new function template
- Local<FunctionTemplate> t = FunctionTemplate::New(New);
- constructor_template = Persistent<FunctionTemplate>::New(t);
- constructor_template->InstanceTemplate()->SetInternalFieldCount(1);
- constructor_template->SetClassName(String::NewSymbol("KerberosContext"));
-
- // Property symbols
- response_symbol = NODE_PSYMBOL("response");
-
- // Getter for the response
- constructor_template->InstanceTemplate()->SetAccessor(response_symbol, ResponseGetter);
-
- // Set up the Symbol for the Class on the Module
- target->Set(String::NewSymbol("KerberosContext"), constructor_template->GetFunction());
-}
-
-//
-// Response Setter / Getter
-Handle<Value> KerberosContext::ResponseGetter(Local<String> property, const AccessorInfo& info) {
- HandleScope scope;
- gss_client_state *state;
-
- // Unpack the object
- KerberosContext *context = ObjectWrap::Unwrap<KerberosContext>(info.Holder());
- // Let's grab the response
- state = context->state;
- // No state no response
- if(state == NULL || state->response == NULL) return scope.Close(Null());
- // Return the response
- return scope.Close(String::New(state->response));
-}
-
-
-
-
-
-
-
-
-
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.h
deleted file mode 100644
index 8becef6..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberos_context.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef KERBEROS_CONTEXT_H
-#define KERBEROS_CONTEXT_H
-
-#include <node.h>
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
-#include <gssapi/gssapi_krb5.h>
-
-#include <node_object_wrap.h>
-#include <v8.h>
-
-extern "C" {
- #include "kerberosgss.h"
-}
-
-using namespace v8;
-using namespace node;
-
-class KerberosContext : public ObjectWrap {
-
-public:
- KerberosContext();
- ~KerberosContext();
-
- static inline bool HasInstance(Handle<Value> val) {
- if (!val->IsObject()) return false;
- Local<Object> obj = val->ToObject();
- return constructor_template->HasInstance(obj);
- };
-
- // Constructor used for creating new Kerberos objects from C++
- static Persistent<FunctionTemplate> constructor_template;
-
- // Initialize function for the object
- static void Initialize(Handle<Object> target);
-
- // Public constructor
- static KerberosContext* New();
-
- // Handle to the kerberos context
- gss_client_state *state;
-
-private:
- static Handle<Value> New(const Arguments &args);
-
- static Handle<Value> ResponseGetter(Local<String> property, const AccessorInfo& info);
-};
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.c
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.c b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.c
deleted file mode 100644
index f17003d..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.c
+++ /dev/null
@@ -1,666 +0,0 @@
-/**
- * Copyright (c) 2006-2010 Apple Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- **/
-
-#include "kerberosgss.h"
-
-#include "base64.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <arpa/inet.h>
-
-static void set_gss_error(OM_uint32 err_maj, OM_uint32 err_min);
-
-/*extern PyObject *GssException_class;
-extern PyObject *KrbException_class;
-
-char* server_principal_details(const char* service, const char* hostname)
-{
- char match[1024];
- int match_len = 0;
- char* result = NULL;
-
- int code;
- krb5_context kcontext;
- krb5_keytab kt = NULL;
- krb5_kt_cursor cursor = NULL;
- krb5_keytab_entry entry;
- char* pname = NULL;
-
- // Generate the principal prefix we want to match
- snprintf(match, 1024, "%s/%s@", service, hostname);
- match_len = strlen(match);
-
- code = krb5_init_context(&kcontext);
- if (code)
- {
- PyErr_SetObject(KrbException_class, Py_BuildValue("((s:i))",
- "Cannot initialize Kerberos5 context", code));
- return NULL;
- }
-
- if ((code = krb5_kt_default(kcontext, &kt)))
- {
- PyErr_SetObject(KrbException_class, Py_BuildValue("((s:i))",
- "Cannot get default keytab", code));
- goto end;
- }
-
- if ((code = krb5_kt_start_seq_get(kcontext, kt, &cursor)))
- {
- PyErr_SetObject(KrbException_class, Py_BuildValue("((s:i))",
- "Cannot get sequence cursor from keytab", code));
- goto end;
- }
-
- while ((code = krb5_kt_next_entry(kcontext, kt, &entry, &cursor)) == 0)
- {
- if ((code = krb5_unparse_name(kcontext, entry.principal, &pname)))
- {
- PyErr_SetObject(KrbException_class, Py_BuildValue("((s:i))",
- "Cannot parse principal name from keytab", code));
- goto end;
- }
-
- if (strncmp(pname, match, match_len) == 0)
- {
- result = malloc(strlen(pname) + 1);
- strcpy(result, pname);
- krb5_free_unparsed_name(kcontext, pname);
- krb5_free_keytab_entry_contents(kcontext, &entry);
- break;
- }
-
- krb5_free_unparsed_name(kcontext, pname);
- krb5_free_keytab_entry_contents(kcontext, &entry);
- }
-
- if (result == NULL)
- {
- PyErr_SetObject(KrbException_class, Py_BuildValue("((s:i))",
- "Principal not found in keytab", -1));
- }
-
-end:
- if (cursor)
- krb5_kt_end_seq_get(kcontext, kt, &cursor);
- if (kt)
- krb5_kt_close(kcontext, kt);
- krb5_free_context(kcontext);
-
- return result;
-}
-*/
-gss_client_response *authenticate_gss_client_init(const char* service, long int gss_flags, gss_client_state* state) {
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
- gss_buffer_desc name_token = GSS_C_EMPTY_BUFFER;
- gss_client_response *response = NULL;
- int ret = AUTH_GSS_COMPLETE;
-
- state->server_name = GSS_C_NO_NAME;
- state->context = GSS_C_NO_CONTEXT;
- state->gss_flags = gss_flags;
- state->username = NULL;
- state->response = NULL;
-
- // Import server name first
- name_token.length = strlen(service);
- name_token.value = (char *)service;
-
- maj_stat = gss_import_name(&min_stat, &name_token, gss_krb5_nt_service_name, &state->server_name);
-
- if (GSS_ERROR(maj_stat)) {
- response = gss_error(maj_stat, min_stat);
- response->return_code = AUTH_GSS_ERROR;
- goto end;
- }
-
-end:
- if(response == NULL) {
- response = calloc(1, sizeof(gss_client_response));
- response->return_code = ret;
- }
-
- return response;
-}
-
-gss_client_response *authenticate_gss_client_clean(gss_client_state *state) {
- OM_uint32 min_stat;
- int ret = AUTH_GSS_COMPLETE;
- gss_client_response *response = NULL;
-
- if(state->context != GSS_C_NO_CONTEXT)
- gss_delete_sec_context(&min_stat, &state->context, GSS_C_NO_BUFFER);
-
- if(state->server_name != GSS_C_NO_NAME)
- gss_release_name(&min_stat, &state->server_name);
-
- if(state->username != NULL) {
- free(state->username);
- state->username = NULL;
- }
-
- if (state->response != NULL) {
- free(state->response);
- state->response = NULL;
- }
-
- if(response == NULL) {
- response = calloc(1, sizeof(gss_client_response));
- response->return_code = ret;
- }
-
- return response;
-}
-
-gss_client_response *authenticate_gss_client_step(gss_client_state* state, const char* challenge) {
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
- gss_buffer_desc input_token = GSS_C_EMPTY_BUFFER;
- gss_buffer_desc output_token = GSS_C_EMPTY_BUFFER;
- int ret = AUTH_GSS_CONTINUE;
- gss_client_response *response = NULL;
-
- // Always clear out the old response
- if (state->response != NULL) {
- free(state->response);
- state->response = NULL;
- }
-
- // If there is a challenge (data from the server) we need to give it to GSS
- if (challenge && *challenge) {
- int len;
- input_token.value = base64_decode(challenge, &len);
- input_token.length = len;
- }
-
- // Do GSSAPI step
- maj_stat = gss_init_sec_context(&min_stat,
- GSS_C_NO_CREDENTIAL,
- &state->context,
- state->server_name,
- GSS_C_NO_OID,
- (OM_uint32)state->gss_flags,
- 0,
- GSS_C_NO_CHANNEL_BINDINGS,
- &input_token,
- NULL,
- &output_token,
- NULL,
- NULL);
-
- if ((maj_stat != GSS_S_COMPLETE) && (maj_stat != GSS_S_CONTINUE_NEEDED)) {
- response = gss_error(maj_stat, min_stat);
- response->return_code = AUTH_GSS_ERROR;
- goto end;
- }
-
- ret = (maj_stat == GSS_S_COMPLETE) ? AUTH_GSS_COMPLETE : AUTH_GSS_CONTINUE;
- // Grab the client response to send back to the server
- if(output_token.length) {
- state->response = base64_encode((const unsigned char *)output_token.value, output_token.length);
- maj_stat = gss_release_buffer(&min_stat, &output_token);
- }
-
- // Try to get the user name if we have completed all GSS operations
- if (ret == AUTH_GSS_COMPLETE) {
- gss_name_t gssuser = GSS_C_NO_NAME;
- maj_stat = gss_inquire_context(&min_stat, state->context, &gssuser, NULL, NULL, NULL, NULL, NULL, NULL);
-
- if(GSS_ERROR(maj_stat)) {
- response = gss_error(maj_stat, min_stat);
- response->return_code = AUTH_GSS_ERROR;
- goto end;
- }
-
- gss_buffer_desc name_token;
- name_token.length = 0;
- maj_stat = gss_display_name(&min_stat, gssuser, &name_token, NULL);
-
- if(GSS_ERROR(maj_stat)) {
- if(name_token.value)
- gss_release_buffer(&min_stat, &name_token);
- gss_release_name(&min_stat, &gssuser);
-
- response = gss_error(maj_stat, min_stat);
- response->return_code = AUTH_GSS_ERROR;
- goto end;
- } else {
- state->username = (char *)malloc(name_token.length + 1);
- strncpy(state->username, (char*) name_token.value, name_token.length);
- state->username[name_token.length] = 0;
- gss_release_buffer(&min_stat, &name_token);
- gss_release_name(&min_stat, &gssuser);
- }
- }
-
-end:
- if(output_token.value)
- gss_release_buffer(&min_stat, &output_token);
- if(input_token.value)
- free(input_token.value);
-
- if(response == NULL) {
- response = calloc(1, sizeof(gss_client_response));
- response->return_code = ret;
- }
-
- // Return the response
- return response;
-}
-
-gss_client_response *authenticate_gss_client_unwrap(gss_client_state *state, const char *challenge) {
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
- gss_buffer_desc input_token = GSS_C_EMPTY_BUFFER;
- gss_buffer_desc output_token = GSS_C_EMPTY_BUFFER;
- gss_client_response *response = NULL;
- int ret = AUTH_GSS_CONTINUE;
-
- // Always clear out the old response
- if(state->response != NULL) {
- free(state->response);
- state->response = NULL;
- }
-
- // If there is a challenge (data from the server) we need to give it to GSS
- if(challenge && *challenge) {
- int len;
- input_token.value = base64_decode(challenge, &len);
- input_token.length = len;
- }
-
- // Do GSSAPI step
- maj_stat = gss_unwrap(&min_stat,
- state->context,
- &input_token,
- &output_token,
- NULL,
- NULL);
-
- if(maj_stat != GSS_S_COMPLETE) {
- response = gss_error(maj_stat, min_stat);
- response->return_code = AUTH_GSS_ERROR;
- goto end;
- } else {
- ret = AUTH_GSS_COMPLETE;
- }
-
- // Grab the client response
- if(output_token.length) {
- state->response = base64_encode((const unsigned char *)output_token.value, output_token.length);
- maj_stat = gss_release_buffer(&min_stat, &output_token);
- }
-end:
- if(output_token.value)
- gss_release_buffer(&min_stat, &output_token);
- if(input_token.value)
- free(input_token.value);
-
- if(response == NULL) {
- response = calloc(1, sizeof(gss_client_response));
- response->return_code = ret;
- }
-
- // Return the response
- return response;
-}
-
-gss_client_response *authenticate_gss_client_wrap(gss_client_state* state, const char* challenge, const char* user) {
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
- gss_buffer_desc input_token = GSS_C_EMPTY_BUFFER;
- gss_buffer_desc output_token = GSS_C_EMPTY_BUFFER;
- int ret = AUTH_GSS_CONTINUE;
- gss_client_response *response = NULL;
- char buf[4096], server_conf_flags;
- unsigned long buf_size;
-
- // Always clear out the old response
- if(state->response != NULL) {
- free(state->response);
- state->response = NULL;
- }
-
- if(challenge && *challenge) {
- int len;
- input_token.value = base64_decode(challenge, &len);
- input_token.length = len;
- }
-
- if(user) {
- // get bufsize
- server_conf_flags = ((char*) input_token.value)[0];
- ((char*) input_token.value)[0] = 0;
- buf_size = ntohl(*((long *) input_token.value));
- free(input_token.value);
-#ifdef PRINTFS
- printf("User: %s, %c%c%c\n", user,
- server_conf_flags & GSS_AUTH_P_NONE ? 'N' : '-',
- server_conf_flags & GSS_AUTH_P_INTEGRITY ? 'I' : '-',
- server_conf_flags & GSS_AUTH_P_PRIVACY ? 'P' : '-');
- printf("Maximum GSS token size is %ld\n", buf_size);
-#endif
-
- // agree to terms (hack!)
- buf_size = htonl(buf_size); // not relevant without integrity/privacy
- memcpy(buf, &buf_size, 4);
- buf[0] = GSS_AUTH_P_NONE;
- // server decides if principal can log in as user
- strncpy(buf + 4, user, sizeof(buf) - 4);
- input_token.value = buf;
- input_token.length = 4 + strlen(user);
- }
-
- // Do GSSAPI wrap
- maj_stat = gss_wrap(&min_stat,
- state->context,
- 0,
- GSS_C_QOP_DEFAULT,
- &input_token,
- NULL,
- &output_token);
-
- if (maj_stat != GSS_S_COMPLETE) {
- response = gss_error(maj_stat, min_stat);
- response->return_code = AUTH_GSS_ERROR;
- goto end;
- } else
- ret = AUTH_GSS_COMPLETE;
- // Grab the client response to send back to the server
- if (output_token.length) {
- state->response = base64_encode((const unsigned char *)output_token.value, output_token.length);;
- maj_stat = gss_release_buffer(&min_stat, &output_token);
- }
-end:
- if (output_token.value)
- gss_release_buffer(&min_stat, &output_token);
-
- if(response == NULL) {
- response = calloc(1, sizeof(gss_client_response));
- response->return_code = ret;
- }
-
- // Return the response
- return response;
-}
-
-int authenticate_gss_server_init(const char *service, gss_server_state *state)
-{
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
- gss_buffer_desc name_token = GSS_C_EMPTY_BUFFER;
- int ret = AUTH_GSS_COMPLETE;
-
- state->context = GSS_C_NO_CONTEXT;
- state->server_name = GSS_C_NO_NAME;
- state->client_name = GSS_C_NO_NAME;
- state->server_creds = GSS_C_NO_CREDENTIAL;
- state->client_creds = GSS_C_NO_CREDENTIAL;
- state->username = NULL;
- state->targetname = NULL;
- state->response = NULL;
-
- // Server name may be empty which means we aren't going to create our own creds
- size_t service_len = strlen(service);
- if (service_len != 0)
- {
- // Import server name first
- name_token.length = strlen(service);
- name_token.value = (char *)service;
-
- maj_stat = gss_import_name(&min_stat, &name_token, GSS_C_NT_HOSTBASED_SERVICE, &state->server_name);
-
- if (GSS_ERROR(maj_stat))
- {
- set_gss_error(maj_stat, min_stat);
- ret = AUTH_GSS_ERROR;
- goto end;
- }
-
- // Get credentials
- maj_stat = gss_acquire_cred(&min_stat, state->server_name, GSS_C_INDEFINITE,
- GSS_C_NO_OID_SET, GSS_C_ACCEPT, &state->server_creds, NULL, NULL);
-
- if (GSS_ERROR(maj_stat))
- {
- set_gss_error(maj_stat, min_stat);
- ret = AUTH_GSS_ERROR;
- goto end;
- }
- }
-
-end:
- return ret;
-}
-
-int authenticate_gss_server_clean(gss_server_state *state)
-{
- OM_uint32 min_stat;
- int ret = AUTH_GSS_COMPLETE;
-
- if (state->context != GSS_C_NO_CONTEXT)
- gss_delete_sec_context(&min_stat, &state->context, GSS_C_NO_BUFFER);
- if (state->server_name != GSS_C_NO_NAME)
- gss_release_name(&min_stat, &state->server_name);
- if (state->client_name != GSS_C_NO_NAME)
- gss_release_name(&min_stat, &state->client_name);
- if (state->server_creds != GSS_C_NO_CREDENTIAL)
- gss_release_cred(&min_stat, &state->server_creds);
- if (state->client_creds != GSS_C_NO_CREDENTIAL)
- gss_release_cred(&min_stat, &state->client_creds);
- if (state->username != NULL)
- {
- free(state->username);
- state->username = NULL;
- }
- if (state->targetname != NULL)
- {
- free(state->targetname);
- state->targetname = NULL;
- }
- if (state->response != NULL)
- {
- free(state->response);
- state->response = NULL;
- }
-
- return ret;
-}
-
-/*int authenticate_gss_server_step(gss_server_state *state, const char *challenge)
-{
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
- gss_buffer_desc input_token = GSS_C_EMPTY_BUFFER;
- gss_buffer_desc output_token = GSS_C_EMPTY_BUFFER;
- int ret = AUTH_GSS_CONTINUE;
-
- // Always clear out the old response
- if (state->response != NULL)
- {
- free(state->response);
- state->response = NULL;
- }
-
- // If there is a challenge (data from the server) we need to give it to GSS
- if (challenge && *challenge)
- {
- int len;
- input_token.value = base64_decode(challenge, &len);
- input_token.length = len;
- }
- else
- {
- PyErr_SetString(KrbException_class, "No challenge parameter in request from client");
- ret = AUTH_GSS_ERROR;
- goto end;
- }
-
- maj_stat = gss_accept_sec_context(&min_stat,
- &state->context,
- state->server_creds,
- &input_token,
- GSS_C_NO_CHANNEL_BINDINGS,
- &state->client_name,
- NULL,
- &output_token,
- NULL,
- NULL,
- &state->client_creds);
-
- if (GSS_ERROR(maj_stat))
- {
- set_gss_error(maj_stat, min_stat);
- ret = AUTH_GSS_ERROR;
- goto end;
- }
-
- // Grab the server response to send back to the client
- if (output_token.length)
- {
- state->response = base64_encode((const unsigned char *)output_token.value, output_token.length);;
- maj_stat = gss_release_buffer(&min_stat, &output_token);
- }
-
- // Get the user name
- maj_stat = gss_display_name(&min_stat, state->client_name, &output_token, NULL);
- if (GSS_ERROR(maj_stat))
- {
- set_gss_error(maj_stat, min_stat);
- ret = AUTH_GSS_ERROR;
- goto end;
- }
- state->username = (char *)malloc(output_token.length + 1);
- strncpy(state->username, (char*) output_token.value, output_token.length);
- state->username[output_token.length] = 0;
-
- // Get the target name if no server creds were supplied
- if (state->server_creds == GSS_C_NO_CREDENTIAL)
- {
- gss_name_t target_name = GSS_C_NO_NAME;
- maj_stat = gss_inquire_context(&min_stat, state->context, NULL, &target_name, NULL, NULL, NULL, NULL, NULL);
- if (GSS_ERROR(maj_stat))
- {
- set_gss_error(maj_stat, min_stat);
- ret = AUTH_GSS_ERROR;
- goto end;
- }
- maj_stat = gss_display_name(&min_stat, target_name, &output_token, NULL);
- if (GSS_ERROR(maj_stat))
- {
- set_gss_error(maj_stat, min_stat);
- ret = AUTH_GSS_ERROR;
- goto end;
- }
- state->targetname = (char *)malloc(output_token.length + 1);
- strncpy(state->targetname, (char*) output_token.value, output_token.length);
- state->targetname[output_token.length] = 0;
- }
-
- ret = AUTH_GSS_COMPLETE;
-
-end:
- if (output_token.length)
- gss_release_buffer(&min_stat, &output_token);
- if (input_token.value)
- free(input_token.value);
- return ret;
-}
-*/
-
-static void set_gss_error(OM_uint32 err_maj, OM_uint32 err_min) {
- OM_uint32 maj_stat, min_stat;
- OM_uint32 msg_ctx = 0;
- gss_buffer_desc status_string;
- char buf_maj[512];
- char buf_min[512];
-
- do {
- maj_stat = gss_display_status (&min_stat,
- err_maj,
- GSS_C_GSS_CODE,
- GSS_C_NO_OID,
- &msg_ctx,
- &status_string);
- if(GSS_ERROR(maj_stat))
- break;
-
- strncpy(buf_maj, (char*) status_string.value, sizeof(buf_maj));
- gss_release_buffer(&min_stat, &status_string);
-
- maj_stat = gss_display_status (&min_stat,
- err_min,
- GSS_C_MECH_CODE,
- GSS_C_NULL_OID,
- &msg_ctx,
- &status_string);
- if (!GSS_ERROR(maj_stat)) {
-
- strncpy(buf_min, (char*) status_string.value , sizeof(buf_min));
- gss_release_buffer(&min_stat, &status_string);
- }
- } while (!GSS_ERROR(maj_stat) && msg_ctx != 0);
-}
-
-gss_client_response *gss_error(OM_uint32 err_maj, OM_uint32 err_min) {
- OM_uint32 maj_stat, min_stat;
- OM_uint32 msg_ctx = 0;
- gss_buffer_desc status_string;
- char *buf_maj = calloc(512, sizeof(char));
- char *buf_min = calloc(512, sizeof(char));
- char *message = NULL;
- gss_client_response *response = calloc(1, sizeof(gss_client_response));
-
- do {
- maj_stat = gss_display_status (&min_stat,
- err_maj,
- GSS_C_GSS_CODE,
- GSS_C_NO_OID,
- &msg_ctx,
- &status_string);
- if(GSS_ERROR(maj_stat))
- break;
-
- strncpy(buf_maj, (char*) status_string.value, 512);
- gss_release_buffer(&min_stat, &status_string);
-
- maj_stat = gss_display_status (&min_stat,
- err_min,
- GSS_C_MECH_CODE,
- GSS_C_NULL_OID,
- &msg_ctx,
- &status_string);
- if(!GSS_ERROR(maj_stat)) {
- strncpy(buf_min, (char*) status_string.value , 512);
- gss_release_buffer(&min_stat, &status_string);
- }
- } while (!GSS_ERROR(maj_stat) && msg_ctx != 0);
-
- // Join the strings
- message = calloc(1026, 1);
- // Join the two messages
- sprintf(message, "%s, %s", buf_maj, buf_min);
- // Free data
- free(buf_min);
- free(buf_maj);
- // Set the message
- response->message = message;
- // Return the message
- return response;
-}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.h
deleted file mode 100644
index 58ac0b7..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/kerberosgss.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Copyright (c) 2006-2009 Apple Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- **/
-#ifndef KERBEROS_GSS_H
-#define KERBEROS_GSS_H
-
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
-#include <gssapi/gssapi_krb5.h>
-
-#define krb5_get_err_text(context,code) error_message(code)
-
-#define AUTH_GSS_ERROR -1
-#define AUTH_GSS_COMPLETE 1
-#define AUTH_GSS_CONTINUE 0
-
-#define GSS_AUTH_P_NONE 1
-#define GSS_AUTH_P_INTEGRITY 2
-#define GSS_AUTH_P_PRIVACY 4
-
-typedef struct {
- int return_code;
- char *message;
-} gss_client_response;
-
-typedef struct {
- gss_ctx_id_t context;
- gss_name_t server_name;
- long int gss_flags;
- char* username;
- char* response;
-} gss_client_state;
-
-typedef struct {
- gss_ctx_id_t context;
- gss_name_t server_name;
- gss_name_t client_name;
- gss_cred_id_t server_creds;
- gss_cred_id_t client_creds;
- char* username;
- char* targetname;
- char* response;
-} gss_server_state;
-
-// char* server_principal_details(const char* service, const char* hostname);
-
-gss_client_response *authenticate_gss_client_init(const char* service, long int gss_flags, gss_client_state* state);
-gss_client_response *authenticate_gss_client_clean(gss_client_state *state);
-gss_client_response *authenticate_gss_client_step(gss_client_state *state, const char *challenge);
-gss_client_response *authenticate_gss_client_unwrap(gss_client_state* state, const char* challenge);
-gss_client_response *authenticate_gss_client_wrap(gss_client_state* state, const char* challenge, const char* user);
-
-int authenticate_gss_server_init(const char* service, gss_server_state* state);
-int authenticate_gss_server_clean(gss_server_state *state);
-// int authenticate_gss_server_step(gss_server_state *state, const char *challenge);
-
-gss_client_response *gss_error(OM_uint32 err_maj, OM_uint32 err_min);
-#endif
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/sspi.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/sspi.js b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/sspi.js
deleted file mode 100644
index d9120fb..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/sspi.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Load the native SSPI classes
-var kerberos = require('../build/Release/kerberos')
- , Kerberos = kerberos.Kerberos
- , SecurityBuffer = require('./win32/wrappers/security_buffer').SecurityBuffer
- , SecurityBufferDescriptor = require('./win32/wrappers/security_buffer_descriptor').SecurityBufferDescriptor
- , SecurityCredentials = require('./win32/wrappers/security_credentials').SecurityCredentials
- , SecurityContext = require('./win32/wrappers/security_context').SecurityContext;
-var SSPI = function() {
-}
-
-exports.SSPI = SSPI;
-exports.SecurityBuffer = SecurityBuffer;
-exports.SecurityBufferDescriptor = SecurityBufferDescriptor;
-exports.SecurityCredentials = SecurityCredentials;
-exports.SecurityContext = SecurityContext;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.c
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.c b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.c
deleted file mode 100644
index 502a021..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Copyright (c) 2006-2008 Apple Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- **/
-
-#include "base64.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-// base64 tables
-static char basis_64[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-static signed char index_64[128] =
-{
- -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
- -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
- -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63,
- 52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1,-1,-1,-1,
- -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14,
- 15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1,
- -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
- 41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1
-};
-#define CHAR64(c) (((c) < 0 || (c) > 127) ? -1 : index_64[(c)])
-
-// base64_encode : base64 encode
-//
-// value : data to encode
-// vlen : length of data
-// (result) : new char[] - c-str of result
-char *base64_encode(const unsigned char *value, int vlen)
-{
- char *result = (char *)malloc((vlen * 4) / 3 + 5);
- char *out = result;
- unsigned char oval;
-
- while (vlen >= 3)
- {
- *out++ = basis_64[value[0] >> 2];
- *out++ = basis_64[((value[0] << 4) & 0x30) | (value[1] >> 4)];
- *out++ = basis_64[((value[1] << 2) & 0x3C) | (value[2] >> 6)];
- *out++ = basis_64[value[2] & 0x3F];
- value += 3;
- vlen -= 3;
- }
- if (vlen > 0)
- {
- *out++ = basis_64[value[0] >> 2];
- oval = (value[0] << 4) & 0x30;
- if (vlen > 1) oval |= value[1] >> 4;
- *out++ = basis_64[oval];
- *out++ = (vlen < 2) ? '=' : basis_64[(value[1] << 2) & 0x3C];
- *out++ = '=';
- }
- *out = '\0';
-
- return result;
-}
-
-// base64_decode : base64 decode
-//
-// value : c-str to decode
-// rlen : length of decoded result
-// (result) : new unsigned char[] - decoded result
-unsigned char *base64_decode(const char *value, int *rlen)
-{
- int c1, c2, c3, c4;
- int vlen = (int)strlen(value);
- unsigned char *result =(unsigned char *)malloc((vlen * 3) / 4 + 1);
- unsigned char *out = result;
- *rlen = 0;
-
- while (1)
- {
- if (value[0]==0)
- return result;
- c1 = value[0];
- if (CHAR64(c1) == -1)
- goto base64_decode_error;;
- c2 = value[1];
- if (CHAR64(c2) == -1)
- goto base64_decode_error;;
- c3 = value[2];
- if ((c3 != '=') && (CHAR64(c3) == -1))
- goto base64_decode_error;;
- c4 = value[3];
- if ((c4 != '=') && (CHAR64(c4) == -1))
- goto base64_decode_error;;
-
- value += 4;
- *out++ = (CHAR64(c1) << 2) | (CHAR64(c2) >> 4);
- *rlen += 1;
- if (c3 != '=')
- {
- *out++ = ((CHAR64(c2) << 4) & 0xf0) | (CHAR64(c3) >> 2);
- *rlen += 1;
- if (c4 != '=')
- {
- *out++ = ((CHAR64(c3) << 6) & 0xc0) | CHAR64(c4);
- *rlen += 1;
- }
- }
- }
-
-base64_decode_error:
- *result = 0;
- *rlen = 0;
- return result;
-}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.h
deleted file mode 100644
index f0e1f06..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/base64.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Copyright (c) 2006-2008 Apple Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- **/
-
-char *base64_encode(const unsigned char *value, int vlen);
-unsigned char *base64_decode(const char *value, int *rlen);
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.cc
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.cc b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.cc
deleted file mode 100644
index 7fd521b..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "kerberos.h"
-#include <stdlib.h>
-#include <tchar.h>
-#include "base64.h"
-#include "wrappers/security_buffer.h"
-#include "wrappers/security_buffer_descriptor.h"
-#include "wrappers/security_context.h"
-#include "wrappers/security_credentials.h"
-
-Persistent<FunctionTemplate> Kerberos::constructor_template;
-
-// VException object (causes throw in calling code)
-static Handle<Value> VException(const char *msg) {
- HandleScope scope;
- return ThrowException(Exception::Error(String::New(msg)));
-}
-
-Kerberos::Kerberos() : ObjectWrap() {
-}
-
-void Kerberos::Initialize(v8::Handle<v8::Object> target) {
- // Grab the scope of the call from Node
- HandleScope scope;
- // Define a new function template
- Local<FunctionTemplate> t = FunctionTemplate::New(Kerberos::New);
- constructor_template = Persistent<FunctionTemplate>::New(t);
- constructor_template->InstanceTemplate()->SetInternalFieldCount(1);
- constructor_template->SetClassName(String::NewSymbol("Kerberos"));
- // Set the symbol
- target->ForceSet(String::NewSymbol("Kerberos"), constructor_template->GetFunction());
-}
-
-Handle<Value> Kerberos::New(const Arguments &args) {
- // Load the security.dll library
- load_library();
- // Create a Kerberos instance
- Kerberos *kerberos = new Kerberos();
- // Return the kerberos object
- kerberos->Wrap(args.This());
- return args.This();
-}
-
-// Exporting function
-extern "C" void init(Handle<Object> target) {
- HandleScope scope;
- Kerberos::Initialize(target);
- SecurityContext::Initialize(target);
- SecurityBuffer::Initialize(target);
- SecurityBufferDescriptor::Initialize(target);
- SecurityCredentials::Initialize(target);
-}
-
-NODE_MODULE(kerberos, init);
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.h
deleted file mode 100644
index 8443e78..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef KERBEROS_H
-#define KERBEROS_H
-
-#include <node.h>
-#include <node_object_wrap.h>
-#include <v8.h>
-
-extern "C" {
- #include "kerberos_sspi.h"
- #include "base64.h"
-}
-
-using namespace v8;
-using namespace node;
-
-class Kerberos : public ObjectWrap {
-
-public:
- Kerberos();
- ~Kerberos() {};
-
- // Constructor used for creating new Kerberos objects from C++
- static Persistent<FunctionTemplate> constructor_template;
-
- // Initialize function for the object
- static void Initialize(Handle<Object> target);
-
- // Method available
- static Handle<Value> AcquireAlternateCredentials(const Arguments &args);
- static Handle<Value> PrepareOutboundPackage(const Arguments &args);
- static Handle<Value> DecryptMessage(const Arguments &args);
- static Handle<Value> EncryptMessage(const Arguments &args);
- static Handle<Value> QueryContextAttributes(const Arguments &args);
-
-private:
- static Handle<Value> New(const Arguments &args);
-
- // Pointer to context object
- SEC_WINNT_AUTH_IDENTITY m_Identity;
- // credentials
- CredHandle m_Credentials;
- // Expiry time for ticket
- TimeStamp Expiration;
- // package info
- SecPkgInfo m_PkgInfo;
- // context
- CtxtHandle m_Context;
- // Do we have a context
- bool m_HaveContext;
- // Attributes
- DWORD CtxtAttr;
-
- // Handles the uv calls
- static void Process(uv_work_t* work_req);
- // Called after work is done
- static void After(uv_work_t* work_req);
-};
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.c
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.c b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.c
deleted file mode 100644
index d75c9ab..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.c
+++ /dev/null
@@ -1,244 +0,0 @@
-#include "kerberos_sspi.h"
-#include <stdlib.h>
-#include <stdio.h>
-
-static HINSTANCE _sspi_security_dll = NULL;
-static HINSTANCE _sspi_secur32_dll = NULL;
-
-/**
- * Encrypt A Message
- */
-SECURITY_STATUS SEC_ENTRY _sspi_EncryptMessage(PCtxtHandle phContext, unsigned long fQOP, PSecBufferDesc pMessage, unsigned long MessageSeqNo) {
- // Create function pointer instance
- encryptMessage_fn pfn_encryptMessage = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return -1;
-
- // Map function to library method
- pfn_encryptMessage = (encryptMessage_fn)GetProcAddress(_sspi_security_dll, "EncryptMessage");
- // Check if the we managed to map function pointer
- if(!pfn_encryptMessage) {
- printf("GetProcAddress failed.\n");
- return -2;
- }
-
- // Call the function
- return (*pfn_encryptMessage)(phContext, fQOP, pMessage, MessageSeqNo);
-}
-
-/**
- * Acquire Credentials
- */
-SECURITY_STATUS SEC_ENTRY _sspi_AcquireCredentialsHandle(
- LPSTR pszPrincipal, LPSTR pszPackage, unsigned long fCredentialUse,
- void * pvLogonId, void * pAuthData, SEC_GET_KEY_FN pGetKeyFn, void * pvGetKeyArgument,
- PCredHandle phCredential, PTimeStamp ptsExpiry
-) {
- SECURITY_STATUS status;
- // Create function pointer instance
- acquireCredentialsHandle_fn pfn_acquireCredentialsHandle = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return -1;
-
- // Map function
- #ifdef _UNICODE
- pfn_acquireCredentialsHandle = (acquireCredentialsHandle_fn)GetProcAddress(_sspi_security_dll, "AcquireCredentialsHandleW");
- #else
- pfn_acquireCredentialsHandle = (acquireCredentialsHandle_fn)GetProcAddress(_sspi_security_dll, "AcquireCredentialsHandleA");
- #endif
-
- // Check if the we managed to map function pointer
- if(!pfn_acquireCredentialsHandle) {
- printf("GetProcAddress failed.\n");
- return -2;
- }
-
- // Status
- status = (*pfn_acquireCredentialsHandle)(pszPrincipal, pszPackage, fCredentialUse,
- pvLogonId, pAuthData, pGetKeyFn, pvGetKeyArgument, phCredential, ptsExpiry
- );
-
- // Call the function
- return status;
-}
-
-/**
- * Delete Security Context
- */
-SECURITY_STATUS SEC_ENTRY _sspi_DeleteSecurityContext(PCtxtHandle phContext) {
- // Create function pointer instance
- deleteSecurityContext_fn pfn_deleteSecurityContext = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return -1;
- // Map function
- pfn_deleteSecurityContext = (deleteSecurityContext_fn)GetProcAddress(_sspi_security_dll, "DeleteSecurityContext");
-
- // Check if the we managed to map function pointer
- if(!pfn_deleteSecurityContext) {
- printf("GetProcAddress failed.\n");
- return -2;
- }
-
- // Call the function
- return (*pfn_deleteSecurityContext)(phContext);
-}
-
-/**
- * Decrypt Message
- */
-SECURITY_STATUS SEC_ENTRY _sspi_DecryptMessage(PCtxtHandle phContext, PSecBufferDesc pMessage, unsigned long MessageSeqNo, unsigned long pfQOP) {
- // Create function pointer instance
- decryptMessage_fn pfn_decryptMessage = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return -1;
- // Map function
- pfn_decryptMessage = (decryptMessage_fn)GetProcAddress(_sspi_security_dll, "DecryptMessage");
-
- // Check if the we managed to map function pointer
- if(!pfn_decryptMessage) {
- printf("GetProcAddress failed.\n");
- return -2;
- }
-
- // Call the function
- return (*pfn_decryptMessage)(phContext, pMessage, MessageSeqNo, pfQOP);
-}
-
-/**
- * Initialize Security Context
- */
-SECURITY_STATUS SEC_ENTRY _sspi_initializeSecurityContext(
- PCredHandle phCredential, PCtxtHandle phContext,
- LPSTR pszTargetName, unsigned long fContextReq,
- unsigned long Reserved1, unsigned long TargetDataRep,
- PSecBufferDesc pInput, unsigned long Reserved2,
- PCtxtHandle phNewContext, PSecBufferDesc pOutput,
- unsigned long * pfContextAttr, PTimeStamp ptsExpiry
-) {
- SECURITY_STATUS status;
- // Create function pointer instance
- initializeSecurityContext_fn pfn_initializeSecurityContext = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return -1;
-
- // Map function
- #ifdef _UNICODE
- pfn_initializeSecurityContext = (initializeSecurityContext_fn)GetProcAddress(_sspi_security_dll, "InitializeSecurityContextW");
- #else
- pfn_initializeSecurityContext = (initializeSecurityContext_fn)GetProcAddress(_sspi_security_dll, "InitializeSecurityContextA");
- #endif
-
- // Check if the we managed to map function pointer
- if(!pfn_initializeSecurityContext) {
- printf("GetProcAddress failed.\n");
- return -2;
- }
-
- // Execute intialize context
- status = (*pfn_initializeSecurityContext)(
- phCredential, phContext, pszTargetName, fContextReq,
- Reserved1, TargetDataRep, pInput, Reserved2,
- phNewContext, pOutput, pfContextAttr, ptsExpiry
- );
-
- // Call the function
- return status;
-}
-/**
- * Query Context Attributes
- */
-SECURITY_STATUS SEC_ENTRY _sspi_QueryContextAttributes(
- PCtxtHandle phContext, unsigned long ulAttribute, void * pBuffer
-) {
- // Create function pointer instance
- queryContextAttributes_fn pfn_queryContextAttributes = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return -1;
-
- #ifdef _UNICODE
- pfn_queryContextAttributes = (queryContextAttributes_fn)GetProcAddress(_sspi_security_dll, "QueryContextAttributesW");
- #else
- pfn_queryContextAttributes = (queryContextAttributes_fn)GetProcAddress(_sspi_security_dll, "QueryContextAttributesA");
- #endif
-
- // Check if the we managed to map function pointer
- if(!pfn_queryContextAttributes) {
- printf("GetProcAddress failed.\n");
- return -2;
- }
-
- // Call the function
- return (*pfn_queryContextAttributes)(
- phContext, ulAttribute, pBuffer
- );
-}
-
-/**
- * InitSecurityInterface
- */
-PSecurityFunctionTable _ssip_InitSecurityInterface() {
- INIT_SECURITY_INTERFACE InitSecurityInterface;
- PSecurityFunctionTable pSecurityInterface = NULL;
-
- // Return error if library not loaded
- if(_sspi_security_dll == NULL) return NULL;
-
- #ifdef _UNICODE
- // Get the address of the InitSecurityInterface function.
- InitSecurityInterface = (INIT_SECURITY_INTERFACE) GetProcAddress (
- _sspi_secur32_dll,
- TEXT("InitSecurityInterfaceW"));
- #else
- // Get the address of the InitSecurityInterface function.
- InitSecurityInterface = (INIT_SECURITY_INTERFACE) GetProcAddress (
- _sspi_secur32_dll,
- TEXT("InitSecurityInterfaceA"));
- #endif
-
- if(!InitSecurityInterface) {
- printf (TEXT("Failed in getting the function address, Error: %x"), GetLastError ());
- return NULL;
- }
-
- // Use InitSecurityInterface to get the function table.
- pSecurityInterface = (*InitSecurityInterface)();
-
- if(!pSecurityInterface) {
- printf (TEXT("Failed in getting the function table, Error: %x"), GetLastError ());
- return NULL;
- }
-
- return pSecurityInterface;
-}
-
-/**
- * Load security.dll dynamically
- */
-int load_library() {
- DWORD err;
- // Load the library
- _sspi_security_dll = LoadLibrary("security.dll");
-
- // Check if the library loaded
- if(_sspi_security_dll == NULL) {
- err = GetLastError();
- return err;
- }
-
- // Load the library
- _sspi_secur32_dll = LoadLibrary("secur32.dll");
-
- // Check if the library loaded
- if(_sspi_secur32_dll == NULL) {
- err = GetLastError();
- return err;
- }
-
- return 0;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.h
deleted file mode 100644
index a3008dc..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/kerberos_sspi.h
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef SSPI_C_H
-#define SSPI_C_H
-
-#define SECURITY_WIN32 1
-
-#include <windows.h>
-#include <sspi.h>
-
-/**
- * Encrypt A Message
- */
-SECURITY_STATUS SEC_ENTRY _sspi_EncryptMessage(PCtxtHandle phContext, unsigned long fQOP, PSecBufferDesc pMessage, unsigned long MessageSeqNo);
-
-typedef DWORD (WINAPI *encryptMessage_fn)(PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo);
-
-/**
- * Acquire Credentials
- */
-SECURITY_STATUS SEC_ENTRY _sspi_AcquireCredentialsHandle(
- LPSTR pszPrincipal, // Name of principal
- LPSTR pszPackage, // Name of package
- unsigned long fCredentialUse, // Flags indicating use
- void * pvLogonId, // Pointer to logon ID
- void * pAuthData, // Package specific data
- SEC_GET_KEY_FN pGetKeyFn, // Pointer to GetKey() func
- void * pvGetKeyArgument, // Value to pass to GetKey()
- PCredHandle phCredential, // (out) Cred Handle
- PTimeStamp ptsExpiry // (out) Lifetime (optional)
-);
-
-typedef DWORD (WINAPI *acquireCredentialsHandle_fn)(
- LPSTR pszPrincipal, LPSTR pszPackage, unsigned long fCredentialUse,
- void * pvLogonId, void * pAuthData, SEC_GET_KEY_FN pGetKeyFn, void * pvGetKeyArgument,
- PCredHandle phCredential, PTimeStamp ptsExpiry
- );
-
-/**
- * Delete Security Context
- */
-SECURITY_STATUS SEC_ENTRY _sspi_DeleteSecurityContext(
- PCtxtHandle phContext // Context to delete
-);
-
-typedef DWORD (WINAPI *deleteSecurityContext_fn)(PCtxtHandle phContext);
-
-/**
- * Decrypt Message
- */
-SECURITY_STATUS SEC_ENTRY _sspi_DecryptMessage(
- PCtxtHandle phContext,
- PSecBufferDesc pMessage,
- unsigned long MessageSeqNo,
- unsigned long pfQOP
-);
-
-typedef DWORD (WINAPI *decryptMessage_fn)(
- PCtxtHandle phContext, PSecBufferDesc pMessage, unsigned long MessageSeqNo, unsigned long pfQOP);
-
-/**
- * Initialize Security Context
- */
-SECURITY_STATUS SEC_ENTRY _sspi_initializeSecurityContext(
- PCredHandle phCredential, // Cred to base context
- PCtxtHandle phContext, // Existing context (OPT)
- LPSTR pszTargetName, // Name of target
- unsigned long fContextReq, // Context Requirements
- unsigned long Reserved1, // Reserved, MBZ
- unsigned long TargetDataRep, // Data rep of target
- PSecBufferDesc pInput, // Input Buffers
- unsigned long Reserved2, // Reserved, MBZ
- PCtxtHandle phNewContext, // (out) New Context handle
- PSecBufferDesc pOutput, // (inout) Output Buffers
- unsigned long * pfContextAttr, // (out) Context attrs
- PTimeStamp ptsExpiry // (out) Life span (OPT)
-);
-
-typedef DWORD (WINAPI *initializeSecurityContext_fn)(
- PCredHandle phCredential, PCtxtHandle phContext, LPSTR pszTargetName, unsigned long fContextReq,
- unsigned long Reserved1, unsigned long TargetDataRep, PSecBufferDesc pInput, unsigned long Reserved2,
- PCtxtHandle phNewContext, PSecBufferDesc pOutput, unsigned long * pfContextAttr, PTimeStamp ptsExpiry);
-
-/**
- * Query Context Attributes
- */
-SECURITY_STATUS SEC_ENTRY _sspi_QueryContextAttributes(
- PCtxtHandle phContext, // Context to query
- unsigned long ulAttribute, // Attribute to query
- void * pBuffer // Buffer for attributes
-);
-
-typedef DWORD (WINAPI *queryContextAttributes_fn)(
- PCtxtHandle phContext, unsigned long ulAttribute, void * pBuffer);
-
-/**
- * InitSecurityInterface
- */
-PSecurityFunctionTable _ssip_InitSecurityInterface();
-
-typedef DWORD (WINAPI *initSecurityInterface_fn) ();
-
-/**
- * Load security.dll dynamically
- */
-int load_library();
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.cc
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.cc b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.cc
deleted file mode 100644
index e7a472f..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "worker.h"
-
-Worker::Worker() {
-}
-
-Worker::~Worker() {
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.h
deleted file mode 100644
index f73a4a7..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/worker.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef WORKER_H_
-#define WORKER_H_
-
-#include <node.h>
-#include <node_object_wrap.h>
-#include <v8.h>
-
-using namespace node;
-using namespace v8;
-
-class Worker {
- public:
- Worker();
- virtual ~Worker();
-
- // libuv's request struct.
- uv_work_t request;
- // Callback
- v8::Persistent<v8::Function> callback;
- // Parameters
- void *parameters;
- // Results
- void *return_value;
- // Did we raise an error
- bool error;
- // The error message
- char *error_message;
- // Error code if not message
- int error_code;
- // Any return code
- int return_code;
- // Method we are going to fire
- void (*execute)(Worker *worker);
- Handle<Value> (*mapper)(Worker *worker);
-};
-
-#endif // WORKER_H_
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.cc
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.cc b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.cc
deleted file mode 100644
index dd38b59..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-#include <node.h>
-#include <assert.h>
-#include <string.h>
-#include <stdlib.h>
-#include <v8.h>
-#include <node_buffer.h>
-#include <cstring>
-#include <cmath>
-#include <cstdlib>
-#include <iostream>
-#include <limits>
-
-#include "security_buffer.h"
-
-using namespace node;
-
-static Handle<Value> VException(const char *msg) {
- HandleScope scope;
- return ThrowException(Exception::Error(String::New(msg)));
-};
-
-Persistent<FunctionTemplate> SecurityBuffer::constructor_template;
-
-SecurityBuffer::SecurityBuffer(uint32_t security_type, size_t size) : ObjectWrap() {
- this->size = size;
- this->data = calloc(size, sizeof(char));
- this->security_type = security_type;
- // Set up the data in the sec_buffer
- this->sec_buffer.BufferType = security_type;
- this->sec_buffer.cbBuffer = (unsigned long)size;
- this->sec_buffer.pvBuffer = this->data;
-}
-
-SecurityBuffer::SecurityBuffer(uint32_t security_type, size_t size, void *data) : ObjectWrap() {
- this->size = size;
- this->data = data;
- this->security_type = security_type;
- // Set up the data in the sec_buffer
- this->sec_buffer.BufferType = security_type;
- this->sec_buffer.cbBuffer = (unsigned long)size;
- this->sec_buffer.pvBuffer = this->data;
-}
-
-SecurityBuffer::~SecurityBuffer() {
- free(this->data);
-}
-
-Handle<Value> SecurityBuffer::New(const Arguments &args) {
- HandleScope scope;
- SecurityBuffer *security_obj;
-
- if(args.Length() != 2)
- return VException("Two parameters needed integer buffer type and [32 bit integer/Buffer] required");
-
- if(!args[0]->IsInt32())
- return VException("Two parameters needed integer buffer type and [32 bit integer/Buffer] required");
-
- if(!args[1]->IsInt32() && !Buffer::HasInstance(args[1]))
- return VException("Two parameters needed integer buffer type and [32 bit integer/Buffer] required");
-
- // Unpack buffer type
- uint32_t buffer_type = args[0]->ToUint32()->Value();
-
- // If we have an integer
- if(args[1]->IsInt32()) {
- security_obj = new SecurityBuffer(buffer_type, args[1]->ToUint32()->Value());
- } else {
- // Get the length of the Buffer
- size_t length = Buffer::Length(args[1]->ToObject());
- // Allocate space for the internal void data pointer
- void *data = calloc(length, sizeof(char));
- // Write the data to out of V8 heap space
- memcpy(data, Buffer::Data(args[1]->ToObject()), length);
- // Create new SecurityBuffer
- security_obj = new SecurityBuffer(buffer_type, length, data);
- }
-
- // Wrap it
- security_obj->Wrap(args.This());
- // Return the object
- return args.This();
-}
-
-Handle<Value> SecurityBuffer::ToBuffer(const Arguments &args) {
- HandleScope scope;
-
- // Unpack the Security Buffer object
- SecurityBuffer *security_obj = ObjectWrap::Unwrap<SecurityBuffer>(args.This());
- // Create a Buffer
- Buffer *buffer = Buffer::New((char *)security_obj->data, (size_t)security_obj->size);
-
- // Return the buffer
- return scope.Close(buffer->handle_);
-}
-
-void SecurityBuffer::Initialize(Handle<Object> target) {
- // Grab the scope of the call from Node
- HandleScope scope;
- // Define a new function template
- Local<FunctionTemplate> t = FunctionTemplate::New(New);
- constructor_template = Persistent<FunctionTemplate>::New(t);
- constructor_template->InstanceTemplate()->SetInternalFieldCount(1);
- constructor_template->SetClassName(String::NewSymbol("SecurityBuffer"));
-
- // Set up method for the Kerberos instance
- NODE_SET_PROTOTYPE_METHOD(constructor_template, "toBuffer", ToBuffer);
-
- // Set up class
- target->Set(String::NewSymbol("SecurityBuffer"), constructor_template->GetFunction());
-}
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.h
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.h b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.h
deleted file mode 100644
index d6a5675..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef SECURITY_BUFFER_H
-#define SECURITY_BUFFER_H
-
-#include <node.h>
-#include <node_object_wrap.h>
-#include <v8.h>
-
-#define SECURITY_WIN32 1
-
-#include <windows.h>
-#include <sspi.h>
-
-using namespace v8;
-using namespace node;
-
-class SecurityBuffer : public ObjectWrap {
- public:
- SecurityBuffer(uint32_t security_type, size_t size);
- SecurityBuffer(uint32_t security_type, size_t size, void *data);
- ~SecurityBuffer();
-
- // Internal values
- void *data;
- size_t size;
- uint32_t security_type;
- SecBuffer sec_buffer;
-
- // Has instance check
- static inline bool HasInstance(Handle<Value> val) {
- if (!val->IsObject()) return false;
- Local<Object> obj = val->ToObject();
- return constructor_template->HasInstance(obj);
- };
-
- // Functions available from V8
- static void Initialize(Handle<Object> target);
- static Handle<Value> ToBuffer(const Arguments &args);
-
- // Constructor used for creating new Long objects from C++
- static Persistent<FunctionTemplate> constructor_template;
-
- private:
- static Handle<Value> New(const Arguments &args);
-};
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.js b/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.js
deleted file mode 100644
index 4996163..0000000
--- a/web/demos/package/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var SecurityBufferNative = require('../../../build/Release/kerberos').SecurityBuffer;
-
-// Add some attributes
-SecurityBufferNative.VERSION = 0;
-SecurityBufferNative.EMPTY = 0;
-SecurityBufferNative.DATA = 1;
-SecurityBufferNative.TOKEN = 2;
-SecurityBufferNative.PADDING = 9;
-SecurityBufferNative.STREAM = 10;
-
-// Export the modified class
-exports.SecurityBuffer = SecurityBufferNative;
\ No newline at end of file