> It is a poorly worded reference to "#line" directives used by some > programming languages for documenting the original location of lines in > preprocessed files. Here are the corresponding C++ preprocessor docs, > for example: https://en.cppreference.com/w/cpp/preprocessor/line I guess it would be helpful to add this explanation to the doc. > > /usr/sbin/squid -k reconfigure -f '|/usr/local/script/squid/pre_process_squid_config_file.sh' > > > > gives the following line in /var/log/squid/cache.log > > FATAL: parseConfigFile: '|/usr/local/script/squid/pre_process_squid_config_file.sh' failed with exit code -1 > > Squid Cache (Version 3.5.27): Terminated abnormally. > > > is that a bug? I found out that has nothing to do with the -f "|pre_processing_script.sh" syntax, it happens with the standard -f "/etc/squid/squid.conf" syntax the same. We have IPv6 disabled on the host and Squid says "ERROR: Failed to create helper child read FD: UDP[::1]", so that let me to suspicion the "Terminated abnormally" could be an IPv6 issue. Solution was to set http_port to the specific IPv4 host addresses. Now, Squid still says "ERROR: Failed to create helper child read FD: UDP[::1]", but squid -k reconfigure does work now without the above "parseConfigFile failed with exit code -1" and "Terminated abnormally" message. (I understand that IPv6 should be availabe on node ("IPv6 Support Required for All IP-Capable Nodes" https://www.rfc-editor.org/rfc/rfc6540), but we have still disabled it on Ubuntu 18, maybe we will not disable it it anymore as of Ubuntu 22) Regarding the initial question of how to use Macros, I made it now simpler. We use now /etc/squid/squid.conf.TEMPLATE as config template file, having custom (non-squid, self defined) Macros available. After the template file has been deployed with rsync to a host, a Bash script is executed locally on the host that replaces (with sed) the Macros with the values (e.g. Hostname, Peer hostname etc.) and writes the result to /etc/squid/squid.conf With that, there is no need to use the -f '|pre_processing_script.sh' tweak. That's simpler and more standard, no need for custom /etc/default/squid anymore. With that we can now deploy host-specific "unique_hostname", "cache_peer" etc. using uniform files on all hosts. So issue should be solved now. Thanks and best regards. _______________________________________________ squid-users mailing list squid-users@xxxxxxxxxxxxxxxxxxxxx http://lists.squid-cache.org/listinfo/squid-users