Disable compression with OpenSSL.
authorRyan Dahl <ry@tinyclouds.org>
Fri, 1 Apr 2011 02:27:28 +0000 (19:27 -0700)
committerRyan Dahl <ry@tinyclouds.org>
Mon, 16 May 2011 17:33:19 +0000 (10:33 -0700)
This improves memory and speed. Users may apply compression in "userland"
above the CryptoStream layer if they desire.

src/node_crypto.cc

index 14b267f..b1369d6 100644 (file)
@@ -2904,9 +2904,6 @@ class Verify : public ObjectWrap {
 };
 
 
-
-
-
 void InitCrypto(Handle<Object> target) {
   HandleScope scope;
 
@@ -2916,6 +2913,18 @@ void InitCrypto(Handle<Object> target) {
   SSL_load_error_strings();
   ERR_load_crypto_strings();
 
+  // Turn off compression. Saves memory - do it in userland.
+  STACK_OF(SSL_COMP)* comp_methods = SSL_COMP_get_compression_methods();
+#if 0
+  if (comp_methods && sk_SSL_COMP_num(comp_methods) > 0) {
+    default_compression_method = sk_SSL_COMP_pop(comp_methods);
+    fprintf(stderr, "SSL_COMP_get_name %s\n",
+        SSL_COMP_get_name(default_compression_method->method));
+  }
+#endif
+  sk_SSL_COMP_zero(comp_methods);
+  assert(sk_SSL_COMP_num(comp_methods) == 0);
+
   SecureContext::Initialize(target);
   Connection::Initialize(target);
   Cipher::Initialize(target);