#
# Makefile for the Squid Object Cache server
#
-# $Id: Makefile.am,v 1.178 2007/04/24 00:40:25 wessels Exp $
+# $Id: Makefile.am,v 1.179 2007/04/24 15:04:22 hno Exp $
#
# Uncomment and customize the following to suit your needs:
#
ICAP/TextException.h
-unlinkd_SOURCES = $(UNLINKDSOURCE) SquidNew.cc
-unlinkd_CXXFLAGS = -DUNLINK_DAEMON
+unlinkd_SOURCES = unlinkd_daemon.cc SquidNew.cc
pinger_SOURCES = \
pinger.cc \
/*
- * $Id: pinger.cc,v 1.56 2006/09/02 14:46:31 serassio Exp $
+ * $Id: pinger.cc,v 1.57 2007/04/24 15:04:22 hno Exp $
*
* DEBUG: section 42 ICMP Pinger program
* AUTHOR: Duane Wessels
*
*/
+#define SQUID_HELPER 1
+
#include "squid.h"
#include "SquidTime.h"
static int socket_to_squid = -1;
#define socket_from_squid socket_to_squid
-#else /* _SQUID_CYGWIN_ */
-
+#else /* _SQUID_CYGWIN_ */
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
/*
- * $Id: squid.h,v 1.260 2007/04/12 23:33:01 hno Exp $
+ * $Id: squid.h,v 1.261 2007/04/24 15:04:22 hno Exp $
*
* AUTHOR: Duane Wessels
*
/* Limited due to delay pools */
# define SQUID_MAXFD_LIMIT FD_SETSIZE
#elif defined(USE_KQUEUE) || defined(USE_EPOLL)
-# define fd_set ERROR_FD_SET_USED
+# define SQUID_FDSET_NOUSE 1
#else
# error Unknown select loop model!
#endif
-#
+
+/*
+ * Trap unintentional use of fd_set. Must not be used outside the
+ * select code as it only supports FD_SETSIZE number of filedescriptors
+ * and Squid may be running with a lot more..
+ * But only for code linked into Squid, not the helpers.. (unlinkd, pinger)
+ */
+#ifdef SQUID_FDSET_NOUSE
+# ifndef SQUID_HELPER
+# define fd_set ERROR_FD_SET_USED
+# endif
+#endif
#if defined(HAVE_STDARG_H)
#include <stdarg.h>
/*
- * $Id: unlinkd.cc,v 1.60 2007/04/24 06:30:37 wessels Exp $
+ * $Id: unlinkd.cc,v 1.61 2007/04/24 15:04:22 hno Exp $
*
* DEBUG: section 2 Unlink Daemon
* AUTHOR: Duane Wessels
*/
#include "squid.h"
-
-#ifdef UNLINK_DAEMON
-
-/* This is the external unlinkd process */
-
-#define UNLINK_BUF_LEN 1024
-
-int
-main(int argc, char *argv[])
-{
- char buf[UNLINK_BUF_LEN];
- char *t;
- int x;
- setbuf(stdin, NULL);
- setbuf(stdout, NULL);
- close(2);
- open(_PATH_DEVNULL, O_RDWR);
-
- while (fgets(buf, UNLINK_BUF_LEN, stdin)) {
- if ((t = strchr(buf, '\n')))
- *t = '\0';
- x = unlink(buf);
- if (x < 0)
- printf("ERR\n");
- else
- printf("OK\n");
- }
-
- exit(0);
-}
-
-#else /* UNLINK_DAEMON */
-
#include "SquidTime.h"
#include "fde.h"
#include "xusleep.h"
#endif
}
-
-#endif /* ndef UNLINK_DAEMON */
--- /dev/null
+
+/*
+ * $Id: unlinkd_daemon.cc,v 1.1 2007/04/24 15:04:22 hno Exp $
+ *
+ * DEBUG: - Unlink Daemon
+ * AUTHOR: Duane Wessels
+ *
+ * SQUID Web Proxy Cache http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ * Squid is the result of efforts by numerous individuals from
+ * the Internet community; see the CONTRIBUTORS file for full
+ * details. Many organizations have provided support for Squid's
+ * development; see the SPONSORS file for full details. Squid is
+ * Copyrighted (C) 2001 by the Regents of the University of
+ * California; see the COPYRIGHT file for full details. Squid
+ * incorporates software developed and/or copyrighted by other
+ * sources; see the CREDITS file for full details.
+ *
+ * This program 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 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ */
+
+#define SQUID_HELPER 1
+
+#include "squid.h"
+
+/* This is the external unlinkd process */
+
+#define UNLINK_BUF_LEN 1024
+
+int
+main(int argc, char *argv[])
+{
+ char buf[UNLINK_BUF_LEN];
+ char *t;
+ int x;
+ setbuf(stdin, NULL);
+ setbuf(stdout, NULL);
+ close(2);
+ open(_PATH_DEVNULL, O_RDWR);
+
+ while (fgets(buf, UNLINK_BUF_LEN, stdin)) {
+ if ((t = strchr(buf, '\n')))
+ *t = '\0';
+ x = unlink(buf);
+ if (x < 0)
+ printf("ERR\n");
+ else
+ printf("OK\n");
+ }
+
+ exit(0);
+}
+