]> git.sesse.net Git - vlc/blobdiff - src/network/tls.c
TLS: attach before inheriting variables
[vlc] / src / network / tls.c
index 11e3dd2a24861ce817b2de1bd85aed9ba9252aa8..1b11bde0387a50062d613be692d5a981461c9ac7 100644 (file)
@@ -69,7 +69,8 @@ tls_ServerCreate (vlc_object_t *obj, const char *cert_path,
         var_SetString (srv, "tls-x509-key", key_path);
     }
 
-    srv->p_module = module_Need (srv, "tls server", 0, 0);
+    vlc_object_attach (srv, obj);
+    srv->p_module = module_need (srv, "tls server", NULL, false );
     if (srv->p_module == NULL)
     {
         msg_Err (srv, "TLS server plugin not available");
@@ -77,7 +78,6 @@ tls_ServerCreate (vlc_object_t *obj, const char *cert_path,
         return NULL;
     }
 
-    vlc_object_attach (srv, obj);
     msg_Dbg (srv, "TLS server plugin initialized");
     return srv;
 }
@@ -92,8 +92,7 @@ void tls_ServerDelete (tls_server_t *srv)
     if (srv == NULL)
         return;
 
-    module_Unneed (srv, srv->p_module);
-    vlc_object_detach (srv);
+    module_unneed (srv, srv->p_module);
     vlc_object_release (srv);
 }
 
@@ -185,7 +184,8 @@ tls_ClientCreate (vlc_object_t *obj, int fd, const char *psz_hostname)
     else
         msg_Dbg (cl, "requested anonymous server");
 
-    cl->p_module = module_Need (cl, "tls client", 0, 0);
+    vlc_object_attach (cl, obj);
+    cl->p_module = module_need (cl, "tls client", NULL, false );
     if (cl->p_module == NULL)
     {
         msg_Err (cl, "TLS client plugin not available");
@@ -202,12 +202,11 @@ tls_ClientCreate (vlc_object_t *obj, int fd, const char *psz_hostname)
     if (val == 0)
     {
         msg_Dbg (cl, "TLS client session initialized");
-        vlc_object_attach (cl, obj);
         return cl;
     }
     msg_Err (cl, "TLS client session handshake error");
 
-    module_Unneed (cl, cl->p_module);
+    module_unneed (cl, cl->p_module);
     vlc_object_release (cl);
     return NULL;
 }
@@ -222,7 +221,6 @@ void tls_ClientDelete (tls_session_t *cl)
     if (cl == NULL)
         return;
 
-    module_Unneed (cl, cl->p_module);
-    vlc_object_detach (cl);
+    module_unneed (cl, cl->p_module);
     vlc_object_release (cl);
 }