projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
proper shutdown
[oweals/gnunet.git]
/
src
/
util
/
test_connection.c
diff --git
a/src/util/test_connection.c
b/src/util/test_connection.c
index 770b34e8ce08595c6f1bab4da0d269f7cba5a70c..71b37c8ac2a4a801abbb222074df0f898bf4de70 100644
(file)
--- a/
src/util/test_connection.c
+++ b/
src/util/test_connection.c
@@
-4,7
+4,7
@@
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version
2
, or (at your
+ by the Free Software Foundation; either version
3
, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
@@
-40,33
+40,37
@@
static struct GNUNET_CONNECTION_Handle *lsock;
static size_t sofar;
static size_t sofar;
-static struct GNUNET_NETWORK_Descriptor *ls;
-
+static struct GNUNET_NETWORK_Handle *ls;
+static struct GNUNET_CONFIGURATION_Handle *cfg;
/**
* Create and initialize a listen socket for the server.
*
* @return -1 on error, otherwise the listen socket
*/
/**
* Create and initialize a listen socket for the server.
*
* @return -1 on error, otherwise the listen socket
*/
-static struct GNUNET_NETWORK_
Descriptor
*
+static struct GNUNET_NETWORK_
Handle
*
open_listen_socket ()
{
const static int on = 1;
struct sockaddr_in sa;
open_listen_socket ()
{
const static int on = 1;
struct sockaddr_in sa;
- struct GNUNET_NETWORK_
Descriptor
*desc;
+ struct GNUNET_NETWORK_
Handle
*desc;
memset (&sa, 0, sizeof (sa));
memset (&sa, 0, sizeof (sa));
+#if HAVE_SOCKADDR_IN_SIN_LEN
+ sa.sin_len = sizeof (sa);
+#endif
sa.sin_port = htons (PORT);
sa.sin_family = AF_INET;
sa.sin_port = htons (PORT);
sa.sin_family = AF_INET;
- desc = GNUNET_NETWORK_socket_
socket
(AF_INET, SOCK_STREAM, 0);
+ desc = GNUNET_NETWORK_socket_
create
(AF_INET, SOCK_STREAM, 0);
GNUNET_assert (desc != NULL);
GNUNET_assert (desc != NULL);
- if (GNUNET_NETWORK_socket_setsockopt (desc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) < 0)
+ if (GNUNET_NETWORK_socket_setsockopt
+ (desc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK)
GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"setsockopt");
GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"setsockopt");
- GNUNET_assert (GNUNET_NETWORK_socket_bind
(desc,
-
(const struct sockaddr
*) &sa,
-
sizeof (sa)) >= 0
);
+ GNUNET_assert (GNUNET_NETWORK_socket_bind
+
(desc, (const struct sockaddr
*) &sa,
+
sizeof (sa)) == GNUNET_OK
);
GNUNET_NETWORK_socket_listen (desc, 5);
return desc;
}
GNUNET_NETWORK_socket_listen (desc, 5);
return desc;
}
@@
-91,10
+95,10
@@
receive_check (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive needs more data\n");
#endif
GNUNET_CONNECTION_receive (asock,
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receive needs more data\n");
#endif
GNUNET_CONNECTION_receive (asock,
- 1024,
- GNUNET_TIME_relative_multiply
-
(GNUNET_TIME_UNIT_SECONDS, 5), &receive_check
,
- cls);
+
1024,
+
GNUNET_TIME_relative_multiply
+
(GNUNET_TIME_UNIT_SECONDS, 5)
,
+
&receive_check,
cls);
}
else
{
}
else
{
@@
-103,7
+107,7
@@
receive_check (void *cls,
"Receive closes accepted socket\n");
#endif
*ok = 0;
"Receive closes accepted socket\n");
#endif
*ok = 0;
- GNUNET_CONNECTION_destroy (asock);
+ GNUNET_CONNECTION_destroy (asock
, GNUNET_YES
);
}
}
}
}
@@
-114,22
+118,22
@@
run_accept (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test accepts connection\n");
#endif
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test accepts connection\n");
#endif
- asock = GNUNET_CONNECTION_create_from_accept (tc->sched,
- NULL, NULL, ls, 1024);
+ asock = GNUNET_CONNECTION_create_from_accept (NULL, NULL, ls);
GNUNET_assert (asock != NULL);
GNUNET_assert (GNUNET_YES == GNUNET_CONNECTION_check (asock));
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test destroys listen socket\n");
#endif
GNUNET_assert (asock != NULL);
GNUNET_assert (GNUNET_YES == GNUNET_CONNECTION_check (asock));
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test destroys listen socket\n");
#endif
- GNUNET_CONNECTION_destroy (lsock);
+ GNUNET_CONNECTION_destroy (lsock
, GNUNET_YES
);
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Test asks to receive on accepted socket\n");
#endif
GNUNET_CONNECTION_receive (asock,
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Test asks to receive on accepted socket\n");
#endif
GNUNET_CONNECTION_receive (asock,
- 1024,
- GNUNET_TIME_relative_multiply
- (GNUNET_TIME_UNIT_SECONDS, 5), &receive_check, cls);
+ 1024,
+ GNUNET_TIME_relative_multiply
+ (GNUNET_TIME_UNIT_SECONDS, 5), &receive_check,
+ cls);
}
static size_t
}
static size_t
@@
-141,6
+145,10
@@
make_hello (void *cls, size_t size, void *buf)
#endif
GNUNET_assert (size >= 12);
strcpy ((char *) buf, "Hello World");
#endif
GNUNET_assert (size >= 12);
strcpy ((char *) buf, "Hello World");
+#if VERBOSE
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test destroys client socket\n");
+#endif
+ GNUNET_CONNECTION_destroy (csock, GNUNET_YES);
return 12;
}
return 12;
}
@@
-148,32
+156,24
@@
static void
task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
ls = open_listen_socket ();
task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
ls = open_listen_socket ();
- lsock = GNUNET_CONNECTION_create_from_existing (
tc->sched, ls, 0
);
+ lsock = GNUNET_CONNECTION_create_from_existing (
ls
);
GNUNET_assert (lsock != NULL);
GNUNET_assert (lsock != NULL);
- csock = GNUNET_CONNECTION_create_from_connect (
tc->sched
,
-
"localhost", PORT, 1024
);
+ csock = GNUNET_CONNECTION_create_from_connect (
cfg
,
+
"localhost", PORT
);
GNUNET_assert (csock != NULL);
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test asks for write notification\n");
#endif
GNUNET_assert (NULL !=
GNUNET_CONNECTION_notify_transmit_ready (csock,
GNUNET_assert (csock != NULL);
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test asks for write notification\n");
#endif
GNUNET_assert (NULL !=
GNUNET_CONNECTION_notify_transmit_ready (csock,
- 12,
- GNUNET_TIME_UNIT_SECONDS,
- &make_hello, NULL));
-#if VERBOSE
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test destroys client socket\n");
-#endif
- GNUNET_CONNECTION_destroy (csock);
+ 12,
+ GNUNET_TIME_UNIT_SECONDS,
+ &make_hello, NULL));
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test prepares to accept\n");
#endif
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Test prepares to accept\n");
#endif
- GNUNET_SCHEDULER_add_read_net (tc->sched,
- GNUNET_NO,
- GNUNET_SCHEDULER_PRIORITY_HIGH,
- GNUNET_SCHEDULER_NO_TASK,
- GNUNET_TIME_UNIT_FOREVER_REL,
- ls, &run_accept, cls);
+ GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
+ ls, &run_accept, cls);
}
}
@@
-187,7
+187,11
@@
check ()
int ok;
ok = 1;
int ok;
ok = 1;
+ cfg = GNUNET_CONFIGURATION_create ();
+ GNUNET_CONFIGURATION_set_value_string (cfg,
+ "resolver", "HOSTNAME", "localhost");
GNUNET_SCHEDULER_run (&task, &ok);
GNUNET_SCHEDULER_run (&task, &ok);
+ GNUNET_CONFIGURATION_destroy (cfg);
return ok;
}
return ok;
}