gnutls-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gnutls branch, master, updated. gnutls_2_11_6-365-gef11a5a


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_2_11_6-365-gef11a5a
Date: Mon, 04 Apr 2011 20:02:43 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gnutls".

http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=ef11a5ad23c899f1b739b02aabe983238a9773f2

The branch, master has been updated
       via  ef11a5ad23c899f1b739b02aabe983238a9773f2 (commit)
      from  ca41fc31917d97f4a6b9aa8323a1317c1657d9af (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ef11a5ad23c899f1b739b02aabe983238a9773f2
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Mon Apr 4 22:02:27 2011 +0200

    The mini-* programs were combined.

-----------------------------------------------------------------------

Summary of changes:
 tests/eagain-common.h    |   86 ++++++++++++++++++++++-
 tests/mini-eagain-dtls.c |  100 ++-------------------------
 tests/mini-eagain.c      |  105 +---------------------------
 tests/mini.c             |  173 ++--------------------------------------------
 4 files changed, 101 insertions(+), 363 deletions(-)

diff --git a/tests/eagain-common.h b/tests/eagain-common.h
index 5fb436e..0cb76ee 100644
--- a/tests/eagain-common.h
+++ b/tests/eagain-common.h
@@ -1,6 +1,90 @@
 #define min(x,y) ((x)<(y)?(x):(y))
 //#define EAGAIN_DEBUG
-#define RANDOMIZE
+
+#define HANDSHAKE(c, s) \
+  sret = cret = GNUTLS_E_AGAIN; \
+  do \
+    { \
+      if (cret == GNUTLS_E_AGAIN) \
+        { \
+          cret = gnutls_handshake (c); \
+        } \
+      if (sret == GNUTLS_E_AGAIN) \
+        { \
+          sret = gnutls_handshake (s); \
+        } \
+    } \
+  while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN); \
+  if (cret < 0 || sret < 0) \
+    { \
+      fprintf(stderr, "client: %s\n", gnutls_strerror(cret)); \
+      fprintf(stderr, "server: %s\n", gnutls_strerror(sret)); \
+      fail("Handshake failed\n"); \
+      exit(1); \
+    }
+
+#define TRANSFER(c, s, msg, msglen, buf, buflen) \
+  do \
+    { \
+      ret = gnutls_record_send (c, msg, msglen); \
+    } \
+  while(ret == GNUTLS_E_AGAIN); \
+  do \
+    { \
+      do \
+        { \
+          ret = gnutls_record_recv (s, buf, buflen); \
+        } \
+      while(ret == GNUTLS_E_AGAIN); \
+      if (ret == 0) \
+        fail ("server: didn't receive any data\n"); \
+      else if (ret < 0) \
+        { \
+          fail ("server: error: %s\n", gnutls_strerror (ret)); \
+        } \
+      else \
+        { \
+          transferred += ret; \
+        } \
+      do \
+        { \
+          ns = gnutls_record_send (server, msg, msglen); \
+        } \
+      while (ns == GNUTLS_E_AGAIN); \
+      do \
+        { \
+          ret = gnutls_record_recv (client, buf, buflen); \
+        } \
+      while(ret == GNUTLS_E_AGAIN); \
+      if (ret == 0) \
+        { \
+          fail ("client: Peer has closed the TLS connection\n"); \
+        } \
+      else if (ret < 0) \
+        { \
+          if (debug) \
+            fputs ("!", stdout); \
+          fail ("client: Error: %s\n", gnutls_strerror (ret)); \
+        } \
+      else \
+        { \
+          if (msglen != ret || memcmp (buf, msg, msglen) != 0) \
+            { \
+              fail ("client: Transmitted data do not match\n"); \
+            } \
+          /* echo back */ \
+          do \
+            { \
+              ns = gnutls_record_send (client, buf, msglen); \
+            } \
+          while (ns == GNUTLS_E_AGAIN); \
+          transferred += ret; \
+          if (debug) \
+            fputs (".", stdout); \
+        } \
+    } \
+  while (transferred < 70000)
+
 
 static char to_server[64*1024];
 static size_t to_server_len = 0;
diff --git a/tests/mini-eagain-dtls.c b/tests/mini-eagain-dtls.c
index 0b3ed47..9c20837 100644
--- a/tests/mini-eagain-dtls.c
+++ b/tests/mini-eagain-dtls.c
@@ -31,6 +31,7 @@
 #include <gnutls/gnutls.h>
 #include <gnutls/crypto.h>
 #include "utils.h"
+#define RANDOMIZE
 #include "eagain-common.h"
 
 static void
