A configuration copied from another server names ext_session_acl. Your Squid package has no file at that path. This can be a packaging mismatch rather than a broken user session.

Squid can delegate external ACL decisions to helper programs, but naming a program in external_acl_type does not install it. The binary must exist in the deployed environment.

Compare three things:

  • The helper's documented name for the Squid release you are using.
  • The files actually supplied by your distribution's package.
  • The absolute executable path in the configuration Squid loaded.

Debian publishes a manual for ext_session_acl, but a matching manual title is not proof that a binary exists at the copied path on your server. Check that installation's own package information and helper directory.

If its package does not provide the required helper, check the distribution's supported package split and build information. A source-tree subdirectory name is not proof that the resulting binary is present in every build.

Keep “file absent” separate from “file present but cannot start.” The latter can involve its interpreter, shared libraries, permissions, or service confinement. Check Squid's helper startup messages for that failure. Neither symptom is evidence that a proxy user's password is wrong.

A helper from an unrelated old server is not interchangeable merely because its filename matches the configuration.

Artiglyn mynjee