[experimental-ims] 58db1e6 Isolate VTCP in its own include file

Geoff Simmons geoff at varnish-cache.org
Mon Jan 9 21:52:16 CET 2012


commit 58db1e659a6b6055e27246047ec28218f991d2b2
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sun Oct 9 18:02:15 2011 +0000

    Isolate VTCP in its own include file

diff --git a/bin/varnishd/cache_acceptor.c b/bin/varnishd/cache_acceptor.c
index af5edec..87a9180 100644
--- a/bin/varnishd/cache_acceptor.c
+++ b/bin/varnishd/cache_acceptor.c
@@ -33,6 +33,7 @@
 #include "cache.h"
 
 #include "vcli.h"
+#include "vtcp.h"
 #include "cli_priv.h"
 
 static pthread_t	VCA_thread;
diff --git a/bin/varnishd/cache_backend.c b/bin/varnishd/cache_backend.c
index a724923..3ed7fcd 100644
--- a/bin/varnishd/cache_backend.c
+++ b/bin/varnishd/cache_backend.c
@@ -39,6 +39,7 @@
 
 #include "cache_backend.h"
 #include "vrt.h"
+#include "vtcp.h"
 
 /*--------------------------------------------------------------------
  * The "simple" director really isn't, since thats where all the actual
diff --git a/bin/varnishd/cache_backend_poll.c b/bin/varnishd/cache_backend_poll.c
index be8ee6a..c90cda9 100644
--- a/bin/varnishd/cache_backend_poll.c
+++ b/bin/varnishd/cache_backend_poll.c
@@ -45,6 +45,7 @@
 #include "cli_priv.h"
 #include "cache.h"
 #include "vrt.h"
+#include "vtcp.h"
 #include "cache_backend.h"
 
 /* Default averaging rate, we want something pretty responsive */
diff --git a/bin/varnishd/cache_center.c b/bin/varnishd/cache_center.c
index 0b7f8bf..1415170 100644
--- a/bin/varnishd/cache_center.c
+++ b/bin/varnishd/cache_center.c
@@ -70,6 +70,7 @@ DOT acceptor -> start [style=bold,color=green]
 #include "cache.h"
 
 #include "vcl.h"
+#include "vtcp.h"
 #include "cli_priv.h"
 #include "hash_slinger.h"
 #include "stevedore.h"
diff --git a/bin/varnishd/cache_dir.c b/bin/varnishd/cache_dir.c
index 03fdf26..ef882bf 100644
--- a/bin/varnishd/cache_dir.c
+++ b/bin/varnishd/cache_dir.c
@@ -34,6 +34,7 @@
 
 #include "cache.h"
 #include "cache_backend.h"
+#include "vtcp.h"
 
 /* Close a connection ------------------------------------------------*/
 
diff --git a/bin/varnishd/cache_fetch.c b/bin/varnishd/cache_fetch.c
index df56c7a..d18e726 100644
--- a/bin/varnishd/cache_fetch.c
+++ b/bin/varnishd/cache_fetch.c
@@ -38,6 +38,7 @@
 #include "stevedore.h"
 #include "cli_priv.h"
 #include "vct.h"
+#include "vtcp.h"
 
 static unsigned fetchfrag;
 
diff --git a/bin/varnishd/cache_pipe.c b/bin/varnishd/cache_pipe.c
index e02da80..74343ba 100644
--- a/bin/varnishd/cache_pipe.c
+++ b/bin/varnishd/cache_pipe.c
@@ -35,6 +35,7 @@
 #include <poll.h>
 
 #include "cache.h"
+#include "vtcp.h"
 
 static int
 rdf(int fd0, int fd1)
diff --git a/bin/varnishd/cache_pool.c b/bin/varnishd/cache_pool.c
index 0380b55..e146043 100644
--- a/bin/varnishd/cache_pool.c
+++ b/bin/varnishd/cache_pool.c
@@ -50,6 +50,7 @@
 
 #include "cache_waiter.h"
 #include "hash_slinger.h"
