https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43695

            Bug ID: 43695
           Summary: ISO 18626 agency identifiers are hardcoded to
                    sup_agency_value / req_agency_value
   Initiative type: ---
        Sponsorship ---
            status:
           Product: Koha
           Version: Main
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P5 - low
         Component: ILL
          Assignee: [email protected]
          Reporter: [email protected]
        QA Contact: [email protected]
                CC: [email protected],
                    [email protected], [email protected]
  Target Milestone: ---

Split out of bug 43674 comment #2 at Pedro Amorim's request.

Koha/ILL/ISO18626/Request.pm builds the supplyingAgencyMessage payload with
both agency identifiers hardcoded:

    agencyIdValue => 'sup_agency_value',   # line 352
    agencyIdValue => 'req_agency_value',   # line 359

Impact

The requesting agency cannot tell which library the message came from. Testing
against a third-party implementation, every supplyingAgencyMessage from Koha
arrived with

    supplyingAgencyId = "sup_agency_value"

which matches no configured partner, so there is no way to verify the sender.

This matters more for supplyingAgencyMessage than for the other message types.
ISO 18626 puts requestingAgencyAuthentication in request and
requestingAgencyMessage, but has no equivalent element for
supplyingAgencyMessage — the agency identifier is the only thing in that
message that says who sent it. With it hardcoded, a receiver has two options,
both bad: trust any sender, or fall back to matching the transaction on
requestingAgencyRequestId alone, which is what we had to do.

Suggested fix

The supplying agency identifier is the library's own, so it belongs in
configuration — one value per Koha instance rather than per partner. The
requesting agency identifier is already known per partner: bug 37762 stores
each requesting agency in iso18626_requesting_agencies, which has a `type`
column (DNUCNI/ICOLC/ISIL) but no identifier value column, so that would need
one too.

Note the same defect exists in the out-of-tree plugin, reported separately at
https://github.com/openfifth/koha-ill-iso18626/issues/8 with a patch at
https://github.com/openfifth/koha-ill-iso18626/pull/5. The approach taken there
was:
`requesting_agency_id` / `requesting_agency_id_type` for the library itself,
and
`agency_id` / `agency_id_type` per partner. Core may well want something
different given
it already has iso18626_requesting_agencies, but the shape of the problem is
the same.

How it was found

Interoperability testing between Koha 26.05.02 and a third-party ISO 18626
implementation generated from the official v1.2 XSD. Related: bug 43674
(envelope, patched), bug 43694 (element order), bug 37762 (where the supplying
side was added).

Happy to test a patch for this against the same setup.

-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.
_______________________________________________
Koha-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to