diff -u -r -N squid-3.4.8/aclocal.m4 squid-3.4.9/aclocal.m4
--- squid-3.4.8/aclocal.m4 2014-09-15 01:17:33.000000000 -0700
+++ squid-3.4.9/aclocal.m4 2014-10-31 02:37:02.000000000 -0700
@@ -103,10 +103,9 @@
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
diff -u -r -N squid-3.4.8/cfgaux/config.sub squid-3.4.9/cfgaux/config.sub
--- squid-3.4.8/cfgaux/config.sub 2014-09-15 01:17:57.000000000 -0700
+++ squid-3.4.9/cfgaux/config.sub 2014-10-31 02:37:24.000000000 -0700
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2014-05-01'
+timestamp='2014-09-11'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -302,6 +302,7 @@
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -828,6 +829,10 @@
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -1373,7 +1378,7 @@
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
diff -u -r -N squid-3.4.8/cfgaux/ltmain.sh squid-3.4.9/cfgaux/ltmain.sh
--- squid-3.4.8/cfgaux/ltmain.sh 2014-09-15 01:17:39.000000000 -0700
+++ squid-3.4.9/cfgaux/ltmain.sh 2014-10-31 02:37:08.000000000 -0700
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.10
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.10"
+VERSION="2.4.2 Debian-2.4.2-1.11"
TIMESTAMP=""
package_revision=1.3337
diff -u -r -N squid-3.4.8/ChangeLog squid-3.4.9/ChangeLog
--- squid-3.4.8/ChangeLog 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/ChangeLog 2014-10-31 02:36:43.000000000 -0700
@@ -1,3 +1,15 @@
+Changes to squid-3.4.9 (31 Oct 2014):
+
+ - Regression fix: ext_kerberos_ldap_group_acl typo in 3.4.7 update
+ - Bug 4102: sslbump cert contains only a dot character in key usage extension
+ - Bug 4093: source-maintenance.sh errors and warnings due to wrong tools/options
+ - Bug 4088: memory leak in external_acl_type helper with cache=0 or ttl=0
+ - Bug 4024: Bad host/IP ::1 when using IPv4-only environment
+ - Bug 3803: ident leaks memory on failure
+ - kerberos_ldap_group/cert_tool: Remove ksh dependency
+ - ... and some automated code style updates
+ - ... and some documentation updates
+
Changes to squid-3.4.8 (15 Sep 2014):
- Fix off by one in SNMP subsystem
diff -u -r -N squid-3.4.8/compat/Makefile.in squid-3.4.9/compat/Makefile.in
--- squid-3.4.8/compat/Makefile.in 2014-09-15 01:17:58.000000000 -0700
+++ squid-3.4.9/compat/Makefile.in 2014-10-31 02:37:25.000000000 -0700
@@ -83,9 +83,9 @@
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/src/Common.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am drand48.c inet_pton.c psignal.c \
- strtoll.c strerror.c tempnam.c initgroups.c getaddrinfo.c \
- inet_ntop.c getnameinfo.c $(top_srcdir)/cfgaux/depcomp \
+ $(srcdir)/Makefile.am getnameinfo.c initgroups.c getaddrinfo.c \
+ strtoll.c inet_pton.c psignal.c tempnam.c strerror.c drand48.c \
+ inet_ntop.c $(top_srcdir)/cfgaux/depcomp \
$(top_srcdir)/cfgaux/test-driver
check_PROGRAMS = testPreCompiler$(EXEEXT)
TESTS = testPreCompiler$(EXEEXT) testHeaders
diff -u -r -N squid-3.4.8/configure squid-3.4.9/configure
--- squid-3.4.8/configure 2014-09-15 01:18:44.000000000 -0700
+++ squid-3.4.9/configure 2014-10-31 02:38:13.000000000 -0700
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Revision.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Squid Web Proxy 3.4.8.
+# Generated by GNU Autoconf 2.69 for Squid Web Proxy 3.4.9.
#
# Report bugs to .
#
@@ -595,8 +595,8 @@
# Identity of this package.
PACKAGE_NAME='Squid Web Proxy'
PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='3.4.8'
-PACKAGE_STRING='Squid Web Proxy 3.4.8'
+PACKAGE_VERSION='3.4.9'
+PACKAGE_STRING='Squid Web Proxy 3.4.9'
PACKAGE_BUGREPORT='http://bugs.squid-cache.org/'
PACKAGE_URL=''
@@ -1605,7 +1605,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Squid Web Proxy 3.4.8 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 3.4.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1675,7 +1675,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Squid Web Proxy 3.4.8:";;
+ short | recursive ) echo "Configuration of Squid Web Proxy 3.4.9:";;
esac
cat <<\_ACEOF
@@ -2071,7 +2071,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Squid Web Proxy configure 3.4.8
+Squid Web Proxy configure 3.4.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3175,7 +3175,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Squid Web Proxy $as_me 3.4.8, which was
+It was created by Squid Web Proxy $as_me 3.4.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3728,8 +3728,8 @@
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -4042,7 +4042,7 @@
# Define the identity of the package.
PACKAGE='squid'
- VERSION='3.4.8'
+ VERSION='3.4.9'
cat >>confdefs.h <<_ACEOF
@@ -34229,7 +34229,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Squid Web Proxy $as_me 3.4.8, which was
+This file was extended by Squid Web Proxy $as_me 3.4.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -34295,7 +34295,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Squid Web Proxy config.status 3.4.8
+Squid Web Proxy config.status 3.4.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -u -r -N squid-3.4.8/configure.ac squid-3.4.9/configure.ac
--- squid-3.4.8/configure.ac 2014-09-15 01:18:43.000000000 -0700
+++ squid-3.4.9/configure.ac 2014-10-31 02:38:13.000000000 -0700
@@ -1,4 +1,4 @@
-AC_INIT([Squid Web Proxy],[3.4.8],[http://bugs.squid-cache.org/],[squid])
+AC_INIT([Squid Web Proxy],[3.4.9],[http://bugs.squid-cache.org/],[squid])
AC_PREREQ(2.61)
AC_CONFIG_HEADERS([include/autoconf.h])
AC_CONFIG_AUX_DIR(cfgaux)
diff -u -r -N squid-3.4.8/doc/debug-sections.txt squid-3.4.9/doc/debug-sections.txt
--- squid-3.4.8/doc/debug-sections.txt 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/doc/debug-sections.txt 2014-10-31 02:36:43.000000000 -0700
@@ -1,14 +1,9 @@
section
-section -- CGI Cache Manager
-section -- External DISKD process implementation.
-section -- Refcount allocator
-section -- Unlink Daemon
-section -- WWW Client
section 00 Announcement Server
section 00 Client Database
-section 00 DNS Resolver Daemon
section 00 Debug Routines
+section 00 DNS Resolver Daemon
section 00 Hash Tables
section 00 UFS Store Dump Tool
section 01 Main Loop
@@ -56,14 +51,14 @@
section 22 Refresh Calculation
section 23 URL Parsing
section 23 URL Scheme parsing
-section 25 MIME Parsing and Internal Icons
section 25 MiME Header Parsing
+section 25 MIME Parsing and Internal Icons
section 26 Secure Sockets Layer Proxy
section 27 Cache Announcer
section 28 Access Control
section 29 Authenticator
-section 29 NTLM Authenticator
section 29 Negotiate Authenticator
+section 29 NTLM Authenticator
section 30 Ident (RFC 931)
section 31 Hypertext Caching Protocol
section 32 Asynchronous Disk I/O
@@ -85,8 +80,8 @@
section 46 Access Log - Apache combined format
section 46 Access Log - Apache common format
section 46 Access Log - Squid Custom format
-section 46 Access Log - Squid ICAP Logging
section 46 Access Log - Squid format
+section 46 Access Log - Squid ICAP Logging
section 46 Access Log - Squid referer format
section 46 Access Log - Squid useragent format
section 47 Store COSS Directory Routines
@@ -126,15 +121,15 @@
section 78 DNS lookups
section 78 DNS lookups; interacts with lib/rfc1035.c
section 79 Disk IO Routines
+section 79 Disk IO Routines
section 79 Squid-side DISKD I/O functions.
section 79 Squid-side Disk I/O functions.
section 79 Storage Manager COSS Interface
section 79 Storage Manager UFS Interface
-section 79 Disk IO Routines
section 80 WCCP Support
+section 81 aio_xxx() POSIX emulation on Windows
section 81 CPU Profiling Routines
section 81 Store HEAP Removal Policies
-section 81 aio_xxx() POSIX emulation on Windows
section 82 External ACL
section 83 SSL accelerator support
section 84 Helper process maintenance
@@ -150,5 +145,10 @@
section 90 Storage Manager Client-Side Interface
section 92 Storage File System
section 93 Adaptation
-section 93 ICAP (RFC 3507) Client
section 93 eCAP Interface
+section 93 ICAP (RFC 3507) Client
+section -- CGI Cache Manager
+section -- External DISKD process implementation.
+section -- Refcount allocator
+section -- Unlink Daemon
+section -- WWW Client
diff -u -r -N squid-3.4.8/doc/manuals/language.list squid-3.4.9/doc/manuals/language.list
--- squid-3.4.8/doc/manuals/language.list 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/doc/manuals/language.list 2014-10-31 02:36:43.000000000 -0700
@@ -2,8 +2,8 @@
ar.lang \
cs.lang \
de.lang \
- en.lang \
en_AU.lang \
+ en.lang \
es.lang \
fr.lang \
it.lang \
diff -u -r -N squid-3.4.8/doc/manuals/Makefile.in squid-3.4.9/doc/manuals/Makefile.in
--- squid-3.4.8/doc/manuals/Makefile.in 2014-09-15 01:17:58.000000000 -0700
+++ squid-3.4.9/doc/manuals/Makefile.in 2014-10-31 02:37:26.000000000 -0700
@@ -387,8 +387,8 @@
ar.lang \
cs.lang \
de.lang \
- en.lang \
en_AU.lang \
+ en.lang \
es.lang \
fr.lang \
it.lang \
diff -u -r -N squid-3.4.8/helpers/basic_auth/DB/basic_db_auth.8 squid-3.4.9/helpers/basic_auth/DB/basic_db_auth.8
--- squid-3.4.8/helpers/basic_auth/DB/basic_db_auth.8 2014-09-15 01:55:44.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/DB/basic_db_auth.8 2014-10-31 03:18:32.000000000 -0700
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "BASIC_DB_AUTH 1"
-.TH BASIC_DB_AUTH 1 "2014-09-15" "perl v5.20.0" "User Contributed Perl Documentation"
+.TH BASIC_DB_AUTH 1 "2014-10-31" "perl v5.20.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-3.4.8/helpers/basic_auth/getpwnam/basic_getpwnam_auth.8 squid-3.4.9/helpers/basic_auth/getpwnam/basic_getpwnam_auth.8
--- squid-3.4.8/helpers/basic_auth/getpwnam/basic_getpwnam_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/getpwnam/basic_getpwnam_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_getpwnam_auth 8
.
.SH NAME
-.if !'po4a'hide' .B basic_getpwnam_auth
-.if !'po4a'hide' \-
-Local Users auth helper for Squid
+basic_getpwnam_auth \- Local Users auth helper for Squid
.
.SH SYNOPSIS
.if !'po4a'hide' .B basic_getpwnam_auth
diff -u -r -N squid-3.4.8/helpers/basic_auth/LDAP/basic_ldap_auth.8 squid-3.4.9/helpers/basic_auth/LDAP/basic_ldap_auth.8
--- squid-3.4.8/helpers/basic_auth/LDAP/basic_ldap_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/LDAP/basic_ldap_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_ldap_auth 8 "14 January 2005"
.
.SH NAME
-.if !'po4a'hide' .B basic_ldap_auth
-.if !'po4a'hide' \-
-LDAP authentication helper for Squid
+basic_ldap_auth \- LDAP authentication helper for Squid
.
.SH SYNOPSIS
.if !'po4a'hide' .B basic_ldap_auth
diff -u -r -N squid-3.4.8/helpers/basic_auth/NCSA/basic_ncsa_auth.8 squid-3.4.9/helpers/basic_auth/NCSA/basic_ncsa_auth.8
--- squid-3.4.8/helpers/basic_auth/NCSA/basic_ncsa_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/NCSA/basic_ncsa_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_ncsa_auth 8 "May 16, 2006"
.
.SH NAME
-.if !'po4a'hide' .B basic_ncsa_auth
-.if !'po4a'hide' \-
-NCSA httpd-style password file authentication helper for Squid
+basic_ncsa_auth \- NCSA httpd-style password file authentication helper for Squid
.
.SH SYNOPSIS
.if !'po4a'hide' .B basic_ncsa_auth
diff -u -r -N squid-3.4.8/helpers/basic_auth/PAM/basic_pam_auth.8 squid-3.4.9/helpers/basic_auth/PAM/basic_pam_auth.8
--- squid-3.4.8/helpers/basic_auth/PAM/basic_pam_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/PAM/basic_pam_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_pam_auth 8 "5 Sep 2003"
.
.SH NAME
-.if !'po4a'hide' .B basic_pam_auth
-.if !'po4a'hide' \-
-Squid PAM Basic authentication helper
+basic_pam_auth \- PAM Basic authentication helper for Squid
.
.SH SYNOPSIS
.if !'po4a'hide' .B "basic_pam_auth [\-n \""
diff -u -r -N squid-3.4.8/helpers/basic_auth/RADIUS/basic_radius_auth.8 squid-3.4.9/helpers/basic_auth/RADIUS/basic_radius_auth.8
--- squid-3.4.8/helpers/basic_auth/RADIUS/basic_radius_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/RADIUS/basic_radius_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_radius_auth 8 "7 August 2004"
.
.SH NAME
-.if !'po4a'hide' .B basic_radius_auth
-.if !'po4a'hide' \-
-Squid RADIUS authentication helper
+basic_radius_auth \- Squid RADIUS authentication helper
.
.SH SYNOPSIS
.if !'po4a'hide' .B basic_radius_auth
diff -u -r -N squid-3.4.8/helpers/basic_auth/SASL/basic_sasl_auth.8 squid-3.4.9/helpers/basic_auth/SASL/basic_sasl_auth.8
--- squid-3.4.8/helpers/basic_auth/SASL/basic_sasl_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/SASL/basic_sasl_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_sasl_auth 8
.
.SH NAME
-.if !'po4a'hide' .B basic_sasl_auth
-.if !'po4a'hide' \-
-Basic Authentication using SASL (specifically the cyrus-sasl authentication method)
+basic_sasl_auth \- Basic Authentication using SASL (specifically the cyrus-sasl authentication method)
.PP
Version 1.0
.
diff -u -r -N squid-3.4.8/helpers/basic_auth/SSPI/basic_sspi_auth.8 squid-3.4.9/helpers/basic_auth/SSPI/basic_sspi_auth.8
--- squid-3.4.8/helpers/basic_auth/SSPI/basic_sspi_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/basic_auth/SSPI/basic_sspi_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH basic_sspi_auth.exe 8
.
.SH NAME
-.if !'po4a'hide' .B basic_sspi_auth.exe
-.if !'po4a'hide' \-
-Basic authentication protocol
+basic_sspi_auth.exe \- Basic authentication protocol
.PP
Version 2.0
.
diff -u -r -N squid-3.4.8/helpers/digest_auth/file/digest_file_auth.8 squid-3.4.9/helpers/digest_auth/file/digest_file_auth.8
--- squid-3.4.8/helpers/digest_auth/file/digest_file_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/digest_auth/file/digest_file_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH digest_file_auth 8
.
.SH NAME
-.if !'po4a'hide' .B digest_file_auth
-.if !'po4a'hide' \-
-File based digest authentication helper for Squid.
+digest_file_auth \- File based digest authentication helper for Squid.
.PP
Version 1.0
.
diff -u -r -N squid-3.4.8/helpers/external_acl/AD_group/ext_ad_group_acl.8 squid-3.4.9/helpers/external_acl/AD_group/ext_ad_group_acl.8
--- squid-3.4.8/helpers/external_acl/AD_group/ext_ad_group_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/AD_group/ext_ad_group_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_ad_group_acl.exe 8
.
.SH NAME
-.if !'po4a'hide' .B ext_ad_group_acl.exe
-.if !'po4a'hide' \-
-Squid external ACL helper to check Windows users group membership.
+ext_ad_group_acl.exe \- Squid external ACL helper to check Windows users group membership.
.PP
Version 2.0
.
diff -u -r -N squid-3.4.8/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.8 squid-3.4.9/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.8
--- squid-3.4.8/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_edirectory_userip_acl 8
.
.SH NAME
-.if !'po4a'hide' .B ext_edirectory_userip_acl
-.if !'po4a'hide' \-
-Squid eDirectory IP Lookup Helper
+ext_edirectory_userip_acl \- Squid eDirectory IP Lookup Helper
.PP
Version 2.0
.
diff -u -r -N squid-3.4.8/helpers/external_acl/file_userip/ext_file_userip_acl.8 squid-3.4.9/helpers/external_acl/file_userip/ext_file_userip_acl.8
--- squid-3.4.8/helpers/external_acl/file_userip/ext_file_userip_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/file_userip/ext_file_userip_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_file_userip_acl 8
.
.SH NAME
-.if !'po4a'hide' .B ext_file_userip_acl
-.if !'po4a'hide' \-
-Restrict users to certain IP addresses, using a text file backend.
+ext_file_userip_acl \- Restrict users to certain IP addresses, using a text file backend.
.PP
Version 1.0
.
diff -u -r -N squid-3.4.8/helpers/external_acl/kerberos_ldap_group/cert_tool squid-3.4.9/helpers/external_acl/kerberos_ldap_group/cert_tool
--- squid-3.4.8/helpers/external_acl/kerberos_ldap_group/cert_tool 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/kerberos_ldap_group/cert_tool 2014-10-31 02:36:43.000000000 -0700
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
#
# -----------------------------------------------------------------------------
#
@@ -64,9 +64,9 @@
# Create database for Sun ldap and pem file for Openldap
#
rm ${server}_[0-9]*.pem 2>/dev/null
-let i=0
- ls ${server}_[0-9]*.cert | while read file; do
- let i=i+1
+i=0
+ls ${server}_[0-9]*.cert | while read file; do
+ i=$(($i+1))
cat $file >> ${server}_$i.pem
CA=`openssl x509 -noout -text -in ${server}_$i.pem | grep -i "CA:.*true"`
if [ -n "$CA" ]; then
diff -u -r -N squid-3.4.8/helpers/external_acl/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 squid-3.4.9/helpers/external_acl/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8
--- squid-3.4.8/helpers/external_acl/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/kerberos_ldap_group/ext_kerberos_ldap_group_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_kerberos_ldap_group_acl 8
.
.SH NAME
-.if !'po4a'hide' .B ext_kerberos_ldap_group_acl
-.if !'po4a'hide' \-
-Squid LDAP external acl group helper for Kerberos or NTLM credentials.
+ext_kerberos_ldap_group_acl \- Squid LDAP external acl group helper for Kerberos or NTLM credentials.
.PP
Version 1.3.0sq
.
diff -u -r -N squid-3.4.8/helpers/external_acl/kerberos_ldap_group/support_ldap.cc squid-3.4.9/helpers/external_acl/kerberos_ldap_group/support_ldap.cc
--- squid-3.4.8/helpers/external_acl/kerberos_ldap_group/support_ldap.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/kerberos_ldap_group/support_ldap.cc 2014-10-31 02:36:43.000000000 -0700
@@ -811,7 +811,7 @@
#endif
}
- if (kc && (!margs->lurl || !margs->luser | !margs->lpass)) {
+ if (kc && (!margs->lurl || !margs->luser || !margs->lpass)) {
/*
* If Kerberos fails and no url given exit here
*/
diff -u -r -N squid-3.4.8/helpers/external_acl/LDAP_group/ext_ldap_group_acl.8 squid-3.4.9/helpers/external_acl/LDAP_group/ext_ldap_group_acl.8
--- squid-3.4.8/helpers/external_acl/LDAP_group/ext_ldap_group_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/LDAP_group/ext_ldap_group_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_ldap_group_acl 8 "30 January 2005"
.
.SH NAME
-.if !'po4a'hide' .B ext_ldap_group_acl
-.if !'po4a'hide' \-
-Squid LDAP external acl group helper
+ext_ldap_group_acl \- Squid LDAP external acl group helper
.PP
Version 2.17
.
diff -u -r -N squid-3.4.8/helpers/external_acl/LM_group/ext_lm_group_acl.8 squid-3.4.9/helpers/external_acl/LM_group/ext_lm_group_acl.8
--- squid-3.4.8/helpers/external_acl/LM_group/ext_lm_group_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/LM_group/ext_lm_group_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_lm_group_acl 8
.
.SH NAME
-.if !'po4a'hide' .B ext_lm_group_acl
-.if !'po4a'hide' \-
-Squid external ACL helper to check Windows users group membership.
+ext_lm_group_acl \- Squid external ACL helper to check Windows users group membership.
.PP
Version 1.22
.
diff -u -r -N squid-3.4.8/helpers/external_acl/session/ext_session_acl.8 squid-3.4.9/helpers/external_acl/session/ext_session_acl.8
--- squid-3.4.8/helpers/external_acl/session/ext_session_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/session/ext_session_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_session_acl 8 "9 October 2011"
.
.SH NAME
-.if !'po4a'hide' .B ext_session_acl
-.if !'po4a'hide' \-
-Squid session tracking external acl helper.
+ext_session_acl \- Squid session tracking external acl helper.
.PP
Version 1.2
.
diff -u -r -N squid-3.4.8/helpers/external_acl/SQL_session/ext_sql_session_acl.8 squid-3.4.9/helpers/external_acl/SQL_session/ext_sql_session_acl.8
--- squid-3.4.8/helpers/external_acl/SQL_session/ext_sql_session_acl.8 2014-09-15 01:56:06.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/SQL_session/ext_sql_session_acl.8 2014-10-31 03:18:56.000000000 -0700
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_SQL_SESSION_ACL 1"
-.TH EXT_SQL_SESSION_ACL 1 "2014-09-15" "perl v5.20.0" "User Contributed Perl Documentation"
+.TH EXT_SQL_SESSION_ACL 1 "2014-10-31" "perl v5.20.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-3.4.8/helpers/external_acl/time_quota/ext_time_quota_acl.8 squid-3.4.9/helpers/external_acl/time_quota/ext_time_quota_acl.8
--- squid-3.4.8/helpers/external_acl/time_quota/ext_time_quota_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/time_quota/ext_time_quota_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_time_quota_acl 8 "22 March 2011"
.
.SH NAME
-.if !'po4a'hide' .B ext_time_quota_acl
-.if !'po4a'hide' \-
-Squid time quota external acl helper.
+ext_time_quota_acl \- Squid time quota external acl helper.
.PP
Version 1.0
.
diff -u -r -N squid-3.4.8/helpers/external_acl/unix_group/ext_unix_group_acl.8 squid-3.4.9/helpers/external_acl/unix_group/ext_unix_group_acl.8
--- squid-3.4.8/helpers/external_acl/unix_group/ext_unix_group_acl.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/unix_group/ext_unix_group_acl.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ext_unix_group_acl 8 "12 August 2002"
.
.SH NAME
-.if !'po4a'hide' .B ext_unix_group_acl
-.if !'po4a'hide' \-
-Squid UNIX Group ACL helper
+ext_unix_group_acl \- Squid UNIX Group ACL helper
.
.SH SYNOPSIS
.if !'po4a'hide' .B "ext_unix_group_acl [\-d] [\-g "
diff -u -r -N squid-3.4.8/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 squid-3.4.9/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8
--- squid-3.4.8/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 2014-09-15 01:56:08.000000000 -0700
+++ squid-3.4.9/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 2014-10-31 03:19:00.000000000 -0700
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_WBINFO_GROUP_ACL.PL.IN 1"
-.TH EXT_WBINFO_GROUP_ACL.PL.IN 1 "2014-09-15" "perl v5.20.0" "User Contributed Perl Documentation"
+.TH EXT_WBINFO_GROUP_ACL.PL.IN 1 "2014-10-31" "perl v5.20.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-3.4.8/helpers/log_daemon/DB/log_db_daemon.8 squid-3.4.9/helpers/log_daemon/DB/log_db_daemon.8
--- squid-3.4.8/helpers/log_daemon/DB/log_db_daemon.8 2014-09-15 01:56:10.000000000 -0700
+++ squid-3.4.9/helpers/log_daemon/DB/log_db_daemon.8 2014-10-31 03:19:02.000000000 -0700
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "LOG_DB_DAEMON 1"
-.TH LOG_DB_DAEMON 1 "2014-09-15" "perl v5.20.0" "User Contributed Perl Documentation"
+.TH LOG_DB_DAEMON 1 "2014-10-31" "perl v5.20.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-3.4.8/helpers/negotiate_auth/kerberos/negotiate_kerberos_auth.8 squid-3.4.9/helpers/negotiate_auth/kerberos/negotiate_kerberos_auth.8
--- squid-3.4.8/helpers/negotiate_auth/kerberos/negotiate_kerberos_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/negotiate_auth/kerberos/negotiate_kerberos_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH negotiate_kerberos_auth 8
.
.SH NAME
-.if !'po4a'hide' .B negotiate_kerberos_auth
-.if !'po4a'hide' \-
-Squid kerberos based authentication helper
+negotiate_kerberos_auth \- Squid kerberos based authentication helper
.PP
Version 3.0.4sq
.
diff -u -r -N squid-3.4.8/helpers/ntlm_auth/SSPI/ntlm_sspi_auth.8 squid-3.4.9/helpers/ntlm_auth/SSPI/ntlm_sspi_auth.8
--- squid-3.4.8/helpers/ntlm_auth/SSPI/ntlm_sspi_auth.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/helpers/ntlm_auth/SSPI/ntlm_sspi_auth.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,10 +1,7 @@
.if !'po4a'hide' .TH ntlm_sspi_auth.exe 8
.
.SH NAME
-.if !'po4a'hide' .B ntlm_sspi_auth.exe
-.if !'po4a'hide' \-
-Native Windows NTLM/NTLMv2 authenticator for Squid with
-automatic support for NTLM NEGOTIATE packets.
+ntlm_sspi_auth.exe \- Native Windows NTLM/NTLMv2 authenticator for Squid
.PP
Version 1.22
.
diff -u -r -N squid-3.4.8/helpers/storeid_rewrite/file/storeid_file_rewrite.8 squid-3.4.9/helpers/storeid_rewrite/file/storeid_file_rewrite.8
--- squid-3.4.8/helpers/storeid_rewrite/file/storeid_file_rewrite.8 2014-09-15 01:56:22.000000000 -0700
+++ squid-3.4.9/helpers/storeid_rewrite/file/storeid_file_rewrite.8 2014-10-31 03:19:13.000000000 -0700
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "STOREID_FILE_REWRITE 1"
-.TH STOREID_FILE_REWRITE 1 "2014-09-15" "perl v5.20.0" "User Contributed Perl Documentation"
+.TH STOREID_FILE_REWRITE 1 "2014-10-31" "perl v5.20.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-3.4.8/icons/list squid-3.4.9/icons/list
--- squid-3.4.8/icons/list 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/icons/list 2014-10-31 02:36:43.000000000 -0700
@@ -14,8 +14,8 @@
silk/database.png \
silk/database_table.png \
silk/drive_disk.png \
- silk/film.png \
silk/film_key.png \
+ silk/film.png \
silk/folder.png \
silk/folder_table.png \
silk/image.png \
@@ -24,18 +24,18 @@
silk/layout.png \
silk/link.png \
silk/music.png \
- silk/package.png \
silk/package_go.png \
+ silk/package.png \
silk/page_code.png \
silk/page_excel.png \
silk/page_green.png \
- silk/page_white.png \
silk/page_white_acrobat.png \
- silk/page_white_c.png \
silk/page_white_cplusplus.png \
+ silk/page_white_c.png \
silk/page_white_flash.png \
silk/page_white_magnify.png \
silk/page_white_picture.png \
+ silk/page_white.png \
silk/page_white_powerpoint.png \
silk/page_white_stack.png \
silk/page_white_text.png \
@@ -44,8 +44,8 @@
silk/page_world.png \
silk/photo.png \
silk/picture.png \
- silk/plugin.png \
silk/plugin_add.png \
- silk/script.png \
+ silk/plugin.png \
silk/script_gear.png \
- silk/script_palette.png
+ silk/script_palette.png \
+ silk/script.png
diff -u -r -N squid-3.4.8/icons/Makefile.in squid-3.4.9/icons/Makefile.in
--- squid-3.4.8/icons/Makefile.in 2014-09-15 01:18:15.000000000 -0700
+++ squid-3.4.9/icons/Makefile.in 2014-10-31 02:37:43.000000000 -0700
@@ -429,8 +429,8 @@
silk/database.png \
silk/database_table.png \
silk/drive_disk.png \
- silk/film.png \
silk/film_key.png \
+ silk/film.png \
silk/folder.png \
silk/folder_table.png \
silk/image.png \
@@ -439,18 +439,18 @@
silk/layout.png \
silk/link.png \
silk/music.png \
- silk/package.png \
silk/package_go.png \
+ silk/package.png \
silk/page_code.png \
silk/page_excel.png \
silk/page_green.png \
- silk/page_white.png \
silk/page_white_acrobat.png \
- silk/page_white_c.png \
silk/page_white_cplusplus.png \
+ silk/page_white_c.png \
silk/page_white_flash.png \
silk/page_white_magnify.png \
silk/page_white_picture.png \
+ silk/page_white.png \
silk/page_white_powerpoint.png \
silk/page_white_stack.png \
silk/page_white_text.png \
@@ -459,11 +459,11 @@
silk/page_world.png \
silk/photo.png \
silk/picture.png \
- silk/plugin.png \
silk/plugin_add.png \
- silk/script.png \
+ silk/plugin.png \
silk/script_gear.png \
- silk/script_palette.png
+ silk/script_palette.png \
+ silk/script.png
icondir = $(datadir)/icons/silk
icon_DATA = $(ICONS)
diff -u -r -N squid-3.4.8/include/version.h squid-3.4.9/include/version.h
--- squid-3.4.8/include/version.h 2014-09-15 01:18:44.000000000 -0700
+++ squid-3.4.9/include/version.h 2014-10-31 02:38:13.000000000 -0700
@@ -7,7 +7,7 @@
*/
#ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1410769025
+#define SQUID_RELEASE_TIME 1414748195
#endif
#ifndef APP_SHORTNAME
diff -u -r -N squid-3.4.8/lib/profiler/xprof_type.h squid-3.4.9/lib/profiler/xprof_type.h
--- squid-3.4.8/lib/profiler/xprof_type.h 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/lib/profiler/xprof_type.h 2014-10-31 02:36:43.000000000 -0700
@@ -3,80 +3,79 @@
/* AUTO-GENERATED FILE */
#if USE_XPROF_STATS
typedef enum {
- XPROF_PROF_UNACCOUNTED,
- XPROF_ACL_matches,
- XPROF_HttpHeaderClean,
- XPROF_HttpHeaderParse,
- XPROF_HttpHeader_getCc,
- XPROF_HttpMsg_httpMsgParseStep,
- XPROF_HttpParserParseReqLine,
- XPROF_HttpStateData_processReplyBody,
- XPROF_HttpStateData_processReplyHeader,
- XPROF_HttpStateData_readReply,
- XPROF_InvokeHandlers,
- XPROF_MemBuf_append,
- XPROF_MemBuf_consume,
- XPROF_MemBuf_consumeWhitespace,
- XPROF_MemBuf_grow,
- XPROF_MemObject_write,
- XPROF_PROF_OVERHEAD,
- XPROF_SignalEngine_checkEvents,
- XPROF_StoreEntry_write,
- XPROF_StringAllocAndFill,
- XPROF_StringAppend,
- XPROF_StringClean,
- XPROF_StringInitBuf,
- XPROF_StringReset,
- XPROF_aclCheckFast,
- XPROF_calloc,
- XPROF_clientSocketRecipient,
- XPROF_commHandleWrite,
- XPROF_comm_accept,
- XPROF_comm_check_incoming,
- XPROF_comm_close,
- XPROF_comm_connect_addr,
- XPROF_comm_handle_ready_fd,
- XPROF_comm_open,
- XPROF_comm_poll_normal,
- XPROF_comm_poll_prep_pfds,
- XPROF_comm_read_handler,
- XPROF_comm_udp_sendto,
- XPROF_comm_write_handler,
- XPROF_diskHandleRead,
- XPROF_diskHandleWrite,
- XPROF_esiExpressionEval,
- XPROF_esiParsing,
- XPROF_esiProcessing,
- XPROF_eventRun,
- XPROF_file_close,
- XPROF_file_open,
- XPROF_file_read,
- XPROF_file_write,
- XPROF_free,
- XPROF_free_const,
- XPROF_hash_lookup,
- XPROF_headersEnd,
- XPROF_httpRequestFree,
- XPROF_httpStart,
- XPROF_malloc,
- XPROF_mem_hdr_write,
- XPROF_parseHttpRequest,
- XPROF_read,
- XPROF_realloc,
- XPROF_recv,
- XPROF_send,
- XPROF_storeClient_kickReads,
- XPROF_storeDirCallback,
- XPROF_storeGet,
- XPROF_storeGetMemSpace,
- XPROF_storeMaintainSwapSpace,
- XPROF_storeRelease,
- XPROF_storeWriteComplete,
- XPROF_write,
- XPROF_xcalloc,
- XPROF_xmalloc,
- XPROF_xrealloc,
- XPROF_LAST
-} xprof_type;
+XPROF_PROF_UNACCOUNTED,
+XPROF_aclCheckFast,
+XPROF_ACL_matches,
+XPROF_calloc,
+XPROF_clientSocketRecipient,
+XPROF_comm_accept,
+XPROF_comm_check_incoming,
+XPROF_comm_close,
+XPROF_comm_connect_addr,
+XPROF_comm_handle_ready_fd,
+XPROF_commHandleWrite,
+XPROF_comm_open,
+XPROF_comm_poll_normal,
+XPROF_comm_poll_prep_pfds,
+XPROF_comm_read_handler,
+XPROF_comm_udp_sendto,
+XPROF_comm_write_handler,
+XPROF_diskHandleRead,
+XPROF_diskHandleWrite,
+XPROF_esiExpressionEval,
+XPROF_esiParsing,
+XPROF_esiProcessing,
+XPROF_eventRun,
+XPROF_file_close,
+XPROF_file_open,
+XPROF_file_read,
+XPROF_file_write,
+XPROF_free,
+XPROF_free_const,
+XPROF_hash_lookup,
+XPROF_headersEnd,
+XPROF_HttpHeaderClean,
+XPROF_HttpHeader_getCc,
+XPROF_HttpHeaderParse,
+XPROF_HttpMsg_httpMsgParseStep,
+XPROF_HttpParserParseReqLine,
+XPROF_httpRequestFree,
+XPROF_httpStart,
+XPROF_HttpStateData_processReplyBody,
+XPROF_HttpStateData_processReplyHeader,
+XPROF_HttpStateData_readReply,
+XPROF_InvokeHandlers,
+XPROF_malloc,
+XPROF_MemBuf_append,
+XPROF_MemBuf_consume,
+XPROF_MemBuf_consumeWhitespace,
+XPROF_MemBuf_grow,
+XPROF_mem_hdr_write,
+XPROF_MemObject_write,
+XPROF_parseHttpRequest,
+XPROF_PROF_OVERHEAD,
+XPROF_read,
+XPROF_realloc,
+XPROF_recv,
+XPROF_send,
+XPROF_SignalEngine_checkEvents,
+XPROF_storeClient_kickReads,
+XPROF_storeDirCallback,
+XPROF_StoreEntry_write,
+XPROF_storeGet,
+XPROF_storeGetMemSpace,
+XPROF_storeMaintainSwapSpace,
+XPROF_storeRelease,
+XPROF_storeWriteComplete,
+XPROF_StringAllocAndFill,
+XPROF_StringAppend,
+XPROF_StringClean,
+XPROF_StringInitBuf,
+XPROF_StringReset,
+XPROF_write,
+XPROF_xcalloc,
+XPROF_xmalloc,
+XPROF_xrealloc,
+ XPROF_LAST } xprof_type;
#endif
#endif
diff -u -r -N squid-3.4.8/libltdl/config/config.sub squid-3.4.9/libltdl/config/config.sub
--- squid-3.4.8/libltdl/config/config.sub 2014-09-15 01:17:40.000000000 -0700
+++ squid-3.4.9/libltdl/config/config.sub 2014-10-31 02:37:08.000000000 -0700
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2014-05-01'
+timestamp='2014-09-11'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -302,6 +302,7 @@
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -828,6 +829,10 @@
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -1373,7 +1378,7 @@
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
diff -u -r -N squid-3.4.8/libltdl/config/ltmain.sh squid-3.4.9/libltdl/config/ltmain.sh
--- squid-3.4.8/libltdl/config/ltmain.sh 2014-09-15 01:17:41.000000000 -0700
+++ squid-3.4.9/libltdl/config/ltmain.sh 2014-10-31 02:37:09.000000000 -0700
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.10
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.10"
+VERSION="2.4.2 Debian-2.4.2-1.11"
TIMESTAMP=""
package_revision=1.3337
diff -u -r -N squid-3.4.8/libltdl/Makefile.in squid-3.4.9/libltdl/Makefile.in
--- squid-3.4.8/libltdl/Makefile.in 2014-09-15 01:17:49.000000000 -0700
+++ squid-3.4.9/libltdl/Makefile.in 2014-10-31 02:37:17.000000000 -0700
@@ -87,7 +87,7 @@
subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
- $(srcdir)/config-h.in lt__dirent.c argz.c lt__strl.c \
+ $(srcdir)/config-h.in lt__dirent.c lt__strl.c argz.c \
$(top_srcdir)/config/depcomp $(am__include_HEADERS_DIST) \
$(am__ltdlinclude_HEADERS_DIST) README \
config/compile config/config.guess config/config.sub \
diff -u -r -N squid-3.4.8/RELEASENOTES.html squid-3.4.9/RELEASENOTES.html
--- squid-3.4.8/RELEASENOTES.html 2014-09-15 01:57:18.000000000 -0700
+++ squid-3.4.9/RELEASENOTES.html 2014-10-31 03:20:13.000000000 -0700
@@ -2,10 +2,10 @@
- Squid 3.4.8 release notes
+ Squid 3.4.9 release notes
-Squid 3.4.8 release notes
+Squid 3.4.9 release notes
Squid Developers
@@ -57,11 +57,14 @@
-The Squid Team are pleased to announce the release of Squid-3.4.8 for testing.
+The Squid Team are pleased to announce the release of Squid-3.4.9 for testing.
This new release is available for download from
http://www.squid-cache.org/Versions/v3/3.4/ or the
mirrors.
-While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.
+
+Some interesting new features adding system flexibility have been added along with general improvements all around.
+While this release is not fully bug-free we believe it is ready for use in production on many systems.
+
We welcome feedback and bug reports. If you find a bug, please see
http://wiki.squid-cache.org/SquidFaq/BugReporting
for how to submit a report with a stack trace.
diff -u -r -N squid-3.4.8/src/acl/FilledChecklist.cc squid-3.4.9/src/acl/FilledChecklist.cc
--- squid-3.4.8/src/acl/FilledChecklist.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/acl/FilledChecklist.cc 2014-10-31 02:36:43.000000000 -0700
@@ -3,6 +3,7 @@
#include "client_side.h"
#include "comm/Connection.h"
#include "comm/forward.h"
+#include "ExternalACLEntry.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "SquidConfig.h"
@@ -27,7 +28,6 @@
#if USE_SSL
sslErrors(NULL),
#endif
- extacl_entry (NULL),
conn_(NULL),
fd_(-1),
destinationDomainChecked_(false),
@@ -45,9 +45,6 @@
safe_free(dst_rdns); // created by xstrdup().
- if (extacl_entry)
- cbdataReferenceDone(extacl_entry);
-
HTTPMSGUNLOCK(request);
HTTPMSGUNLOCK(reply);
@@ -143,7 +140,6 @@
#if USE_SSL
sslErrors(NULL),
#endif
- extacl_entry (NULL),
conn_(NULL),
fd_(-1),
destinationDomainChecked_(false),
diff -u -r -N squid-3.4.8/src/acl/FilledChecklist.h squid-3.4.9/src/acl/FilledChecklist.h
--- squid-3.4.8/src/acl/FilledChecklist.h 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/acl/FilledChecklist.h 2014-10-31 02:36:43.000000000 -0700
@@ -3,6 +3,7 @@
#include "acl/Checklist.h"
#include "acl/forward.h"
+#include "base/CbcPointer.h"
#include "ip/Address.h"
#if USE_AUTH
#include "auth/UserRequest.h"
@@ -13,7 +14,6 @@
class CachePeer;
class ConnStateData;
-class ExternalACLEntry;
class HttpRequest;
class HttpReply;
@@ -75,7 +75,7 @@
Ssl::X509_Pointer serverCert;
#endif
- ExternalACLEntry *extacl_entry;
+ ExternalACLEntryPointer extacl_entry;
private:
ConnStateData * conn_; /**< hack for ident and NTLM */
diff -u -r -N squid-3.4.8/src/acl/forward.h squid-3.4.9/src/acl/forward.h
--- squid-3.4.8/src/acl/forward.h 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/acl/forward.h 2014-10-31 02:36:43.000000000 -0700
@@ -1,6 +1,8 @@
#ifndef SQUID_ACL_FORWARD_H
#define SQUID_ACL_FORWARD_H
+#include "base/RefCount.h"
+
class ACL;
class ACLChecklist;
class ACLFilledChecklist;
@@ -28,4 +30,7 @@
#define acl_access Acl::Tree
#define ACLList Acl::Tree
+class ExternalACLEntry;
+typedef RefCount ExternalACLEntryPointer;
+
#endif /* SQUID_ACL_FORWARD_H */
diff -u -r -N squid-3.4.8/src/acl/Ip.cc squid-3.4.9/src/acl/Ip.cc
--- squid-3.4.8/src/acl/Ip.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/acl/Ip.cc 2014-10-31 02:36:43.000000000 -0700
@@ -411,10 +411,15 @@
int errcode = getaddrinfo(addr1,NULL,&hints,&hp);
if (hp == NULL) {
- debugs(28, DBG_CRITICAL, "aclIpParseIpData: Bad host/IP: '" << addr1 <<
- "' in '" << t << "', flags=" << hints.ai_flags <<
- " : (" << errcode << ") " << gai_strerror(errcode) );
- self_destruct();
+ if (strcmp(addr1, "::1") == 0) {
+ debugs(28, DBG_IMPORTANT, "aclIpParseIpData: IPv6 has not been enabled in host DNS resolver.");
+ delete q;
+ } else {
+ debugs(28, DBG_CRITICAL, "aclIpParseIpData: Bad host/IP: '" << addr1 <<
+ "' in '" << t << "', flags=" << hints.ai_flags <<
+ " : (" << errcode << ") " << gai_strerror(errcode) );
+ self_destruct();
+ }
return NULL;
}
diff -u -r -N squid-3.4.8/src/cbdata.cc squid-3.4.9/src/cbdata.cc
--- squid-3.4.8/src/cbdata.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/cbdata.cc 2014-10-31 02:36:43.000000000 -0700
@@ -465,9 +465,16 @@
-- c->locks;
- if (c->valid || c->locks)
+ if (c->locks)
return;
+ if (c->valid) {
+#if USE_CBDATA_DEBUG
+ debugs(45, DBG_IMPORTANT, "CBDATA memory leak. cbdata=" << p << " " << file << ":" << line);
+#endif
+ return;
+ }
+
--cbdataCount;
debugs(45, 9, "cbdataUnlock: Freeing " << p);
diff -u -r -N squid-3.4.8/src/external_acl.cc squid-3.4.9/src/external_acl.cc
--- squid-3.4.8/src/external_acl.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/external_acl.cc 2014-10-31 02:36:43.000000000 -0700
@@ -85,11 +85,11 @@
typedef struct _external_acl_format external_acl_format;
static char *makeExternalAclKey(ACLFilledChecklist * ch, external_acl_data * acl_data);
-static void external_acl_cache_delete(external_acl * def, external_acl_entry * entry);
-static int external_acl_entry_expired(external_acl * def, external_acl_entry * entry);
-static int external_acl_grace_expired(external_acl * def, external_acl_entry * entry);
-static void external_acl_cache_touch(external_acl * def, external_acl_entry * entry);
-static external_acl_entry *external_acl_cache_add(external_acl * def, const char *key, ExternalACLEntryData const &data);
+static void external_acl_cache_delete(external_acl * def, const ExternalACLEntryPointer &entry);
+static int external_acl_entry_expired(external_acl * def, const ExternalACLEntryPointer &entry);
+static int external_acl_grace_expired(external_acl * def, const ExternalACLEntryPointer &entry);
+static void external_acl_cache_touch(external_acl * def, const ExternalACLEntryPointer &entry);
+static ExternalACLEntryPointer external_acl_cache_add(external_acl * def, const char *key, ExternalACLEntryData const &data);
/******************************************************************
* external_acl directive
@@ -101,7 +101,7 @@
public:
external_acl *next;
- void add(ExternalACLEntry *);
+ void add(const ExternalACLEntryPointer &);
void trimCache();
@@ -239,8 +239,10 @@
p->theHelper = NULL;
}
- while (p->lru_list.tail)
- external_acl_cache_delete(p, static_cast(p->lru_list.tail->data));
+ while (p->lru_list.tail) {
+ ExternalACLEntryPointer e(static_cast(p->lru_list.tail->data));
+ external_acl_cache_delete(p, e);
+ }
if (p->cache)
hashFreeMemory(p->cache);
}
@@ -670,21 +672,26 @@
}
void
-external_acl::add(ExternalACLEntry *anEntry)
+external_acl::add(const ExternalACLEntryPointer &anEntry)
{
trimCache();
+ assert(anEntry != NULL);
assert (anEntry->def == NULL);
anEntry->def = this;
- hash_join(cache, anEntry);
- dlinkAdd(anEntry, &anEntry->lru, &lru_list);
+ ExternalACLEntry *e = const_cast(anEntry.getRaw()); // XXX: make hash a std::map of Pointer.
+ hash_join(cache, e);
+ dlinkAdd(e, &e->lru, &lru_list);
+ e->lock(); //cbdataReference(e); // lock it on behalf of the hash
++cache_entries;
}
void
external_acl::trimCache()
{
- if (cache_size && cache_entries >= cache_size)
- external_acl_cache_delete(this, static_cast(lru_list.tail->data));
+ if (cache_size && cache_entries >= cache_size) {
+ ExternalACLEntryPointer e(static_cast(lru_list.tail->data));
+ external_acl_cache_delete(this, e);
+ }
}
/******************************************************************
@@ -771,7 +778,7 @@
}
static void
-copyResultsFromEntry(HttpRequest *req, external_acl_entry *entry)
+copyResultsFromEntry(HttpRequest *req, const ExternalACLEntryPointer &entry)
{
if (req) {
#if USE_AUTH
@@ -796,32 +803,30 @@
aclMatchExternal(external_acl_data *acl, ACLFilledChecklist *ch)
{
debugs(82, 9, HERE << "acl=\"" << acl->def->name << "\"");
- external_acl_entry *entry = ch->extacl_entry;
+ ExternalACLEntryPointer entry = ch->extacl_entry;
external_acl_message = "MISSING REQUIRED INFORMATION";
- if (entry) {
- if (cbdataReferenceValid(entry) && entry->def == acl->def) {
+ if (entry != NULL) {
+ if (entry->def == acl->def) {
/* Ours, use it.. if the key matches */
const char *key = makeExternalAclKey(ch, acl);
if (!key)
return ACCESS_DUNNO; // insufficent data to continue
if (strcmp(key, (char*)entry->key) != 0) {
- debugs(82, 9, HERE << "entry key='" << (char *)entry->key << "', our key='" << key << "' dont match. Discarded.");
+ debugs(82, 9, "entry key='" << (char *)entry->key << "', our key='" << key << "' dont match. Discarded.");
// too bad. need a new lookup.
- cbdataReferenceDone(ch->extacl_entry);
- entry = NULL;
+ entry = ch->extacl_entry = NULL;
}
} else {
- /* Not valid, or not ours.. get rid of it */
- debugs(82, 9, HERE << "entry " << entry << " not valid or not ours. Discarded.");
- if (entry) {
- debugs(82, 9, HERE << "entry def=" << entry->def << ", our def=" << acl->def);
+ /* Not ours.. get rid of it */
+ debugs(82, 9, "entry " << entry << " not valid or not ours. Discarded.");
+ if (entry != NULL) {
+ debugs(82, 9, "entry def=" << entry->def << ", our def=" << acl->def);
const char *key = makeExternalAclKey(ch, acl); // may be nil
- debugs(82, 9, HERE << "entry key='" << (char *)entry->key << "', our key='" << key << "'");
+ debugs(82, 9, "entry key='" << (char *)entry->key << "', our key='" << key << "'");
}
- cbdataReferenceDone(ch->extacl_entry);
- entry = NULL;
+ entry = ch->extacl_entry = NULL;
}
}
@@ -846,13 +851,13 @@
return ACCESS_DUNNO;
}
- entry = static_cast(hash_lookup(acl->def->cache, key));
+ entry = static_cast(hash_lookup(acl->def->cache, key));
- external_acl_entry *staleEntry = entry;
- if (entry && external_acl_entry_expired(acl->def, entry))
+ const ExternalACLEntryPointer staleEntry = entry;
+ if (entry != NULL && external_acl_entry_expired(acl->def, entry))
entry = NULL;
- if (entry && external_acl_grace_expired(acl->def, entry)) {
+ if (entry != NULL && external_acl_grace_expired(acl->def, entry)) {
// refresh in the background
ExternalACLLookup::Start(ch, acl, true);
debugs(82, 4, HERE << "no need to wait for the refresh of '" <<
@@ -861,8 +866,6 @@
if (!entry) {
debugs(82, 2, HERE << acl->def->name << "(\"" << key << "\") = lookup needed");
- debugs(82, 2, HERE << "\"" << key << "\": entry=@" <<
- entry << ", age=" << (entry ? (long int) squid_curtime - entry->date : 0));
if (acl->def->theHelper->stats.queue_size < (int)acl->def->theHelper->childs.n_active) {
debugs(82, 2, HERE << "\"" << key << "\": queueing a call.");
@@ -951,14 +954,15 @@
*/
static void
-external_acl_cache_touch(external_acl * def, external_acl_entry * entry)
+external_acl_cache_touch(external_acl * def, const ExternalACLEntryPointer &entry)
{
// this must not be done when nothing is being cached.
if (def->cache_size <= 0 || (def->ttl <= 0 && entry->result == 1) || (def->negative_ttl <= 0 && entry->result != 1))
return;
dlinkDelete(&entry->lru, &def->lru_list);
- dlinkAdd(entry, &entry->lru, &def->lru_list);
+ ExternalACLEntry *e = const_cast(entry.getRaw()); // XXX: make hash a std::map of Pointer.
+ dlinkAdd(e, &entry->lru, &def->lru_list);
}
static char *
@@ -1240,7 +1244,7 @@
}
static int
-external_acl_entry_expired(external_acl * def, external_acl_entry * entry)
+external_acl_entry_expired(external_acl * def, const ExternalACLEntryPointer &entry)
{
if (def->cache_size <= 0)
return 1;
@@ -1252,7 +1256,7 @@
}
static int
-external_acl_grace_expired(external_acl * def, external_acl_entry * entry)
+external_acl_grace_expired(external_acl * def, const ExternalACLEntryPointer &entry)
{
if (def->cache_size <= 0)
return 1;
@@ -1267,10 +1271,10 @@
return 0;
}
-static external_acl_entry *
+static ExternalACLEntryPointer
external_acl_cache_add(external_acl * def, const char *key, ExternalACLEntryData const & data)
{
- ExternalACLEntry *entry;
+ ExternalACLEntryPointer entry;
// do not bother caching this result if TTL is going to expire it immediately
if (def->cache_size <= 0 || (def->ttl <= 0 && data.result == 1) || (def->negative_ttl <= 0 && data.result != 1)) {
@@ -1285,11 +1289,10 @@
entry = static_cast(hash_lookup(def->cache, key));
debugs(82, 2, "external_acl_cache_add: Adding '" << key << "' = " << data.result);
- if (entry) {
- debugs(82, 3, "ExternalACLEntry::update: updating existing entry");
+ if (entry != NULL) {
+ debugs(82, 3, "updating existing entry");
entry->update(data);
external_acl_cache_touch(def, entry);
-
return entry;
}
@@ -1303,13 +1306,15 @@
}
static void
-external_acl_cache_delete(external_acl * def, external_acl_entry * entry)
+external_acl_cache_delete(external_acl * def, const ExternalACLEntryPointer &entry)
{
+ assert(entry != NULL);
assert(def->cache_size > 0 && entry->def == def);
- hash_remove_link(def->cache, entry);
- dlinkDelete(&entry->lru, &def->lru_list);
+ ExternalACLEntry *e = const_cast(entry.getRaw()); // XXX: make hash a std::map of Pointer.
+ hash_remove_link(def->cache, e);
+ dlinkDelete(&e->lru, &def->lru_list);
+ e->unlock(); // unlock on behalf of the hash
def->cache_entries -= 1;
- delete entry;
}
/******************************************************************
@@ -1366,7 +1371,6 @@
externalAclState *next;
ExternalACLEntryData entryData;
entryData.result = ACCESS_DENIED;
- external_acl_entry *entry = NULL;
debugs(82, 2, HERE << "reply=" << reply);
@@ -1402,14 +1406,15 @@
dlinkDelete(&state->list, &state->def->queue);
+ ExternalACLEntryPointer entry;
if (cbdataReferenceValid(state->def)) {
// only cache OK and ERR results.
if (reply.result == HelperReply::Okay || reply.result == HelperReply::Error)
entry = external_acl_cache_add(state->def, state->key, entryData);
else {
- external_acl_entry *oldentry = (external_acl_entry *)hash_lookup(state->def->cache, state->key);
+ const ExternalACLEntryPointer oldentry = static_cast(hash_lookup(state->def->cache, state->key));
- if (oldentry)
+ if (oldentry != NULL)
external_acl_cache_delete(state->def, oldentry);
}
}
@@ -1597,13 +1602,13 @@
/// Called when an async lookup returns
void
-ExternalACLLookup::LookupDone(void *data, void *result)
+ExternalACLLookup::LookupDone(void *data, const ExternalACLEntryPointer &result)
{
ACLFilledChecklist *checklist = Filled(static_cast(data));
- checklist->extacl_entry = cbdataReference((external_acl_entry *)result);
+ checklist->extacl_entry = result;
// attach the helper kv-pair to the transaction
- if (checklist->extacl_entry) {
+ if (checklist->extacl_entry != NULL) {
if (HttpRequest * req = checklist->request) {
// XXX: we have no access to the transaction / AccessLogEntry so cant SyncNotes().
// workaround by using anything already set in HttpRequest
diff -u -r -N squid-3.4.8/src/ExternalACLEntry.cc squid-3.4.9/src/ExternalACLEntry.cc
--- squid-3.4.8/src/ExternalACLEntry.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/ExternalACLEntry.cc 2014-10-31 02:36:43.000000000 -0700
@@ -47,8 +47,6 @@
* external_acl cache
*/
-CBDATA_CLASS_INIT(ExternalACLEntry);
-
ExternalACLEntry::ExternalACLEntry() :
notes()
{
diff -u -r -N squid-3.4.8/src/ExternalACLEntry.h squid-3.4.9/src/ExternalACLEntry.h
--- squid-3.4.8/src/ExternalACLEntry.h 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/ExternalACLEntry.h 2014-10-31 02:36:43.000000000 -0700
@@ -43,7 +43,7 @@
#define SQUID_EXTERNALACLENTRY_H
#include "acl/Acl.h"
-#include "cbdata.h"
+#include "acl/forward.h"
#include "hash.h"
#include "Notes.h"
#include "SquidString.h"
@@ -82,9 +82,8 @@
* Used opaqueue in the interface
*/
-class ExternalACLEntry: public hash_link
+class ExternalACLEntry: public hash_link, public RefCountable
{
-
public:
ExternalACLEntry();
~ExternalACLEntry();
@@ -106,10 +105,9 @@
String log;
external_acl *def;
-private:
- CBDATA_CLASS2(ExternalACLEntry);
+ MEMPROXY_CLASS(ExternalACLEntry);
};
-typedef class ExternalACLEntry external_acl_entry;
+MEMPROXY_CLASS_INLINE(ExternalACLEntry);
#endif
diff -u -r -N squid-3.4.8/src/ExternalACL.h squid-3.4.9/src/ExternalACL.h
--- squid-3.4.8/src/ExternalACL.h 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/ExternalACL.h 2014-10-31 02:36:43.000000000 -0700
@@ -33,6 +33,8 @@
#define SQUID_EXTERNALACL_H
#include "acl/Checklist.h"
+#include "base/RefCount.h"
+
class external_acl;
class StoreEntry;
@@ -52,7 +54,7 @@
private:
static ExternalACLLookup instance_;
- static void LookupDone(void *data, void *result);
+ static void LookupDone(void *data, const ExternalACLEntryPointer &result);
};
#include "acl/Acl.h"
@@ -96,7 +98,7 @@
void parse_externalAclHelper(external_acl **);
void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *);
void free_externalAclHelper(external_acl **);
-typedef void EAH(void *data, void *result);
+typedef void EAH(void *data, const ExternalACLEntryPointer &result);
void externalAclLookup(ACLChecklist * ch, void *acl_data, EAH * handler, void *data);
void externalAclInit(void);
void externalAclShutdown(void);
diff -u -r -N squid-3.4.8/src/ident/Ident.cc squid-3.4.9/src/ident/Ident.cc
--- squid-3.4.8/src/ident/Ident.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/ident/Ident.cc 2014-10-31 02:36:43.000000000 -0700
@@ -56,13 +56,27 @@
struct _IdentClient *next;
} IdentClient;
-typedef struct _IdentStateData {
+class IdentStateData
+{
+public:
+ /* AsyncJob API emulated */
+ void deleteThis(const char *aReason);
+ void swanSong();
+
+ /// notify all waiting IdentClient callbacks
+ void notify(const char *result);
+
hash_link hash; /* must be first */
Comm::ConnectionPointer conn;
MemBuf queryMsg; ///< the lookup message sent to IDENT server
IdentClient *clients;
char buf[IDENT_BUFSIZE];
-} IdentStateData;
+
+private:
+ CBDATA_CLASS2(IdentStateData);
+};
+
+CBDATA_CLASS_INIT(IdentStateData);
// TODO: make these all a series of Async job calls. They are self-contained callbacks now.
static IOCB ReadReply;
@@ -72,25 +86,39 @@
static CNCB ConnectDone;
static hash_table *ident_hash = NULL;
static void ClientAdd(IdentStateData * state, IDCB * callback, void *callback_data);
-static void identCallback(IdentStateData * state, char *result);
} // namespace Ident
Ident::IdentConfig Ident::TheConfig;
-/**** PRIVATE FUNCTIONS ****/
+void
+Ident::IdentStateData::deleteThis(const char *aReason)
+{
+ swanSong();
+ delete this;
+}
void
-Ident::identCallback(IdentStateData * state, char *result)
+Ident::IdentStateData::swanSong()
{
- IdentClient *client;
+ if (clients != NULL)
+ notify(NULL);
- if (result && *result == '\0')
- result = NULL;
+ if (Comm::IsConnOpen(conn)) {
+ comm_remove_close_handler(conn->fd, Ident::Close, this);
+ conn->close();
+ }
- while ((client = state->clients)) {
+ hash_remove_link(ident_hash, (hash_link *) this);
+ xfree(hash.key);
+}
+
+void
+Ident::IdentStateData::notify(const char *result)
+{
+ while (IdentClient *client = clients) {
void *cbdata;
- state->clients = client->next;
+ clients = client->next;
if (cbdataReferenceValidDone(client->callback_data, &cbdata))
client->callback(result, cbdata);
@@ -103,18 +131,15 @@
Ident::Close(const CommCloseCbParams ¶ms)
{
IdentStateData *state = (IdentStateData *)params.data;
- identCallback(state, NULL);
- state->conn->close();
- hash_remove_link(ident_hash, (hash_link *) state);
- xfree(state->hash.key);
- cbdataFree(state);
+ state->deleteThis("connection closed");
}
void
Ident::Timeout(const CommTimeoutCbParams &io)
{
debugs(30, 3, HERE << io.conn);
- io.conn->close();
+ IdentStateData *state = (IdentStateData *)io.data;
+ state->deleteThis("timeout");
}
void
@@ -125,12 +150,10 @@
if (status != COMM_OK) {
if (status == COMM_TIMEOUT)
debugs(30, 3, "IDENT connection timeout to " << state->conn->remote);
- Ident::identCallback(state, NULL);
+ state->deleteThis(status == COMM_TIMEOUT ? "connect timeout" : "connect error");
return;
}
- assert(conn != NULL && conn == state->conn);
-
/*
* see if any of our clients still care
*/
@@ -141,11 +164,11 @@
}
if (c == NULL) {
- /* no clients care */
- conn->close();
+ state->deleteThis("client(s) aborted");
return;
}
+ assert(conn != NULL && conn == state->conn);
comm_add_close_handler(conn->fd, Ident::Close, state);
AsyncCall::Pointer writeCall = commCbCall(5,4, "Ident::WriteFeedback",
@@ -167,7 +190,8 @@
// TODO handle write errors better. retry or abort?
if (flag != COMM_OK) {
debugs(30, 2, HERE << conn << " err-flags=" << flag << " IDENT write error: " << xstrerr(xerrno));
- conn->close();
+ IdentStateData *state = (IdentStateData *)data;
+ state->deleteThis("write error");
}
}
@@ -182,7 +206,7 @@
assert(conn->fd == state->conn->fd);
if (flag != COMM_OK || len <= 0) {
- state->conn->close();
+ state->deleteThis("read error");
return;
}
@@ -204,11 +228,13 @@
if (strstr(buf, "USERID")) {
if ((ident = strrchr(buf, ':'))) {
while (xisspace(*++ident));
- Ident::identCallback(state, ident);
+ if (ident && *ident == '\0')
+ ident = NULL;
+ state->notify(ident);
}
}
- state->conn->close();
+ state->deleteThis("completed");
}
void
@@ -223,10 +249,6 @@
*C = c;
}
-CBDATA_TYPE(IdentStateData);
-
-/**** PUBLIC FUNCTIONS ****/
-
/*
* start a TCP connection to the peer host on port 113
*/
@@ -250,8 +272,7 @@
return;
}
- CBDATA_INIT_TYPE(IdentStateData);
- state = cbdataAlloc(IdentStateData);
+ state = new IdentStateData;
state->hash.key = xstrdup(key);
// copy the conn details. We dont want the original FD to be re-used by IDENT.
diff -u -r -N squid-3.4.8/src/Makefile.in squid-3.4.9/src/Makefile.in
--- squid-3.4.8/src/Makefile.in 2014-09-15 01:18:21.000000000 -0700
+++ squid-3.4.9/src/Makefile.in 2014-10-31 02:37:49.000000000 -0700
@@ -3001,18 +3001,6 @@
$(XTRA_LIBS)
STUB_SOURCE = tests/STUB.h \
- tests/stub_CommIO.cc \
- tests/stub_DelayId.cc \
- tests/stub_DiskIOModule.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpReply.cc \
- tests/stub_HttpRequest.cc \
- tests/stub_MemBuf.cc \
- tests/stub_MemObject.cc \
- tests/stub_MemStore.cc \
- tests/stub_Port.cc \
- tests/stub_StatHist.cc \
- tests/stub_UdsOp.cc \
tests/stub_access_log.cc \
tests/stub_acl.cc \
tests/stub_cache_cf.cc \
@@ -3022,19 +3010,25 @@
tests/stub_client_side.cc \
tests/stub_client_side_request.cc \
tests/stub_comm.cc \
+ tests/stub_CommIO.cc \
tests/stub_debug.cc \
+ tests/stub_DelayId.cc \
+ tests/stub_DiskIOModule.cc \
tests/stub_errorpage.cc \
tests/stub_event.cc \
tests/stub_fatal.cc \
tests/stub_fd.cc \
tests/stub_helper.cc \
+ tests/stub_HelperChildConfig.cc \
tests/stub_http.cc \
+ tests/stub_HttpReply.cc \
+ tests/stub_HttpRequest.cc \
tests/stub_icp.cc \
tests/stub_internal.cc \
+ tests/stub_ipcache.cc \
tests/stub_ipc.cc \
tests/stub_ipc_Forwarder.cc \
tests/stub_ipc_TypedMsgHdr.cc \
- tests/stub_ipcache.cc \
tests/stub_libcomm.cc \
tests/stub_libeui.cc \
tests/stub_libformat.cc \
@@ -3042,11 +3036,16 @@
tests/stub_libmgr.cc \
tests/stub_libsslsquid.cc \
tests/stub_main_cc.cc \
+ tests/stub_MemBuf.cc \
tests/stub_mem.cc \
tests/stub_mem_node.cc \
+ tests/stub_MemObject.cc \
+ tests/stub_MemStore.cc \
tests/stub_mime.cc \
tests/stub_pconn.cc \
+ tests/stub_Port.cc \
tests/stub_stat.cc \
+ tests/stub_StatHist.cc \
tests/stub_stmem.cc \
tests/stub_store.cc \
tests/stub_store_client.cc \
@@ -3054,6 +3053,7 @@
tests/stub_store_stats.cc \
tests/stub_store_swapout.cc \
tests/stub_tools.cc \
+ tests/stub_UdsOp.cc \
tests/stub_wordlist.cc
EXTRA_DIST = cf_gen_defines cf.data.pre cf.data.depend \
diff -u -r -N squid-3.4.8/src/ssl/gadgets.cc squid-3.4.9/src/ssl/gadgets.cc
--- squid-3.4.8/src/ssl/gadgets.cc 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/ssl/gadgets.cc 2014-10-31 02:36:43.000000000 -0700
@@ -297,7 +297,21 @@
if ((ext = X509_get_ext(cert.get(), p)) != NULL) {
ASN1_BIT_STRING *keyusage = (ASN1_BIT_STRING *)X509V3_EXT_d2i(ext);
ASN1_BIT_STRING_set_bit(keyusage, KeyEncipherment, 1);
- X509_EXTENSION_set_data( ext, (ASN1_OCTET_STRING*)keyusage );
+
+ //Build the ASN1_OCTET_STRING
+ const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
+ assert(method && method->it);
+ unsigned char *ext_der = NULL;
+ int ext_len = ASN1_item_i2d((ASN1_VALUE *)keyusage,
+ &ext_der,
+ (const ASN1_ITEM *)ASN1_ITEM_ptr(method->it));
+
+ ASN1_OCTET_STRING *ext_oct = M_ASN1_OCTET_STRING_new();
+ ext_oct->data = ext_der;
+ ext_oct->length = ext_len;
+ X509_EXTENSION_set_data(ext, ext_oct);
+
+ M_ASN1_OCTET_STRING_free(ext_oct);
ASN1_BIT_STRING_free(keyusage);
}
}
diff -u -r -N squid-3.4.8/src/ssl/ssl_crtd.8 squid-3.4.9/src/ssl/ssl_crtd.8
--- squid-3.4.8/src/ssl/ssl_crtd.8 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/ssl/ssl_crtd.8 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH ssl_crtd 8
.
.SH NAME
-.if !'po4a'hide' .B ssl_crtd
-.if !'po4a'hide' \-
-SSL certificate generator.
+ssl_crtd \- SSL certificate generator for Squid.
.PP
Version 1.0
.
diff -u -r -N squid-3.4.8/src/tests/Stub.list squid-3.4.9/src/tests/Stub.list
--- squid-3.4.8/src/tests/Stub.list 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/src/tests/Stub.list 2014-10-31 02:36:43.000000000 -0700
@@ -1,16 +1,4 @@
STUB_SOURCE= tests/STUB.h \
- tests/stub_CommIO.cc \
- tests/stub_DelayId.cc \
- tests/stub_DiskIOModule.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpReply.cc \
- tests/stub_HttpRequest.cc \
- tests/stub_MemBuf.cc \
- tests/stub_MemObject.cc \
- tests/stub_MemStore.cc \
- tests/stub_Port.cc \
- tests/stub_StatHist.cc \
- tests/stub_UdsOp.cc \
tests/stub_access_log.cc \
tests/stub_acl.cc \
tests/stub_cache_cf.cc \
@@ -20,19 +8,25 @@
tests/stub_client_side.cc \
tests/stub_client_side_request.cc \
tests/stub_comm.cc \
+ tests/stub_CommIO.cc \
tests/stub_debug.cc \
+ tests/stub_DelayId.cc \
+ tests/stub_DiskIOModule.cc \
tests/stub_errorpage.cc \
tests/stub_event.cc \
tests/stub_fatal.cc \
tests/stub_fd.cc \
tests/stub_helper.cc \
+ tests/stub_HelperChildConfig.cc \
tests/stub_http.cc \
+ tests/stub_HttpReply.cc \
+ tests/stub_HttpRequest.cc \
tests/stub_icp.cc \
tests/stub_internal.cc \
+ tests/stub_ipcache.cc \
tests/stub_ipc.cc \
tests/stub_ipc_Forwarder.cc \
tests/stub_ipc_TypedMsgHdr.cc \
- tests/stub_ipcache.cc \
tests/stub_libcomm.cc \
tests/stub_libeui.cc \
tests/stub_libformat.cc \
@@ -40,11 +34,16 @@
tests/stub_libmgr.cc \
tests/stub_libsslsquid.cc \
tests/stub_main_cc.cc \
+ tests/stub_MemBuf.cc \
tests/stub_mem.cc \
tests/stub_mem_node.cc \
+ tests/stub_MemObject.cc \
+ tests/stub_MemStore.cc \
tests/stub_mime.cc \
tests/stub_pconn.cc \
+ tests/stub_Port.cc \
tests/stub_stat.cc \
+ tests/stub_StatHist.cc \
tests/stub_stmem.cc \
tests/stub_store.cc \
tests/stub_store_client.cc \
@@ -52,4 +51,5 @@
tests/stub_store_stats.cc \
tests/stub_store_swapout.cc \
tests/stub_tools.cc \
+ tests/stub_UdsOp.cc \
tests/stub_wordlist.cc
diff -u -r -N squid-3.4.8/tools/squidclient.1 squid-3.4.9/tools/squidclient.1
--- squid-3.4.8/tools/squidclient.1 2014-09-15 01:17:12.000000000 -0700
+++ squid-3.4.9/tools/squidclient.1 2014-10-31 02:36:43.000000000 -0700
@@ -1,9 +1,7 @@
.if !'po4a'hide' .TH squidclient 1
.
.SH NAME
-.if !'po4a'hide' .B squidclient
-.if !'po4a'hide' \-
-A simple HTTP web client tool
+squidclient \- A simple HTTP web client tool
.
.SH SYNOPSIS
.if !'po4a'hide' .B squidclient
@@ -185,10 +183,11 @@
WWW authentication password
.
.SH AUTHOR
-Derived from Harvest. Further developed by by numerous individuals from
-the internet community. Development is led by Duane Wessels of the
-National Laboratory for Applied Network Research and funded by
-the National Science Foundation.
+This program and manual was written by
+.if !'po4a'hide' .I Amos Jeffries
+.PP
+Based on original code derived from Harvest and further developed by
+numerous individuals from the internet community.
.
.SH COPYRIGHT
Distributed under the GNU General Public License (GNU GPL) version 2 or later (GPLv2+).