Go to file
David Cook 6ca685a847 Bug 28735: Self-checkout users can access opac-user.pl for sco user when not using AutoSelfCheckID
This patch makes the sandboxing of the selfcheckout more robust by
adding a "sco_user" session variable which is turned on when
logging into the self-checkout (either by AutoSelfCheckAllowed or manually).

If a user with this session variable turned on tries to access
other parts of the system (like the rest of the OPAC), it will
"kick out", so that the browser user will lose the authenticated session.

Test plan:
1) Apply the patch
2) koha-plack --restart kohadev
3) Go to http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
4) Note that you are logged into the self-checkout
     So you see the login screen specific to the self-checkout.
     To log with the actual patron. It's a nested auth.
5) Go to http://localhost:8080/cgi-bin/koha/opac-main.pl
6) Note that you are not logged into the OPAC
7) Log into the staff interface and disable the
system preference AutoSelfCheckAllowed
8) Log out of the staff interface (this step is very important)
9) Go to http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
10) Note that you are prompted to log into Koha
11) Login using the "koha" user (when using koha-testing-docker)
12) Note that you are logged into the self-checkout
13) Go to http://localhost:8080/cgi-bin/koha/opac-main.pl
14) Note that you are not logged into the OPAC
      Without the patch you would still be logged as "koha"
15) Go back to http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
16) Note that you will need to log in again as you've lost your
session cookie
      Without the patch you will still be logged in the self-checkout
Voila!

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 6d022889a2)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
(cherry picked from commit 197dd5672abd3e7d72a4f212b75775be5f2b1c31)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
2022-01-26 17:12:08 +00:00
C4 Bug 28735: Self-checkout users can access opac-user.pl for sco user when not using AutoSelfCheckID 2022-01-26 17:12:08 +00:00
Koha Bug 29543: Add JWT token handling 2022-01-25 20:59:54 +00:00
acqui Bug 29283: (QA follow-up) Remove code duplication 2021-11-05 08:37:06 -04:00
admin Bug 29436: ES mappings not saved if zebra is configured 2022-01-10 15:05:23 +00:00
api Bug 29018: Make DELETE /patrons/:patron_id check things 2022-01-10 22:04:58 +00:00
authorities Bug 28160: Values from 150$a aren't prefilled in z39.50 search form from an existing authority record 2021-05-10 15:52:53 +02:00
basket Bug 27268: (QA follow-up) Add Koha::Biblios to basket scripts 2021-03-09 17:20:47 +01:00
bin Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
catalogue Bug 28847: Move SearchLimitLibrary code to QueryBuilder Modules 2021-11-22 13:37:19 -05:00
cataloguing Bug 29789: Remove unused $error from cataloguing/additem.pl 2022-01-21 17:45:48 +00:00
circ Bug 28581: Use 'from_email_address' where appropriate 2021-07-09 09:05:48 -04:00
clubs Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
course_reserves Bug 25898: Fix new occurrences 2020-10-15 13:56:41 +02:00
debian Bug 28749: Restore the database name to Koha dumps 2021-08-06 07:46:44 -04:00
docs Bug 28904: Fix typo and display 2021-11-05 11:59:36 -04:00
errors Bug 26048: Use ErrorDocument middleware for Plack HTTP errors 2021-01-27 10:30:43 +01:00
etc Bug 28620: Remove trailing space when logging with log4perl 2021-07-30 10:32:28 -04:00
ill Bug 22818: Add generation and sending of notices 2020-11-11 08:35:10 +01:00
installer DBRev 21.05.08.002 2022-01-25 17:06:48 +00:00
koha-tmpl Bug 29543: Set autocomplete off for SCO login fields 2022-01-25 21:02:32 +00:00
labels Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
lib/CGI/Session/Serialize Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-18 11:23:42 -04:00
members Bug 29457: Pass context borrowernumber 2022-01-10 14:29:33 +00:00
misc Bug 29381: Prevent sending of automatic renewal messages on every cron run 2022-01-03 16:01:10 +00:00
offline_circ Bug 29255: Built-in offline circulation broken with SQL error 2021-11-19 10:51:05 -05:00
opac Bug 29543: Prevent user to checkin or renew items they don't own 2022-01-25 21:00:18 +00:00
patron_lists Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
patroncards Bug 23271: Replace search_limited with search_with_library_limits 2021-04-21 15:25:07 +02:00
plugins Bug 24633: Add support for gitlab searching of plugins 2020-11-06 15:55:17 +01:00
pos Bug 28481: (RM follow-up) formatting 2021-12-17 21:22:24 +00:00
reports Bug 28216: Fix vendor list group by in serials statistics wizard 2021-12-17 20:55:03 +00:00
reserve Bug 29736: Restore searching 2022-01-25 17:53:41 +00:00
reviews Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
rotating_collections Bug 26618: (QA follow-up) Fix unit test for TranferCollection change 2021-03-03 15:36:13 +01:00
serials Bug 23243: Adjust previous patch 2021-04-21 15:25:07 +02:00
services Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
skel
…
suggestion Bug 28946: (bug 23271 follow-up) Missing occurrence in add_user_search.pl 2021-10-01 13:26:38 -04:00
svc Bug 29056: Remove the demo functionality leftovers 2021-10-08 08:01:56 -04:00
t Bug 29543: Add JWT token handling 2022-01-25 20:59:54 +00:00
tags
…
tmp/modified_authorities
…
tools Bug 9565: Use Koha::Biblio 2021-12-21 13:34:51 +00:00
virtualshelves Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
xt Bug 28370: Rewrite tests 2021-05-25 09:28:18 +02:00
.editorconfig
…
.eslintrc.json
…
.gitignore
…
.htaccess
…
.mailmap Bug 28386: Disambiguate Tomas and Blou 2021-05-26 12:30:59 +02:00
.perlcriticrc Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
.scss-lint.yml
…
INSTALL Bug 26617: Update INSTALL file to include koha-testing-docker and Gitlab links 2020-10-15 12:56:30 +02:00
Koha.pm DBRev 21.05.08.002 2022-01-25 17:06:48 +00:00
LICENSE
…
MANIFEST.SKIP
…
Makefile.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-18 11:23:42 -04:00
README
…
README.md Bug 27092: Remove note about "synced repo" from README.md 2020-11-25 16:31:58 +01:00
README.robots
…
about.pl Bug 28870: Move email address validation to a specific class method 2021-11-15 07:21:49 -05:00
app.psgi Bug 20582: Fix PSGI file when behind a reverse proxy 2020-10-06 12:00:04 +02:00
changelanguage.pl Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
cpanfile Bug 29543: Add Mojo::JWT dependency 2022-01-25 21:02:19 +00:00
fix-perl-path.PL
…
gulpfile.js Bug 27072: Don't process staff interface CSS with rtlcss 2020-11-24 21:27:59 +01:00
help.pl Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
koha_perl_deps.pl
…
kohaversion.pl Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
mainpage.pl Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
package.json Bug 27939: Update yarn.lock file 2021-03-16 12:04:06 +01:00
rewrite-config.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-18 11:23:42 -04:00
yarn.lock Bug 27939: Update yarn.lock file 2021-03-16 12:04:06 +01: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