@@ -94,32 +95,7 @@ doit (void)
   gnutls_transport_set_pull_timeout_function (client, 
client_pull_timeout_func);
 
   handshake = 1;
-  sret = cret = GNUTLS_E_AGAIN;
-  do
-    {
-      if (cret == GNUTLS_E_AGAIN)
-        {
-          //success ("loop invoking client:\n");
-          cret = gnutls_handshake (client);
-          //success ("client %d: %s\n", cret, gnutls_strerror (cret));
-        }
-
-      if (sret == GNUTLS_E_AGAIN)
-        {
-          //success ("loop invoking server:\n");
-          sret = gnutls_handshake (server);
-          //success ("server %d: %s\n", sret, gnutls_strerror (sret));
-        }
-    }
-  while ((cret == GNUTLS_E_AGAIN && gnutls_error_is_fatal(sret)==0) || (sret 
== GNUTLS_E_AGAIN && gnutls_error_is_fatal(cret)==0));
-
-  if (cret < 0 || sret < 0)
-    {
-      fprintf(stderr, "client: %s\n", gnutls_strerror(cret));
-      fprintf(stderr, "server: %s\n", gnutls_strerror(sret));
-      fail("Handshake failed\n");
-      exit(1);
-    }
+  HANDSHAKE(client, server);
 
   handshake = 0;
   if (debug)
@@ -132,75 +108,9 @@ doit (void)
   while(ret == GNUTLS_E_AGAIN);
   //success ("client: sent %d\n", ns);
 
-  do
-    {
-      //success("transferred: %d\n", transferred);
-
-      do
-        {
-          ret = gnutls_record_recv (server, buffer, MAX_BUF);
-        }
-      while(ret == GNUTLS_E_AGAIN);
-
-      if (ret == 0)
-        fail ("server: didn't receive any data\n");
-      else if (ret < 0)
-        {
-          //      if (debug)
-          //          fputs ("#", stdout);
-          fail ("server: error: %s\n", gnutls_strerror (ret));
-        }
-      else
-        {
-          transferred += ret;
-            //        if (debug)
-              //          fputs ("*", stdout);
-        }
-
-      msglen = strlen (MSG);
-      do
-        {
-          ns = gnutls_record_send (server, MSG, msglen);
-        }
-      while (ns == GNUTLS_E_AGAIN);
-
-      do
-        {
-          ret = gnutls_record_recv (client, buffer, MAX_BUF);
-        }
-      while(ret == GNUTLS_E_AGAIN);
-
-
-      if (ret == 0)
-        {
-          fail ("client: Peer has closed the TLS connection\n");
-        }
-      else if (ret < 0)
-        {
-          if (debug)
-            fputs ("!", stdout);
-          fail ("client: Error: %s\n", gnutls_strerror (ret));
-        }
-      else
-        {
-          if (msglen != ret || memcmp (buffer, MSG, msglen) != 0)
-            {
-              fail ("client: Transmitted data do not match\n");
-            }
-
-          /* echo back */
-          do
-            {
-              ns = gnutls_record_send (client, buffer, msglen);
-            }
-          while (ns == GNUTLS_E_AGAIN);
-
-          transferred += ret;
-          if (debug)
-            fputs (".", stdout);
-        }
-    }
-  while (transferred < 70000);
+  msglen = strlen(MSG);
+  TRANSFER(client, server, MSG, msglen, buffer, MAX_BUF);
+
   if (debug)
     fputs ("\n", stdout);
 
diff --git a/tests/mini-eagain.c b/tests/mini-eagain.c
index 3b2ea29..78314f0 100644
--- a/tests/mini-eagain.c
+++ b/tests/mini-eagain.c
@@ -32,6 +32,7 @@
 #include <gnutls/crypto.h>
 
 #include "utils.h"
+#define RANDOMIZE
 #include "eagain-common.h"
 
 static void
@@ -93,112 +94,14 @@ doit (void)
   gnutls_transport_set_pull_function (client, client_pull);
 
   handshake = 1;
-  sret = cret = GNUTLS_E_AGAIN;
-  do
-    {
-      if (cret == GNUTLS_E_AGAIN)
-        {
-          //success ("loop invoking client:\n");
-          cret = gnutls_handshake (client);
-          //success ("client %d: %s\n", cret, gnutls_strerror (cret));
-        }
-
-      if (sret == GNUTLS_E_AGAIN)
-        {
-          //success ("loop invoking server:\n");
-          sret = gnutls_handshake (server);
-          //success ("server %d: %s\n", sret, gnutls_strerror (sret));
-        }
-    }
-  while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
-
-  if (cret < 0 || sret < 0)
-    {
-      fprintf(stderr, "client: %s\n", gnutls_strerror(cret));
-      fprintf(stderr, "server: %s\n", gnutls_strerror(sret));
-      fail("Handshake failed\n");
-      exit(1);
-    }
+  HANDSHAKE(client, server);
 
   handshake = 0;
   if (debug)
     success ("Handshake established\n");
 
