Explorar o código

Defer SSL init to first command in ssl_plugin

z3APA3A %!s(int64=10) %!d(string=hai) anos
pai
achega
c96d415020
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      src/plugins/SSLPlugin/ssl_plugin.c

+ 6 - 1
src/plugins/SSLPlugin/ssl_plugin.c

@@ -326,8 +326,13 @@ static struct filter ssl_filter = {
 };
 
 int mitm = 0;
+int ssl_inited = 0;
 
 static int h_mitm(int argc, unsigned char **argv){
+	if(!ssl_inited) {
+		ssl_init();
+		ssl_inited = 1;
+	}
 	if((mitm&1)) return 1;
 	if(mitm) usleep(100*SLEEPTIME);
 	ssl_filter.next = pl->conf->filters;
@@ -389,9 +394,9 @@ __declspec(dllexport)
 	}
 	else {
 		ssl_release();
+		ssl_inited = 0;
 	}
 
-	ssl_init();
 	tcppmfunc = (PROXYFUNC)pl->findbyname("tcppm");	
 	if(!tcppmfunc){return 13;}
 	proxyfunc = (PROXYFUNC)pl->findbyname("proxy");