Index: head/www/squidguard/Makefile =================================================================== --- head/www/squidguard/Makefile (revision 521960) +++ head/www/squidguard/Makefile (revision 521961) @@ -1,125 +1,122 @@ # $FreeBSD$ PORTNAME= squidGuard PORTVERSION= 1.4 PORTREVISION= 15 CATEGORIES= www -MASTER_SITES= http://www.squidguard.org/Downloads/:a \ - http://www.squidguard.org/Downloads/Contrib/:b -DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:a \ - squidGuard-1.4-quoted_string_support.diff:b \ - squidGuard-1.4-dnsbl.patch:b +MASTER_SITES= LOCAL/garga/squidguard/ +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ + squidGuard-1.4-quoted_string_support.diff \ + squidGuard-1.4-dnsbl.patch EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= garga@FreeBSD.org COMMENT= Fast redirector for squid - -BROKEN= unfetchable LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING RUN_DEPENDS= ${LOCALBASE}/sbin/squid:www/squid USES= bdb GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-db-inc=${BDB_INCLUDE_DIR} \ --with-db-lib=${BDB_LIB_DIR} \ --with-sg-config=${ETCDIR}/${PORTNAME}.conf \ --with-sg-dbhome=${DATADIR} \ --with-sg-logdir=${LOGDIR} \ --with-squiduser=${SQUID_UID} \ --exec-prefix=${PREFIX} CPPFLAGS+= -I${PREFIX}/include -I${LOCALBASE}/include SQUID_UID?= squid SQUID_GID?= squid PLIST_SUB+= SQUID_UID='${SQUID_UID}' SQUID_GID='${SQUID_GID}' DATADIR?= /var/db/${PORTNAME} ETCDIR= ${PREFIX}/etc/squid _DATADIR= ${WRKDIR}/data LOGDIR?= /var/log/${PORTNAME} PLIST_SUB+= LOGDIR="${LOGDIR}" SUB_FILES= pkg-deinstall pkg-message SUB_LIST= PORTNAME=${PORTNAME} OPTIONS_DEFINE= DNS_BL DOCS EXAMPLES LDAP QUOTE_STRING STRIP_NTDOMAIN EXAMPLES_DESC= Install sample blacklists DNS_BL_DESC= Enable DNS based blacklists QUOTE_STRING_DESC= Add quoted string patch STRIP_NTDOMAIN_DESC= Add options to strip NT domain and krb realm OPTIONS_SUB= yes QUOTE_STRING_EXTRA_PATCHES= ${DISTDIR}/squidGuard-1.4-quoted_string_support.diff:-p2 DNS_BL_EXTRA_PATCHES= ${DISTDIR}/squidGuard-1.4-dnsbl.patch:-p1 STRIP_NTDOMAIN_EXTRA_PATCHES= ${FILESDIR}/extra-patch-strip.diff:-p0 LDAP_CONFIGURE_ON= --with-ldap LDAP_CONFIGURE_OFF= --without-ldap LDAP_LDFLAGS= -L${LOCALBASE}/lib LDAP_USE= OPENLDAP=yes .include .if ${PORT_OPTIONS:MSTRIP_NTDOMAIN} . if ${PORT_OPTIONS:MQUOTE_STRING} EXTRA_PATCHES+= ${FILESDIR}/extra-patch-strip-with-quoted_string.diff . else EXTRA_PATCHES+= ${FILESDIR}/extra-patch-strip-without-quoted_string.diff . endif .endif pre-fetch: @if [ ${SQUID_UID} = "squid" -o ${SQUID_GID} = "squid" ] ; 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=nobody SQUID_GID=nogroup" ; \ fi post-patch: @${REINPLACE_CMD} \ -e 's,-ldb,-l${BDB_LIB_NAME},' ${WRKSRC}/configure @if [ "${BDB_LIB_NAME}" = "db-4.2" ] ; then \ ${REINPLACE_CMD} -E -e 's,(db_version),\1_4002,g' \ ${WRKSRC}/configure ; \ fi post-build: .if ${PORT_OPTIONS:MEXAMPLES} @${ECHO_MSG} "===> Preparing blacklists" @${MKDIR} ${_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 .endif pre-install: .if ${PORT_OPTIONS:MEXAMPLES} @${ECHO_MSG} "===> Installing sample blacklists" @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/blacklists @(cd ${_DATADIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/blacklists) ${INSTALL_DATA} ${WRKDIR}/README.blacklists ${STAGEDIR}${EXAMPLESDIR} @${ECHO_MSG} " -> Sample blacklists installed in ${EXAMPLESDIR}/blacklists" .endif @${ECHO_MSG} "===> Installing sample configuration file" @${MKDIR} ${STAGEDIR}${ETCDIR} @${SED} -e "s|@sg_dbhome@|${EXAMPLESDIR}/blacklists|" -e "s|@sg_logdir@|${LOGDIR}|" \ ${WRKSRC}/samples/sample.conf.in \ >${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.sample ; \ ${ECHO_MSG} " -> Sample configuration file installed in: ${ETCDIR}" ; \ post-install: .if ${PORT_OPTIONS:MDOCS} @${ECHO_MSG} "===> Installing ${PORTNAME} documentation" @${MKDIR} ${STAGEDIR}${DOCSDIR} . for i in ${WRKSRC}/doc/*.txt ${WRKSRC}/doc/*.html ${WRKSRC}/doc/*.gif ${WRKSRC}/doc/README ${INSTALL_DATA} ${WRKSRC}$i ${STAGEDIR}${DOCSDIR} . endfor @${ECHO_MSG} " -> Documentation installed in: ${DOCSDIR}" .endif .include Index: head/www/squidguard/files/patch-Makefile.in =================================================================== --- head/www/squidguard/files/patch-Makefile.in (revision 521960) +++ head/www/squidguard/files/patch-Makefile.in (revision 521961) @@ -1,65 +1,65 @@ ---- Makefile.in.orig 2008-05-17 20:36:44.000000000 +0200 -+++ Makefile.in 2014-08-22 19:47:56.566781181 +0200 -@@ -47,48 +47,31 @@ +--- Makefile.in.orig 2008-05-17 18:36:44 UTC ++++ Makefile.in +@@ -47,48 +47,31 @@ install: install-build install-conf install-conf: @echo Installing configuration file ; - @if [ ! -d $(prefix)/squidGuard ]; then \ - $(MKINSTALLDIRS) $(prefix)/squidGuard ; \ - echo Created directory $(prefix)/squidGuard ; \ - chown -R $(SQUIDUSER) $(prefix)/squidGuard || exit 1 ; \ - echo Assigned $(prefix)/squidGuard to user $(SQUIDUSER) ; \ + @if [ ! -d $(DESTDIR)$(dbhomedir) ]; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(dbhomedir) ; \ + echo Created directory $(DESTDIR)$(dbhomedir) ; \ + echo Assigned $(DESTDIR)$(dbhomedir) to user $(SQUIDUSER) ; \ fi ; - @if [ ! -d $(dbhomedir) ]; then \ - $(MKINSTALLDIRS) $(dbhomedir) ; \ - echo Created directory $(dbhomedir) ; \ - chown -R $(SQUIDUSER) $(dbhomedir) || exit 1 ; \ - echo Assigned $(dbhomedir) to user $(SQUIDUSER) ; \ + @if [ ! -d $(DESTDIR)$(logdir) ]; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(logdir) ; \ + echo Created directory $(DESTDIR)$(logdir) ; \ + echo Assigned $(DESTDIR)$(logdir) to user $(SQUIDUSER) ; \ fi ; - @if [ ! -d $(logdir) ]; then \ - $(MKINSTALLDIRS) $(logdir) ; \ - echo Created directory $(logdir) ; \ - chown -R $(SQUIDUSER) $(logdir) || exit 1 ; \ - echo Assigned $(logdir) to user $(SQUIDUSER) ; \ - fi ; - @if [ ! -d `dirname $(configfile)` ]; then \ + @if [ ! -d `dirname $(DESTDIR)$(configfile)` ]; then \ umask 022 ; \ - mkdir -p `dirname $(configfile)` ; \ - echo No configuration directory found. Created `dirname $(configfile)`. ; \ + mkdir -p `dirname $(DESTDIR)$(configfile)` ; \ + echo No configuration directory found. Created `dirname $(DESTDIR)$(configfile)`. ; \ fi; - @if test ! -f $(configfile); then \ - cp samples/sample.conf $(configfile) || exit 1 ; \ - echo Copied sample squidGuard.conf ; \ - chmod 644 $(configfile) || exit 1 ; \ - echo $(configfile) is now readable ; \ - echo The initial configuration is complete. ; \ - else \ - echo Configuration file found. Not changing anything ; \ - fi; @echo ; @echo Congratulation. SquidGuard is sucessfully installed. ; @echo ; install-build: @echo Installing squidGuard - @if [ ! -d $(bindir) ]; then \ - $(MKINSTALLDIRS) $(bindir) ; \ + @if [ ! -d $(DESTDIR)$(bindir) ]; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(bindir) ; \ fi ; \ - cp src/squidGuard $(bindir) || exit 1 ; \ + $(BSD_INSTALL_PROGRAM) src/squidGuard $(DESTDIR)$(bindir) || exit 1 ; \ echo Done. ; clean:: Index: head/www/squidguard/files/patch-samples__sample.conf.in =================================================================== --- head/www/squidguard/files/patch-samples__sample.conf.in (revision 521960) +++ head/www/squidguard/files/patch-samples__sample.conf.in (revision 521961) @@ -1,15 +1,15 @@ ---- samples/sample.conf.in.orig 2007-11-16 17:58:32.000000000 +0100 -+++ samples/sample.conf.in 2013-10-05 15:30:39.997329900 +0200 -@@ -53,9 +53,9 @@ +--- samples/sample.conf.in.orig 2007-11-16 16:58:32 UTC ++++ samples/sample.conf.in +@@ -53,9 +53,9 @@ dest local { } dest adult { - domainlist dest/adult/domains - urllist dest/adult/urls - expressionlist dest/adult/expressions + domainlist porn/domains + urllist porn/urls + expressionlist porn/expressions redirect http://admin.foo.bar.de/cgi/blocked?clientaddr=%a+clientname=%n+clientuser=%i+clientgroup=%s+targetgroup=%t+url=%u } Index: head/www/squidguard/files/patch-src__sg.h.in =================================================================== --- head/www/squidguard/files/patch-src__sg.h.in (revision 521960) +++ head/www/squidguard/files/patch-src__sg.h.in (revision 521961) @@ -1,11 +1,11 @@ ---- ./src/sg.h.in.orig 2007-11-16 08:58:32.000000000 -0800 -+++ ./src/sg.h.in 2009-10-19 12:25:23.000000000 -0700 -@@ -73,7 +73,7 @@ +--- src/sg.h.in.orig 2007-11-16 16:58:32 UTC ++++ src/sg.h.in +@@ -73,7 +73,7 @@ int tolower(); #define REQUEST_TYPE_REDIRECT 2 #define REQUEST_TYPE_PASS 3 -#define MAX_BUF 4096 +#define MAX_BUF 12288 #define DEFAULT_LOGFILE "squidGuard.log" #define WARNING_LOGFILE "squidGuard.log" Index: head/www/squidguard/files/patch-src__sgDb.c =================================================================== --- head/www/squidguard/files/patch-src__sgDb.c (revision 521960) +++ head/www/squidguard/files/patch-src__sgDb.c (revision 521961) @@ -1,46 +1,46 @@ ---- src/sgDb.c.orig 2008-07-14 20:29:41.000000000 +0200 -+++ src/sgDb.c 2014-01-14 11:53:55.712138134 +0100 -@@ -119,14 +119,39 @@ +--- src/sgDb.c.orig 2008-07-14 18:29:41 UTC ++++ src/sgDb.c +@@ -119,14 +119,39 @@ void sgDbInit(Db, file) flag = DB_CREATE; if(createdb) flag = flag | DB_TRUNCATE; - if ((ret = - Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { + if ((ret = Db->dbp->open(Db->dbp, +#if DB_VERSION_MINOR >= 1 + NULL, +#endif + dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { -+ (void) Db->dbp->close(Db->dbp, 0); -+ sgLogFatalError("Error db_open: %s", strerror(ret)); -+ } -+ } else { + (void) Db->dbp->close(Db->dbp, 0); + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } else { +- if ((ret = +- Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { + if ((ret = Db->dbp->open(Db->dbp, +#if DB_VERSION_MINOR >= 1 + NULL, +#endif + dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } +#endif +#if DB_VERSION_MAJOR >= 5 + if(globalUpdate || createdb || (dbfile != NULL && stat(dbfile,&st))){ + flag = DB_CREATE; + if(createdb) + flag = flag | DB_TRUNCATE; + if ((ret = Db->dbp->open(Db->dbp, + NULL, + dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { - (void) Db->dbp->close(Db->dbp, 0); - sgLogFatalError("Error db_open: %s", strerror(ret)); - } - } else { -- if ((ret = -- Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++ (void) Db->dbp->close(Db->dbp, 0); ++ sgLogFatalError("Error db_open: %s", strerror(ret)); ++ } ++ } else { + if ((ret = Db->dbp->open(Db->dbp, + NULL, + dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { sgLogFatalError("Error db_open: %s", strerror(ret)); } } Index: head/www/squidguard/files/patch-src__sgDiv.c.in =================================================================== --- head/www/squidguard/files/patch-src__sgDiv.c.in (revision 521960) +++ head/www/squidguard/files/patch-src__sgDiv.c.in (revision 521961) @@ -1,20 +1,20 @@ ---- ./src/sgDiv.c.in.orig 2008-07-14 09:02:43.000000000 -0700 -+++ ./src/sgDiv.c.in 2009-10-19 12:26:04.000000000 -0700 -@@ -745,7 +745,7 @@ +--- src/sgDiv.c.in.orig 2008-07-14 16:02:43 UTC ++++ src/sgDiv.c.in +@@ -745,7 +745,7 @@ char *sgParseRedirect(redirect, req, acl, aclpass) p++; break; case 'u': /* Requested URL */ - strcat(buf, req->orig); + strncat(buf, req->orig, 2048); p++; break; default: @@ -782,7 +782,7 @@ void sgEmergency () } sgLogError("Going into emergency mode"); while(fgets(buf, MAX_BUF, stdin) != NULL){ - puts(""); + puts("ERR"); fflush(stdout); } sgLogError("ending emergency mode, stdin empty"); Index: head/www/squidguard/files/patch-src__sgLog.c =================================================================== --- head/www/squidguard/files/patch-src__sgLog.c (revision 521960) +++ head/www/squidguard/files/patch-src__sgLog.c (revision 521961) @@ -1,44 +1,44 @@ ---- ./src/sgLog.c.orig 2007-11-16 08:58:32.000000000 -0800 -+++ ./src/sgLog.c 2009-10-15 12:25:14.000000000 -0700 +--- src/sgLog.c.orig 2007-11-16 16:58:32 UTC ++++ src/sgLog.c @@ -2,7 +2,7 @@ By accepting this notice, you agree to be bound by the following agreements: - This software product, squidGuard, is copyrighted (C) 1998-2007 + This software product, squidGuard, is copyrighted (C) 1998-2009 by Christine Kronberg, Shalla Secure Services. All rights reserved. This program is free software; you can redistribute it and/or modify it -@@ -55,8 +55,8 @@ +@@ -55,8 +55,8 @@ void sgLog(log, format, va_alist) char msg[MAX_BUF]; va_list ap; VA_START(ap, format); - if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) - fprintf(stderr,"overflow in vsprintf (sgLog): %s",strerror(errno)); + if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + fprintf(stderr,"overflow in vsnprintf (sgLog): %s",strerror(errno)); va_end(ap); date = niso(0); if(globalDebug || log == NULL) { -@@ -87,8 +87,8 @@ +@@ -87,8 +87,8 @@ void sgLogError(format, va_alist) char msg[MAX_BUF]; va_list ap; VA_START(ap, format); - if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) - sgLogFatalError("overflow in vsprintf (sgLogError): %s",strerror(errno)); + if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + sgLog(globalErrorLog, "overflow in vsnprintf (sgLogError): %s",strerror(errno)); va_end(ap); sgLog(globalErrorLog,"%s",msg); } -@@ -104,8 +104,8 @@ +@@ -104,8 +104,8 @@ void sgLogFatalError(format, va_alist) char msg[MAX_BUF]; va_list ap; VA_START(ap, format); - if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) - return; + if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + sgLog(globalErrorLog, "overflow in vsnprintf (sgLogError): %s",strerror(errno)); va_end(ap); sgLog(globalErrorLog,"%s",msg); sgEmergency();