-  do
-    {
-      ret = gnutls_record_send (client, MSG, strlen (MSG));
-    }
-  while(ret == GNUTLS_E_AGAIN);
-  //success ("client: sent %d\n", ns);
-
-  do
-    {
-      //success("transferred: %d\n", transferred);
-
-      do
-        {
-          ret = gnutls_record_recv (server, buffer, MAX_BUF);
-        }
-      while(ret == GNUTLS_E_AGAIN);
-
-      if (ret == 0)
-        fail ("server: didn't receive any data\n");
-      else if (ret < 0)
-        {
-          //      if (debug)
-          //          fputs ("#", stdout);
-          fail ("server: error: %s\n", gnutls_strerror (ret));
-        }
-      else
-        {
-          transferred += ret;
-            //        if (debug)
-              //          fputs ("*", stdout);
-        }
-
-      msglen = strlen (MSG);
-      do
-        {
-          ns = gnutls_record_send (server, MSG, msglen);
-        }
-      while (ns == GNUTLS_E_AGAIN);
-
-      do
-        {
-          ret = gnutls_record_recv (client, buffer, MAX_BUF);
-        }
-      while(ret == GNUTLS_E_AGAIN);
-
-      if (ret == 0)
-        {
-          fail ("client: Peer has closed the TLS connection\n");
-        }
-      else if (ret < 0)
-        {
-          if (debug)
-            fputs ("!", stdout);
-          fail ("client: Error: %s\n", gnutls_strerror (ret));
-        }
-      else
-        {
-          if (msglen != ret || memcmp (buffer, MSG, msglen) != 0)
-            {
-              fail ("client: Transmitted data do not match\n");
-            }
-
-          /* echo back */
-          do
-            {
-              ns = gnutls_record_send (client, buffer, msglen);
-            }
-          while (ns == GNUTLS_E_AGAIN);
-
-          transferred += ret;
-          if (debug)
-            fputs (".", stdout);
-        }
-    }
-  while (transferred < 70000);
+  msglen = strlen(MSG);
+  TRANSFER(client, server, MSG, msglen, buffer, MAX_BUF);
   if (debug)
     fputs ("\n", stdout);
 
diff --git a/tests/mini.c b/tests/mini.c
index 21f7687..c43552a 100644
--- a/tests/mini.c
+++ b/tests/mini.c
@@ -29,6 +29,7 @@
 #include <string.h>
 #include <errno.h>
 #include <gnutls/gnutls.h>
+#include "eagain-common.h"
 
 #include "utils.h"
 
@@ -38,104 +39,6 @@ tls_log_func (int level, const char *str)
   fprintf (stderr, "|<%d>| %s", level, str);
 }
 
-char *to_server;
-size_t to_server_len;
-
-char *to_client;
-size_t to_client_len;
-
-static ssize_t
-client_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
-{
-  if (debug)
-    success ("client_pull len %d has %d\n", (int) len, (int) to_client_len);
-
-  if (to_client_len < len)
-    {
-      gnutls_transport_set_global_errno (EAGAIN);
-      return -1;
-    }
-
-  memcpy (data, to_client, len);
-
-  memmove (to_client, to_client + len, to_client_len - len);
-  to_client_len -= len;
-
-  return len;
-}
-
-static ssize_t
-client_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
-{
-  size_t newlen = to_server_len + len;
-  char *tmp;
-
-  if (debug)
-    {
-      success ("client_push len %d has %d\n", (int) len, (int) to_server_len);
-      hexprint (data, len);
-    }
-
-  tmp = realloc (to_server, newlen);
-  if (!tmp)
-    {
-      fail ("Memory allocation failure...\n");
-      exit (1);
-    }
-  to_server = tmp;
-
-  memcpy (to_server + to_server_len, data, len);
-  to_server_len = newlen;
-
-  return len;
-}
-
-static ssize_t
-server_pull (gnutls_transport_ptr_t tr, void *data, size_t len)
-{
-  if (debug)
-    success ("server_pull len %d has %d\n", (int) len, (int) to_server_len);
-
-  if (to_server_len < len)
-    {
-      gnutls_transport_set_global_errno (EAGAIN);
-      return -1;
-    }
-
-  memcpy (data, to_server, len);
-
-  memmove (to_server, to_server + len, to_server_len - len);
-  to_server_len -= len;
-
-  return len;
-}
-
-static ssize_t
-server_push (gnutls_transport_ptr_t tr, const void *data, size_t len)
-{
-  size_t newlen = to_client_len + len;
-  char *tmp;
-
-  if (debug)
-    {
-      success ("server_push len %d has %d\n", (int) len, (int) to_client_len);
-      hexprint (data, len);
-    }
-
-  tmp = realloc (to_client, newlen);
-  if (!tmp)
-    {
-      fail ("Memory allocation failure...\n");
-      exit (1);
-    }
-  to_client = tmp;
-
-  memcpy (to_client + to_client_len, data, len);
-  to_client_len = newlen;
-
-  return len;
-}
-
 #define MAX_BUF 1024
 #define MSG "Hello TLS"
 
