Revert "crypto: add SecureContext.clearOptions() method"
authorRyan Dahl <ry@tinyclouds.org>
Fri, 6 Jan 2012 20:00:36 +0000 (12:00 -0800)
committerRyan Dahl <ry@tinyclouds.org>
Fri, 6 Jan 2012 20:01:58 +0000 (12:01 -0800)
API addition needs to go in master. Also openssl-0.9.8k doesn't have
SSL_CTX_clear_options().

This reverts commit 6f8839d2ac362ced42235a34a023af5e2c656501.

src/node_crypto.cc
src/node_crypto.h

index f3bff2ed04e01429b7a9c5d96422ae0ea16d3146..9f73df35cafa505c9216a0c06756e81b94fdabef 100644 (file)
@@ -166,7 +166,6 @@ void SecureContext::Initialize(Handle<Object> target) {
   NODE_SET_PROTOTYPE_METHOD(t, "addRootCerts", SecureContext::AddRootCerts);
   NODE_SET_PROTOTYPE_METHOD(t, "setCiphers", SecureContext::SetCiphers);
   NODE_SET_PROTOTYPE_METHOD(t, "setOptions", SecureContext::SetOptions);
-  NODE_SET_PROTOTYPE_METHOD(t, "clearOptions", SecureContext::ClearOptions);
   NODE_SET_PROTOTYPE_METHOD(t, "setSessionIdContext",
                                SecureContext::SetSessionIdContext);
   NODE_SET_PROTOTYPE_METHOD(t, "close", SecureContext::Close);
@@ -541,23 +540,21 @@ Handle<Value> SecureContext::SetCiphers(const Arguments& args) {
   return True();
 }
 
-#define X(name, fn)                                                           \
-  Handle<Value> name(const Arguments& args) {                                 \
-    HandleScope scope;                                                        \
-    SecureContext *sc = ObjectWrap::Unwrap<SecureContext>(args.Holder());     \
-    if (args.Length() != 1 || !args[0]->IsInt32()) {                          \
-      return ThrowException(                                                  \
-          Exception::TypeError(String::New("Bad parameter")));                \
-    }                                                                         \
-    fn(sc->ctx_, args[0]->Int32Value());                                      \
-    return True();                                                            \
+Handle<Value> SecureContext::SetOptions(const Arguments& args) {
+  HandleScope scope;
+
+  SecureContext *sc = ObjectWrap::Unwrap<SecureContext>(args.Holder());
+
+  if (args.Length() != 1 || !args[0]->IsUint32()) {
+    return ThrowException(Exception::TypeError(String::New("Bad parameter")));
   }
 
-// can't use templates, SSL_CTX_set_options and SSL_CTX_clear_options are macros
-X(SecureContext::SetOptions,   SSL_CTX_set_options)
-X(SecureContext::ClearOptions, SSL_CTX_clear_options)
+  unsigned int opts = args[0]->Uint32Value();
+
+  SSL_CTX_set_options(sc->ctx_, opts);
 
-#undef X
+  return True();
+}
 
 Handle<Value> SecureContext::SetSessionIdContext(const Arguments& args) {
   HandleScope scope;
index 58168e3df1fb0c2a80206c0116d389a6bcb0cea6..4cde964da460f02d846471420fc9993672c6ea81 100644 (file)
@@ -66,7 +66,6 @@ class SecureContext : ObjectWrap {
   static v8::Handle<v8::Value> AddRootCerts(const v8::Arguments& args);
   static v8::Handle<v8::Value> SetCiphers(const v8::Arguments& args);
   static v8::Handle<v8::Value> SetOptions(const v8::Arguments& args);
-  static v8::Handle<v8::Value> ClearOptions(const v8::Arguments& args);
   static v8::Handle<v8::Value> SetSessionIdContext(const v8::Arguments& args);
   static v8::Handle<v8::Value> Close(const v8::Arguments& args);