Skip to content

Commit 5eb89ef

Browse files
yadijsquid-anubis
authored andcommitted
Remove Edge Side Include (ESI) protocol (#1905)
ESI feature has a number of bugs and security vulnerabilities. It is also rarely used and a survey of active community members has not revealed a need to keep maintaining this code.
1 parent fdc5bf7 commit 5eb89ef

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+28
-7708
lines changed

CREDITS

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,15 +1522,6 @@ src/auth/ntlm/smb_lm/:
15221522

15231523
==============================================================================
15241524

1525-
src/esi/Libxml2Parser.cc,
1526-
src/esi/Libxml2Parser.h:
1527-
1528-
* The ESI Libxml2 parser is Copyright (c) 2004 by Joachim Bauch
1529-
* http://www.joachim-bauch.de
1530-
1531-
1532-
==============================================================================
1533-
15341525
src/external_acl.c:
15351526

15361527
Copyright (C) 2002 MARA Systems AB, Sweden <[email protected]>

configure.ac

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -817,38 +817,6 @@ AC_ARG_ENABLE(delay-pools,
817817
dnl disable generic/common adaptation support by default
818818
squid_opt_use_adaptation=no
819819

820-
AH_TEMPLATE([USE_SQUID_ESI],[whether to enable ESI processing])
821-
AC_ARG_ENABLE(esi,[
822-
AS_HELP_STRING([--enable-esi],
823-
[Enable ESI for accelerators. ESI requires expat or xml2 library.
824-
Enabling ESI will cause squid reverse proxies to be capable
825-
of the Edge Acceleration Specification (www.esi.org).])
826-
],[
827-
SQUID_DEFINE_BOOL(USE_SQUID_ESI,$enable_esi)
828-
])
829-
AC_MSG_NOTICE([Enable ESI processor: ${enable_esi:=no (auto)}])
830-
831-
# ESI support libraries: expat
832-
SQUID_AUTO_LIB(expat,[ESI expat library],[LIBEXPAT])
833-
SQUID_CHECK_LIB_WORKS(expat,[
834-
PKG_CHECK_MODULES([LIBEXPAT],[expat],[:],[:])
835-
CPPFLAGS="$LIBEXPAT_CFLAGS $CPPFLAGS"
836-
AC_CHECK_HEADERS(expat.h)
837-
])
838-
839-
# ESI support libraries: xml2
840-
SQUID_AUTO_LIB(xml2,[ESI xml2 library],[LIBXML2])
841-
SQUID_CHECK_LIB_WORKS(xml2,[
842-
PKG_CHECK_MODULES([LIBXML2],[libxml-2.0],[:],[:])
843-
CPPFLAGS="$LIBXML2_CFLAGS $CPPFLAGS"
844-
AC_CHECK_HEADERS(libxml/parser.h libxml/HTMLparser.h libxml/HTMLtree.h)
845-
])
846-
847-
AS_IF([test "x$enable_esi" = "xyes" -a "x$LIBXML2_LIBS" = "x" -a "x$LIBEXPAT_LIBS" = "x"],[
848-
AC_MSG_ERROR([ESI processor requires libxml2 or libexpat])
849-
])
850-
AM_CONDITIONAL(ENABLE_ESI,[test "x$enable_esi" = "xyes"])
851-
852820
AC_ARG_ENABLE(icap-client,
853821
AS_HELP_STRING([--disable-icap-client],[Disable the ICAP client.]),[
854822
SQUID_YESNO([$enableval],[--enable-icap-client])
@@ -2519,8 +2487,6 @@ AC_CONFIG_FILES([
25192487
errors/Makefile
25202488
icons/Makefile
25212489
lib/Makefile
2522-
lib/libTrie/Makefile
2523-
lib/libTrie/test/Makefile
25242490
lib/ntlmauth/Makefile
25252491
lib/rfcnb/Makefile
25262492
lib/smblib/Makefile
@@ -2587,7 +2553,6 @@ AC_CONFIG_FILES([
25872553
src/DiskIO/IpcIo/Makefile
25882554
src/DiskIO/Mmapped/Makefile
25892555
src/error/Makefile
2590-
src/esi/Makefile
25912556
src/eui/Makefile
25922557
src/format/Makefile
25932558
src/fs/Makefile

doc/Programming-Guide/03_MajorComponents.dox

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -338,11 +338,4 @@ TODO: get RFCs linked from ietf
338338
see (http://squid.nlanr.net/Squid/urn-support.html) URN Support in Squid
339339
.
340340

341-
\section ESI ESI
342-
\par
343-
ESI is an implementation of Edge Side Includes (http://www.esi.org).
344-
ESI is implemented as a client side stream and a small
345-
modification to client_side_reply.c to check whether
346-
ESI should be inserted into the reply stream or not.
347-
348341
*/

doc/debug-sections.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,6 @@ section 83 TLS Server/Peer negotiation
138138
section 83 TLS session management
139139
section 84 Helper process maintenance
140140
section 85 Client-side Request Routines
141-
section 86 ESI Expressions
142-
section 86 ESI processing
143141
section 87 Client-side Stream routines.
144142
section 88 Client-side Reply Routines
145143
section 89 EUI-48 Lookup

doc/release-notes/release-7.sgml.in

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,9 @@ This section gives an account of those changes in three categories:
199199
<sect1>Removed directives<label id="removeddirectives">
200200
<p>
201201
<descrip>
202+
<tag>esi_parser</tag>
203+
<p>Edge Side Includes (ESI) protocol is no longer supported natively.
204+
202205
<tag>mcast_miss_addr</tag>
203206
<p>The corresponding code has not built for many years, indicating that the
204207
feature is unused.
@@ -257,9 +260,7 @@ This section gives an account of those changes in three categories:
257260
<sect1>Changes to existing options<label id="modifiedoptions">
258261
<p>
259262
<descrip>
260-
<tag>--disable-esi</tag>
261-
<p>The ESI feature is now disabled by default.
262-
Use <em>--enable-esi</em> if needed.
263+
<p>No build options have changed behaviour in this version.
263264

264265
</descrip>
265266
</p>
@@ -270,9 +271,18 @@ This section gives an account of those changes in three categories:
270271
<tag>--enable-cachemgr-hostname=</tag>
271272
<p>The <em>cachemgr.cgi</em> tool this option relates to has been removed.
272273

274+
<tag>--enable-esi</tag>
275+
<p>Edge Side Includes (ESI) protocol is no longer supported natively.
276+
277+
<tag>--without-expat</tag>
278+
<p>The ESI feature using libexpat has been removed.
279+
273280
<tag>--without-gnugss</tag>
274281
<p>Renamed to <em>--without-gss</em>.
275282

283+
<tag>--without-xml2</tag>
284+
<p>The ESI feature using libxml2 has been removed.
285+
276286
<tag>CPPFLAGS=-DHEADERS_LOG</tag>
277287
<p>The code enabled by this preprocessor macro has not built for many
278288
years, indicating that the feature is unused.

lib/Makefile.am

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ include $(top_srcdir)/src/Common.am
1010
SUBDIRS=
1111
EXTRA_DIST=
1212

13-
if ENABLE_ESI
14-
SUBDIRS += libTrie
15-
endif
1613
if ENABLE_SNMP
1714
SUBDIRS += snmplib
1815
endif

lib/libTrie/Makefile.am

Lines changed: 0 additions & 21 deletions
This file was deleted.

lib/libTrie/Trie.cc

Lines changed: 0 additions & 44 deletions
This file was deleted.

lib/libTrie/Trie.h

Lines changed: 0 additions & 75 deletions
This file was deleted.

lib/libTrie/TrieCharTransform.h

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)