]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Revert last commit, fix memory leak the right way.
authorSimon Josefsson <simon@josefsson.org>
Thu, 5 Jun 2008 20:34:01 +0000 (22:34 +0200)
committerSimon Josefsson <simon@josefsson.org>
Thu, 5 Jun 2008 20:34:01 +0000 (22:34 +0200)
tests/x509self.c

index d578ec5f9c772ea1e508edba1cae067ea6dc818a..87938f890f256a70980c05114f2df0c36bfb9455 100644 (file)
@@ -342,25 +342,6 @@ const gnutls_datum_t server_key = { server_key_pem,
 void
 server_start (void)
 {
-  /* this must be called once in the program
-   */
-  gnutls_global_init ();
-
-  gnutls_global_set_log_function (tls_log_func);
-  gnutls_global_set_log_level (4711);
-
-  gnutls_certificate_allocate_credentials (&x509_cred);
-  gnutls_certificate_set_x509_trust_mem (x509_cred, &ca, GNUTLS_X509_FMT_PEM);
-
-  gnutls_certificate_set_x509_key_mem (x509_cred, &server_cert, &server_key,
-                                      GNUTLS_X509_FMT_PEM);
-
-  success ("Launched, generating DH parameters...\n");
-
-  generate_dh_params ();
-
-  gnutls_certificate_set_dh_params (x509_cred, dh_params);
-
   /* Socket operations
    */
   listen_sd = socket (AF_INET, SOCK_STREAM, 0);
@@ -400,6 +381,25 @@ server_start (void)
 void
 server (void)
 {
+  /* this must be called once in the program
+   */
+  gnutls_global_init ();
+
+  gnutls_global_set_log_function (tls_log_func);
+  gnutls_global_set_log_level (4711);
+
+  gnutls_certificate_allocate_credentials (&x509_cred);
+  gnutls_certificate_set_x509_trust_mem (x509_cred, &ca, GNUTLS_X509_FMT_PEM);
+
+  gnutls_certificate_set_x509_key_mem (x509_cred, &server_cert, &server_key,
+                                      GNUTLS_X509_FMT_PEM);
+
+  success ("Launched, generating DH parameters...\n");
+
+  generate_dh_params ();
+
+  gnutls_certificate_set_dh_params (x509_cred, dh_params);
+
   client_len = sizeof (sa_cli);
 
   session = initialize_tls_session ();
@@ -472,6 +472,11 @@ server (void)
 void
 doit (void)
 {
+  /* parent */
+  server_start ();
+  if (error_count)
+    return;
+
   child = fork ();
   if (child < 0)
     {
@@ -483,10 +488,6 @@ doit (void)
   if (child)
     {
       int status;
-      /* parent */
-      server_start ();
-      if (error_count)
-       return;
 
       server ();
       wait (&status);