Koha-clms/debian
Jonathan Druart c5304c4d25 Bug 36149: Unset userenv from middleware
The userenv (logged in user's info) are stored in
$C4::Context->context->{activeuser}, which persists in plack worker's
memory.
It's really bad in theory as we are not cleaning it before or after the
HTTP request, but only when set_userenv is called (what we are doing
commonly in C4::Auth::get_template_and_user).
If C4::Context->userenv is called before set_userenv we should get undef,
not the userenv from the previous request!
In practice this should not be a problem, but well... who really knows?

This patch suggests to have a middleware to deal with removing the
userenv at the beginning of each request (maybe it should be after, right? - FIXME).

To test:
1 - Edit /etc/koha/sites/kohadev/koha-conf.xml to set <plack_workers>1</plack_workers>
2 - Edit about.pl  and add a line after: CGI->new:
    warn Data::Dumper::Dumper( C4::Cointext->userenv() );
3 - tail -f /var/log/koha/kohadev/*.log
4 - View about.pl in staff interface, should get a "somethign's wrong" warning
5 - Reload, you get current user info
6 - Open an incognito tab, sign in as a different user and click some stuff
7 - Reload about.pl in other window
8 - You get the opac user info
9 - Apply patch
10 - Edit /etc/koha/sites/kohadev/plack.psgi and add the middleware after "RealIP":
     enable "+Koha::Middleware::UserEnv";
11 - Restart all
12 - Reload about.pl - you get a "Something's wrong" warning
13 - Click things in opac on incognito window
14 - Reload about.pl  - only "Something's wrong" - you no longer see any user info

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Wainui Witika-Park <wainuiwitikapark@catalyst.net.nz>
2024-05-03 14:23:39 +12:00
..
docs Bug 33677: Remove verbose option from koha-worker man 2023-06-15 19:23:03 +00:00
scripts Bug 28493: Make koha-passwd display the username 2023-09-13 20:59:42 +00:00
source Bug 18696: Change debian/source/format to quilt 2018-01-19 15:14:05 -03:00
templates Bug 36149: Unset userenv from middleware 2024-05-03 14:23:39 +12:00
README.build
…
bd-to-depends Bug 20019: use Modern::Perl in misc perl scripts 2018-02-05 09:47:08 -03:00
build-git-snapshot Bug 33629: allow pbuilder to use network via build-git-snapshot 2023-05-15 21:53:24 +00:00
changelog Update debian/changelog file: 22.05.09 2023-02-03 15:01:58 +00:00
compat Bug 18908: Warning "Compatibility levels before 9 are deprecated" 2018-03-19 13:55:47 -03:00
control Bug 35174: update control files for koha-l10n dependency package 2023-11-22 09:42:32 +01:00
control.in Bug 35174: update control files for koha-l10n dependency package 2023-11-22 09:42:32 +01:00
copyright Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
koha-common.README.Debian
…
koha-common.bash-completion Bug 27839: Add tab-completion in bash for koha-worker 2021-04-12 15:27:50 +02:00
koha-common.config
…
koha-common.cron.d Bug 17717: Make cronjobs using koha-foreach use --chdir 2018-03-15 08:22:04 +00:00
koha-common.cron.daily Bug 19532: (QA follow-up) Add the cron jobs to the cron files 2022-03-14 22:45:52 -10:00
koha-common.cron.hourly Bug 23207: Add automatic checkin feature 2021-04-22 11:11:05 +02:00
koha-common.cron.monthly Bug 17717: Make cronjobs using koha-foreach use --chdir 2018-03-15 08:22:04 +00:00
koha-common.default
…
koha-common.dirs Bug 17951: Make koha-create set template_cache_dir correctly 2017-12-22 13:15:39 -03:00
koha-common.docs Bug 21626: (QA follow-up) Embed teams.yaml for debian packages 2019-05-17 14:46:10 +00:00
koha-common.init Bug 27783: Add queue handling in packaging tools 2022-04-13 15:55:40 +02:00
koha-common.install Bug 20410: Remove OpacGroupResults and PazPar2 2021-02-08 16:12:42 +01:00
koha-common.links Bug 22238: Remove koha-*-sip scripts in favor of koha-sip 2019-02-11 18:30:10 +00:00
koha-common.logrotate Bug 19610: Make koha-common.logrotate use copytruncate 2018-02-27 15:58:33 -03:00
koha-common.postinst Bug 32612: (QA follow-up) Remove more unneeded appender lines 2023-02-14 21:50:05 +00:00
koha-common.preinst Bug 25485: Remove tiny_mce symlink during pre install of deb package 2020-05-20 09:15:13 +01:00
koha-common.templates
…
koha-core.bash-completion Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.config Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.default Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.dirs Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.docs Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.init Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.install Bug 20410: Remove OpacGroupResults and PazPar2 2021-02-08 16:12:42 +01:00
koha-core.links Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.logrotate Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.postinst Bug 32612: (QA follow-up) Remove more unneeded appender lines 2023-02-14 21:50:05 +00:00
koha-core.preinst Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-core.templates Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-full.postinst Bug 26672: Add additional koha-core and koha-full files to ./debian 2020-11-25 16:18:03 +01:00
koha-post-install-setup
…
koha.README.Debian
…
koha.apache-ports
…
koha.config
…
koha.dirs
…
koha.install Bug 14302: Remove GRS1 specific code 2018-08-31 11:24:20 +00:00
koha.postinst
…
koha.postrm
…
koha.prerm
…
list-deps Bug 26685: Move starman out of debian/control.in and into cpanfile 2022-03-22 10:17:34 -10:00
rules Bug 33168: (follow-up) Swap spaces for tabs 2023-04-24 17:23:22 +00:00
unavailable.html
…
update-control
…

README.build

In order to build .deb packages, following debian packages need to be present
(installed): 
devscripts
pbuilder
dh-make
fakeroot

As root (or sudo) execute:
pbuilder create

Executing build-git-snapshot without any arguments will leave package and the
rest in some pbuilder dir, eg. /var/cache/pbuilder/result It is highly
recommended that --buildresult option is used.