+#include "vtcp.h"
 
 /*--------------------------------------------------------------------
  * MAC OS/X is incredibly moronic when it comes to time and such...
diff --git a/bin/varnishd/cache_vrt_var.c b/bin/varnishd/cache_vrt_var.c
index ae65058..1343ae4 100644
--- a/bin/varnishd/cache_vrt_var.c
+++ b/bin/varnishd/cache_vrt_var.c
@@ -36,6 +36,7 @@
 #include "cache.h"
 
 #include "vrt.h"
+#include "vtcp.h"
 #include "vrt_obj.h"
 #include "cache_backend.h"
 #include "hash_slinger.h"
diff --git a/bin/varnishd/mgt_child.c b/bin/varnishd/mgt_child.c
index ba2effe..6c1cf71 100644
--- a/bin/varnishd/mgt_child.c
+++ b/bin/varnishd/mgt_child.c
@@ -52,6 +52,7 @@
 #include "vlu.h"
 #include "vss.h"
 #include "vbm.h"
+#include "vtcp.h"
 
 pid_t		child_pid = -1;
 
diff --git a/bin/varnishd/mgt_cli.c b/bin/varnishd/mgt_cli.c
index eccf268..4488d51 100644
--- a/bin/varnishd/mgt_cli.c
+++ b/bin/varnishd/mgt_cli.c
@@ -51,6 +51,7 @@
 #include "vev.h"
 #include "vlu.h"
 #include "vss.h"
+#include "vtcp.h"
 
 
 #include "mgt.h"
diff --git a/bin/varnishtest/vtc_client.c b/bin/varnishtest/vtc_client.c
index 2c75622..55e25fa 100644
--- a/bin/varnishtest/vtc_client.c
+++ b/bin/varnishtest/vtc_client.c
@@ -38,6 +38,7 @@
 #include "vtc.h"
 
 #include "vss.h"
+#include "vtcp.h"
 #include "libvarnish.h"
 
 struct client {
diff --git a/bin/varnishtest/vtc_http.c b/bin/varnishtest/vtc_http.c
index 4582d4c..50816bc 100644
--- a/bin/varnishtest/vtc_http.c
+++ b/bin/varnishtest/vtc_http.c
@@ -41,6 +41,7 @@
 #include "libvarnish.h"
 
 #include "vtc.h"
+#include "vtcp.h"
 
 #include "vgz.h"
 
diff --git a/bin/varnishtest/vtc_server.c b/bin/varnishtest/vtc_server.c
index d541d67..afe62af 100644
--- a/bin/varnishtest/vtc_server.c
+++ b/bin/varnishtest/vtc_server.c
@@ -37,6 +37,7 @@
 #include <sys/socket.h>
 
 #include "vtc.h"
+#include "vtcp.h"
 
 #include "libvarnish.h"
 #include "vss.h"
diff --git a/bin/varnishtest/vtc_varnish.c b/bin/varnishtest/vtc_varnish.c
index 7362f1f..8b310f6 100644
--- a/bin/varnishtest/vtc_varnish.c
+++ b/bin/varnishtest/vtc_varnish.c
@@ -46,6 +46,7 @@
 #include <sys/socket.h>
 
 #include "vtc.h"
+#include "vtcp.h"
 
 #include "libvarnish.h"
 
diff --git a/include/Makefile.am b/include/Makefile.am
index 0f1782f..66c2ddd 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -55,7 +55,8 @@ nobase_noinst_HEADERS = \
 	vrt_obj.h \
 	vsb.h \
 	vsha256.h \
-	vss.h
+	vss.h \
+	vtcp.h
 
 tbl/vrt_stv_var.h tbl/vcl_returns.h vcl.h vrt_obj.h: $(top_srcdir)/lib/libvcl/generate.py $(top_srcdir)/include/vrt.h
 	mkdir -p tbl
diff --git a/include/libvarnish.h b/include/libvarnish.h
index b016848..6008781 100644
--- a/include/libvarnish.h
+++ b/include/libvarnish.h
@@ -48,40 +48,6 @@ typedef void sub_func_f(void*);
 int SUB_run(struct vsb *sb, sub_func_f *func, void *priv, const char *name,
     int maxlines);
 
-/* from libvarnish/tcp.c */
-/* NI_MAXHOST and NI_MAXSERV are ridiculously long for numeric format */
-#define VTCP_ADDRBUFSIZE		64
-#define VTCP_PORTBUFSIZE		16
-
-#if (defined (__SVR4) && defined (__sun)) || defined (__NetBSD__)
-/*
- * Solaris returns EINVAL if the other end unexepectedly reset the
- * connection.  This is a bug in Solaris and documented behaviour on NetBSD.
- */
-#define VTCP_Check(a) ((a) == 0 || errno == ECONNRESET || errno == ENOTCONN \
-    || errno == EINVAL)
-#else
-#define VTCP_Check(a) ((a) == 0 || errno == ECONNRESET || errno == ENOTCONN)
-#endif
-
-#define VTCP_Assert(a) assert(VTCP_Check(a))
-
-void VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen);
-void VTCP_hisname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen);
-int VTCP_filter_http(int sock);
-int VTCP_blocking(int sock);
-int VTCP_nonblocking(int sock);
-int VTCP_linger(int sock, int linger);
-#ifdef SOL_SOCKET
-int VTCP_port(const struct sockaddr_storage *addr);
-void VTCP_name(const struct sockaddr_storage *addr, unsigned l, char *abuf,
-    unsigned alen, char *pbuf, unsigned plen);
-int VTCP_connect(int s, const struct sockaddr_storage *name, socklen_t namelen,
-    int msec);
-void VTCP_close(int *s);
-void VTCP_set_read_timeout(int s, double seconds);
-#endif
-
 /* from libvarnish/time.c */
 #define TIM_FORMAT_SIZE 30
 void TIM_format(double t, char *p);
