<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/17dbffd4a4878130afd546886e3240bb3bd862be">https://github.com/macports/macports-ports/commit/17dbffd4a4878130afd546886e3240bb3bd862be</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 17dbffd4a4878130afd546886e3240bb3bd862be
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Wed Oct 6 22:11:34 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    privoxy: Add HTTPS Inspection
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add HTTPS Inspection
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add surrogate CA creation within port
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add gpg verification
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add `startupitem.pidfile`
</span><span style='display:block; white-space:pre;color:#404040;'>    * Compile manpage from configured Makefile
</span><span style='display:block; white-space:pre;color:#404040;'>    * See: https://trac.macports.org/ticket/63583#ticket
</span>---
 www/privoxy/Portfile                          | 261 ++++++++++++++++++++++++--
 www/privoxy/files/keyid-691822918BA2371C.txt  | 170 +++++++++++++++++
 www/privoxy/files/openssl.cnf                 | 187 ++++++++++++++++++
 www/privoxy/files/patch-config.diff           | 133 +++++++++++++
 www/privoxy/files/patch-match-all.action.diff |  73 +++++++
 5 files changed, 806 insertions(+), 18 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/privoxy/Portfile b/www/privoxy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 58bc944838f..ebdbe3610fb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/privoxy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/privoxy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,16 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           gpg_verify 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           perl5 1.0
</span> 
 name                privoxy
 version             3.0.32
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          www security net
 platforms           darwin
 license             GPL-2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {ieee.org:s.t.smith @essandess} openmaintainer
