pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/e2guardian



Module Name:    pkgsrc
Committed By:   sborrill
Date:           Thu Jun 27 15:26:24 UTC 2024

Modified Files:
        pkgsrc/www/e2guardian: Makefile PLIST distinfo
        pkgsrc/www/e2guardian/files: configdirs configfiles
Added Files:
        pkgsrc/www/e2guardian/patches: patch-src_Logger.cpp
            patch-src_Logger.hpp
Removed Files:
        pkgsrc/www/e2guardian/patches: patch-configure.ac

Log Message:
e2guardian: update to 5.5.5r

Changes since 5.1.1:

version 5.5.5r

September 2023 to April 2024

    Fix #809 Reading <include> files not respecting abortiflistmissing = off settina
      Also improve list error reporting to show list files and configuration files
      that have failing <include> files under their tree.
    Fix #807  __CONFFILE defined twice

    Change default generatedcertstart to 1st Apr 2024
    Change method of generating Certificate serial numbers #631

      When generating Serial numbers from host names a hash of the rootCA,
      start_date and end_date is added to the CN and hashed to produce a unique serial
      number.  This means that the serial number for a host will change if
      the rootCA or start/end date is changed.  This will force a re-generation
      of the certificate.

      The generated cert store should be cleared to remove the now stale
      certificates previously generated.

    Fix openssl dependency in configure - issue #806
    Fix for bug #804 - Logger build error
    Merge pull request #796 from sunweaver/pr/typo-fixes-5.5
       NEWIN_{v4,v5},configs/e2guardian*.conf.in}: Various typo fixes.
    Fix issue #799 - write PID file in parent process rather than deomon child
    Merge pull request #795 from sunweaver/pr/maxcontentramcachesize-regression-v5.4-v5.5
    {configs/e2guardian.conf.in,src/OptionContainer.cpp}: Make sure values of maxcontentfiltersize
       and maxcontentramcachesize obey to the requirements in the (inline) documentation.
    Fix for #794 - Bad headers in whatsapp requestsi cause crash
    Upgrade to Debian12 in CI/CD
    Fix #792 - dstat output buffer may be too small - buffer size increased to 200
    Fix #790  - error in lists/common/Makefile.am
    Add ICAP client notes
    Update example config files documentation
    Fix #788 Rest of header not being output when keep-alive triggered
    Fix #786 - request log not writing
    Move debuglevel to be read earlier - so that log settings can be debuged
    Fix #785 BYPASS not working in v5.5 also bypass log messages
    Fix #783 - command line option -N being ignored
    Add Spanish translation for message: 122

version 5.5.4r

August 2023

  Fix possible XSS in bypass url - issue #782
  Correct INSTALL file - issue #781
  Fix bug #780 - e2g crashes if invalid group name is provided via BearerBasic
      auth plugin
  Update Italian messages - pull request #778 from albanobattistella
  Update Italian block templalte.html

version 5.5.3r

March to May 2023

    Fix #773 - when blocking match is on an individual IP, match is
       returned blank.
    Add binary IP search to rooms feature
    Merge pull request #772 from Arjow/v5.5
       fixing error with uint32_t
    Convert iprange and iprangemap lists to binary sort/search, remove
       ip mask lists, convert IP subnet and CIDR to internal rangelist.
    Fix #770 - only write blocked url to alert.log
    Fix #768 - findInList() (and other search functions) may return
       illegal address
    Add rsync to docker image
    Amend template config file to add missing set_storytrace and cover
       issues raised in #761
    Comment out debug lines and tidy Logger code
       Based on pull request #763 by KDGundermann
    Add missing E2LOGGER_warning macro
    Tidy storyboardtrace logic in OptionContainer
    Fix #761 - dockermode settings for access.log overwritten when
       set_accesslog and loglocation missing from config file
    Minor changes to e2guardian.cpp to clarify DEBUG_LOW usage
    Fix #762 Inconsistent references to downloadmanagers

February 2023

Fixes
    #759 Segmentation fault - Corrupted TEMPLATE returns
    Possible Fix for #760

version 5.5.2

July 2022 to February 2023

Fixes
    Amend Spanish translations
    Fix bug #756 extension checking requires removal of cgi from url
    Correct HOWTO_Logger.md
    Re-add google translate site/url checking (translate.goog)
    Merge pull request #748 from meyertime/v5.5buildfix
       Fix build error AM_INIT_AUTOMAKE expanded multiple times
    List definition option anonlog now only blanks URL
    Fix bug #743 - logfileformat defaulting to 1 instead of 8 as documented
    Comment out fancy and trickle download managers as these are not
       supported in v5.5
    Obsolete define terms removed from code and clean-up and autoupdate of
       configure.ac
    Partial work towards issue #731
    Fix obscure bug with some lists - replace sort() with stable_sort()
       and improve memory handling for lists
    Fix bug #730 - large downloads in chunked format not completing

New features
    UDP logging option added (based on code/idea by KDG)
    Add SEMI-TRUSTED flag to logs
    Add kiddle search terms extractor #739 refers
    Add storyboarding, list definitions, message for TLD allowed
       as suggested by Dalacor #733.
       Note I have used allowedtldlist rather than exceptiontld.  Exceptions
       generally override everything but this list is used in blanketblock and
       so will be overridden by exception site urls etc.

version 5.5.1

September 2021 to June 2022

Fixes
    Update default values for connecttimeout & maxheaderslines
    Fix #713 - raise upper limit to 2500 for maxheaderlines
    Remove bionic (18.04) add jammy (22.04)
    Fix bug #727 also added list test function self_check()
    Fix bug in set_accesslog
    Fix bug #720 - upper case search terms not blocked
    Correct spelling in message 160
    Fix bug #716 - proxyip being ignored
    Major changes to socket and tunnel code to fix bug -
       #714 - extra high CPU usage under high load
    Fix bug #712 - message wrong when upstream connection fails

New features
    Add regexpreplacelist to available lists for refererin state (SB)
    Mime type stop feature - to prevent scanning of non-relevant mime types.
    Category lists - category can be checked against category list
      - new list type categorylist added
      - new storyboard state categoryin
    Response log option - when set logs all responses in separate log
    Alert log - can be used by external process to email alerts/reports etc
      - new storyboard flag alert
            - when set log in alertlog as well as accesslog
      - new storyboard action setalert
      - storyboard modified so that categories that match alertcategorylist
          are logged in atert.log.

December 2020 to August 2021

Fixes
  - fix #686 icap default filtergroup is not set.
  - fix #679 ICAP protocol error
  - fix #678 -N reloads instead of stops with -q
  - fix #646 - data maplist of more than 16 lines crash e2g
  - fix #649 - set got_orig_ip in get_origianl_ip_port (by Raifeg)
  - Fix #660 - revert to use of iostream for log files - fixes delay due to buffer issue in logger
  - Fix #670 - request log not being written
  - Fix #672 - Cert error not giving status page
  - Fix #677 - exceptionfile test in wrong place
  - Fix #683 - ports ignored in authplugin conf files
  - Fix #684 - crash when only one entry in a maplist
  - Fix #685 - uppercase domain in username never matches
  - Fix #687 - slowness on browsing some sites - issue with new duplex tunnelling

New features
  Add extracheckports option to allow loop checking when cache if front.
  Add new semi exception lists and flag - allows reverse logic for selected sites
     i.e. Trust a site - but block some urls within site.
     Note: semiexceptionsitelist and blockurllist must be of the same type to work
        so if site is in localsemiexceptionsitelist then block of url will only work if in localblockurllist
        or if in semiexceptionsitelist the block of url will only work if in blockurllist
  Add timestamp to debug logs, but not to syslog entries

Refactoring
  OptionContainer variables reorganised (by KDGundermann)

version 5.5.0

October to November 2020
  Bug-fixes to new IO
  Secure TLS proxy added

March to September 2020

New features
  Log rotation
  New Logger/Debug integrated from coding by KDGundermann
  IO (normal and MITM ssl) rewritten
        - timeouts now honored when in MITM mode
  Removal of support for pre v1.1 OpenSSL versions
  Much code tidying

version 5.4.2

April to August 2020

Fixes
  - Fix #619 When using x-forwarded-IP behind proxy MITM requests show wrong IP
  - Fix #616 IP auth issue in ICAP mode
  - Fix #609 .Include not working in e2guardian.conf
  - Fix #607  Merge pull request #608 from KDGundermann
              wrong file path for example
  - Remove example .Includes for phraselists that are no longer in distribution
  - Fix #602 - log timestamp records time log written
  - Fix #520 - by-pass cookie generation and check does not match

