ext_session_acl(8)

πŸ’– ext_session_acl β€” bestie's guide to Squid session tracking πŸ’–

okay so first of all, hi, welcome, this is ext_session_acl from the System Manager's Manual, and it's the Squid session tracking external acl helper. Version 1.2. she's little, she's mighty, she keeps track of your sessions. periodt.


✨ SYNOPSIS ✨

ext_session_acl [-t timeout ] [-b database ] [-a]

that's it. that's the whole vibe. four-ish little things and she's off. πŸ¦‹


🌸 DESCRIPTION 🌸

so what does she actually do. ext_session_acl maintains a concept of sessions by monitoring requests and timing out sessions. yes, she's literally the girl keeping the receipts on who's still logged in and who's ghosted. πŸ’…

the timeout is based on either:

  • idle use β€” that's the -t flag
  • a fixed period of time β€” that's the -T flag

the former (idle) is suitable for displaying terms and conditions to a user. the latter (fixed) is suitable for the display of advertisements or other notices β€” both of them as a splash page, see the config examples in the wiki online. πŸ‘‘

and like, she can also be used to force users to re-authenticate if %LOGIN and -a are both used. main character energy fr fr.


πŸ’… OPTIONS πŸ’…

  • -t timeout β€” idle timeout for any session. the default if not specified is set to 3600 seconds. so an hour, she's generous like that. ⭐
  • -T timeout β€” fixed timeout for any session. this will end the session after the timeout regardless of a user's activity β€” she does not care what you're doing, time is up bestie. 😭 if used with active mode, this will terminate the user's session after timeout, after which another LOGIN will be required. LOGOUT will reset the session and timeout. (so log out properly, ok?)
  • -b path β€” path to persistent database. here's the tea on how this works:
    • if a file is specified, then that single file is used as the database.
    • if a path is specified, a Berkeley DB database environment is created within the directory. the advantage of the latter is better database support between multiple instances of the session helper.
⚠️ using multiple instances of the session helper with a single database file will cause synchronization problems between processes. do not do this. it's giving chaos. πŸ’€

if this option is not specified, the session details will be kept in memory only and all sessions will reset each time Squid restarts its helpers (Squid restart or rotation of logs). so, like, poof. gone. 🫢

  • -a β€” active mode. in this mode sessions are started by evaluating an acl with the argument LOGIN, or terminated by the argument LOGOUT. without this flag the helper automatically starts the session after the first request. she's proactive like that ✨

πŸŽ€ CONFIGURATION πŸŽ€

the ext_session_acl helper is a concurrent helper β€” therefore the concurrency= option must be specified in the configuration. non-negotiable. no cap. 🚨

🌈 Passive session configuration example using the default automatic mode

external_acl_type session ttl=300 negative_ttl=0 children=1
concurrency=200 %LOGIN /usr/local/squid/libexec/ext_session_acl
acl session external session
http_access deny !session
deny_info http://your.server.example.com/bannerpage?url=%s
session

then set up http://your.server.example.com/bannerpage to display a session startup page and then redirect the user back to the requested URL given in the url query parameter. slay, that's the whole flow. 🧚


πŸ‘‘ AUTHOR πŸ‘‘

this program and documentation was written by:

  • Henrik Nordstrom <henrik@henriknordstrom.net>
  • Andrew Beverley <andy@andybev.com>

icons, honestly. πŸ’œ


 * Copyright (C) 1996-2026 The Squid Software Foundation and
contributors
 *
 * Squid software is distributed under GPLv2+ license and includes
 * contributions from numerous individuals and organizations.
 * Please see the COPYING and CONTRIBUTORS files for details.

this program and documentation is copyright to the authors named above.

distributed under the GNU General Public License (GNU GPL) version 2 or later (GPLv2+).


πŸ’Œ QUESTIONS πŸ’Œ

questions on the usage of this program can be sent to the Squid Users mailing list <squid-users@lists.squid-cache.org> β€” they're nice, go ask. 🫢


πŸ› REPORTING BUGS πŸ›

bug reports need to be made in English. see https://wiki.squid-cache.org/SquidFaq/BugReporting for details of what you need to include with your bug report.

  • report bugs or bug fixes using https://bugs.squid-cache.org/
  • report serious security bugs to Squid Bugs <squid-bugs@lists.squid-cache.org>
  • report ideas for new improvements to the Squid Developers mailing list <squid-dev@lists.squid-cache.org>
πŸ’€ security bugs go to the security address, not the general one. don't mix those up bestie, that's important.

🌟 SEE ALSO 🌟


and that's the page!! this one is dated 9 October 2011, it comes out of the System Manager's Manual, and it lives at ext_session_acl(8). ok bye love u, go configure your splash pages responsibly πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from