gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r28662 - gnunet/src/testing


From: gnunet
Subject: [GNUnet-SVN] r28662 - gnunet/src/testing
Date: Thu, 15 Aug 2013 16:11:54 +0200

Author: harsha
Date: 2013-08-15 16:11:54 +0200 (Thu, 15 Aug 2013)
New Revision: 28662

Added:
   gnunet/src/testing/bindfail.c
   gnunet/src/testing/bindok.c
Modified:
   gnunet/src/testing/Makefile.am
Log:
- debugging bind and SO_REUSEADDR


Modified: gnunet/src/testing/Makefile.am
===================================================================
--- gnunet/src/testing/Makefile.am      2013-08-15 13:00:37 UTC (rev 28661)
+++ gnunet/src/testing/Makefile.am      2013-08-15 14:11:54 UTC (rev 28662)
@@ -101,3 +101,13 @@
 
 EXTRA_DIST = \
   test_testing_defaults.conf
+
+
+noinst_PROGRAMS = \
+  bindfail bindok
+
+bindok_SOURCES = bindok.c
+
+bindfail_SOURCES = bindfail.c
+bindfail_LDADD = $(top_builddir)/src/util/libgnunetutil.la
+

Added: gnunet/src/testing/bindfail.c
===================================================================
--- gnunet/src/testing/bindfail.c                               (rev 0)
+++ gnunet/src/testing/bindfail.c       2013-08-15 14:11:54 UTC (rev 28662)
@@ -0,0 +1,35 @@
+#include "platform.h"
+#include "gnunet_util_lib.h"
+
+int main()
+{
+  uint16_t port = 12035;
+  struct GNUNET_NETWORK_Handle *sock1;
+  struct GNUNET_NETWORK_Handle *sock2;
+  struct sockaddr_in addr;
+
+  (void) memset (&addr, 0, sizeof (struct sockaddr_in));
+  sock1 = GNUNET_NETWORK_socket_create (AF_INET, SOCK_DGRAM, 0);
+  sock2 = GNUNET_NETWORK_socket_create (AF_INET, SOCK_DGRAM, 0);
+  
+  addr.sin_port = htons (port);
+  addr.sin_addr.s_addr = INADDR_ANY;
+  
+  if (GNUNET_SYSERR == 
+      GNUNET_NETWORK_socket_bind (sock1, (const struct sockaddr *) &addr,
+                                  sizeof (addr), 0))
+  {
+    fprintf (stderr, "first bind failed. check port\n");
+    return 1;
+  }
+  if (GNUNET_SYSERR == 
+      GNUNET_NETWORK_socket_bind (sock2, (const struct sockaddr *) &addr, 
+                                  sizeof (addr), 0))
+  {
+    printf ("All OK\n");
+    return 0;
+  }
+  fprintf (stderr, "Second bind succeeded! WTF!!\n");
+  fgetc (stdin);
+  return 1;
+}

Added: gnunet/src/testing/bindok.c
===================================================================
--- gnunet/src/testing/bindok.c                         (rev 0)
+++ gnunet/src/testing/bindok.c 2013-08-15 14:11:54 UTC (rev 28662)
@@ -0,0 +1,30 @@
+#include "platform.h"
+
+int main()
+{
+  uint16_t port = 12035;
+  int sock1;
+  int sock2;
+  struct sockaddr_in addr;
+
+  (void) memset (&addr, 0, sizeof (struct sockaddr_in));
+  sock1 = socket (AF_INET, SOCK_DGRAM, 0);
+  sock2 = socket (AF_INET, SOCK_DGRAM, 0);
+
+  addr.sin_port = htons (port);
+  addr.sin_addr.s_addr = INADDR_ANY;
+  
+  if (0 != bind (sock1, (const struct sockaddr *) &addr, sizeof (addr)))
+  {
+    perror ("bind");
+    return 1;
+  }
+  if (0 != bind (sock2, (const struct sockaddr *) &addr, sizeof (addr)))
+  {
+    printf ("All OK\n");
+    return 0;
+  }
+  fprintf (stderr, "Second bind succeeded! WTF!!\n");
+  fgetc (stdin);
+  return 1;
+}




reply via email to

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