New features
  Add 'hook' calls and placeholder functions to common.story
  Add pf-basic auth plugin - use when squid in front of e2g #620
  Reorganize lists and example config files (#618)
  Feature .Define LISTDIR <> and __LISTDIR__ insertion added #610

version 5.4.1

August 2019 to April 2020

Fixes
 - Fix #469 - remove punctuation from within phraselists when read in
 - Fix #493 - refererexception not working
 - Fix #549 - wrong url in CGI block and bypass
 - Fix #555 - improved embeded url detection
 - Fix #565 - segfault when no write permission on generated certs directory
 - Fix #585 - Bypass not working with mitm https
 - Fix #590 - Storyboard parsing failing with trailing comments
 - Fix #595 - MITM - block page not delivered when connection to site fails

New features
 - Add Server Name to Block Page #560
 - Auth list files moved into storyboard system - fixes #458
 - Improve auth plugin logic - add per-plugin default group options
 - On single list reading failure do not abort but check rest of config
 - Tidy up request log output
 - New usedashforblank option for logs
 - Extended logs added (type 7 & 8) and -EXTFLAGS- added to block page params
 - Add searchterms field to log types 7,8 - new logclientnameandip config flag
 - Make consistant punctuation removal in NaughtyFilter
 - Time based list and storyboard functions added - #529
 - SB: Add timed blanket block
 - SB: Add support for log-only function (logcategory flag)
 - SB: Response HTTP header modification added & listenportin state added
 - SB: Add #568 feature - give warning when defined list is not used
 - New useoriginalip option - solves issues with some apps who use non-stqndard SNI.
 - nomitm lists added for sites which refuse to be mitm.
 - nolog lists added and actioned via new SB entry point - for clearer logs
 - searchexception list added to override searchregexplist - so search complete
   calls are not treated as a user search and give misleading denies on logs

Config changes
 - Remove safelabel from bannedphraselist - does not appears to have been adopted on web
 - Revised Phraselists added - #264 refers
 - Phraselist tree now has language as top level
 - Switch dstats on by default in config
 - Update httpworkers comments re 32-bit systems
 - All auth config files have changed - check sample configs
 - Revised/new flags in e2guardian.conf

Definitions/Variables
 - DG replaced by E2 in all directive and configure variables
   e.g. DGDEBUG is now E2DEBUG etc.

version 5.3.4

January 2020

- Increase example maxcontentcachesize to make filtering youtube work
- Fix #565 segfault when no write permission on generated certs directory
- Fix #493 referexception not working
- Fix #549 - Url in CGI and bypass wrong in MITM
- Bug fix sigwait code for OpenBSD
- Amend example bannedregexpulrlist
- Fix #554 Override Search Terms not overriding weighted search term check
- Add request log option for diagnostics - see notes/LogRequests

and more ...

Version 5.3.3

July 2019

- Memory not released when startSslServer returns error #542

June 2019

- IE10/11 on Win7 reports 408/9 error on some sites #538

May 2019

- Fix segfault when corrupt SNI presented

April 2019

- Fix bug #532 - reverse IP lookup give random chars in log and segfaults
- Update comments in list files - as per issue #530
- Add support for reading openssl config files - new optional
  e2guardian.conf params useopensslconf and opensslconffile
- Fix bug #527 - memory leaking when complied with openssl v1.1
- Loop detect code added - enhancement #523 -
  Note that to activate loop detect 'checkip' lines need to be added to
  e2guardian.conf, one for each ip the e2guardian system is listening on,
  including loopback and any VIP used.

March 2019

- Fix #512
- Fix segfault bug #509

Version 5.3.2

March 2019

- SSLMITM source code clean-up - no logic or call changes
- Fix bug #514 - useragentin
- Fix ICAP error (with SSL denied) introduced in 5.3.1

Version 5.3.1

January 2019

- Fix bug with Firefox and SSL denied web sites (connection still opened, massive performance issue)
- Update ICAP client (tested with drweb AV)
- Add stealth mode (reporting without block) to StoryBoard mode
- Add new secure bypass mode (experimental)
- Better handling for non-tls and non-sni calls on transparent https
- Fix bug #490 modified URL not shown in log
- Fix bug #489 - exception file ext/mime type not working correctly
- Fix bug #486 - bypass cookie not being set in proxy mode

December 2018

- Fix for #485 related to #481 wrong upstream site called in direct mode
- Fix bug #481 auth exception being denied
- Fix bug #480 Ignore http 100 when no expect: 100-continue
- Fix bug #478 check searchterms always being called
- Fix bug #476 - only check when potential url is longer than 3 chars and contains'.'
- Fix bug #464 proxy auth issues
- Fix bug #475 Client Hostname blank in template
- Fix bug #473 ICAP mode: Wrong group in respmod
- Fix bug #465 Incorrect wildcard certificate validation

and more ...

Version 5.2.2

September 2018
- Reenable content regexp option
- Allow the ip authplugin to use the X-Client-IP header when using ICAP
- Fix bug #432 Block html page gets shown twice
- Fix bug #436 compilation bug with avast and kavscan
- Fix some lags with debugmanager
- Allow the ip authplugin to use the X-Client-IP header when using ICAP
- Update default template page (denied access)

and more ...

August 2018
- Add new per cent option of weighted phrase lists
- Global code review (remove gcc warnings)

July 2018
- Fix ICAP client - tested with f-secure and Kav4proxy -
- Fix bug #417 urlredirectregexplist doesn't work
- Fix bug #418 NTLM auth is not working
- Fix bug #410 segfault if "neterrtemplate=" doesn't exist in config
- Fix bug #414 compiler error caused by extra brace


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 pkgsrc/www/e2guardian/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/www/e2guardian/PLIST
cvs rdiff -u -r1.7 -r1.8 pkgsrc/www/e2guardian/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/www/e2guardian/files/configdirs
cvs rdiff -u -r1.3 -r1.4 pkgsrc/www/e2guardian/files/configfiles
cvs rdiff -u -r1.1 -r0 pkgsrc/www/e2guardian/patches/patch-configure.ac
cvs rdiff -u -r0 -r1.1 pkgsrc/www/e2guardian/patches/patch-src_Logger.cpp \
    pkgsrc/www/e2guardian/patches/patch-src_Logger.hpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/e2guardian/Makefile
diff -u pkgsrc/www/e2guardian/Makefile:1.15 pkgsrc/www/e2guardian/Makefile:1.16
--- pkgsrc/www/e2guardian/Makefile:1.15 Tue Oct 24 22:11:26 2023
+++ pkgsrc/www/e2guardian/Makefile      Thu Jun 27 15:26:23 2024
@@ -1,11 +1,10 @@
-# $NetBSD: Makefile,v 1.15 2023/10/24 22:11:26 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2024/06/27 15:26:23 sborrill Exp $
 
-DISTNAME=      e2guardian-5.1.1
-PKGREVISION=   7
+DISTNAME=      e2guardian-5.5.5r
 CATEGORIES=    www
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=e2guardian/}
 GITHUB_PROJECT=        e2guardian
-GITHUB_TAG=    V${PKGVERSION_NOREV}
+GITHUB_TAG=    v${PKGVERSION_NOREV}
 
 MAINTAINER=    prlw1%cam.ac.uk@localhost
 HOMEPAGE=      http://www.e2guardian.org/
@@ -13,7 +12,7 @@ COMMENT=      Web content filtering proxy
 LICENSE=       gnu-gpl-v2
 
 GNU_CONFIGURE= yes
-USE_LANGUAGES= c++
+USE_LANGUAGES= c c++
 USE_TOOLS=     autoconf automake perl pkg-config
 RCD_SCRIPTS+=  e2guardian
 
@@ -24,7 +23,7 @@ SUBST_MESSAGE.pathfix=        Fixing premature 
 SUBST_FILES.pathfix=   configs/Makefile.am
 SUBST_FILES.pathfix+=  configs/*/Makefile.am
 SUBST_FILES.pathfix+=  configs/*/*/Makefile.am
-SUBST_SED.pathfix=     -e 's,DGCONFDIR,sysconfdir,'
+SUBST_SED.pathfix=     -e 's,E2CONFDIR,sysconfdir,'
 
 E2G_USER?=             e2grdn
 E2G_GROUP?=            e2grdn
