Wireshark-commits: [Wireshark-commits] master 52b7c89: Z39.50: Implementation of Z39.50 Information

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Fri, 28 Dec 2018 09:28:23 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=52b7c8929a27376fb9965049054b571369e2ff09
Submitter: "Anders Broman <a.broman58@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

52b7c89 by Craig Jackson (cejackson51@xxxxxxxxx):

    Z39.50: Implementation of Z39.50 Information Retrieval protocol
    
    NISO Z39.50 is a protocol used by libraries and library vendors for information retrieval and catalog manipulation. It is defined using ASN.1 using BER encoding. It has an assigned TCP port of 210. This is an initial implementation.
    
    Features:
    - The Z39.50 standard OIDs are defined.
    - The bib-1 attribute set is decoded.
    - The bib-1 diagnostics are decoded.
    - Some OCTET STRINGs which are nearly always printable ASCII are special-cased.
    - The MARC (MAchine Readable Cataloging) format is decoded. Only the MARC21 variant is
      currently handled, but this is one of the most common variants. The most common tags
      are decoded. The MARC dissector is included in the Z39.50 dissector, but the code is
      structured in such away that it could be pulled out.
    
    Todo:
    - Add information to the Wiki about Z39.50.
    
    As part of this work, the definition of isdigit_string() was fixed to avoid const complaints.
    
    Change-Id: I29a7db53375ef8be83738a1ab98707761d878717
    Reviewed-on: https://code.wireshark.org/review/31209
    Petri-Dish: Anders Broman <a.broman58@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  c3e22f0   test: fix import in suite_dissectors/group_asterix.
     add  52b7c89   Z39.50: Implementation of Z39.50 Information Retrieval protocol


Summary of changes:
 docbook/release-notes.asciidoc                     |     1 +
 epan/dissectors/CMakeLists.txt                     |     2 +
 epan/dissectors/asn1/CMakeLists.txt                |     1 +
 .../asn1/{lnpdqp => z3950}/CMakeLists.txt          |     7 +-
 epan/dissectors/asn1/z3950/packet-z3950-template.c |  1639 +++
 epan/dissectors/asn1/z3950/z3950-externals.asn     |  1679 +++
 epan/dissectors/asn1/z3950/z3950-oclc.asn          |    14 +
 epan/dissectors/asn1/z3950/z3950.asn               |   807 ++
 epan/dissectors/asn1/z3950/z3950.cnf               |   278 +
 epan/dissectors/packet-z3950.c                     | 13065 +++++++++++++++++++
 epan/dissectors/packet-z3950.h                     |    24 +
 wsutil/str_util.c                                  |     2 +-
 wsutil/str_util.h                                  |     2 +-
 13 files changed, 17516 insertions(+), 5 deletions(-)
 copy epan/dissectors/asn1/{lnpdqp => z3950}/CMakeLists.txt (86%)
 create mode 100644 epan/dissectors/asn1/z3950/packet-z3950-template.c
 create mode 100644 epan/dissectors/asn1/z3950/z3950-externals.asn
 create mode 100644 epan/dissectors/asn1/z3950/z3950-oclc.asn
 create mode 100644 epan/dissectors/asn1/z3950/z3950.asn
 create mode 100644 epan/dissectors/asn1/z3950/z3950.cnf
 create mode 100644 epan/dissectors/packet-z3950.c
 create mode 100644 epan/dissectors/packet-z3950.h