Files
bpfire/lfs/squid-asnbl
Adolf Belka df30842927 squid-asnbl: Fix for bug#13023 - squid-asnbl-helper segfaulting and shutdown squid
- Patch provided by bug reporter. Here is the description of the problem from the bug.
   First I discovered that the helper only sometimes throwing the error and quits even
   for the same values and queries. Also the timespan until the error happens was quite
   different for every restart of squid  (minutes to hours). And it does not depend on
   the traffic on the proxy, even one connection could cause a crash while ten or
   hundrets won't. After a few days of testing different solutions and done a lot of
   debugging, redesigning the function did not fully solve the problem. Such standard
   things like checking the result variable for NULL (or it's equivalent "is None" in
   python) before evaluating it's subfunction produces the exact same error message. But
   with that knowledge it more and more turns out that python3 sometimes 'detects' the
   local return variable if it was a misused global. So for a full fix, the return
   variable also has to be initialized that python3 won't detect it's usage as an
   'UnboundLocalError' to succesfully fix this bug.
- LFS file updated to run patch before copying helper into place.
- Update of rootfile not needed.
- Bug reporter has been requested to raise this issue at the git repo for squid-asnbl.

Fixes: Bug#13023
Tested-by: Nicolas Pӧhlmann <business@hardcoretec.com>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-07-01 19:30:03 +00:00

85 lines
3.4 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 0.2.4
THISAPP = squid-asnbl-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
DEPS = libloc squid python3
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 98bdf0ecff1fc4d4ac0e0eb43d37682acf76900df783bf31b172134ebe31a857594e0a98ee06347da40d97b86a6ac0ce9a63ea7a80a1d73948e338f72d1c3af2
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zvxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/squid/squid-asnbl-0.2.4_initialise_global_variables_to_make_compatible_with_python_3.patch
# Install ASNBL helper script
cd $(DIR_APP) && install -o root -g root -m 0755 asnbl-helper.py /usr/bin/asnbl-helper.py
@rm -rf $(DIR_APP)
@$(POSTBUILD)