@@ -47,7 +46,6 @@ CONFIGURE_ARGS+=      --with-proxyuser=${E2G_
 CONFIGURE_ARGS+=       --with-proxygroup=${E2G_GROUP}
 CONFIGURE_ARGS+=       --with-piddir=${VARBASE}/run
 CONFIGURE_ARGS+=       --with-logdir=${VARBASE}/log/${E2G_LOG}
-CONFIGURE_ARGS+=       --enable-ntlm
 
 WRKSRC=                ${WRKDIR}/${DISTNAME}
 

Index: pkgsrc/www/e2guardian/PLIST
diff -u pkgsrc/www/e2guardian/PLIST:1.5 pkgsrc/www/e2guardian/PLIST:1.6
--- pkgsrc/www/e2guardian/PLIST:1.5     Mon Jul 16 14:12:34 2018
+++ pkgsrc/www/e2guardian/PLIST Thu Jun 27 15:26:23 2024
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2018/07/16 14:12:34 sborrill Exp $
+@comment $NetBSD: PLIST,v 1.6 2024/06/27 15:26:23 sborrill Exp $
 man/man8/e2guardian.8
 sbin/e2guardian
 share/doc/e2guardian/AuthPlugins
@@ -11,84 +11,128 @@ share/e2guardian/blockedflash.swf
 share/e2guardian/e2guardian.pl
 share/e2guardian/languages/arspanish/fancydmtemplate.html
 share/e2guardian/languages/arspanish/messages
+share/e2guardian/languages/arspanish/neterr_template.html
 share/e2guardian/languages/arspanish/template.html
 share/e2guardian/languages/bulgarian/fancydmtemplate.html
 share/e2guardian/languages/bulgarian/messages
+share/e2guardian/languages/bulgarian/neterr_template.html
 share/e2guardian/languages/bulgarian/template.html
 share/e2guardian/languages/chinesebig5/fancydmtemplate.html
 share/e2guardian/languages/chinesebig5/messages
+share/e2guardian/languages/chinesebig5/neterr_template.html
 share/e2guardian/languages/chinesebig5/template.html
 share/e2guardian/languages/chinesegb2312/fancydmtemplate.html
 share/e2guardian/languages/chinesegb2312/messages
+share/e2guardian/languages/chinesegb2312/neterr_template.html
 share/e2guardian/languages/chinesegb2312/template.html
 share/e2guardian/languages/czech/fancydmtemplate.html
 share/e2guardian/languages/czech/messages
+share/e2guardian/languages/czech/neterr_template.html
 share/e2guardian/languages/czech/template.html
 share/e2guardian/languages/danish/fancydmtemplate.html
 share/e2guardian/languages/danish/messages
+share/e2guardian/languages/danish/neterr_template.html
 share/e2guardian/languages/danish/template.html
 share/e2guardian/languages/dutch/fancydmtemplate.html
 share/e2guardian/languages/dutch/messages
+share/e2guardian/languages/dutch/neterr_template.html
+share/e2guardian/languages/dutch/neterr_template.html
 share/e2guardian/languages/dutch/template.html
 share/e2guardian/languages/french/fancydmtemplate.html
 share/e2guardian/languages/french/messages
+share/e2guardian/languages/french/neterr_template.html
+share/e2guardian/languages/french/neterr_template.html
 share/e2guardian/languages/french/template.html
 share/e2guardian/languages/german/fancydmtemplate.html
 share/e2guardian/languages/german/messages
+share/e2guardian/languages/german/neterr_template.html
+share/e2guardian/languages/german/neterr_template.html
 share/e2guardian/languages/german/template.html
 share/e2guardian/languages/hebrew/fancydmtemplate.html
 share/e2guardian/languages/hebrew/messages
+share/e2guardian/languages/hebrew/neterr_template.html
+share/e2guardian/languages/hebrew/neterr_template.html
 share/e2guardian/languages/hebrew/template.html
 share/e2guardian/languages/hungarian/fancydmtemplate.html
 share/e2guardian/languages/hungarian/messages
+share/e2guardian/languages/hungarian/neterr_template.html
+share/e2guardian/languages/hungarian/neterr_template.html
 share/e2guardian/languages/hungarian/template.html
 share/e2guardian/languages/indonesian/fancydmtemplate.html
 share/e2guardian/languages/indonesian/messages
+share/e2guardian/languages/indonesian/neterr_template.html
+share/e2guardian/languages/indonesian/neterr_template.html
 share/e2guardian/languages/indonesian/template.html
 share/e2guardian/languages/italian/fancydmtemplate.html
 share/e2guardian/languages/italian/messages
+share/e2guardian/languages/italian/neterr_template.html
 share/e2guardian/languages/italian/template.html
 share/e2guardian/languages/japanese/fancydmtemplate.html
 share/e2guardian/languages/japanese/messages
+share/e2guardian/languages/japanese/neterr_template.html
+share/e2guardian/languages/japanese/neterr_template.html
 share/e2guardian/languages/japanese/template.html
 share/e2guardian/languages/lithuanian/fancydmtemplate.html
 share/e2guardian/languages/lithuanian/messages
+share/e2guardian/languages/lithuanian/neterr_template.html
 share/e2guardian/languages/lithuanian/template.html
 share/e2guardian/languages/malay/fancydmtemplate.html
 share/e2guardian/languages/malay/messages
+share/e2guardian/languages/malay/neterr_template.html
+share/e2guardian/languages/malay/neterr_template.html
 share/e2guardian/languages/malay/template.html
 share/e2guardian/languages/mxspanish/fancydmtemplate.html
 share/e2guardian/languages/mxspanish/messages
+share/e2guardian/languages/mxspanish/neterr_template.html
+share/e2guardian/languages/mxspanish/neterr_template.html
 share/e2guardian/languages/mxspanish/template.html
 share/e2guardian/languages/polish/fancydmtemplate.html
 share/e2guardian/languages/polish/messages
+share/e2guardian/languages/polish/neterr_template.html
+share/e2guardian/languages/polish/neterr_template.html
 share/e2guardian/languages/polish/template.html
 share/e2guardian/languages/portuguese/fancydmtemplate.html
 share/e2guardian/languages/portuguese/messages
+share/e2guardian/languages/portuguese/neterr_template.html
+share/e2guardian/languages/portuguese/neterr_template.html
 share/e2guardian/languages/portuguese/template.html
 share/e2guardian/languages/ptbrazilian/fancydmtemplate.html
 share/e2guardian/languages/ptbrazilian/messages
+share/e2guardian/languages/ptbrazilian/neterr_template.html
 share/e2guardian/languages/ptbrazilian/template.html
 share/e2guardian/languages/russian-1251/fancydmtemplate.html
 share/e2guardian/languages/russian-1251/messages
+share/e2guardian/languages/russian-1251/neterr_template.html
+share/e2guardian/languages/russian-1251/neterr_template.html
 share/e2guardian/languages/russian-1251/template.html
 share/e2guardian/languages/russian-koi8-r/fancydmtemplate.html
 share/e2guardian/languages/russian-koi8-r/messages
+share/e2guardian/languages/russian-koi8-r/neterr_template.html
+share/e2guardian/languages/russian-koi8-r/neterr_template.html
 share/e2guardian/languages/russian-koi8-r/template.html
 share/e2guardian/languages/slovak/fancydmtemplate.html
 share/e2guardian/languages/slovak/messages
+share/e2guardian/languages/slovak/neterr_template.html
+share/e2guardian/languages/slovak/neterr_template.html
 share/e2guardian/languages/slovak/template.html
 share/e2guardian/languages/spanish/fancydmtemplate.html
 share/e2guardian/languages/spanish/messages
+share/e2guardian/languages/spanish/neterr_template.html
+share/e2guardian/languages/spanish/neterr_template.html
 share/e2guardian/languages/spanish/template.html
 share/e2guardian/languages/swedish/fancydmtemplate.html
 share/e2guardian/languages/swedish/messages
+share/e2guardian/languages/swedish/neterr_template.html
 share/e2guardian/languages/swedish/template.html
 share/e2guardian/languages/turkish/fancydmtemplate.html
 share/e2guardian/languages/turkish/messages
+share/e2guardian/languages/turkish/neterr_template.html
+share/e2guardian/languages/turkish/neterr_template.html
 share/e2guardian/languages/turkish/template.html
 share/e2guardian/languages/ukenglish/fancydmtemplate.html
 share/e2guardian/languages/ukenglish/messages
+share/e2guardian/languages/ukenglish/neterr_template.html
+share/e2guardian/languages/ukenglish/neterr_template.html
 share/e2guardian/languages/ukenglish/template.html
 share/e2guardian/scripts/bsd-init
 share/e2guardian/scripts/e2guardian
@@ -97,178 +141,270 @@ share/e2guardian/scripts/logrotation
 share/e2guardian/scripts/solaris-init
 share/e2guardian/scripts/systemv-init
 share/e2guardian/transparent1x1.gif
+share/examples/e2guardian/authplugins/BearerBasic.conf
 share/examples/e2guardian/authplugins/ident.conf
 share/examples/e2guardian/authplugins/ip.conf
+share/examples/e2guardian/authplugins/pf-basic.conf
 share/examples/e2guardian/authplugins/port.conf
-share/examples/e2guardian/authplugins/proxy-basic.conf
-share/examples/e2guardian/authplugins/proxy-digest.conf
-share/examples/e2guardian/authplugins/proxy-ntlm.conf
-${PLIST.clamd}share/examples/e2guardian/contentscanners/clamdscan.conf
-${PLIST.cli}share/examples/e2guardian/contentscanners/commandlinescan.conf
-${PLIST.icap}share/examples/e2guardian/contentscanners/icapscan.conf
 share/examples/e2guardian/common.story
 share/examples/e2guardian/downloadmanagers/default.conf
 share/examples/e2guardian/e2guardian.conf
 share/examples/e2guardian/e2guardianf1.conf
 share/examples/e2guardian/examplef1.story
-share/examples/e2guardian/lists/addheaderregexplist
-share/examples/e2guardian/lists/authexceptioniplist
-share/examples/e2guardian/lists/authexceptionsiteiplist
-share/examples/e2guardian/lists/authexceptionsitelist
-share/examples/e2guardian/lists/authexceptionurllist
+${PLIST.clamd}share/examples/e2guardian/contentscanners/clamdscan.conf
+${PLIST.cli}share/examples/e2guardian/contentscanners/commandlinescan.conf
+${PLIST.icap}share/examples/e2guardian/contentscanners/icapscan.conf
+share/examples/e2guardian/lists/README
+share/examples/e2guardian/lists/authplugins/filtergroupslist
 share/examples/e2guardian/lists/authplugins/ipgroups
 share/examples/e2guardian/lists/authplugins/portgroups
-share/examples/e2guardian/lists/bannedclientlist
-share/examples/e2guardian/lists/bannedextensionlist
-share/examples/e2guardian/lists/bannediplist
-share/examples/e2guardian/lists/bannedmimetypelist
-share/examples/e2guardian/lists/bannedphraselist
-share/examples/e2guardian/lists/bannedregexpheaderlist
-share/examples/e2guardian/lists/bannedregexpurllist
-share/examples/e2guardian/lists/bannedregexpuseragentlist
-share/examples/e2guardian/lists/bannedrooms/default
-share/examples/e2guardian/lists/bannedsearchlist
-share/examples/e2guardian/lists/bannedsearchoveridelist
-share/examples/e2guardian/lists/bannedsiteiplist
-share/examples/e2guardian/lists/bannedsitelist
-share/examples/e2guardian/lists/bannedsitelistwithbypass
-share/examples/e2guardian/lists/bannedsslsiteiplist
-share/examples/e2guardian/lists/bannedsslsitelist
-share/examples/e2guardian/lists/bannedurllist
-share/examples/e2guardian/lists/contentregexplist
+share/examples/e2guardian/lists/common/README
+share/examples/e2guardian/lists/common/authexceptioniplist
+share/examples/e2guardian/lists/common/authexceptionsitelist
+share/examples/e2guardian/lists/common/authexceptionurllist
+share/examples/e2guardian/lists/common/bannedclientlist
+share/examples/e2guardian/lists/common/bannediplist
+share/examples/e2guardian/lists/common/browserregexplist
+share/examples/e2guardian/lists/common/embededreferersiteiplist
+share/examples/e2guardian/lists/common/embededreferersiteiplist
+share/examples/e2guardian/lists/common/embededreferersitelist
+share/examples/e2guardian/lists/common/embededreferersitelist
+share/examples/e2guardian/lists/common/embededrefererurllist
+share/examples/e2guardian/lists/common/embededrefererurllist
+share/examples/e2guardian/lists/common/exceptionclientlist
+share/examples/e2guardian/lists/common/exceptionclientlist
+share/examples/e2guardian/lists/common/exceptioniplist
+share/examples/e2guardian/lists/common/exceptioniplist
+share/examples/e2guardian/lists/common/nologextensionlist
+share/examples/e2guardian/lists/common/nologregexpurllist
+share/examples/e2guardian/lists/common/nologsiteiplist
+share/examples/e2guardian/lists/common/nologsitelist
+share/examples/e2guardian/lists/common/nologurllist
+share/examples/e2guardian/lists/common/nomitmsiteiplist
+share/examples/e2guardian/lists/common/nomitmsitelist
+share/examples/e2guardian/lists/common/searchexceptionregexplist
+share/examples/e2guardian/lists/common/searchregexplist
 ${PLIST.avscan}share/examples/e2guardian/lists/contentscanners/exceptionvirusextensionlist
 ${PLIST.avscan}share/examples/e2guardian/lists/contentscanners/exceptionvirusmimetypelist
 ${PLIST.avscan}share/examples/e2guardian/lists/contentscanners/exceptionvirussitelist
 ${PLIST.avscan}share/examples/e2guardian/lists/contentscanners/exceptionvirusurllist
-share/examples/e2guardian/lists/embededreferersitelist
-share/examples/e2guardian/lists/embededreferersiteiplist
-share/examples/e2guardian/lists/embededrefererurllist
-share/examples/e2guardian/lists/exceptionclientlist
-share/examples/e2guardian/lists/exceptionextensionlist
-share/examples/e2guardian/lists/exceptionfilesiteiplist
-share/examples/e2guardian/lists/exceptionfilesitelist
-share/examples/e2guardian/lists/exceptionfileurllist
-share/examples/e2guardian/lists/exceptioniplist
-share/examples/e2guardian/lists/exceptionmimetypelist
-share/examples/e2guardian/lists/exceptionphraselist
-share/examples/e2guardian/lists/exceptionregexpheaderlist
-share/examples/e2guardian/lists/exceptionregexpurllist
-share/examples/e2guardian/lists/exceptionregexpuseragentlist
-share/examples/e2guardian/lists/exceptionsitelist
-share/examples/e2guardian/lists/exceptionsiteiplist
-share/examples/e2guardian/lists/exceptionurllist
-share/examples/e2guardian/lists/filtergroupslist
-share/examples/e2guardian/lists/greysitelist
-share/examples/e2guardian/lists/greysiteiplist
-share/examples/e2guardian/lists/greysslsiteiplist
-share/examples/e2guardian/lists/greysslsitelist
-share/examples/e2guardian/lists/greyurllist
-share/examples/e2guardian/lists/headerregexplist
-share/examples/e2guardian/lists/localbannedsearchlist
-share/examples/e2guardian/lists/localbannedsiteiplist
-share/examples/e2guardian/lists/localbannedsitelist
-share/examples/e2guardian/lists/localbannedsslsiteiplist
-share/examples/e2guardian/lists/localbannedsslsitelist
-share/examples/e2guardian/lists/localbannedurllist
-share/examples/e2guardian/lists/localexceptionsiteiplist
-share/examples/e2guardian/lists/localexceptionsitelist
-share/examples/e2guardian/lists/localexceptionurllist
-share/examples/e2guardian/lists/localgreysiteiplist
-share/examples/e2guardian/lists/localgreysitelist
-share/examples/e2guardian/lists/localgreysslsiteiplist
-share/examples/e2guardian/lists/localgreysslsitelist
-share/examples/e2guardian/lists/localgreyurllist
-share/examples/e2guardian/lists/logregexpurllist
-share/examples/e2guardian/lists/logsiteiplist
-share/examples/e2guardian/lists/logsitelist
-share/examples/e2guardian/lists/logurllist
-share/examples/e2guardian/lists/nocheckcertsiteiplist
-share/examples/e2guardian/lists/nocheckcertsitelist
-share/examples/e2guardian/lists/phraselists/badwords/weighted_dutch
-share/examples/e2guardian/lists/phraselists/badwords/weighted_french
-share/examples/e2guardian/lists/phraselists/badwords/weighted_german
-share/examples/e2guardian/lists/phraselists/badwords/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/badwords/weighted_spanish
-share/examples/e2guardian/lists/phraselists/chat/weighted
-share/examples/e2guardian/lists/phraselists/chat/weighted_italian
-share/examples/e2guardian/lists/phraselists/conspiracy/weighted
-share/examples/e2guardian/lists/phraselists/domainsforsale/weighted
-share/examples/e2guardian/lists/phraselists/drugadvocacy/weighted
-share/examples/e2guardian/lists/phraselists/forums/weighted
-share/examples/e2guardian/lists/phraselists/gambling/banned
-share/examples/e2guardian/lists/phraselists/gambling/banned_portuguese
-share/examples/e2guardian/lists/phraselists/gambling/weighted
-share/examples/e2guardian/lists/phraselists/gambling/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/games/weighted
-share/examples/e2guardian/lists/phraselists/goodphrases/exception
-share/examples/e2guardian/lists/phraselists/goodphrases/exception_email
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general_danish
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general_dutch
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general_malay
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general_polish
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general_portuguese
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_general_swedish
-share/examples/e2guardian/lists/phraselists/goodphrases/weighted_news
-share/examples/e2guardian/lists/phraselists/googlesearches/banned
-share/examples/e2guardian/lists/phraselists/gore/weighted
-share/examples/e2guardian/lists/phraselists/gore/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/idtheft/weighted
-share/examples/e2guardian/lists/phraselists/illegaldrugs/banned
-share/examples/e2guardian/lists/phraselists/illegaldrugs/weighted
-share/examples/e2guardian/lists/phraselists/illegaldrugs/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/intolerance/banned_portuguese
-share/examples/e2guardian/lists/phraselists/intolerance/weighted
-share/examples/e2guardian/lists/phraselists/intolerance/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/legaldrugs/weighted
-share/examples/e2guardian/lists/phraselists/malware/weighted
-share/examples/e2guardian/lists/phraselists/music/weighted
-share/examples/e2guardian/lists/phraselists/news/weighted
-share/examples/e2guardian/lists/phraselists/nudism/weighted
-share/examples/e2guardian/lists/phraselists/peer2peer/weighted
-share/examples/e2guardian/lists/phraselists/personals/weighted
-share/examples/e2guardian/lists/phraselists/personals/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/pornography/banned
-share/examples/e2guardian/lists/phraselists/pornography/banned_portuguese
-share/examples/e2guardian/lists/phraselists/pornography/weighted
-share/examples/e2guardian/lists/phraselists/pornography/weighted_chinese
-share/examples/e2guardian/lists/phraselists/pornography/weighted_danish
-share/examples/e2guardian/lists/phraselists/pornography/weighted_dutch
-share/examples/e2guardian/lists/phraselists/pornography/weighted_french
-share/examples/e2guardian/lists/phraselists/pornography/weighted_german
-share/examples/e2guardian/lists/phraselists/pornography/weighted_italian
-share/examples/e2guardian/lists/phraselists/pornography/weighted_japanese
-share/examples/e2guardian/lists/phraselists/pornography/weighted_malay
-share/examples/e2guardian/lists/phraselists/pornography/weighted_norwegian
-share/examples/e2guardian/lists/phraselists/pornography/weighted_polish
-share/examples/e2guardian/lists/phraselists/pornography/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/pornography/weighted_russian
-share/examples/e2guardian/lists/phraselists/pornography/weighted_russian_utf8
-share/examples/e2guardian/lists/phraselists/pornography/weighted_spanish
-share/examples/e2guardian/lists/phraselists/pornography/weighted_swedish
-share/examples/e2guardian/lists/phraselists/proxies/weighted
-share/examples/e2guardian/lists/phraselists/rta/banned
-share/examples/e2guardian/lists/phraselists/safelabel/banned
-share/examples/e2guardian/lists/phraselists/secretsocieties/weighted
-share/examples/e2guardian/lists/phraselists/sport/weighted
-share/examples/e2guardian/lists/phraselists/translation/weighted
-share/examples/e2guardian/lists/phraselists/travel/weighted
-share/examples/e2guardian/lists/phraselists/upstreamfilter/weighted
-share/examples/e2guardian/lists/phraselists/violence/weighted
-share/examples/e2guardian/lists/phraselists/violence/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/warezhacking/weighted
-share/examples/e2guardian/lists/phraselists/weapons/weighted
-share/examples/e2guardian/lists/phraselists/weapons/weighted_portuguese
-share/examples/e2guardian/lists/phraselists/webmail/weighted
-share/examples/e2guardian/lists/refererexceptionsiteiplist
-share/examples/e2guardian/lists/refererexceptionsitelist
-share/examples/e2guardian/lists/refererexceptionurllist
-share/examples/e2guardian/lists/searchregexplist
-share/examples/e2guardian/lists/sslsiteregexplist
-share/examples/e2guardian/lists/urlredirectregexplist
-share/examples/e2guardian/lists/urlregexplist
-share/examples/e2guardian/lists/weightedphraselist
+share/examples/e2guardian/lists/example.group/README
+share/examples/e2guardian/lists/example.group/addheaderregexplist
+share/examples/e2guardian/lists/example.group/alertcategorylist
+share/examples/e2guardian/lists/example.group/allowedtldlist
+share/examples/e2guardian/lists/example.group/bannedextensionlist
+share/examples/e2guardian/lists/example.group/bannedmimetypelist
+share/examples/e2guardian/lists/example.group/bannedphraselist
+share/examples/e2guardian/lists/example.group/bannedregexpheaderlist
+share/examples/e2guardian/lists/example.group/bannedregexpurllist
+share/examples/e2guardian/lists/example.group/bannedregexpuseragentlist
+share/examples/e2guardian/lists/example.group/bannedsearchlist
+share/examples/e2guardian/lists/example.group/bannedsearchoveridelist
+share/examples/e2guardian/lists/example.group/bannedsiteiplist
+share/examples/e2guardian/lists/example.group/bannedsitelist
+share/examples/e2guardian/lists/example.group/bannedsslsiteiplist
+share/examples/e2guardian/lists/example.group/bannedsslsitelist
+share/examples/e2guardian/lists/example.group/bannedtimelist
+share/examples/e2guardian/lists/example.group/bannedurllist
+share/examples/e2guardian/lists/example.group/blanketblocktldlist
+share/examples/e2guardian/lists/example.group/blankettimelist
+share/examples/e2guardian/lists/example.group/contentregexplist
+share/examples/e2guardian/lists/example.group/domainsnobypass
+share/examples/e2guardian/lists/example.group/exceptionextensionlist
+share/examples/e2guardian/lists/example.group/exceptionfilesiteiplist
+share/examples/e2guardian/lists/example.group/exceptionfilesitelist
+share/examples/e2guardian/lists/example.group/exceptionfileurllist
+share/examples/e2guardian/lists/example.group/exceptionmimetypelist
+share/examples/e2guardian/lists/example.group/exceptionphraselist
+share/examples/e2guardian/lists/example.group/exceptionregexpheaderlist
+share/examples/e2guardian/lists/example.group/exceptionregexpurllist
+share/examples/e2guardian/lists/example.group/exceptionregexpuseragentlist
+share/examples/e2guardian/lists/example.group/exceptionsiteiplist
+share/examples/e2guardian/lists/example.group/exceptionsitelist
+share/examples/e2guardian/lists/example.group/exceptionurllist
+share/examples/e2guardian/lists/example.group/exceptionvirusextensionlist
+share/examples/e2guardian/lists/example.group/exceptionvirussiteiplist
+share/examples/e2guardian/lists/example.group/greysiteiplist
+share/examples/e2guardian/lists/example.group/greysitelist
+share/examples/e2guardian/lists/example.group/greysslsiteiplist
+share/examples/e2guardian/lists/example.group/greysslsitelist
+share/examples/e2guardian/lists/example.group/greyurllist
+share/examples/e2guardian/lists/example.group/headerregexplist
+share/examples/e2guardian/lists/example.group/ipnobypass
+share/examples/e2guardian/lists/example.group/localbannedsearchlist
+share/examples/e2guardian/lists/example.group/localbannedsiteiplist
+share/examples/e2guardian/lists/example.group/localbannedsitelist
+share/examples/e2guardian/lists/example.group/localbannedsslsiteiplist
+share/examples/e2guardian/lists/example.group/localbannedsslsitelist
+share/examples/e2guardian/lists/example.group/localbannedurllist
+share/examples/e2guardian/lists/example.group/localexceptionsiteiplist
+share/examples/e2guardian/lists/example.group/localexceptionsitelist
+share/examples/e2guardian/lists/example.group/localexceptionurllist
+share/examples/e2guardian/lists/example.group/localgreysiteiplist
+share/examples/e2guardian/lists/example.group/localgreysitelist
+share/examples/e2guardian/lists/example.group/localgreysslsiteiplist
+share/examples/e2guardian/lists/example.group/localgreysslsitelist
+share/examples/e2guardian/lists/example.group/localgreyurllist
+share/examples/e2guardian/lists/example.group/localsemiexceptionsiteiplist
+share/examples/e2guardian/lists/example.group/localsemiexceptionsitelist
+share/examples/e2guardian/lists/example.group/logregexpurllist
+share/examples/e2guardian/lists/example.group/logsiteiplist
+share/examples/e2guardian/lists/example.group/logsitelist
+share/examples/e2guardian/lists/example.group/logurllist
+share/examples/e2guardian/lists/example.group/nocheckcertsiteiplist
+share/examples/e2guardian/lists/example.group/nocheckcertsitelist
+share/examples/e2guardian/lists/example.group/oldbannedphraselist
+share/examples/e2guardian/lists/example.group/oldexceptionphraselist
+share/examples/e2guardian/lists/example.group/oldweightedphraselist
+share/examples/e2guardian/lists/example.group/refererexceptionsiteiplist
+share/examples/e2guardian/lists/example.group/refererexceptionsitelist
+share/examples/e2guardian/lists/example.group/refererexceptionurllist
+share/examples/e2guardian/lists/example.group/responseheaderregexplist
+share/examples/e2guardian/lists/example.group/semiexceptionsiteiplist
+share/examples/e2guardian/lists/example.group/semiexceptionsitelist
+share/examples/e2guardian/lists/example.group/sslsiteregexplist
+share/examples/e2guardian/lists/example.group/urlnobypass
+share/examples/e2guardian/lists/example.group/urlredirectregexplist
+share/examples/e2guardian/lists/example.group/urlregexplist
+share/examples/e2guardian/lists/example.group/weightedphraselist
+share/examples/e2guardian/lists/oldphraselists/badwords/weighted_dutch
+share/examples/e2guardian/lists/oldphraselists/badwords/weighted_french
+share/examples/e2guardian/lists/oldphraselists/badwords/weighted_german
+share/examples/e2guardian/lists/oldphraselists/badwords/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/badwords/weighted_spanish
+share/examples/e2guardian/lists/oldphraselists/chat/weighted
+share/examples/e2guardian/lists/oldphraselists/chat/weighted_italian
+share/examples/e2guardian/lists/oldphraselists/conspiracy/weighted
+share/examples/e2guardian/lists/oldphraselists/domainsforsale/weighted
+share/examples/e2guardian/lists/oldphraselists/drugadvocacy/weighted
+share/examples/e2guardian/lists/oldphraselists/forums/weighted
+share/examples/e2guardian/lists/oldphraselists/gambling/banned
+share/examples/e2guardian/lists/oldphraselists/gambling/banned_portuguese
+share/examples/e2guardian/lists/oldphraselists/gambling/weighted
+share/examples/e2guardian/lists/oldphraselists/gambling/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/games/weighted
+share/examples/e2guardian/lists/oldphraselists/goodphrases/exception
+share/examples/e2guardian/lists/oldphraselists/goodphrases/exception_email
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general_danish
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general_dutch
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general_malay
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general_polish
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general_portuguese
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_general_swedish
+share/examples/e2guardian/lists/oldphraselists/goodphrases/weighted_news
+share/examples/e2guardian/lists/oldphraselists/googlesearches/banned
+share/examples/e2guardian/lists/oldphraselists/gore/weighted
+share/examples/e2guardian/lists/oldphraselists/gore/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/idtheft/weighted
+share/examples/e2guardian/lists/oldphraselists/illegaldrugs/banned
+share/examples/e2guardian/lists/oldphraselists/illegaldrugs/weighted
+share/examples/e2guardian/lists/oldphraselists/illegaldrugs/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/intolerance/banned_portuguese
+share/examples/e2guardian/lists/oldphraselists/intolerance/weighted
+share/examples/e2guardian/lists/oldphraselists/intolerance/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/legaldrugs/weighted
+share/examples/e2guardian/lists/oldphraselists/malware/weighted
+share/examples/e2guardian/lists/oldphraselists/music/weighted
+share/examples/e2guardian/lists/oldphraselists/news/weighted
+share/examples/e2guardian/lists/oldphraselists/nudism/weighted
+share/examples/e2guardian/lists/oldphraselists/peer2peer/weighted
+share/examples/e2guardian/lists/oldphraselists/personals/weighted
+share/examples/e2guardian/lists/oldphraselists/personals/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/pornography/banned
+share/examples/e2guardian/lists/oldphraselists/pornography/banned_portuguese
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_chinese
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_danish
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_dutch
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_french
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_german
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_italian
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_japanese
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_malay
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_norwegian
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_polish
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_russian
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_russian_utf8
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_spanish
+share/examples/e2guardian/lists/oldphraselists/pornography/weighted_swedish
+share/examples/e2guardian/lists/oldphraselists/proxies/weighted
+share/examples/e2guardian/lists/oldphraselists/rta/banned
+share/examples/e2guardian/lists/oldphraselists/safelabel/banned
+share/examples/e2guardian/lists/oldphraselists/secretsocieties/weighted
+share/examples/e2guardian/lists/oldphraselists/sport/weighted
+share/examples/e2guardian/lists/oldphraselists/translation/weighted
+share/examples/e2guardian/lists/oldphraselists/travel/weighted
+share/examples/e2guardian/lists/oldphraselists/upstreamfilter/weighted
+share/examples/e2guardian/lists/oldphraselists/violence/weighted
+share/examples/e2guardian/lists/oldphraselists/violence/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/warezhacking/weighted
+share/examples/e2guardian/lists/oldphraselists/weapons/weighted
+share/examples/e2guardian/lists/oldphraselists/weapons/weighted_portuguese
+share/examples/e2guardian/lists/oldphraselists/webmail/weighted
+share/examples/e2guardian/lists/phraselists/chinesebig5/pornography/weighted
+share/examples/e2guardian/lists/phraselists/chinesegb2312/pornography/weighted
+share/examples/e2guardian/lists/phraselists/danish/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/danish/pornography/weighted
+share/examples/e2guardian/lists/phraselists/dutch/badwords/weighted
+share/examples/e2guardian/lists/phraselists/dutch/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/dutch/pornography/weighted
+share/examples/e2guardian/lists/phraselists/french/badwords/weighted
+share/examples/e2guardian/lists/phraselists/french/pornography/weighted
+share/examples/e2guardian/lists/phraselists/german/badwords/weighted
+share/examples/e2guardian/lists/phraselists/german/pornography/weighted
+share/examples/e2guardian/lists/phraselists/italian/badwords/weighted
+share/examples/e2guardian/lists/phraselists/italian/chat/weighted
+share/examples/e2guardian/lists/phraselists/italian/pornography/weighted
+share/examples/e2guardian/lists/phraselists/japanese/pornography/weighted
+share/examples/e2guardian/lists/phraselists/malay/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/malay/pornography/weighted
+share/examples/e2guardian/lists/phraselists/norwegian/pornography/weighted
+share/examples/e2guardian/lists/phraselists/polish/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/polish/pornography/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/badwords/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/gambling/banned
+share/examples/e2guardian/lists/phraselists/portuguese/gambling/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/gore/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/illegaldrugs/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/intolerance/banned
+share/examples/e2guardian/lists/phraselists/portuguese/intolerance/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/personals/banned
+share/examples/e2guardian/lists/phraselists/portuguese/personals/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/pornography/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/violence/weighted
+share/examples/e2guardian/lists/phraselists/portuguese/weapons/weighted
+share/examples/e2guardian/lists/phraselists/russian-1251/pornography/weighted
+share/examples/e2guardian/lists/phraselists/russian-koi8-r/pornography/weighted
+share/examples/e2guardian/lists/phraselists/spanish/badwords/weighted
+share/examples/e2guardian/lists/phraselists/spanish/pornography/weighted
+share/examples/e2guardian/lists/phraselists/swedish/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/swedish/pornography/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/badwords/banned
+share/examples/e2guardian/lists/phraselists/ukenglish/badwords/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/chat/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/drugadvocacy/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/gambling/banned
+share/examples/e2guardian/lists/phraselists/ukenglish/gambling/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/games/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/goodphrases/exception_email
+share/examples/e2guardian/lists/phraselists/ukenglish/goodphrases/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/goodphrases/weighted_news
+share/examples/e2guardian/lists/phraselists/ukenglish/gore/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/illegaldrugs/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/intolerance/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/nudism/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/personals/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/pornography/banned
+share/examples/e2guardian/lists/phraselists/ukenglish/pornography/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/proxies/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/violence/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/warezhacking/weighted
+share/examples/e2guardian/lists/phraselists/ukenglish/weapons/weighted
+share/examples/e2guardian/lists/rooms/default
 share/examples/e2guardian/preauth.story
 share/examples/e2guardian/site.story
-@pkgdir share/examples/e2guardian/lists/contentscanners
 @pkgdir share/examples/e2guardian/contentscanners
+@pkgdir share/examples/e2guardian/lists/contentscanners

Index: pkgsrc/www/e2guardian/distinfo
diff -u pkgsrc/www/e2guardian/distinfo:1.7 pkgsrc/www/e2guardian/distinfo:1.8
--- pkgsrc/www/e2guardian/distinfo:1.7  Wed Jan  5 15:53:41 2022
+++ pkgsrc/www/e2guardian/distinfo      Thu Jun 27 15:26:23 2024
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.7 2022/01/05 15:53:41 sborrill Exp $
+$NetBSD: distinfo,v 1.8 2024/06/27 15:26:23 sborrill Exp $
 
-BLAKE2s (e2guardian-5.1.1.tar.gz) = 59b0d34047e6d604a9e1633e4f067137763a8351c3fc31547456f7bc3575b8cf
-SHA512 (e2guardian-5.1.1.tar.gz) = a678c6d5b5672e40985cfbb9c718b61a7aee0f67092db6e20706cc525ad58c5b87d296575987a0c3e8ec4fd61b802cfa9d9f8b8d0b3a46cdee0f1f637c9bac37
-Size (e2guardian-5.1.1.tar.gz) = 850980 bytes
-SHA1 (patch-configure.ac) = 56c44fa90fbe79f9d531f4aebcbd3709cab1e01e
+BLAKE2s (e2guardian-5.5.5r.tar.gz) = 0cca95fda6bba23f8602fc7aadedeecbefde0daa6b8a35e306aae45521248903
+SHA512 (e2guardian-5.5.5r.tar.gz) = 25f902a8387a8d3cb3751bb7ef5e7f7e37aa6f377e7d3e3493faa0ff25d933b3dbdc6cff16a6b3427ae9d385f59342330c5692d933e197f25cd5b381d9c170bc
+Size (e2guardian-5.5.5r.tar.gz) = 2149828 bytes
+SHA1 (patch-src_Logger.cpp) = b1f00a24f12c504781e9afa4637c888395aa0b57
+SHA1 (patch-src_Logger.hpp) = 7b5ad77b4efec717f758be1b243b697c21dbd3c9

Index: pkgsrc/www/e2guardian/files/configdirs
diff -u pkgsrc/www/e2guardian/files/configdirs:1.1 pkgsrc/www/e2guardian/files/configdirs:1.2
--- pkgsrc/www/e2guardian/files/configdirs:1.1  Fri Mar  3 14:09:18 2017
+++ pkgsrc/www/e2guardian/files/configdirs      Thu Jun 27 15:26:23 2024
@@ -4,6 +4,7 @@ downloadmanagers
 lists
 lists/authplugins
 lists/bannedrooms
+lists/common
 lists/contentscanners
 lists/downloadmanagers
 lists/phraselists
@@ -32,8 +33,8 @@ lists/phraselists/pornography
 lists/phraselists/proxies
 lists/phraselists/rta
 lists/phraselists/safelabel
-lists/phraselists/secretsocieties
 lists/phraselists/sport
+lists/phraselists/secretsocieties
 lists/phraselists/translation
 lists/phraselists/travel
 lists/phraselists/upstreamfilter
@@ -41,3 +42,74 @@ lists/phraselists/violence
 lists/phraselists/warezhacking
 lists/phraselists/weapons
 lists/phraselists/webmail
+lists/phraselists/chinesebig5
+lists/phraselists/chinesebig5/pornography
+lists/phraselists/chinesegb2312
+lists/phraselists/chinesegb2312/pornography
+lists/phraselists/danish
+lists/phraselists/danish/goodphrases
+lists/phraselists/danish/pornography
+lists/phraselists/dutch
+lists/phraselists/dutch/badwords
+lists/phraselists/dutch/goodphrases
+lists/phraselists/dutch/pornography
+lists/phraselists/french
+lists/phraselists/french/badwords
+lists/phraselists/french/pornography
+lists/phraselists/german
+lists/phraselists/german/badwords
+lists/phraselists/german/pornography
+lists/phraselists/italian
+lists/phraselists/italian/badwords
+lists/phraselists/italian/chat
+lists/phraselists/italian/pornography
+lists/phraselists/japanese
+lists/phraselists/japanese/pornography
+lists/phraselists/malay
+lists/phraselists/malay/goodphrases
+lists/phraselists/malay/pornography
+lists/phraselists/norwegian
+lists/phraselists/norwegian/pornography
+lists/phraselists/polish
+lists/phraselists/polish/goodphrases
+lists/phraselists/polish/pornography
+lists/phraselists/portuguese
+lists/phraselists/portuguese/badwords
+lists/phraselists/portuguese/gambling
+lists/phraselists/portuguese/goodphrases
+lists/phraselists/portuguese/gore
+lists/phraselists/portuguese/illegaldrugs
+lists/phraselists/portuguese/intolerance
+lists/phraselists/portuguese/personals
+lists/phraselists/portuguese/pornography
+lists/phraselists/portuguese/violence
+lists/phraselists/portuguese/weapons
+lists/phraselists/russian-1251
+lists/phraselists/russian-1251/pornography
+lists/phraselists/russian-koi8-r
+lists/phraselists/russian-koi8-r/pornography
+lists/phraselists/spanish
+lists/phraselists/spanish/badwords
+lists/phraselists/spanish/pornography
+lists/phraselists/swedish
+lists/phraselists/swedish/goodphrases
+lists/phraselists/swedish/pornography
+lists/phraselists/ukenglish
+lists/phraselists/ukenglish/badwords
+lists/phraselists/ukenglish/chat
+lists/phraselists/ukenglish/drugadvocacy
+lists/phraselists/ukenglish/gambling
+lists/phraselists/ukenglish/games
+lists/phraselists/ukenglish/goodphrases
+lists/phraselists/ukenglish/gore
+lists/phraselists/ukenglish/illegaldrugs
+lists/phraselists/ukenglish/intolerance
+lists/phraselists/ukenglish/nudism
+lists/phraselists/ukenglish/personals
+lists/phraselists/ukenglish/pornography
+lists/phraselists/ukenglish/proxies
+lists/phraselists/ukenglish/violence
+lists/phraselists/ukenglish/warezhacking
+lists/phraselists/ukenglish/weapons
+lists/rooms
+lists/example.group

Index: pkgsrc/www/e2guardian/files/configfiles
diff -u pkgsrc/www/e2guardian/files/configfiles:1.3 pkgsrc/www/e2guardian/files/configfiles:1.4
--- pkgsrc/www/e2guardian/files/configfiles:1.3 Mon Jul 16 14:12:34 2018
+++ pkgsrc/www/e2guardian/files/configfiles     Thu Jun 27 15:26:23 2024
@@ -1,137 +1,113 @@
 authplugins/ident.conf
 authplugins/ip.conf
 authplugins/port.conf
-authplugins/proxy-basic.conf
-authplugins/proxy-digest.conf
+authplugins/BearerBasic.conf
 downloadmanagers/default.conf
 e2guardian.conf
 e2guardianf1.conf
-lists/addheaderregexplist
-lists/authexceptionsitelist
-lists/authexceptionurllist
+lists/authplugins/filtergroupslist
 lists/authplugins/ipgroups
 lists/authplugins/portgroups
-lists/bannedextensionlist
-lists/bannediplist
-lists/bannedmimetypelist
-lists/bannedphraselist
-lists/bannedregexpheaderlist
-lists/bannedregexpurllist
-lists/bannedrooms/default
-lists/bannedsearchlist
-lists/bannedsitelist
-lists/bannedsslsitelist
-lists/bannedurllist
-lists/contentregexplist
-lists/embededreferersitelist
-lists/embededrefererurllist
-lists/exceptionextensionlist
-lists/exceptionfilesitelist
-lists/exceptionfileurllist
-lists/exceptioniplist
-lists/exceptionmimetypelist
-lists/exceptionphraselist
-lists/exceptionregexpurllist
-lists/exceptionsitelist
-lists/exceptionurllist
-lists/filtergroupslist
-lists/greysitelist
-lists/greysslsitelist
-lists/greyurllist
-lists/headerregexplist
-lists/localbannedsearchlist
-lists/localbannedsitelist
-lists/localbannedsslsitelist
-lists/localbannedurllist
-lists/localexceptionsitelist
-lists/localexceptionurllist
-lists/localgreysitelist
-lists/localgreysslsitelist
-lists/localgreyurllist
-lists/logregexpurllist
-lists/logsitelist
-lists/logurllist
-lists/nocheckcertsitelist
-lists/phraselists/badwords/weighted_dutch
-lists/phraselists/badwords/weighted_french
-lists/phraselists/badwords/weighted_german
-lists/phraselists/badwords/weighted_portuguese
-lists/phraselists/badwords/weighted_spanish
-lists/phraselists/chat/weighted
-lists/phraselists/chat/weighted_italian
-lists/phraselists/conspiracy/weighted
-lists/phraselists/domainsforsale/weighted
-lists/phraselists/drugadvocacy/weighted
-lists/phraselists/forums/weighted
-lists/phraselists/gambling/banned
-lists/phraselists/gambling/banned_portuguese
-lists/phraselists/gambling/weighted
-lists/phraselists/gambling/weighted_portuguese
-lists/phraselists/games/weighted
-lists/phraselists/goodphrases/exception
-lists/phraselists/goodphrases/exception_email
-lists/phraselists/goodphrases/weighted_general
-lists/phraselists/goodphrases/weighted_general_danish
-lists/phraselists/goodphrases/weighted_general_dutch
-lists/phraselists/goodphrases/weighted_general_malay
-lists/phraselists/goodphrases/weighted_general_polish
-lists/phraselists/goodphrases/weighted_general_portuguese
-lists/phraselists/goodphrases/weighted_general_swedish
-lists/phraselists/goodphrases/weighted_news
-lists/phraselists/googlesearches/banned
-lists/phraselists/gore/weighted
-lists/phraselists/gore/weighted_portuguese
-lists/phraselists/idtheft/weighted
-lists/phraselists/illegaldrugs/banned
-lists/phraselists/illegaldrugs/weighted
-lists/phraselists/illegaldrugs/weighted_portuguese
-lists/phraselists/intolerance/banned_portuguese
-lists/phraselists/intolerance/weighted
-lists/phraselists/intolerance/weighted_portuguese
-lists/phraselists/legaldrugs/weighted
-lists/phraselists/malware/weighted
-lists/phraselists/music/weighted
-lists/phraselists/news/weighted
-lists/phraselists/nudism/weighted
-lists/phraselists/peer2peer/weighted
-lists/phraselists/personals/weighted
-lists/phraselists/personals/weighted_portuguese
-lists/phraselists/pornography/banned
-lists/phraselists/pornography/banned_portuguese
-lists/phraselists/pornography/weighted
-lists/phraselists/pornography/weighted_chinese
-lists/phraselists/pornography/weighted_danish
-lists/phraselists/pornography/weighted_dutch
-lists/phraselists/pornography/weighted_french
-lists/phraselists/pornography/weighted_german
-lists/phraselists/pornography/weighted_italian
-lists/phraselists/pornography/weighted_japanese
-lists/phraselists/pornography/weighted_malay
-lists/phraselists/pornography/weighted_norwegian
-lists/phraselists/pornography/weighted_polish
-lists/phraselists/pornography/weighted_portuguese
-lists/phraselists/pornography/weighted_russian
-lists/phraselists/pornography/weighted_russian_utf8
-lists/phraselists/pornography/weighted_spanish
-lists/phraselists/pornography/weighted_swedish
-lists/phraselists/proxies/weighted
-lists/phraselists/rta/banned
-lists/phraselists/safelabel/banned
-lists/phraselists/secretsocieties/weighted
-lists/phraselists/sport/weighted
-lists/phraselists/translation/weighted
-lists/phraselists/travel/weighted
-lists/phraselists/upstreamfilter/weighted
-lists/phraselists/violence/weighted
-lists/phraselists/violence/weighted_portuguese
-lists/phraselists/warezhacking/weighted
-lists/phraselists/weapons/weighted
-lists/phraselists/weapons/weighted_portuguese
-lists/phraselists/webmail/weighted
-lists/refererexceptionsitelist
-lists/refererexceptionurllist
-lists/searchregexplist
-lists/sslsiteregexplist
-lists/urlredirectregexplist
-lists/urlregexplist
-lists/weightedphraselist
+lists/common/authexceptioniplist
+lists/common/authexceptionsitelist
+lists/common/authexceptionurllist
+lists/common/bannedclientlist
+lists/common/bannediplist
+lists/common/browserregexplist
+lists/common/embededreferersiteiplist
+lists/common/embededreferersiteiplist
+lists/common/embededreferersitelist
+lists/common/embededreferersitelist
+lists/common/embededrefererurllist
+lists/common/embededrefererurllist
+lists/common/exceptionclientlist
+lists/common/exceptionclientlist
+lists/common/exceptioniplist
+lists/common/exceptioniplist
+lists/common/nologextensionlist
+lists/common/nologregexpurllist
+lists/common/nologsiteiplist
+lists/common/nologsitelist
+lists/common/nologurllist
+lists/common/nomitmsiteiplist
+lists/common/nomitmsitelist
+lists/common/searchexceptionregexplist
+lists/common/searchregexplist
+lists/example.group/addheaderregexplist
+lists/example.group/alertcategorylist
+lists/example.group/allowedtldlist
+lists/example.group/bannedextensionlist
+lists/example.group/bannedmimetypelist
+lists/example.group/bannedphraselist
+lists/example.group/bannedregexpheaderlist
+lists/example.group/bannedregexpurllist
+lists/example.group/bannedregexpuseragentlist
+lists/example.group/bannedsearchlist
+lists/example.group/bannedsearchoveridelist
+lists/example.group/bannedsiteiplist
+lists/example.group/bannedsitelist
+lists/example.group/bannedsslsiteiplist
+lists/example.group/bannedsslsitelist
+lists/example.group/bannedtimelist
+lists/example.group/bannedurllist
+lists/example.group/blanketblocktldlist
+lists/example.group/blankettimelist
+lists/example.group/contentregexplist
+lists/example.group/domainsnobypass
+lists/example.group/exceptionextensionlist
+lists/example.group/exceptionfilesiteiplist
+lists/example.group/exceptionfilesitelist
+lists/example.group/exceptionfileurllist
+lists/example.group/exceptionmimetypelist
+lists/example.group/exceptionphraselist
+lists/example.group/exceptionregexpheaderlist
+lists/example.group/exceptionregexpurllist
+lists/example.group/exceptionregexpuseragentlist
+lists/example.group/exceptionsiteiplist
+lists/example.group/exceptionsitelist
+lists/example.group/exceptionurllist
+lists/example.group/exceptionvirusextensionlist
+lists/example.group/exceptionvirussiteiplist
+lists/example.group/greysiteiplist
+lists/example.group/greysitelist
+lists/example.group/greysslsiteiplist
+lists/example.group/greysslsitelist
+lists/example.group/greyurllist
+lists/example.group/headerregexplist
+lists/example.group/ipnobypass
+lists/example.group/localbannedsearchlist
+lists/example.group/localbannedsiteiplist
+lists/example.group/localbannedsitelist
+lists/example.group/localbannedsslsiteiplist
+lists/example.group/localbannedsslsitelist
+lists/example.group/localbannedurllist
+lists/example.group/localexceptionsiteiplist
+lists/example.group/localexceptionsitelist
+lists/example.group/localexceptionurllist
+lists/example.group/localgreysiteiplist
+lists/example.group/localgreysitelist
+lists/example.group/localgreysslsiteiplist
+lists/example.group/localgreysslsitelist
+lists/example.group/localgreyurllist
+lists/example.group/localsemiexceptionsiteiplist
+lists/example.group/localsemiexceptionsitelist
+lists/example.group/logregexpurllist
+lists/example.group/logsiteiplist
+lists/example.group/logsitelist
+lists/example.group/logurllist
+lists/example.group/nocheckcertsiteiplist
+lists/example.group/nocheckcertsitelist
+lists/example.group/oldbannedphraselist
+lists/example.group/oldexceptionphraselist
+lists/example.group/oldweightedphraselist
+lists/example.group/refererexceptionsiteiplist
+lists/example.group/refererexceptionsitelist
+lists/example.group/refererexceptionurllist
+lists/example.group/responseheaderregexplist
+lists/example.group/semiexceptionsiteiplist
+lists/example.group/semiexceptionsitelist
+lists/example.group/sslsiteregexplist
+lists/example.group/urlnobypass
+lists/example.group/urlredirectregexplist
+lists/example.group/urlregexplist
+lists/example.group/weightedphraselist

Added files:

Index: pkgsrc/www/e2guardian/patches/patch-src_Logger.cpp
diff -u /dev/null pkgsrc/www/e2guardian/patches/patch-src_Logger.cpp:1.1
--- /dev/null   Thu Jun 27 15:26:24 2024
+++ pkgsrc/www/e2guardian/patches/patch-src_Logger.cpp  Thu Jun 27 15:26:23 2024
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_Logger.cpp,v 1.1 2024/06/27 15:26:23 sborrill Exp $
+
+Include cstring for memset()
+
+--- src/Logger.cpp.orig        2024-03-28 12:29:24.067939042 +0000
++++ src/Logger.cpp     2024-03-28 12:41:12.393125789 +0000
+@@ -15,6 +15,7 @@
+ #include <fstream>
+ #include <sstream>
+ #include <string>
++#include <cstring>
+ #include <syslog.h>
+ #include <cstdio>
+ #include <sys/socket.h>
Index: pkgsrc/www/e2guardian/patches/patch-src_Logger.hpp
diff -u /dev/null pkgsrc/www/e2guardian/patches/patch-src_Logger.hpp:1.1
--- /dev/null   Thu Jun 27 15:26:24 2024
+++ pkgsrc/www/e2guardian/patches/patch-src_Logger.hpp  Thu Jun 27 15:26:23 2024
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_Logger.hpp,v 1.1 2024/06/27 15:26:23 sborrill Exp $
+
+Don't clash with definitions in stdio.h
+
+--- src/Logger.hpp.orig        2024-03-28 12:10:30.960888443 +0000
++++ src/Logger.hpp     2024-03-28 12:11:02.392972161 +0000
+@@ -15,6 +15,12 @@
+ #include <fstream>
+ #include <sstream>
+ #include <cstdio>
++#ifdef stdout
++#undef stdout
++#endif
++#ifdef stderr
++#undef stderr
++#endif
+ #include <atomic>
+ #include <syslog.h>
+ #include <unistd.h>



Home | Main Index | Thread Index | Old Index