From 6d78fe8506e721b03760ac125c7392585dc95fe7 Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Sat, 9 Feb 2002 16:39:41 +0000 Subject: Update squidguard 1.1.4 -> 1.2.0. PR: ports/33636 Submitted by: MAINTAINER: Dan Larsson Reviewed by: nectar Approved by: MAINTAINER: Dan Larsson --- www/squidguard/Makefile | 140 +++++++++++++++++++++---------------- www/squidguard/distinfo | 2 +- www/squidguard/files/patch-ab | 46 +++++------- www/squidguard/files/patch-ac | 15 ---- www/squidguard/files/sgcfg.in | 41 +++++++++++ www/squidguard/pkg-plist | 30 +------- www/squidguard/pkg-plist.blacklist | 58 +++++++++++++++ 7 files changed, 199 insertions(+), 133 deletions(-) delete mode 100644 www/squidguard/files/patch-ac create mode 100644 www/squidguard/files/sgcfg.in create mode 100644 www/squidguard/pkg-plist.blacklist (limited to 'www') diff --git a/www/squidguard/Makefile b/www/squidguard/Makefile index c798b458012b..7323536f880b 100644 --- a/www/squidguard/Makefile +++ b/www/squidguard/Makefile @@ -6,105 +6,125 @@ # PORTNAME= squidGuard -PORTVERSION= 1.1.4 +PORTVERSION= 1.2.0 CATEGORIES= www MASTER_SITES= http://ftp.ost.eltele.no/pub/www/proxy/squidGuard/ \ ftp://ftp.ost.eltele.no/pub/www/proxy/squidGuard/ MAINTAINER= ports@tyfon.net -BUILD_DEPENDS= ${LOCALBASE}/lib/libdb2.a:${PORTSDIR}/databases/db +BUILD_DEPENDS= ${LOCALBASE}/lib/libdb3.so.2:${PORTSDIR}/databases/db3 RUN_DEPENDS= ${LOCALBASE}/sbin/squid:${PORTSDIR}/www/squid24 HAS_CONFIGURE= yes -CONFIGURE_ARGS= --with-db-inc=${PREFIX}/include/db2 \ +CONFIGURE_ARGS= --with-db-inc=${PREFIX}/include/db3 \ --with-db-lib=${PREFIX}/lib \ - --with-sg-config=${PREFIX}/etc/squid/squidguard.conf \ + --with-sg-config=${PREFIX}/etc/squid/${PORTNAME}.conf \ --with-sg-dbhome=${DATADIR} \ --with-sg-logdir=${LOGDIR} -### To change any of the below paths add it to your make arg -.if !defined(DATADIR) -DATADIR= /var/db/${PORTNAME} -.endif -.if !defined(LOGDIR) -LOGDIR= /var/log -.endif +CFGINPUT= files/sgcfg.in -PLIST_SUB= DATADIR=${DATADIR} +SQUID_UID?= nobody +SQUID_GID?= nogroup -### To optimize squidGuard add OPTIMIZE=YES to your make arg - -.if defined(OPTIMIZE) && ${OPTIMIZE} == YES -CC= gcc -CFLAGS= -pipe -O6 -Wall -fomit-frame-pointer -.endif +DATADIR?= /var/db/${PORTNAME} +LOGDIR?= /var/log -post-install: +PLIST:= ${WRKDIR}/PLIST +PLIST_SUB= DATADIR=${DATADIR} -### Install documentation +pre-fetch: + @if [ ${SQUID_UID} = "nobody" -o ${SQUID_GID} = "nogroup" ] ; then \ + ${ECHO_MSG} "===> SQUID_UID is set to \"${SQUID_UID}\" and SQUID_GID is set to \"${SQUID_GID}\"." ; \ + ${ECHO_MSG} " To change this specify them with your make arguments, e.g." ; \ + ${ECHO_MSG} " make SQUID_UID=squid SQUID_GID=squid" ; \ + fi -.if !defined(NOPORTDOCS) - @${ECHO_MSG} "===> Installing ${PORTNAME} documentation" - -@${MKDIR} ${PREFIX}/share/doc/${PORTNAME} -.for i in ${WRKSRC}/doc/*.txt ${WRKSRC}/doc/*.html ${WRKSRC}/doc/*.gif ${WRKSRC}/doc/README - @${INSTALL_DATA} ${WRKSRC}$i ${PREFIX}/share/doc/${PORTNAME} -.endfor - @${ECHO_MSG} " -> Documentation installed in: ${PREFIX}/share/doc/${PORTNAME}" -.endif +pre-install: + @${CP} ${PKGDIR}/pkg-plist ${PLIST} -### Install blacklist databases +### Install blacklists .if !exists(${DATADIR}) - @${ECHO_MSG} "===> Installing blacklist databases" - @${MKDIR} ${DATADIR} - @cd ${DATADIR} ; \ - ${TAR} fpxz ${WRKSRC}/samples/dest/blacklists.tar.gz ; \ - for f in blacklists/* ; do \ - ${MV} $$f ${DATADIR} ; \ - done - @if [ -d ${PREFIX}/share/doc/${PORTNAME} ] ; then \ - ${MV} -f ${DATADIR}/README \ - ${PREFIX}/share/doc/${PORTNAME}/README.blacklists ; \ - else \ - ${RM} -f ${DATADIR}/README ; \ - fi - @for d in ${DATADIR}/ads ${DATADIR}/agressive ${DATADIR}/drugs \ - ${DATADIR}/hacking ${DATADIR}/porn ; do \ - cd $$d ; \ - ${RM} -f newdomains.* newurls.* ; \ - ${CHOWN} root:nobody * ; \ - ${CHMOD} 640 * ; \ - cd ${DATADIR} ; \ - done - @${RM} -rf ${DATADIR}/blacklists* - @${CHOWN} root:nobody ${DATADIR}/* ${DATADIR} - @${CHMOD} 750 ${DATADIR}/* ${DATADIR} + @${ECHO_MSG} "===> Installing blacklists" + @${MKDIR} -p ${DATADIR} + @${TAR} -C ${DATADIR} --exclude *.diff -pxzf ${WRKSRC}/samples/dest/blacklists.tar.gz + @${MV} -f ${DATADIR}/blacklists/README ${WRKDIR}/README.blacklists + @${MV} -f ${DATADIR}/blacklists/* ${DATADIR}/ + @${RM} -r ${DATADIR}/blacklists + @${CHOWN} -R ${SQUID_UID}:${SQUID_GID} ${DATADIR} + @${CHMOD} -R 550 ${DATADIR} + @${CAT} ${PKGDIR}/pkg-plist.blacklist >> ${PLIST} @${ECHO_MSG} " -> Blacklists installed in: ${DATADIR}" .else @${ECHO_MSG} "===> Found existing datadirectory - skipping blacklist installation" .endif -### Install sample configuration file +### Create sample configuration file - @if [ ! -f ${PREFIX}/etc/squid/squidguard.conf ] ; then \ + @if [ ! -f "${PREFIX}/etc/squid/${PORTNAME}.conf" ] ; then \ ${ECHO_MSG} "===> Installing sample configuration file" ; \ - ${SED} -e 's!%%DATADIR%%!${DATADIR}!' -e 's!%%LOGDIR%%!${LOGDIR}!' \ - ${WRKSRC}/samples/sample.conf > \ - ${PREFIX}/etc/squid/squidguard.conf.sample ; \ - ${CHOWN} root:nobody ${PREFIX}/etc/squid/squidguard.conf.sample ; \ - ${CHMOD} 640 ${PREFIX}/etc/squid/squidguard.conf.sample ; \ + BLACKLIST_DIRS=`(cd ${DATADIR} && ${FIND} . -type d | ${SED} '/^\.$$/d; s/^\.\//!/' | ${XARGS} ${ECHO_CMD})`; \ + for I in `${ECHO_CMD} $${BLACKLIST_DIRS} | ${SED} 's/!//g'`; do \ + ${ECHO_CMD} "dest $${I} {"; \ + ${TEST} -f ${DATADIR}/$${I}/domains && \ + ${ECHO_CMD} " domainlist $${I}/domains"; \ + ${TEST} -f ${DATADIR}/$${I}/urls && \ + ${ECHO_CMD} " urllist $${I}/urls"; \ + ${TEST} -f ${DATADIR}/$${I}/expressions && \ + ${ECHO_CMD} " expressionlist $${I}/expressions"; \ + ${ECHO_CMD} "}"; \ + done > ${WRKDIR}/${PORTNAME}.conf.dests ; \ + ${SED} "s|DATADIR|${DATADIR}|;s|LOGDIR|${LOGDIR}|;s|BLACKLIST_DIRS|$${BLACKLIST_DIRS}|;/DEST_CLASSES/r ${WRKDIR}/${PORTNAME}.conf.dests" \ + ${CFGINPUT} | \ + ${SED} "/DEST_CLASSES/d" > \ + ${PREFIX}/etc/squid/${PORTNAME}.conf.sample ; \ + ${CHOWN} ${SQUID_UID}:${SQUID_GID} ${PREFIX}/etc/squid/${PORTNAME}.conf.sample ; \ ${ECHO_MSG} " -> Sample configuration file installed in: ${PREFIX}/etc/squid" ; \ else \ ${ECHO_MSG} "===> Existing configuration file found - sample not installed" ; \ fi +### Create blacklist databases (assume fresh install if we only have a sample config) + + @if [ ! -f "${PREFIX}/etc/squid/${PORTNAME}.conf" -a \ + -f "${PREFIX}/etc/squid/${PORTNAME}.conf.sample" ] ; then \ + ${ECHO_MSG} "===> Creating blacklist databases" ; \ + ${WRKSRC}/src/${PORTNAME} -d -c ${PREFIX}/etc/squid/${PORTNAME}.conf.sample -C all ; \ + ${CHOWN} -R ${SQUID_UID}:${SQUID_GID} ${DATADIR} ; \ + ${FIND} ${DATADIR} -type f -name *.db -exec ${CHMOD} 660 {} \; ; \ + ${ECHO_MSG} " -> Blacklist databases installed in: ${DATADIR}" ; \ + ${ECHO_MSG} " -> Be sure to check \"${LOGDIR}/${PORTNAME}.log\" for any errors" ; \ + ${CHOWN} ${SQUID_UID}:${SQUID_GID} ${LOGDIR}/${PORTNAME}.log ; \ + else \ + ${ECHO_MSG} "===> Existing configuration file found - blacklist databases not created" ; \ + fi + +post-install: + +### Install documentation + +.if !defined(NOPORTDOCS) + @${ECHO_MSG} "===> Installing ${PORTNAME} documentation" + -@${MKDIR} ${PREFIX}/share/doc/${PORTNAME} +.for i in ${WRKSRC}/doc/*.txt ${WRKSRC}/doc/*.html ${WRKSRC}/doc/*.gif ${WRKSRC}/doc/README + @${INSTALL_DATA} ${WRKSRC}$i ${PREFIX}/share/doc/${PORTNAME} +.endfor + @if [ -f ${WRKDIR}/README.blacklists ] ; then \ + ${INSTALL_DATA} ${WRKDIR}/README.blacklists ${PREFIX}/share/doc/${PORTNAME} ; \ + fi + @${ECHO_MSG} " -> Documentation installed in: ${PREFIX}/share/doc/${PORTNAME}" +.endif + .if !exists(${LOGDIR}) @${MKDIR} ${LOGDIR} + @${CHOWN} -R ${SQUID_UID}:${SQUID_GID} ${LOGDIR} .endif ### View short howto message + @${ECHO_MSG} " " @${ECHO_MSG} "===================================================================" @${ECHO_MSG} "= In order to activate ${PORTNAME} you have to edit squid.conf" @${ECHO_MSG} "= To the contain \"redirect_program ${PREFIX}/bin/${PORTNAME}\"" diff --git a/www/squidguard/distinfo b/www/squidguard/distinfo index 162b60013064..abcb8eecc431 100644 --- a/www/squidguard/distinfo +++ b/www/squidguard/distinfo @@ -1 +1 @@ -MD5 (squidGuard-1.1.4.tar.gz) = 300a179d05fcba2068c4e766b607d73f +MD5 (squidGuard-1.2.0.tar.gz) = c6e2e9112fdbda0602656f94c1ce31fd diff --git a/www/squidguard/files/patch-ab b/www/squidguard/files/patch-ab index 248dd6e013f3..a771cdbe5dd7 100644 --- a/www/squidguard/files/patch-ab +++ b/www/squidguard/files/patch-ab @@ -1,38 +1,28 @@ ---- configure.orig Wed Mar 29 11:40:54 2000 -+++ configure Fri Jun 2 08:44:14 2000 -@@ -1085,7 +1085,7 @@ - fi - done - IFS="$ac_save_ifs" -- test -z "$ac_cv_path_LYNX" && ac_cv_path_LYNX="/bin/false" -+ test -z "$ac_cv_path_LYNX" && ac_cv_path_LYNX="/usr/bin/false" - ;; - esac - fi -@@ -1217,14 +1217,14 @@ +--- configure.orig Tue Dec 18 11:16:53 2001 ++++ configure Thu Dec 27 01:46:53 2001 +@@ -2402,13 +2402,13 @@ + CPPFLAGS="$CPPFLAGS $db_inc" LDFLAGS="$LDFLAGS $db_lib" - --echo $ac_n "checking for db_version in -ldb""... $ac_c" 1>&6 --echo "configure:1222: checking for db_version in -ldb" >&5 -+echo $ac_n "checking for db_version in -ldb2""... $ac_c" 1>&6 -+echo "configure:1222: checking for db_version in -ldb2" >&5 - ac_lib_var=`echo db'_'db_version | sed 'y%./+-%__p_%'` - if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +-echo "$as_me:2405: checking for db_version in -ldb" >&5 +-echo $ECHO_N "checking for db_version in -ldb... $ECHO_C" >&6 ++echo "$as_me:2405: checking for db_version in -ldb3" >&5 ++echo $ECHO_N "checking for db_version in -ldb3... $ECHO_C" >&6 + if test "${ac_cv_lib_db_db_version+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS -LIBS="-ldb $LIBS" -+LIBS="-ldb2 $LIBS" - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF + #line 2413 "configure" #include "confdefs.h" -@@ -1258,7 +1258,7 @@ - #define $ac_tr_lib 1 +@@ -2456,7 +2456,7 @@ + #define HAVE_LIBDB 1 EOF - LIBS="-ldb $LIBS" -+ LIBS="-ldb2 $LIBS" ++ LIBS="-ldb3 $LIBS" else - echo "$ac_t""no" 1>&6 + diff --git a/www/squidguard/files/patch-ac b/www/squidguard/files/patch-ac deleted file mode 100644 index 5a97ebbb6894..000000000000 --- a/www/squidguard/files/patch-ac +++ /dev/null @@ -1,15 +0,0 @@ ---- samples/sample.conf.in.orig Sun Jun 11 21:45:41 2000 -+++ samples/sample.conf.in Sun Jun 11 21:46:54 2000 -@@ -1,9 +1,9 @@ - # --# CONFIG FILE FOR SQUIDGUARD -+# SAMPLE CONFIG FILE FOR SQUIDGUARD - # - --dbhome @prefix@/squidGuard/db --logdir @prefix@/squidGuard/logs -+dbhome %%DATADIR%% -+logdir %%LOGDIR%% - - # - # TIME RULES: diff --git a/www/squidguard/files/sgcfg.in b/www/squidguard/files/sgcfg.in new file mode 100644 index 000000000000..8d57a821c1dc --- /dev/null +++ b/www/squidguard/files/sgcfg.in @@ -0,0 +1,41 @@ +# +# SAMPLE CONFIG FILE FOR SQUIDGUARD +# (for further configuration options see the +# documentation and http://www.squidguard.org/) +# +dbhome DATADIR +logdir LOGDIR + +# +# TIME RULES: +# abbrev for weekdays: +# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat +time workhours { + weekly mtwhf 08:00 - 16:30 + date *-*-01 08:00 - 16:30 +} + +# +# SOURCE ADDRESSES +# +source sample-clients { + ip 10.0.0.0/24 +} + +# +# DESTINATION CLASSES +# +DEST_CLASSES + +acl { + sample-clients within workhours { + pass BLACKLIST_DIRS !in-addr any + } else { + pass any + } + + default { + pass none + redirect http://admin.foo.bar.no/cgi/blocked?clientaddr=%a+clientname=%n+clientident=%i+srcclass=%s+targetclass=%t+url=%u + } +} diff --git a/www/squidguard/pkg-plist b/www/squidguard/pkg-plist index 8468f82726fd..087ac85714d3 100644 --- a/www/squidguard/pkg-plist +++ b/www/squidguard/pkg-plist @@ -9,33 +9,5 @@ share/doc/squidGuard/index.html share/doc/squidGuard/installation.html share/doc/squidGuard/installation.txt share/doc/squidGuard/squidGuard.gif +etc/squid/squidGuard.conf.sample @dirrm share/doc/squidGuard -@cwd %%DATADIR%% -ads/domains -ads/domains.db -ads/urls -ads/urls.db -agressive/domains -agressive/domains.db -agressive/urls -agressive/urls.db -drugs/domains -drugs/domains.db -drugs/urls -drugs/urls.db -hacking/domains -hacking/domains.db -hacking/urls -hacking/urls.db -porn/domains -porn/domains.db -porn/expressions -porn/urls -porn/urls.db -@dirrm ads -@dirrm agressive -@dirrm drugs -@dirrm hacking -@dirrm porn -@cwd / -@dirrm %%DATADIR%% diff --git a/www/squidguard/pkg-plist.blacklist b/www/squidguard/pkg-plist.blacklist new file mode 100644 index 000000000000..f3ec880fda52 --- /dev/null +++ b/www/squidguard/pkg-plist.blacklist @@ -0,0 +1,58 @@ +@cwd %%DATADIR%% +ads/domains +ads/domains.db +ads/urls +ads/urls.db +aggressive/domains +aggressive/domains.db +aggressive/urls +aggressive/urls.db +audio-video/domains +audio-video/domains.db +audio-video/urls +audio-video/urls.db +drugs/domains +drugs/domains.db +drugs/urls +drugs/urls.db +gambling/domains +gambling/domains.db +gambling/urls +gambling/urls.db +hacking/domains +hacking/domains.db +hacking/urls +hacking/urls.db +mail/domains +mail/domains.db +porn/domains +porn/domains.db +porn/urls +porn/urls.db +porn/expressions +proxy/domains +proxy/domains.db +proxy/urls +proxy/urls.db +violence/domains +violence/domains.db +violence/urls +violence/urls.db +violence/expressions +warez/domains +warez/domains.db +warez/urls +warez/urls.db +@dirrm ads +@dirrm aggressive +@dirrm audio-video +@dirrm drugs +@dirrm gambling +@dirrm hacking +@dirrm mail +@dirrm porn +@dirrm proxy +@dirrm violence +@dirrm warez +@cwd / +@dirrm %%DATADIR%% -- cgit v1.2.3