diff --git a/include/vtcp.h b/include/vtcp.h
new file mode 100644
index 0000000..022f101
--- /dev/null
+++ b/include/vtcp.h
@@ -0,0 +1,64 @@
+/*-
+ * Copyright (c) 2006 Verdens Gang AS
+ * Copyright (c) 2006-2011 Varnish Software AS
+ * All rights reserved.
+ *
+ * Author: Poul-Henning Kamp <phk at phk.freebsd.dk>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+/* from libvarnish/tcp.c */
+/* NI_MAXHOST and NI_MAXSERV are ridiculously long for numeric format */
+#define VTCP_ADDRBUFSIZE		64
+#define VTCP_PORTBUFSIZE		16
+
+#if (defined (__SVR4) && defined (__sun)) || defined (__NetBSD__)
+/*
+ * Solaris returns EINVAL if the other end unexepectedly reset the
+ * connection.  This is a bug in Solaris and documented behaviour on NetBSD.
+ */
+#define VTCP_Check(a) ((a) == 0 || errno == ECONNRESET || errno == ENOTCONN \
+    || errno == EINVAL)
+#else
+#define VTCP_Check(a) ((a) == 0 || errno == ECONNRESET || errno == ENOTCONN)
+#endif
+
+#define VTCP_Assert(a) assert(VTCP_Check(a))
+
+void VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen);
+void VTCP_hisname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen);
+int VTCP_filter_http(int sock);
+int VTCP_blocking(int sock);
+int VTCP_nonblocking(int sock);
+int VTCP_linger(int sock, int linger);
+
+#ifdef SOL_SOCKET
+int VTCP_port(const struct sockaddr_storage *addr);
+void VTCP_name(const struct sockaddr_storage *addr, unsigned l, char *abuf,
+    unsigned alen, char *pbuf, unsigned plen);
+int VTCP_connect(int s, const struct sockaddr_storage *name, socklen_t namelen,
+    int msec);
+void VTCP_close(int *s);
+void VTCP_set_read_timeout(int s, double seconds);
+#endif
diff --git a/lib/libvarnish/tcp.c b/lib/libvarnish/tcp.c
index c612e97..e8932e8 100644
--- a/lib/libvarnish/tcp.c
+++ b/lib/libvarnish/tcp.c
@@ -51,8 +51,7 @@
 #include <unistd.h>
 #include <math.h>
 
-#include "config.h"
-
+#include "vtcp.h"
 #include "libvarnish.h"
 
 /*--------------------------------------------------------------------*/
diff --git a/lib/libvarnish/vss.c b/lib/libvarnish/vss.c
index 42b4db7..ff19ac7 100644
--- a/lib/libvarnish/vss.c
+++ b/lib/libvarnish/vss.c
@@ -44,6 +44,7 @@
 #include <unistd.h>
 
 #include "libvarnish.h"
+#include "vtcp.h"
 #include "vss.h"
 
 /* lightweight addrinfo */
diff --git a/lib/libvmod_std/vmod_std.c b/lib/libvmod_std/vmod_std.c
index 544e2dc..847c705 100644
--- a/lib/libvmod_std/vmod_std.c
+++ b/lib/libvmod_std/vmod_std.c
@@ -32,6 +32,7 @@
 #include <syslog.h>
 #include <netinet/in.h>
 #include "vrt.h"
+#include "vtcp.h"
 #include "../../bin/varnishd/cache.h"
 
 #include "vcc_if.h"



More information about the varnish-commit mailing list