Go to file
Marcel de Rooy 6c320d365b
Bug 39206: Add an allowlist to Koha::CookieManager
This patch adds a bit more control to what CookieManager does by
adding a hardcoded allowlist of cookie names that are cleared at
logout. Allowing at the same time to add entries to that list by
using koha-conf <remove_cookie> lines or removing entries from the
hardcoded list by using <do_not_remove_cookie> lines.

The patch fixes the expiration of cookies that should be removed
by passing max-age 0.

Also it adds a theoretical path correction for always_show_holds but
since we do not clear that cookie, it is currently unused. This seems
to be the only Koha cookie where we use a longer path.

Test plan:
Run t/CookieManager.t

Go to OPAC, login, select a few OPAC search results and send them
to cart. This would create cookie bib_list. (Check dev tools.)

Logout from OPAC and check cookie in your browser dev tools. What
you see, depends on the browser. But the cookie should be either
gone or empty and expired (FF: Session).

Now add a <do_not_remove_cookie> line for bib_list in koha-conf.
Restart all. Repeat search, add to cart. Logout. Check again in dev
tools that bib_list is not empty, not expired.

Check out an item. And click on 'Always show checkouts...' on
the patron checkout form. This should create the cookie with
value DO. Logout from intranet. Check that cookie was not affected.
Now add a <remove_cookie> line for the following cookie:
issues-table-load-immediately-circulation. Restart all.
Login and logout from staff again. Check that cookie is empty
and expired, or just gone.

Bonus for devs: Create some custom cookie, and test keeping or
removing it similar as above.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 221126f3dd)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-07-10 22:47:10 +02:00
C4 Bug 40055: Make MoveReserve be passed objects instead of ids 2025-06-24 11:30:06 +02:00
Koha Bug 39206: Add an allowlist to Koha::CookieManager 2025-07-10 22:47:10 +02:00
acqui Bug 40066: Restore budget check to booksellers.pl 2025-06-17 21:43:04 +02:00
admin Bug 40033: Call GetPlugins correctly in background_jobs.pl 2025-06-17 21:43:03 +02:00
api Bug 30301: (follow-up) Fix API spec 2025-05-20 15:15:33 +02:00
authorities Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
basket Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
bin
…
bookings Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
catalogue Bug 39325: Manual fixes 2025-04-28 18:51:23 +02:00
cataloguing Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
circ Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
clubs Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
course_reserves Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
debian Bug 39961: (follow-up) Make `koha-disable` stop all queues 2025-06-22 23:48:39 +02:00
docs 25.05.00: Update history.txt 2025-05-26 18:45:49 +02:00
erm Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
errors Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
etc Bug 39303: Add audience index to SRU 2025-04-25 08:47:14 +02:00
ill Bug 30200: Add custom tabs to View ILL requests page 2025-05-08 08:49:57 +02:00
installer Increment version for 25.05.01 release 2025-06-24 18:38:09 +02:00
koha-tmpl Bug 39939: (follow-up) Fix terminology - syspref to system preference 2025-07-10 22:47:09 +02:00
labels Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
lib Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
members Bug 38532: (follow-up) Use Koha::Patron->account methods 2025-05-08 07:59:08 +02:00
misc Bug 40144: Get rid of `sip_cli_emulator.pl` warnings 2025-07-09 11:36:41 +02:00
offline_circ Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
opac Bug 38974: Fix error in OPAC patron update 2025-06-22 23:48:37 +02:00
patron_lists Bug 37266: patron_lists/delete.pl should have CSRF protection 2025-03-06 13:54:49 +01:00
patroncards Bug 39800: Error 500 when trying to delete patron card template 2025-05-19 09:49:41 +02:00
plugins Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
pos Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
preservation Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
recalls Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
reports Bug 39866: (QA follow-up) Rudimentary validation of line/column 2025-06-17 21:43:02 +02:00
reserve Bug 39325: Automatic fix 2025-04-28 18:51:22 +02:00
reviews Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
rotating_collections Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
serials Bug 34971: (QA follow-up) Op is now cud-reopen 2025-02-12 15:28:17 +01:00
services Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
skel
…
suggestion Bug 33430: (follow-up) Fix the data filtering from the left menu 2025-05-19 18:54:22 +02:00
svc Bug 39325: Manual fixes 2025-04-28 18:51:23 +02:00
t Bug 39206: Add an allowlist to Koha::CookieManager 2025-07-10 22:47:10 +02:00
tags Bug 38969: (QA follow-up) fix tidy 2025-04-28 18:51:18 +02:00
tools Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
virtualshelves Bug 37434: Sort by publicationyear when copyrightdate is set in UNIMARC 2025-02-13 16:18:02 +01:00
xt Bug 39741: Make valid-templates.t handle dirs 2025-05-06 18:48:27 +02:00
.codespell-ignore Bug 39325: (QA follow-up) Adjust some issues 2025-04-28 18:51:30 +02:00
.editorconfig
…
.git-blame-ignore-revs Bug 39096: Add 'tidy all' commits to a git blame ignore file 2025-02-17 13:10:25 +01:00
.gitignore Bug 30200: Add custom tabs to View ILL requests page 2025-05-08 08:49:57 +02:00
.htaccess
…
.mailmap 25.05.00: Update .mailmap (part 4) 2025-05-26 10:19:09 -03:00
.perlcriticrc
…
.perltidyrc
…
.prettierrc.js Bug 38664: Treat .vue files like other JS files 2025-02-11 14:58:25 +01:00
.proverc.dist
…
.stylelintrc.json
…
INSTALL
…
Koha.pm Increment version for 25.05.01 release 2025-06-24 18:38:09 +02:00
LICENSE
…
MANIFEST.SKIP
…
Makefile.PL Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
README
…
README.md
…
README.robots
…
about.pl Bug 39154: Add sip.log test in about 2025-03-07 18:02:58 +01:00
app.psgi Bug 36149: Add userenv middleware to app.psgi 2024-05-14 15:04:37 -03:00
build-resources.PL
…
changelanguage.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
cpanfile Bug 39367: Add new dependency 2025-04-23 09:35:16 +02:00
cypress.config.ts Bug 38770: Remove @vue/cli-service and babel 2025-01-16 15:56:15 +01:00
eslint.config.mjs Bug 38524: Enable ESLint for .ts and .vue files 2025-01-16 15:56:17 +01:00
fix-perl-path.PL Bug 39325: (QA follow-up) Adjust some issues 2025-04-28 18:51:30 +02:00
gulpfile.js Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
help.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
kohaversion.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
mainpage.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
package.json Bug 37911: (follow-up) Reintroduce @koha-community/prettier-plugin-template-toolkit 2025-04-28 11:13:45 +02:00
rewrite-config.PL Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
rspack.config.js Bug 38010: (QA follow-up) Rebase on main 2025-05-02 17:19:15 +02:00
tsconfig.json
…
yarn.lock Bug 37911: Update yarn.lock 2025-04-28 11:13:46 +02:00

README.md

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo