Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#58019 closed enhancement (duplicate)

squid4 port file has no --enable-http-violations option or variant

Reported by: essandess (Steve Smith) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: squid4

Description

The port file for squid4 does not have an option to set the --enable-http-violations configuration flag. This option is necessary for squid to edit HTTP headers.

It is possible to add this flag by hand with the edit sudo vi `port file squid4`, and adding it manually under configure.args. This works, but obviously any update to the squid3 port file will wipe it away.

Would you please consider adding the --enable-http-violations to the squid4 port? My own rank-order preferences to accomplish this are:

  1. The flag --enable-http-violations is a default in the standard squid4 port file.
  2. Create a squid4 port variant for --enable-http-violations.
  3. Add a user-configurable config options list that can be modified on the port command line call.

Note that the current build for squid4 doesn't include this configuration options. Modified Portfile that works is attached.

$ squid -v
Squid Cache: Version 4.5
Service Name: squid

This binary uses OpenSSL 1.0.2q  20 Nov 2018. For legal restrictions on distribution see https://www.openssl.org/source/license.html

configure options:  '--prefix=/opt/local' '--mandir=/opt/local/share/man' '--sysconfdir=/opt/local/etc/squid' '--datadir=/opt/local/share/squid' '--localstatedir=/opt/local/var/squid' '--libexecdir=/opt/local/libexec/squid' '--with-swapdir=/opt/local/var/squid/cache' '--with-pidfile=/opt/local/var/run/squid/squid.pid' '--disable-strict-error-checking' '--disable-loadable-modules' '--disable-arch-native' '--without-cppunit' '--without-gnugss' '--without-gnutls' '--without-libxml2' '--without-mit-krb5' '--without-heimdal-krb5' '--without-nettle' '--enable-delay-pools' '--enable-zph-qos' '--enable-removal-policies' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-log-daemon-helpers' '--with-default-user=squid' '--enable-auth' '--enable-auth-basic' '--enable-auth-digest' '--enable-auth-negotiate=wrapper' '--enable-auth-ntlm' '--with-openssl=/opt/local' 'CC=/usr/bin/clang' 'CFLAGS=-pipe -Os -arch x86_64' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64' 'CPPFLAGS=-I/opt/local/include' 'CXX=/usr/bin/clang++' 'CXXFLAGS=-pipe -Os -stdlib=libc++ -arch x86_64'

Attachments (1)

Portfile (6.0 KB) - added by essandess (Steve Smith) 5 years ago.
Modified squid4 port file with --enable-http-violations configure flag

Download all attachments as: .zip

Change History (6)

Changed 5 years ago by essandess (Steve Smith)

Attachment: Portfile added

Modified squid4 port file with --enable-http-violations configure flag

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Cc: jmroot removed
Owner: set to jmroot
Status: newassigned
Version: 2.5.4

Thanks. Per the guidelines, please instead attach a unified diff of the Portfile so we can easily see what changes you are proposing. Or better yet, submit a pull request.

comment:2 Changed 5 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: assignedclosed

#56560 was filed against squid3, but the situation hasn't changed in squid4.

comment:3 Changed 5 years ago by essandess (Steve Smith)

@jmroot I do not believe that this is correct.

The ./configure file code shows that --enable-http-violations must be set explicitly. I know this is true for version 4, and also believe it was true for version 3.

  1. I observe that squid does not modify headers unless it is configured explicitly with this flag.
  1. I checked its ./configure file and see that it is not set by default. Sanity checking:
( cd ~/Downloads/ ; tar xkf /opt/local/var/macports/distfiles/squid4/squid-4.6.tar.xz )
cd ~/Downloads/squid-4.6/
less ./configure
# Check whether --enable-http-violations was given.
if test "${enable_http_violations+set}" = set; then :
  enableval=$enable_http_violations;

As you can see, unless --enable-http-violations is explicitly passed to ./configure, it isn't set.

comment:4 Changed 5 years ago by essandess (Steve Smith)

See this PR on GitHub for the Portfile details. https://github.com/macports/macports-ports/pull/4207

Last edited 5 years ago by essandess (Steve Smith) (previous) (diff)

comment:5 Changed 5 years ago by essandess (Steve Smith)

@jmroot You are correct, and I am wrong.

I even see after the code I posted the yes default parameter setting in ${enable_http_violations:=yes} a few lines below.

Sorry for raising this again. I recall after an opaque debugging session this not being set or working back in version 2.7, and am now apparently still trying to debug it in version 4.

Note: See TracTickets for help on using tickets.