</span> 
 description         Advanced filtering web proxy
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,22 +24,57 @@ long_description    Privoxy is a web proxy with advanced filtering \
</span>                     multi-user networks.
 
 homepage            http://www.privoxy.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        sourceforge:project/ijbswa/Sources/${version}%20%28stable%29
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        ${homepage}/sf-download-mirror/Sources/${version}%20%28stable%29
</span> distname            ${name}-${version}-stable-src
<span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles           ${distname}${extract.suffix}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  e6fa3d638af4054d97be87df64d156bdbcb4057a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.only        ${distname}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  e6fa3d638af4054d97be87df64d156bdbcb4057a \
</span>                     sha256  c61de4008c62445ec18f1f270407cbf2372eaba93beaccdc9e3238bb2defeed7 \
                     size    1834528
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+gpg_verify.use_gpg_verification \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[option gpg_verify.use_gpg_verification]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}${extract.suffix}.asc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}${extract.suffix}.asc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    833
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-checksum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        gpg_verify.verify_gpg_signature \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${filespath}/keyid-691822918BA2371C.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distpath}/${distname}${extract.suffix}.asc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distpath}/${distname}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> worksrcdir          ${name}-${version}-stable
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:pcre \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:p5-sgmlspm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:brotli \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pcre \
</span>                     port:zlib
 
 set privoxyGroup    privoxy
 set privoxyUser     privoxy
 add_users           ${privoxyUser} group=${privoxyGroup}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# diff -Naur privoxy-orig/config privoxy-new/config | sed -E -e 's/privoxy-(orig|new)/./g'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-config.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@PREFIX@@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> pre-configure {
     if {[existsuser ${privoxyUser}] != 0 && [existsgroup ${privoxyGroup}] != 0} {
         configure.args-append   --with-user=${privoxyUser} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,25 +86,32 @@ pre-configure {
</span> use_autoconf        yes
 configure.args      --sysconfdir=${prefix}/etc/${name} \
                     --mandir=${prefix}/share/man \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-compression \
</span>                     --enable-dynamic-pcre \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --enable-zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-brotli
</span> 
 # work around bug 30345
 post-configure {
     file delete ${workpath}/.CC_PRINT_OPTIONS
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# man page
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "${build.cmd} dok-release"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> destroot.keepdirs   ${destroot}${prefix}/var/log/privoxy \
                     ${destroot}${prefix}/var/run
 
 post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 -d ${destroot}${prefix}/var/run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/var/run
</span>     # Install and fixup startup script (if non-Darwin)
     if {${os.platform} ne "darwin"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 -d ${destroot}${prefix}/etc/rc.d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 -W ${worksrcpath} privoxy-generic.init \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/etc/rc.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 -W ${worksrcpath} privoxy-generic.init \
</span>             ${destroot}${prefix}/etc/rc.d/privoxy.sh
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>         system -W ${destroot}${prefix}/etc/rc.d "patch -p0 < ${filespath}/patch-privoxy.sh.diff"
         reinplace "s|@@PREFIX@@|${prefix}|g" \
             ${destroot}${prefix}/etc/rc.d/privoxy.sh
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,16 +126,16 @@ post-destroot {
</span>     # Rename these so local modifications are not removed on uninstall.
     # NOTE: Always overwrite default.action and default.filter.
     foreach privoxyConf {config match-all.action trust user.action user.filter} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[file exists ${destroot}${prefix}/etc/privoxy/${privoxyConf}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file rename ${destroot}${prefix}/etc/privoxy/${privoxyConf} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/etc/privoxy/${privoxyConf}.new
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file exists ${destroot}${prefix}/etc/privoxy/${privoxyConf}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${destroot}${prefix}/etc/privoxy/${privoxyConf} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}${prefix}/etc/privoxy/${privoxyConf}.new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         # backup config files before fix #23970
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[file exists ${prefix}/etc/privoxy/${privoxyConf}] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        && ![file exists ${prefix}/etc/privoxy/${privoxyConf}.new]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file copy ${prefix}/etc/privoxy/${privoxyConf} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/etc/privoxy/${privoxyConf}.mp_backup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file exists ${prefix}/etc/privoxy/${privoxyConf}] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                && ![file exists ${prefix}/etc/privoxy/${privoxyConf}.new]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file copy ${prefix}/etc/privoxy/${privoxyConf} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}${prefix}/etc/privoxy/${privoxyConf}.mp_backup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
     # Remove the preinstalled log files as, otherwise, a rotation script
     # will fail when trying to rename and compress due to gzip not liking
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -133,6 +178,185 @@ post-activate {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set tls_ca_dir      ${prefix}/etc/privoxy/ca.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant https_inspection \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {Use Privoxy HTTPS inspection.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:sf-pwgen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:share/apple-pki-bundle/apple-pki-bundle.pem:apple-pki-bundle \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:share/curl/curl-ca-bundle.crt:curl-ca-bundle \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libssl.dylib:openssl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # diff -Naur privoxy-orig/match-all.action privoxy-new/match-all.action | sed -E -e 's/privoxy-(orig|new)/./g' > patch-match-all.action.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-match-all.action.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|^#(ca-directory )|\\1|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|^#(certificate-directory )|\\1|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # random 4-word-based passphrase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc correct_horse_battery_staple {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ignore errors from sf-pwgen if the password is shorter than requested
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [join [exec sh -c "sf-pwgen \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                  --algorithm memorable --count 2 --length 16 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              2>/dev/null || true"] -]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-openssl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.keepdirs-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/etc/privoxy/CA \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/privoxy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/privoxy/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 770 -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/etc/privoxy/CA \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/privoxy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/privoxy/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[existsuser ${privoxyUser}] != 0 && [existsgroup ${privoxyGroup}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file attributes ${destroot}${prefix}/etc/privoxy/CA \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file attributes ${destroot}${prefix}/var/privoxy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file attributes ${destroot}${prefix}/var/privoxy/certs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # TLS Root CA configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${tls_ca_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0700 -d ${destroot}${tls_ca_dir}/private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.keepdirs-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${tls_ca_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${tls_ca_dir}/private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach d {certs crl newcerts} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${tls_ca_dir}/${d}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.keepdirs-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${tls_ca_dir}/${d} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0644 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${filespath}/openssl.cnf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${tls_ca_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # cat all trusted PKI bundles to a single file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set outfile [open ${destroot}${tls_ca_dir}/trustedCAs.pem w]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       ${prefix}/share/curl/curl-ca-bundle.crt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       ${prefix}/share/apple-pki-bundle/apple-pki-bundle.pem] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set sourcefile [open ${f} r]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            chan copy ${sourcefile} ${outfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            close ${sourcefile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${outfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [file exists ${tls_ca_dir}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            delete  ${tls_ca_dir}.previous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            move    ${tls_ca_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}.previous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # CA passphrase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set tls_ca_passphrase \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [correct_horse_battery_staple]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set tls_ca_passphrase_fd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [open ${tls_ca_dir}/private/passphrase.txt w 0600]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${tls_ca_passphrase_fd} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${tls_ca_passphrase}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${tls_ca_passphrase_fd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # create the root CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${tls_ca_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "sh <<TLS_PRIVOXY_ROOT_CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # initialize
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            touch index.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            echo 1000 > serial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # CA encrypted key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl genrsa -aes256 -out private/ca.key.pem \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -passout file:private/passphrase.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            chmod go-rw private/ca.key.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # CA certificate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl req -config openssl.cnf \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -new -x509 -days 1460 -sha256 \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -extensions v3_ca \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -out certs/ca.cert.pem -key private/ca.key.pem \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -passin file:private/passphrase.txt -batch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # CA certificate openssl self-verification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl verify -CAfile certs/ca.cert.pem certs/ca.cert.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Convert to .cer DER and .p12 for other uses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl x509 -outform der -in certs/ca.cert.pem -out certs/ca.cer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl pkcs12 -export -out certs/ca.p12 \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -inkey private/ca.key.pem -in certs/ca.cert.pem \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -passin file:private/passphrase.txt \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -passout pass:\$'${tls_ca_passphrase}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+TLS_PRIVOXY_ROOT_CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ![file exists ${prefix}/etc/privoxy/CA/ca.cert.pem]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             || ![file exists ${prefix}/etc/privoxy/CA/ca.key.pem] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0664 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}/certs/ca.cert.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0664 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}/private/ca.key.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0664 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}/certs/ca.cer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0664 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}/certs/ca.p12 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[existsuser ${privoxyUser}] != 0 && [existsgroup ${privoxyGroup}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file attributes ${prefix}/etc/privoxy/CA/ca.cert.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file attributes ${prefix}/etc/privoxy/CA/ca.key.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file attributes ${prefix}/etc/privoxy/CA/ca.cer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file attributes ${prefix}/etc/privoxy/CA/ca.p12 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Do not overwrite ca-password, but this is where it goes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # reinplace -E -q "s|^#(ca-password\[\[:space:]]+)\[^\[:space:]]*)|\\1${tls_ca_passphrase}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #    ${prefix}/etc/privoxy/config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ![file exists ${prefix}/etc/privoxy/CA/trustedCAs.pem] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0664 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}/trustedCAs.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[existsuser ${privoxyUser}] != 0 && [existsgroup ${privoxyGroup}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file attributes ${prefix}/etc/privoxy/CA/trustedCAs.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -group ${privoxyGroup} -owner ${privoxyUser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    +https_inspection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform darwin {
     startupitem.create          yes
     startupitem.name            Privoxy
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -147,6 +371,7 @@ platform darwin {
</span>     startupitem.stop-append     "else"
     startupitem.stop-append     "\t/usr/bin/killall -SIGUSR1 privoxy 2>/dev/null"
     startupitem.stop-append     "fi"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.pidfile         auto ${prefix}/var/run/privoxy.pid
</span> }
 
 livecheck.type      regex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/privoxy/files/keyid-691822918BA2371C.txt b/www/privoxy/files/keyid-691822918BA2371C.txt
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..84e611e8fec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/privoxy/files/keyid-691822918BA2371C.txt
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,170 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-----BEGIN PGP PUBLIC KEY BLOCK-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+xsFNBFB0JFYBEACy/Kz2i9v9hLuZpZWsToyVhhByN2wNVPv6vi3+U+fGNndG0Gxk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SzEMqJDmNGSCrsllZCaAion3MgmdyZP8gNURf56NhE/CaMD3XLQWHTtBwTPPg/Bm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+JmoQelozQfKqtBySml89OBIDgCBlpZThpn+vZke0GFRjqxXowIrWmgRrP2GwBSLY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+xK9sm8wAu1kOwxOMbwZmyWiQZ/fVYm+QzEEib0z6Hhhpxz5IXZyW44bJNQ7PbX4n
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a+D4cjHMgq/ulxcUlBeqX4BpgFy15YDFCfzKooraglh8Ty+xgqoneQEfZtYibv4x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+C1EiJafL8ywJQO1pTfAxOSKaSvhUZ28XfcFb0DqzKmPL+mW3r7i8zxfpDyulm/qf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mx+gGPUCz7eIH4ofsfOxVm2KCYn/2M2oNwMbrMzdss1yJAgZxqpm87HhazWkOFMA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+rQ57YHkt9urf+Xzsn+5/7z6qfxK5/H+R8vM8m5SPK54kFIL6HP3/4aYv96lQST/v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+WNHdHqjgQ0zxT31WxE6lYCCv9cwfLFoY7ZG6YuRhQEeVNazRb+YrcIxpbvkbamBu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VmSEvzIhGN9PiWL1yOYJkNogR199f8zVRvuA4NYztg3e6RSOi3D3wyrZ7OIo2DI0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+en0AWSt0bpdGoaTiLWLyoZg1WOc5wNTWimDeZZkFrWhKLhE7RKagQXGeBwARAQAB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zR5GYWJpYW4gS2VpbCA8ZmtAZmFiaWFua2VpbC5kZT7CwX0EEwEIACcFAlB0JFYC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQaRgikYuiNxySZg//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VDHj0S26AEYynVbswitx79kEppfz7LHIJq37KTnOLZm29+q59hbfi1t5hSz13s76
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+vdUSRvL1PH0hm/pZ5D4+ZNvsfA4sHUrO/l/YR6XZbsC0FggxGvEhXXR3ZDf0y9Am
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+4N4iauC3dC7nJdA0MURV12Ckd47J76IQGhHZBscKAG7rwBm9nGhxCfp1gzo1a+Uw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zPXktvqKEwpw+8qx5oeKjxaGzBxrTbW8gFa8KlKftkAbfIprdLMVos5ojMqbBx2V
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Eh7GSu+eEodS3vDQf+WZ2zCwtfYwfsWhLRsLhljIyNA8yKQR0fePS8NI0drxrx8C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+hputf20T0TJVmSAWktCppaNa1Lw2sd+Jh6ol/ioIWm68FgwdTXqrcmjkX8OwPIPh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+9FyBUlcix4tDJGnhQcgdy9DLvleEupIiE3F1L8hfrBJRUA/au1m6iEcOMslXaScm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0UspqV0HMG47Clw0Gs/GoukHCYbk8Z1Xp14xBHPUodUgMEFzsgvBprgJf4gkrD/z
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+700eChSalxxpsyDppwBMUSVmSiFSfLeANzmH6ADbmjlpMtDhQ/Y11HfEnBL9uvrA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+9cxNy4fVU9wsUmo84u3XxbyTCFMYf93IQBoRu9kdnAP9CMIs8Eix5ZS6p/wOQ9BN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gFRhLnHVxcX2kSe33qXIq8H7l+OTrxChP68BznWx38HCwX0EEwEIACcCGwMFCwkI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BwMFFQoJCAsFFgIDAQACHgECF4AFAlQ2yq0FCQeFDVIACgkQaRgikYuiNxzpBQ/8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Cihlrd9wwkCEBDU+rPA+xi0VCo+OZ/UBsdCqe0L7dZim3jtc6N9kRMOFzWlilgMr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SlDpYihYr7Ws2CCfdckcQ+zcMcEHiXqROWxqOB4ho+DoDj197pib3PZyyGZGnE8K
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+e5KeoMG7InCUY4wsfRp9U4/NrocHmd3Umm5HVl7bontkOSOmw85wr+erqoAncnNC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mxj5ZZ8lsP3kjNF/W9OBsg1MFiGPQYlBrxc1EPN6GG0/tTW+tCJTU+J1uhvtcvmf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sv0YLQPz70vN0KZ0UDe2wp5apenlnyKG1Nhce5dZrF8qVm9Z+RXkoz53+i8StC+D
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0dq9+c2/VDCkzrQIP2hWPkQH6jSYxbHAYWH22QF18xdsiPkLZ/cO0oyj+NrKUJCq
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+z1rMveHRej1xV9zQDACm/9AovtnzaU1AMjqpL+4gQd3za+uimT7q0I64qxXqNmBs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Qdm2PAH3YLZCMP/kYAiM1/Z8PxPjsDdE/0Hi58VwvN9IQ+QtXWMMm/Ne08od7+n1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+4ufFNpIy8JP1Jw84Fy610iqN312AYRpZ2lXPvdDryfKI2gJO6tR1MchQn/MY3B4D
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dMoLphp4VeFvAszI8AWUTmOPdpy1k2GuewyTB0UOkWsxVUjpRtuFE9XxpabQhFaO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+deNH8d2qvrh78wDQjLVcVb6tKTra4vkYMA1BtsX8lzfCwX0EEwEIACcCGwMFCwkI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BwMFFQoJCAsFFgIDAQACHgECF4AFAlWcEBYFCQcJH0AACgkQaRgikYuiNxw+sw/9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GHjvdCBryl13COh3BjysmMr5S3PnY74qCm7Jd7/utZWET3iExSc2V+WPJcY1Nz2e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ysZZtLGv5CuNV+8l+dDu8R/sKu75/2ZTNJzOJuj6jx14UQnoa/oqZn/sSFxZU26C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sx50ZwEnf3dj3VorZhRK8hsH2r9CeRPtMNsusFkJa0IDFK2lTJstG1dfrAAhKbg4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2GcdcaHOw/3vMb9vHXZePlGgxzAJ8OBEhEnov7pgnzt2XoDarK2kjhj7P9lzPDQe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Ar2ZW0H2LRPIuvSfgAJZNXkYkAye2cF+WhrP/SsGnXb/wX17Oe5ntxzuQoZE0Qfc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+k0c6uyQPrxl1IZxVefjQArleVYWjUB8hGqMbmCILCcFTWgM0RDui4UJCrpRuZmoi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+7zFD3wdLhEpDE1+lvDssWsI1Om9BVcjTCPcdR2lLlpM2/StO1VoeIfIKEIOBsThG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+50XnMj9bRBhU7ukover+gDsLlPsgy6Zh97bCSoxxoYelBPGiPlNGmDSdAW4da19i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+x2mWgHVht5Q8w6RTegb6WrT9eJw2xJdMbTfht0543Y9gN386MDYxorcOWZOfLHnp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/2aF+cD7SeJVXikRc56wZt5fDqWMDojPAy10FYrtWlBtPr1UlD5+qVoKY4bC+egm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+T/d1+9Csdc8wCU+TSATNcWoh4YZEXqLIJoLrPsGjj6nCwX0EEwEIACcCGwMFCwkI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BwMFFQoJCAsFFgIDAQACHgECF4AFAlcrKEcFCQiYN3EACgkQaRgikYuiNxyhghAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nfXu6Qetsy49uw4WcsUBy3Z52idoG9azBo1CxJT9VR5V8ydFLCR4r/g77CGEFFra
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Cq4rznJZWT/ObFckVLYqWNwXOpnTqKp1+qmTWmB55TTV0gjGM++IPBFHnhkcBB/f
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+D8JdDbwswQgiTscodQYi5IuKIcn6pXOj49H43sA0TMdtXqcRmPGDNk8IPwKFSYnP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EIkJmHAz7KIGLHuST0gp0vRfc9ijhDSqejYCtzsgqD+Wiyic7tGvxocmxnNShpMJ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+1EE/wVDm6x8vb9h5P4ghdApv113ih+PVlyHbUZ3IoCywMPL3WNyPVSf5kDyZrdVG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0SXqlgQGrMSeapWoStWZwcvUTLJiPqL3iRZyxZwsBDISsdTFYdwEAQp061Fnmnxp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+KNnN8jkIO25i2mfGHIMb44TI0v4bEPpe5W2QlQ1yMA+9K0O4G6PK+s+mCdR7OVgo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mshMx4Z6T4ITZKGNBrSILzJ7pGpBSSfu6OhcielWHgLyTVpdpeX03Ssyj4Di3W9H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+OQTl6oCWubAsiH9k5FlSarnX5K8jPSZduxxjTy9xIigMds2cZP1RajuoCvpdBq2F
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DCUFACVlqvD6VxqZZLsFQacvwKGX/czpwPwijx06848CkNR1qKve0B9lF+yF1Uyl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+v1RG4r0B0XgJaxsAQoR2TXUti0/S1O4HmMAVOpwcbu/CwZQEEwEIAD4CGwMFCwkI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BwMFFQoJCAsFFgIDAQACHgECF4AWIQRPNsF/OBaRNlSh6FBpGCKRi6I3HAUCWQzm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+9AUJCnn2HgAKCRBpGCKRi6I3HJymD/9HK7poiwprCNkBPruwjnObktA5khfhgrcX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+T2W1NiyQYUX46ueBLuqoMKmN0Habt7Di/fQZQyV+ABxjPwg5xnOe6VrRrSXRZGFL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+e1WOSYEH4DJzXJxcio4HbQSzDXFrx6ZFmFpPE2RBA7iXSxAsJd0BkTlFICnpEgBE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zCxAY9kYQpFcpu/iTqSoE/WfYYgCo4iKrCfnnunEu4rkgcz2+U+RhhJkaN0me+/g
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mo8wCm4M2sgjeI+ubTLdWWpX2WcHucBzKLLTF4zZY/Kam3wsS3eGkRkIaxcoEq0R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+p6oB8E9Es1rVG5XyiC1zfStlMBOcsxycncFKV20Ey0uQC8IVHrKZ7z/8NE4QKwd/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Jv5EQ15SXjYUav6Ne/7LdcDo4TNQ4/dlX7/Jr2kd4YZR/ZZbCFSxONgC/QilRDPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+AEUMIPuJGlRd4OVdZfboYhOcIof10mFZMkTn9hu+JSx5HlRLrP9KQDyTIlIs4IDf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wyCkhAjRuWw38BJoEfXX05cGlQrWKNDuhdEkO0/ZFaVIUCxvST9oFJd1w2ZYX54F
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+M4irp8jMWC5B2t5pjmpQIUm6TsTWc9wUrq2DffNFTNOZ6k9dtAk2YQxMPelb7ZmM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+JbCILOjVf0zP00wBnuBkPkNMxfSUmK3LbsQ1cE29dwJaqNkfeTBahKqQ+sGEa6wr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+C8HW+iXoDsLBlAQTAQgAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBE82
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wX84FpE2VKHoUGkYIpGLojccBQJa7Z3SBQkOO+B8AAoJEGkYIpGLojccrFMP/3la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+r0PCBMdmEllhEGqXCC6PJdhS/caNpR4kchG5MYvmNvg/LPebHbY3YK0Jxw3y5Y/x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++HCvuSWf7TkBLTC2Oo3a5XJUezQ0HPphb82u3jcjIB1TobplmwpHXvk85+gkQLfp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LY9F3dHsOKzN76s4tovwa9VGNEdvfEkIg/ivWKDK+ATJdcyBlTDk397029VlxAho
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++yyx8grgHi292WYm9xpILJuo7JV1UhYpax4iRbaeCJKW6Nf2Nl0M6cpp3LwW3UvX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+QHiZw6pT0L8ru8e9ke0B7BM7TJGnzF3VWSDtB/YvGEu/1DsO+9Alg6uvipL/oyTP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+J0vdsUqwMcLofTfAGOjIzIVQ+KRkX7csN4tn49aSts/dUJHdAGbHgbr/tmioyBrZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dBb7YWv49bm2Y5vyQsm1RDYQprLorDihJF3oM3yuZgwFXDwnJPH7OmW080lOk5PZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zhoh+yAMyy6wgjdcAeuG9GUGkjfzte/cDyh78u3JJJ+JwpZUiAdG27T/yh4nsmrG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+qAf5p+zd7f6hnubDlVUuVlOPdbrhrxlATiAYMHcIe/9+jUve2x3+vKzl9E1P8eHC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+l8IIa9QfduRZwWbJrvuZ22sXzt/mR/kr5MpYFYjWlxFWzUuNdACU4mdcM9IgefYn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VEKo4pRXXdJdUp7eAMoe5cfSkDailvHGuH/+aerPzsFNBFB0JFYBEAC4Rk3BWm1A
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+NbiNlJO2xv3GCB0OMsQIOlVDT4nQCuaTQW3KvVelQleBskTdJVGK0p78TPVL0/zH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+qRtpv9zTjmoGMHyu6nhOr4LQ4+pVy1m+3UJ+rBQ8MlL+n4+hGKAb8jTDXjGD5WGf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CuAvtIrGyi94edNqlc8WYKkwKqtEXcxjhOLqyK2IUFNL1ht1l3oWu++vBSqlZJGB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/UmBHLOOjBiIlv/0KDQDp1hcUwVt/kwsQanMH/YX687nMOF+y7uM1wL4FLa2sxof
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+6x/zEyqBXe1UQmat1StgGSST3J+nc38qkIJ2lNE6NxZMhVeMcz2hRuPMnvVVCHs3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+9sp7nHhOxJ4vu9XmBS/e1ISLuunmcynJH7pBcD+pO+UG3BApjEM4Ybek1jfy6kXl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Z6djDXPT9S+U8lPNFoZbgeLbMYNXi+A9+e8WYNrbJzKiZnFabP78ev8ewY6uYk0O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++arJHyY5KW6m3DojT2M3eoS4j77Fm8P24M164C9OSnbvOqdIUcaN7fNGDnS6uKN/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+TgMdDqrrcfEkDUrhBIgIbRaWGDliyijZQnS5Qa4Kaj7Ilc8ELoRrMZnZ/TyKWLwO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mk+BWhg+/7uYVyVNJTUBdxRS74NOe0kRrU+QdGacGUkDPDvfpoDMnzCsyr2hT9VH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+yvR3VGmZkUYOmRsG1m0tK6eeD8pSXlCO/wARAQABwsFlBBgBCAAPBQJQdCRWAhsM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BQkDwmcAAAoJEGkYIpGLojcceZwQAImge7L655N9wLzqubgzXusAE9c0e3UQmG5n
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cPsC6qbcbAvzKC6pdSefkQwpUDGTARISOYXmIbdRJUsxiwtPv/sU6xnwUCR3dynj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+8vLMz7/7E/s22dZ5wiwooxp+MFMMjc4ee3HAEF+NGVwWv8Ff9oCqF6sw8sN+kA+N
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+QtrQFZpfZRdLBF1JymtFXAdqC9K2ymuRjlLzS2bKkCuqMNXkfU/jR86g0ridawix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2p3BIhRpTL5+28PGw6qRgyNlWTBTorkiVQu7ExSrgL/g0JzXS6iEVmEgrYAJjDmV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++odEUonhh09Lj0WoNQ4Zuv4pDeKicfuGCkoKrSklOr2Sn0eXFIrF+bPeBPs+mcW6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0N26J18drJmM+8Y5aaC2CcuFUTrGRXn0o+E7PiOJ9PL6x/+kxGB26dprTs5ompE/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fTKY2hDrmqRieLEhZRPpt0eACt5NAKnlECKvTmuZNN0dqfOflUjPKS2uPxmiuh0Y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cZeNV3jCYGgMNuMfQC7N1ijwGt88Ude/i8mfQPtHMkcfINX1SktjPsFh6kYr3GPb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+uf5bqztaxuCPVubJw7GuJHis304P1Vw0a/xuykZrPPeNmJQJQeVTiHkCOw1DUEcU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+3UBGRMuPG42PjyaIEjzhoEFqtGygT1XNXnxMfjJxJ0i4s1VChb6ACqJKh0oLvx0h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+93kTh5/FwsFlBBgBCAAPAhsMBQJUNssPBQkFo9ozAAoJEGkYIpGLojccEpIP/iK0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+9l5IlUIeP8nB2E7C72RO3RB9wApzADyHsziSA482Us1ZLlDYCOfZnJeXjRKKZXNV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+4P5W1PpfTkwJvEqssnXT3j4a0C0bl3kPfjp/8bzmgMIdnZQH0yzVaH71qUwQKaMV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EwM3tYdIISdlfTbaS28bhKbmwJob6ykEb63AY11g93fGvkMjS0cCKS2B+r4gXiLI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EAK5mDaq7YH+9wgr1b5BD/jd/ZW8pDHL2Yn/nyrv2vrL+TltVBelzmQMWji9XgRa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cjDDfN5+8Gsn6kvT2yXjLLSoVaHUKF22yeTZxiiOTqyWfm5aXGwl/GuRz0FUQj+0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/xp4pz0a+55t+R4o7btbfZ5Qi+bN6jbjP+PWObBO0QuBUfzANWMmtTtFv/f1ENDo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VK0BiXwgfFAAwv8DO40SQHQSMmSWQpi1t+Ll/Xq4qKVhCzdyHsJ3JkuuWoP1j00F
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bl2fMrzPK+znXdAtmsWmKqc20ITHBPXrCFXJI2+Ua94378E70nMHR7/80u5mn4ov
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+6RS+MGU8CahD7LqDzhaPciEdzfksAF5KyvsT4j6iguSU+E1+t0kTYwQ22AvPB98h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+tjno4O21iqZy9Y3DjSRhYF3iMunTOu41IV4OVAT49MB8XRHtyQwiVYXhCtpWvskj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+RL6249YkiZo5EtQyfc3zY4LGxryAPN94lLuY/dl6wsFlBBgBCAAPAhsMBQJVnBCn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BQkHCR/RAAoJEGkYIpGLojccdisP/0/gsM82pNL9n15aGjth713poKjNy9oXo8sc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+8kDuBOzBf/brskhye/Fksp/T7TluGfLK8GL6G/qUnOrNLjZjkGB3xDYu/zcFDWFu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+JK/sKtz0TywoAjnJJ7pqiy6W3Y1PJu2AJP2K/Q1IVUGqFGiGEkRuWQpcR77PkpcF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+yu2VyKjlBUBDgdIZ44SJD3tzchYlLRP+gmemlBWRxGuA9MtKn6/GivPAQvotignF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lsNhbPDYfOc8hlG74ctoFmLqyvZvIX90ac4eXDH0UeEwy0/FQqqvUi9QVQygGmol
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VBKCQ4L9thVU9swgj4w///U4J5CVVjZnNdnfYxnvJGGgq+rgqp6RhYogD7TIC+GL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+4FVbBS57GDNZzDbdQX+vOFHGZ48khcNJRxu2bq7bRgoikp4x9oKUA8bZUUPUG68Q
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+7PPeZaanSGmcNFSq4QW0zPmtkpTcgoc7ZKDlKSq5czxJ2AqA2Rwq7Le/kFRNLrVj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+rv46yi/jiodKUauEQO7fhtQCea7/Me62bLZe0l1xgnymWzb8jfcZ+L+OciZmk4Yd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wvAA5JEwj1HDLf2DJjL7kHjrKp0VhFXtO7hY0fOx2f10QTO5Z8vwuDJ/6rHs7mn8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DMPsRLjpHKfDODUrAYXdkeiUnJ934E14kCEP9cFNev7c1efHYhuqMc98jTwAolO5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+aNhXhYSzwsFlBBgBCAAPAhsMBQJXKyhvBQkImDeZAAoJEGkYIpGLojcc9X8P/Az6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+j600H6zwmW3Iw/bSy0ObEJt6XEEHr24WuXoYot2n3SN1B0LQUN4Ma11pQu/9YwG0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+YLK/P2VrEwPhr+Vv/Ex+bICbhSO+UcsVu45mzPgtAZuN3ke7bSkhWl+LPs8d0gZi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Z4t/CoTbBC3Kld8L9ijBXnTkYUJXK+P6Bo20/TFFByHXa3AYTSZnwhd7ghAbOYc4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Zjli2aorisYcmLEcJqPTqI649PquVWmW2YS0kcrVhEHtdyQ5pW3rJpIs8v9EpT3a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PApBzSjo2ODPZryGgnhbKX3h2AAWMzm+Ksl1GmF8Z0/nm5lkZhILhLpySSX4fynC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Uoo64gy/dQogrRm+C3mYldWaw/ZmKTXx4BGTutEnpWLqCeJdAuJDwFCYTOTSOLxO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+hqpgiJO2EYfbEIjpFMjwuaiKHpB7kge6Q1paP30jY0ldQM3+amSawBK14qJukn5C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zpkoI8D94j73WTwyB7reouPqvzOGxAEDAAdjHDXTbgfXHHbgk3jDyghzdb9z2tDg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+z4t88avw7xnuTUECpShNXiv0HNDSebs+AFMZkufF9gN7+yWixaHoV4cZTcjiy1WU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Nb4rtVsENyif7sIeeNheWHrj292ZoblFvAPcfewB6Jvfkuf7CTKyOJ+OU4fGYW+U
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mHOY99OvnN+Cg35CGWWI+M5G7tr/gtWc4BaxDH8WwsF8BBgBCAAmAhsMFiEETzbB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fzgWkTZUoehQaRgikYuiNxwFAlkM5xoFCQp59kQACgkQaRgikYuiNxywjQ/+K5pR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FveVieAtlxrklHehtJ7/+un/pLzWbK0usuIS4QtorvOphd/pa2X/G4Zitggzxszg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+aFSLSjzQWoJLKm0HFgw5dWrP87KylpBMcaSG4pSDa3+9Vqiqd5IC5EcxbVsoSo3C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+P9WGq+UoegbOlhKTCHv/oohF7iIstgocF0Bnblfv9ymfdX7pfmHZMaGFeYJKzMR8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+V+6PA8jYtOtMiw11MfRJA4sd7Ze0F6kcRiK0b7+hZwZouB5C1JKC5j7LUtLNkZuz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PGqEIm60liYNXM2EtfzSCP0UR6AyAUc7aI29tGw8NGBNpQUWM8AFgrtlm8mBOE1j
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CI8uTsodcA/U8PaxJmwoMbTwLBye2GFvBfkXW+XFnKBUXqxwvj2NKLPgrjpfGF99
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zQWezHxVi9XcD5j8kgcUh8vsETkRnBglYW3oUazviWHxfqQcmFdDS/cqUchTRVqQ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+V6BCAobSNowspE2s3VXd/aISJvEISOVZUW6Ux3llTdbvz2BGKEvAAspVCnT9+HXr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+phwY0nM57VyxHfmxFl8rsx5xmJ1tMNxTXL5q7fjkP3J2SclBvyOyJVgVNVfSdWtF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gC94K6Q3ucBYNlat4F1KFJ3o1BXPcNw75S/V8zxDYn/fdq+vFwRDaX4X1qWN6m8O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wm/7dAcyxxQ0/vo6bH8pIlbkoBdKqQsrdhr+yFjCwXwEGAEIACYCGwwWIQRPNsF/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+OBaRNlSh6FBpGCKRi6I3HAUCWu2d9AUJDjvgngAKCRBpGCKRi6I3HOajD/0ZWP7p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+JbDTybty3rpZAh34uUeADUxYbKYOWw6c7o6eu2DKO7W7k/SAILxv68M2H2cgA5xP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+jM0pL/TgbjlpI3kDxf3axzBxY7qycckL2XgAZaLJ/hD1HbPxSUJXoiUS3X3Xyh6U
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+WC2uKjAVdHqueNr0woduL/r2DGRD9LG9KOxER3FToJdfFrT/Brpo//RokLfQXBmF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ZRckSP+bG2hR2LfyDsm+yCut7hpU6s0rlaWE0DWbOgcieOFO1vUDzCx7aBIRhEqr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+oW0zPmkT0usKpl5BD9P02F0T/IhJEaGituqoRzFXd0MfFgNUnXpDl5XKJ4abSXdJ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+s8ttZV55okwLfrziJNw8+yY/Xvsy07VJJ1PmSLdNBiTMuzgqppOxo0ZPOlNeGczB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GNLO3h6gMzGjQ5JdAL7e/c9dajg25YZ8IcKsKaGT+baJbLABPHo7se3ZGy6fy6rK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PMkKU/RFZSxopqR+/9cRSPb5+oq39OmpTgRVEYP6yLnnMcuBy15Agah/3gFpeAXY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+1PvKcvTM52bSZPwt3in4ihuTBEzOZGRvgYyNRVxSQsQKxzn6Co7sG1ps4EoCY3Fr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mICB3QvHus6WKZKmSxusUdv/9R/QMc52PytU9T5bqOExIaK6Ow/tX8ppk0ciUVa3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+hKKOPx8v2HP3VbkMCGnxLQPhQ3oyoM1t6pqOcg==
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+=yxyD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-----END PGP PUBLIC KEY BLOCK-----
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/privoxy/files/openssl.cnf b/www/privoxy/files/openssl.cnf
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8c1f22d1193
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/privoxy/files/openssl.cnf
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,187 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Commands to create Privoxy Root CA certificate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# References:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     * https://github.com/macports/macports-ports/blob/master/mail/mail-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     * https://github.com/macports/macports-ports/blob/master/mail/mail-server/files/prefix/etc/certificates/ca/openssl.cnf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     * https://www.dalesandro.net/create-self-signed-smime-certificates/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     * https://jamielinux.com/docs/openssl-certificate-authority/index.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Clean start
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# rm certs/ca.* index.txt* newcerts/* private/ca.key.pem serial* intermediate/certs/* intermediate/index.txt* intermediate/private/intermediate.key.pem intermediate/serial*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+##################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+##################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Privoxy Root CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# export SMIME_PKI_ROOT_DIR=$(pwd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# mkdir ca
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cd "${SMIME_PKI_ROOT_DIR}/ca"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# mkdir certs crl newcerts private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# chmod 700 private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# touch index.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# echo 1000 > serial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA certificate encrypted key passphrase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# sf-pwgen --algorithm memorable --count 2 --length 24 2>/dev/null | paste -s -d -- '-' \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     1>private/passphrase.txt || true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# chmod go-rwx private/passphrase.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA encrypted key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl genrsa -aes256 -out private/ca.key.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     -passout file:private/passphrase.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA certificate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl req -config openssl.cnf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     -new -x509 -days 1460 -sha256 -extensions v3_ca -out certs/ca.cert.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     -key private/ca.key.pem -passin file:private/passphrase.txt -batch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA certificate text verification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl x509 -text -noout -in certs/ca.cert.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA certificate openssl self-verification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl verify -CAfile certs/ca.cert.pem certs/ca.cert.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA convert to PKCS12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: `man openssl`: "If the same pathname
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     argument is supplied to -passin and -passout arguments then the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     first line will be used for the input password and the next line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     for the output password."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl pkcs12 -export -out certs/ca.p12 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     -inkey private/ca.key.pem -in certs/ca.cert.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     -passin file:private/passphrase.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     -passout pass:$(head -1 private/passphrase.txt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ca]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_ca        = CA_default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ CA_default ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Directory and file locations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dir               = .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+certs             = $dir/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crl_dir           = $dir/crl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new_certs_dir     = $dir/newcerts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+database          = $dir/index.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+serial            = $dir/serial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+RANDFILE          = $dir/private/.rand
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The root key and root certificate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+private_key       = $dir/private/ca.key.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+certificate       = $dir/certs/ca.cert.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# For certificate revocation lists.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crlnumber         = $dir/crlnumber
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crl               = $dir/crl/ca.crl.pem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crl_extensions    = crl_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_crl_days  = 30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# SHA-1 is deprecated, so use SHA-2 instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_md        = sha256
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name_opt          = ca_default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cert_opt          = ca_default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_days      = 1096
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+preserve          = no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+policy            = policy_strict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ policy_strict ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The root CA should only sign intermediate certificates that match.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See the POLICY FORMAT section of `man ca`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName             = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+stateOrProvinceName     = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+organizationName        = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+organizationalUnitName  = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commonName              = supplied
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+emailAddress            = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ policy_loose ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Allow the intermediate CA to sign a more diverse range of certificates.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See the POLICY FORMAT section of the `ca` man page.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName             = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+stateOrProvinceName     = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+localityName            = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+organizationName        = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+organizationalUnitName  = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commonName              = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+emailAddress            = optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[req]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Options for the `req` tool (`man req`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# default_bits        = 4096
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_bits        = 2048
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distinguished_name  = req_distinguished_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+string_mask         = utf8only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# SHA-1 is deprecated, so use SHA-2 instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_md          = sha256
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[req_distinguished_name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName = US
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName_default = US
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName_min = 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName_max = 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+stateOrProvinceName = Massachusetts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+stateOrProvinceName_default = Massachusetts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+localityName = Boston
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+localityName_default = Boston
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0.organizationName = MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0.organizationName_default = MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+organizationalUnitName = Privoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commonName = MacPorts Privoxy Root CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commonName_default = MacPorts Privoxy Root CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commonName_max = 64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+emailAddress = macports-users@lists.macports.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+emailAddress_max = 40
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ v3_ca ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for a typical CA (`man x509v3_config`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = keyid:always,issuer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+basicConstraints = critical, CA:true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical, digitalSignature, cRLSign, keyCertSign
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ v3_intermediate_ca ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for a typical intermediate CA (`man x509v3_config`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#authorityKeyIdentifier = keyid:always,issuer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+basicConstraints = critical, CA:true, pathlen:0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical, digitalSignature, cRLSign, keyCertSign
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ usr_cert ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for client certificates (`man x509v3_config`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+basicConstraints = CA:FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nsCertType = client, email
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nsComment = "OpenSSL Generated Client Certificate"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = keyid,issuer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = clientAuth, emailProtection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ server_cert ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for server certificates (`man x509v3_config`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+basicConstraints = CA:FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nsCertType = server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nsComment = "OpenSSL Generated Server Certificate"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = keyid,issuer:always
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical, digitalSignature, keyEncipherment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = serverAuth
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ crl_ext ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extension for CRLs (`man x509v3_config`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier=keyid:always
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ ocsp ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extension for OCSP signing certificates (`man ocsp`).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+basicConstraints = CA:FALSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = keyid,issuer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical, digitalSignature
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = critical, OCSPSigning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ smime ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical,nonRepudiation, digitalSignature, keyEncipherment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subjectAltName = critical,email:copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = critical,emailProtection
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/privoxy/files/patch-config.diff b/www/privoxy/files/patch-config.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..62d6a175f6b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/privoxy/files/patch-config.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,133 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./config       2021-10-06 21:08:43.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./config       2021-10-06 21:22:55.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -259,7 +259,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      No trailing "/", please.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-confdir .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++confdir @@PREFIX@@/etc/privoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  2.2. templdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ==============
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -344,7 +344,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      No trailing "/", please.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-logdir .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++logdir @@PREFIX@@/var/log/privoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  2.5. actionsfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  =================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -385,6 +385,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ actionsfile default.action   # Main actions file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ actionsfile user.action      # User customizations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#actionsfile @@PREFIX@@/etc/adblock2privoxy/privoxy/ab2p.system.action
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#actionsfile @@PREFIX@@/etc/adblock2privoxy/privoxy/ab2p.action
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #actionsfile regression-tests.action     # Tests for privoxy-regression-test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  2.6. filterfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -431,6 +433,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ filterfile default.filter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ filterfile user.filter      # User customizations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#filterfile @@PREFIX@@/etc/adblock2privoxy/privoxy/ab2p.system.filter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#filterfile @@PREFIX@@/etc/adblock2privoxy/privoxy/ab2p.filter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  2.7. logfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  =============
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1363,6 +1367,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #        forward  <[2-3][0-9a-f][0-9a-f][0-9a-f]:*>   .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  5.2. forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  =========================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1704,7 +1709,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      keep-alive-timeout 300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-keep-alive-timeout 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++keep-alive-timeout 300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.5. tolerate-pipelining
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  =========================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1747,7 +1752,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      tolerate-pipelining 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-tolerate-pipelining 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#tolerate-pipelining 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.6. default-server-timeout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ============================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1798,7 +1803,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      default-server-timeout 60
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#default-server-timeout 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++default-server-timeout 60
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.7. connection-sharing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ========================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1868,7 +1873,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      connection-sharing 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#connection-sharing 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++connection-sharing 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.8. socket-timeout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ====================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1900,7 +1905,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      socket-timeout 300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-socket-timeout 300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++socket-timeout 60
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.9. max-client-connections
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ============================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1962,7 +1967,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      max-client-connections 256
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#max-client-connections 256
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++max-client-connections 256
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.10. listen-backlog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  =====================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2137,7 +2142,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      Privoxy will not compress buffered content below a certain
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      length.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#enable-compression 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++enable-compression 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  6.14. compression-level
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ========================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2466,9 +2471,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  Example:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#      ca-directory /usr/local/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#      ca-directory @@PREFIX@@/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ca-directory /usr/local/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ca-directory @@PREFIX@@/etc/privoxy/CA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  7.2. ca-cert-file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  ==================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2625,9 +2630,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #      +-----------------------------------------------------+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  Example:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#      certificate-directory /usr/local/var/privoxy/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#      certificate-directory @@PREFIX@@/var/privoxy/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#certificate-directory /usr/local/var/privoxy/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#certificate-directory @@PREFIX@@/var/privoxy/certs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  7.6. cipher-list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  =================
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/privoxy/files/patch-match-all.action.diff b/www/privoxy/files/patch-match-all.action.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..24358a766d6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/privoxy/files/patch-match-all.action.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,73 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./match-all.action     2021-10-02 21:18:20.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./match-all.action     2021-10-16 07:54:14.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,12 +5,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # users should only edit this file through the actions file editor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #############################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# original:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#{ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#+change-x-forwarded-for{block} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#+client-header-tagger{css-requests} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#+client-header-tagger{image-requests} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#+hide-from-header{block} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#+set-image-blocker{pattern} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#/ # Match all URLs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ +change-x-forwarded-for{block} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-+client-header-tagger{css-requests} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-+client-header-tagger{image-requests} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-+client-header-tagger{range-requests} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++deanimate-gifs{last} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++filter{refresh-tags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++filter{img-reorder} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++filter{banners-by-size} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++filter{webbugs} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++filter{jumping-windows} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++filter{ie-exploits} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ +hide-from-header{block} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++hide-referrer{conditional-block} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++session-cookies-only \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ +set-image-blocker{pattern} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ / # Match all URLs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# User-Agent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# See http://www.christianschenk.org/blog/enhancing-your-privacy-using-squid-and-privoxy/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++hide-referrer{conditional-forge} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+++hide-user-agent{Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/ # Match all URLs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# https-inspection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{+https-inspection}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/ # Match all URLs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# No HTTPS Inspection on these websites
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{-https-inspection}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.apple.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.icloud.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.cdn-apple.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*apple.com.akadns.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.apple.com.edgekey.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++icloud-content.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.icloud-content.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.origin-apple.com.akadns.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.apple-dns.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++mzstatic.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.mzstatic.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.entrust.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.digicert.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.verisign.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.duckduckgo.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.duosecurity.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++github.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.github.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.githubassets.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.githubusercontent.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.fidelity.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.myaccountaccess.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.nflxvideo.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.nflxso.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.pbs.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.vanguard.com
</span></pre><pre style='margin:0'>

</pre>