<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-text-flowed" style="font-family: -moz-fixed;
      font-size: 12px;" lang="x-unicode">Patch Package:           OTP
      17.5.6.3
      <br>
      Git Tag:                 OTP-17.5.6.3
      <br>
      Date:                    2015-08-13
      <br>
      Trouble Report Id:       OTP-12871, OTP-12879, OTP-12891,
      OTP-12902,
      <br>
                               OTP-12912, OTP-12929, OTP-12930
      <br>
      Seq num:
      <br>
      System:                  OTP
      <br>
      Release:                 17
      <br>
      Application:             diameter-1.9.2.1
      <br>
      Predecessor:             OTP 17.5.6.2
      <br>
      <br>
       Check out the git tag OTP-17.5.6.3, and build a full OTP system
      <br>
       including documentation. Apply one or more applications from this
      <br>
       build as patches to your installation using the 'otp_patch_apply'
      <br>
       tool. For information on install requirements, see descriptions
      for
      <br>
       each application version below.
      <br>
      <br>
 ---------------------------------------------------------------------
      <br>
       --- diameter-1.9.2.1
      ------------------------------------------------
      <br>
 ---------------------------------------------------------------------
      <br>
      <br>
       The diameter-1.9.2.1 application can be applied independently of
      <br>
       other applications on a full OTP 17 installation.
      <br>
      <br>
       --- Fixed Bugs and Malfunctions ---
      <br>
      <br>
        OTP-12871    Application(s): diameter
      <br>
      <br>
                     Don't report 5005 (DIAMETER_AVP_MISSING) errors
      <br>
                     unnecessarily.
      <br>
      <br>
                     An AVP whose decode failed was reported as missing,
      <br>
                     despite having been reported with another error as
      a
      <br>
                     consequence of the failure.
      <br>
      <br>
      <br>
        OTP-12879    Application(s): diameter
      <br>
                     Related Id(s): OTP-12475
      <br>
      <br>
                     Fix relay encode of nested, Grouped AVPs.
      <br>
      <br>
                     A fault in OTP-12475 caused encode to fail if the
      first
      <br>
                     AVP in a Grouped AVP was itself Grouped.
      <br>
      <br>
      <br>
        OTP-12891    Application(s): diameter
      <br>
      <br>
                     Improve decode performance.
      <br>
      <br>
                     The time required to decode a message increased
      <br>
                     quadratically with the number of AVPs in the worst
      <br>
                     case, leading to extremely long execution times.
      <br>
      <br>
      <br>
        OTP-12902    Application(s): diameter
      <br>
      <br>
                     Match acceptable peer addresses case insensitively.
      <br>
      <br>
                     Regular expressions passed in an 'accept' tuple to
      <br>
                     diameter_tcp or diameter_sctp inappropriately
      matched
      <br>
                     case.
      <br>
      <br>
      <br>
        OTP-12912    Application(s): diameter
      <br>
      <br>
                     Improve watchdog and statistics performance.
      <br>
      <br>
                     Inefficient use of timers contributed to poor
      <br>
                     performance at high load, as did ordering of the
      table
      <br>
                     statistics are written to.
      <br>
      <br>
      <br>
        OTP-12929    Application(s): diameter
      <br>
      <br>
                     Fix start order of alternate transports.
      <br>
      <br>
                     A transport configured with
      diameter:add_transport/2
      <br>
                     can be passed multiple
      <br>
                     transport_module/transport_config tuples in order
      to
      <br>
                     specify alternate configuration, modules being
      <br>
                     attempted in order until one succeeds. This is
      <br>
                     primarily for the connecting case; for example, to
      <br>
                     allow a transport to be configured to first attempt
      <br>
                     connection over SCTP, and then TCP in case SCTP
      fails.
      <br>
                     Multiple module tuples can be paired with a single
      <br>
                     config tuple, but in this case the start order was
      <br>
                     reversed relative to the order in which the modules
      <br>
                     were specifed.
      <br>
      <br>
      <br>
        OTP-12930    Application(s): diameter
      <br>
      <br>
                     Fix decode of Grouped AVPs containing errors.
      <br>
      <br>
                     RFC 6733 says this of Failed-AVP in 7.5:
      <br>
      <br>
                     -- In the case where the offending AVP is embedded
      <br>
                     within a Grouped AVP, the Failed-AVP MAY contain
      the
      <br>
                     grouped AVP, which in turn contains the single
      <br>
                     offending AVP. The same method MAY be employed if
      the
      <br>
                     grouped AVP itself is embedded in yet another
      grouped
      <br>
                     AVP and so on. In this case, the Failed-AVP MAY
      contain
      <br>
                     the grouped AVP hierarchy up to the single
      offending
      <br>
                     AVP. This enables the recipient to detect the
      location
      <br>
                     of the offending AVP when embedded in a group.
      <br>
      <br>
                     It says this of DIAMETER_INVALID_AVP_LENGTH in
      7.1.5:
      <br>
      <br>
                     -- The request contained an AVP with an invalid
      length.
      <br>
                     A Diameter message indicating this error MUST
      include
      <br>
                     the offending AVPs within a Failed-AVP AVP. In
      cases
      <br>
                     where the erroneous AVP length value exceeds the
      <br>
                     message length or is less than the minimum AVP
      header
      <br>
                     length, it is sufficient to include the offending
      AVP
      <br>
                     header and a zero filled payload of the minimum
      <br>
                     required length for the payloads data type. If the
      AVP
      <br>
                     is a Grouped AVP, the Grouped AVP header with an
      empty
      <br>
                     payload would be sufficient to indicate the
      offending
      <br>
                     AVP. In the case where the offending AVP header
      cannot
      <br>
                     be fully decoded when the AVP length is less than
      the
      <br>
                     minimum AVP header length, it is sufficient to
      include
      <br>
                     an offending AVP header that is formulated by
      padding
      <br>
                     the incomplete AVP header with zero up to the
      minimum
      <br>
                     AVP header length.
      <br>
      <br>
                     The AVPs placed in the errors field of a
      <br>
                     diameter_packet record are intended to be
      appropriate
      <br>
                     for inclusion in a Failed-AVP, but neither of the
      above
      <br>
                     paragraphs has been followed in the Grouped case:
      the
      <br>
                     entire faulty AVP (non-faulty components and all)
      has
      <br>
                     been included. This made it difficult to identify
      the
      <br>
                     actual faulty AVP in all but simple cases.
      <br>
      <br>
                     The decode is now adapted to the RFC, and
      implements
      <br>
                     the suggested single faulty AVP, nested in as many
      <br>
                     Grouped containers as required.
      <br>
      <br>
      <br>
       Full runtime dependencies of diameter-1.9.2.1: erts-6.0,
      kernel-3.0,
      <br>
       ssl-5.3.4, stdlib-2.0
      <br>
      <br>
      <br>
      <br>
    </div>
  </body>
</html>