git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix ${readsocket } eol-replacement. Bug 2630
[exim.git]
/
test
/
src
/
server.c
diff --git
a/test/src/server.c
b/test/src/server.c
index 4656b02af1b8c773674d9c926f17612099c1e69a..c1f1ecf2171c173b8908b59f5b73c53cd63dabc0 100644
(file)
--- a/
test/src/server.c
+++ b/
test/src/server.c
@@
-159,7
+159,8
@@
putchar('\n');
#define udn 2 /* Unix domain socket number */
#define skn 2 /* Potential number of sockets */
#define udn 2 /* Unix domain socket number */
#define skn 2 /* Potential number of sockets */
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
{
int i;
int port = 0;
{
int i;
int port = 0;
@@
-267,7
+268,7
@@
if (na < argc) connection_count = atoi(argv[na]);
if (initial_pause > 0)
{
if (debug)
if (initial_pause > 0)
{
if (debug)
- printf("%
d: Inital pause of %d seconds\n",
time(NULL), initial_pause);
+ printf("%
ld: Inital pause of %d seconds\n", (long)
time(NULL), initial_pause);
else
printf("Inital pause of %d seconds\n", initial_pause);
while (initial_pause > 0)
else
printf("Inital pause of %d seconds\n", initial_pause);
while (initial_pause > 0)
@@
-278,7
+279,7
@@
if (initial_pause > 0)
if (port == 0) /* Unix domain */
{
if (port == 0) /* Unix domain */
{
- if (debug) printf("%
d: Creating Unix domain socket\n",
time(NULL));
+ if (debug) printf("%
l: Creating Unix domain socket\n", (long)
time(NULL));
listen_socket[udn] = socket(PF_UNIX, SOCK_STREAM, 0);
if (listen_socket[udn] < 0)
{
listen_socket[udn] = socket(PF_UNIX, SOCK_STREAM, 0);
if (listen_socket[udn] < 0)
{
@@
-298,7
+299,7
@@
else
printf("IPv6 socket creation failed: %s\n", strerror(errno));
exit(1);
}
printf("IPv6 socket creation failed: %s\n", strerror(errno));
exit(1);
}
-
+#if defined(TCP_FASTOPEN) && !defined(__APPLE__)
if (tfo)
{
int backlog = 5;
if (tfo)
{
int backlog = 5;
@@
-306,7
+307,7
@@
else
&backlog, sizeof(backlog)))
if (debug) printf("setsockopt TCP_FASTOPEN: %s\n", strerror(errno));
}
&backlog, sizeof(backlog)))
if (debug) printf("setsockopt TCP_FASTOPEN: %s\n", strerror(errno));
}
-
+#endif
/* If this is an IPv6 wildcard socket, set IPV6_V6ONLY if that option is
available. */
/* If this is an IPv6 wildcard socket, set IPV6_V6ONLY if that option is
available. */
@@
-330,6
+331,7
@@
else
printf("IPv4 socket creation failed: %s\n", strerror(errno));
exit(1);
}
printf("IPv4 socket creation failed: %s\n", strerror(errno));
exit(1);
}
+#if defined(TCP_FASTOPEN) && !defined(__APPLE__)
if (tfo)
{
int backlog = 5;
if (tfo)
{
int backlog = 5;
@@
-337,7
+339,7
@@
else
&backlog, sizeof(backlog)))
if (debug) printf("setsockopt TCP_FASTOPEN: %s\n", strerror(errno));
}
&backlog, sizeof(backlog)))
if (debug) printf("setsockopt TCP_FASTOPEN: %s\n", strerror(errno));
}
-
+#endif
}
}
}
}
@@
-400,7
+402,7
@@
else
sin6.sin6_addr = anyaddr6;
if (bind(listen_socket[i], (struct sockaddr *)&sin6, sizeof(sin6)) < 0)
{
sin6.sin6_addr = anyaddr6;
if (bind(listen_socket[i], (struct sockaddr *)&sin6, sizeof(sin6)) < 0)
{
- printf("IPv6 socket bind(
) failed: %s\n"
, strerror(errno));
+ printf("IPv6 socket bind(
port %d) failed: %s\n", port
, strerror(errno));
exit(1);
}
}
exit(1);
}
}
@@
-419,7
+421,7
@@
else
if (bind(listen_socket[i], (struct sockaddr *)&sin4, sizeof(sin4)) < 0)
if (listen_socket[v6n] < 0 || errno != EADDRINUSE)
{
if (bind(listen_socket[i], (struct sockaddr *)&sin4, sizeof(sin4)) < 0)
if (listen_socket[v6n] < 0 || errno != EADDRINUSE)
{
- printf("IPv4 socket bind(
) failed: %s\n"
, strerror(errno));
+ printf("IPv4 socket bind(
port %d) failed: %s\n", port
, strerror(errno));
exit(1);
}
else
exit(1);
}
else
@@
-437,16
+439,21
@@
error because it means that the IPv6 socket will handle IPv4 connections. Don't
output anything, because it will mess up the test output, which will be
different for systems that do this and those that don't. */
output anything, because it will mess up the test output, which will be
different for systems that do this and those that don't. */
-for (i = 0; i <= skn; i++)
+for (i = 0; i <= skn; i++)
if (listen_socket[i] >= 0)
{
{
- if (listen_socket[i] >= 0 && listen(listen_socket[i], 5) < 0)
- {
+ if (listen(listen_socket[i], 5) < 0)
if (i != v4n || listen_socket[v6n] < 0 || errno != EADDRINUSE)
{
printf("listen() failed: %s\n", strerror(errno));
exit(1);
}
if (i != v4n || listen_socket[v6n] < 0 || errno != EADDRINUSE)
{
printf("listen() failed: %s\n", strerror(errno));
exit(1);
}
- }
+
+#if defined(TCP_FASTOPEN) && defined(__APPLE__)
+ if ( tfo
+ && setsockopt(listen_socket[v4n], IPPROTO_TCP, TCP_FASTOPEN, &on, sizeof(on))
+ && debug)
+ printf("setsockopt TCP_FASTOPEN: %s\n", strerror(errno));
+#endif
}
}