Bugzilla – Attachment 166235 Details for
Bug 36794
Illegitimate modification of biblionumber subfield content (999 $c)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 36794: Bug 36794 - Illegitimate modification of biblionumber subfield content (999 $c)
Bug-36794-Bug-36794---Illegitimate-modification-of.patch (text/plain), 3.17 KB, created by
Roman Dolny
on 2024-05-06 16:04:36 UTC
(
hide
)
Description:
Bug 36794: Bug 36794 - Illegitimate modification of biblionumber subfield content (999 $c)
Filename:
MIME Type:
Creator:
Roman Dolny
Created:
2024-05-06 16:04:36 UTC
Size:
3.17 KB
patch
obsolete
>From d9ce3364fbd7b37949d1148e10063572eb7ebd81 Mon Sep 17 00:00:00 2001 >From: Janusz Kaczmarek <januszop@gmail.com> >Date: Mon, 6 May 2024 13:24:10 +0000 >Subject: [PATCH] Bug 36794: Bug 36794 - Illegitimate modification of > biblionumber subfield content (999 $c) > >It happens that librarians, by mistake, open a biblio editor putting in the >URL, by hand, the biblionumber prefixed with a blank (e.g. >.../addbiblio.pl?biblionumber= 123 -- mind the space before 123). >In such a case the editor opens with the right biblio record (i.e. 123) >but, after saving the record, the content of the biblionumber MARC >field (999 $c for a standard MARC 21 installation) results modified and >contains additional initial blanks. > >Moreover, while using ES and making a search for the record (with title, >author etc.) we get two records on the result list (instead of one). > >This is because in the addbiblio.pl script $biblionumber is taken (and >continuously used) directly from CGI parameter, without any >validation and/or correction. > >Test plan: >========== >0. Have a test installation with ES. >1. Open a biblio record in the editor with an added space before > biblionumber value, e.g.: > http://ktd:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber= 123 > Save the record. >2. From the Normal view choose Save -> MARCXML. Open the saved file in > your favourite editor. You should see, at the end, something like: > <datafield tag="999" ind1=" " ind2=" "> > <subfield code="c"> 123</subfield> > (mind the space before 123). > This is not right. >3. Make a search with the title or author's name from the record (e.g. > Henning Mankell for the record 123 from the default ktd data set). > You should get two records instead of one (while using ES). >4. Apply the patch, restart_all. Repeat p. 1 and 2 with a different > biblionumber. Notice the unchanged (i.e. without spaces) value > of 999 $c subfield in the exported record and only one record > as a result of a search. > >Sponsored-by: Ignatianum University in Cracow >Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> >--- > Koha/UI/Form/Builder/Biblio.pm | 3 ++- > cataloguing/addbiblio.pl | 2 ++ > 2 files changed, 4 insertions(+), 1 deletion(-) > >diff --git a/Koha/UI/Form/Builder/Biblio.pm b/Koha/UI/Form/Builder/Biblio.pm >index 340b27b27d..7db64573b6 100644 >--- a/Koha/UI/Form/Builder/Biblio.pm >+++ b/Koha/UI/Form/Builder/Biblio.pm >@@ -49,7 +49,8 @@ sub new { > my ( $class, $params ) = @_; > > my $self = {}; >- $self->{biblionumber} = $params->{biblionumber}; >+ $self->{biblionumber} = $params->{biblionumber} =~ s/\D//gr >+ ; # just in case biblionumber obtained from CGI and passed direcly here contains a weird characters like space > > bless $self, $class; > return $self; >diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl >index 3d92cdad1f..fb47b60668 100755 >--- a/cataloguing/addbiblio.pl >+++ b/cataloguing/addbiblio.pl >@@ -546,6 +546,8 @@ my $biblio; > if ($biblionumber) { > > $biblio = Koha::Biblios->find($biblionumber); >+ $biblionumber = >+ $biblio->biblionumber; # just in case $biblionumber obtained from CGI contains a weird characters like space > > unless ($biblio) { > $biblionumber = undef; >-- >2.39.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 36794
:
166224
|
166235
|
166236
|
166587
|
166619