@@ -151,11 +54,11 @@ doit (void)
   /* Client stuff. */
   gnutls_anon_client_credentials_t c_anoncred;
   gnutls_session_t client;
-  int n, cret = GNUTLS_E_AGAIN;
+  int cret = GNUTLS_E_AGAIN;
   /* Need to enable anonymous KX specifically. */
   char buffer[MAX_BUF + 1];
   ssize_t ns;
-  int ret;
+  int ret, transferred = 0, msglen;
 
   /* General init. */
   gnutls_global_init ();
@@ -183,74 +86,15 @@ doit (void)
   gnutls_transport_set_push_function (client, client_push);
   gnutls_transport_set_pull_function (client, client_pull);
 
-  do
-    {
-      if (cret == GNUTLS_E_AGAIN)
-        {
-          if (debug)
-            success ("loop invoking client:\n");
-          cret = gnutls_handshake (client);
-          if (debug)
-            success ("client %d: %s\n", cret, gnutls_strerror (cret));
-        }
-
-      if (sret == GNUTLS_E_AGAIN)
-        {
-          if (debug)
-            success ("loop invoking server:\n");
-          sret = gnutls_handshake (server);
-          if (debug)
-            success ("server %d: %s\n", sret, gnutls_strerror (sret));
-        }
-    }
-  while (cret == GNUTLS_E_AGAIN || sret == GNUTLS_E_AGAIN);
+  HANDSHAKE(client, server);
 
   if (debug)
     success ("Handshake established\n");
 
-  ns = gnutls_record_send (client, MSG, strlen (MSG));
+  msglen = strlen(MSG);
+  TRANSFER(client, server, MSG, msglen, buffer, MAX_BUF);
   if (debug)
-    success ("client: sent %d\n", (int) ns);
-
-  ret = gnutls_record_recv (server, buffer, MAX_BUF);
-  if (ret == 0)
-    fail ("server: didn't receive any data\n");
-  else if (ret < 0)
-    fail ("server: error: %s\n", gnutls_strerror (ret));
-  else
-    {
-      if (debug)
-        {
-          printf ("server: received %d: ", ret);
-          for (n = 0; n < ret; n++)
-            fputc (buffer[n], stdout);
-          fputs ("\n", stdout);
-        }
-    }
-
-  ns = gnutls_record_send (server, MSG, strlen (MSG));
-  if (debug)
-    success ("server: sent %d\n", (int) ns);
-
-  ret = gnutls_record_recv (client, buffer, MAX_BUF);
-  if (ret == 0)
-    {
-      fail ("client: Peer has closed the TLS connection\n");
-    }
-  else if (ret < 0)
-    {
-      fail ("client: Error: %s\n", gnutls_strerror (ret));
-    }
-  else
-    {
-      if (debug)
-        {
-          printf ("client: received %d: ", ret);
-          for (n = 0; n < ret; n++)
-            fputc (buffer[n], stdout);
-          fputs ("\n", stdout);
-        }
-    }
+    fputs ("\n", stdout);
 
   gnutls_bye (client, GNUTLS_SHUT_RDWR);
   gnutls_bye (server, GNUTLS_SHUT_RDWR);
@@ -258,9 +102,6 @@ doit (void)
   gnutls_deinit (client);
   gnutls_deinit (server);
 
-  free (to_server);
-  free (to_client);
-
   gnutls_anon_free_client_credentials (c_anoncred);
   gnutls_anon_free_server_credentials (s_anoncred);
 


hooks/post-receive
-- 
GNU gnutls



reply via email to

[Prev in Thread] Current Thread [Next in Thread]