Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
0963-megaco-V2-V3-text-parser-IPv6-address-fail...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0963-megaco-V2-V3-text-parser-IPv6-address-failure.patch of Package erlang
From 7e419c9a9e37ffc64c59ae5bdfef98463b7de8ce Mon Sep 17 00:00:00 2001 From: Lars Thorsen <lars@erlang.org> Date: Wed, 26 Aug 2020 14:41:24 +0200 Subject: [PATCH 1/2] [megaco] V2/V3 text parser IPv6 address failure The v2/v3 decoders could handle all kinds of IPv6 addresses. The reason for this was that some of the chars (a and e) in the short form was interpreted as 'AddToken' and 'EventsToken' respectively, which the v2/v3 parsers could not handle. ABNF for the mId (only the IPv6 version): mId = (( domainAddress / domainName ) [":" portNumber]) / mtpAddress / deviceName domainAddress = "[" (IPv4address / IPv6address) "]" IPv6address = hexpart [ ":" IPv4address ] hexpart = hexseq "::" [ hexseq ] / "::" [ hexseq ] / hexseq hexseq = hex4 *( ":" hex4) hex4 = 1*4HEXDIG HEXDIG = ( DIGIT / "A" / "B" / "C" / "D" / "E" / "F" ) DIGIT = %x30-39 ; 0-9 Example: [2409:8050:5005:1243:1011::a] The final 'a' (or 'e') caused it to fail. OTP-16818 --- lib/megaco/src/text/megaco_text_parser_v2.yrl | 2 +- lib/megaco/src/text/megaco_text_parser_v3.yrl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/megaco/src/text/megaco_text_parser_v2.yrl b/lib/megaco/src/text/megaco_text_parser_v2.yrl index f8fe762ee1..6e7a5a8f96 100644 --- a/lib/megaco/src/text/megaco_text_parser_v2.yrl +++ b/lib/megaco/src/text/megaco_text_parser_v2.yrl @@ -1418,7 +1418,7 @@ safeToken2 -> 'EmergencyToken' : '$1' . safeToken2 -> 'EmergencyOffToken' : '$1' . safeToken2 -> 'ErrorToken' : '$1' . %% v2-safeToken2 -> 'EventBufferToken' : '$1' . -%% v2-safeToken2 -> 'EventsToken' : '$1' . +safeToken2 -> 'EventsToken' : '$1' . safeToken2 -> 'FailoverToken' : '$1' . safeToken2 -> 'ForcedToken' : '$1' . safeToken2 -> 'GracefulToken' : '$1' . diff --git a/lib/megaco/src/text/megaco_text_parser_v3.yrl b/lib/megaco/src/text/megaco_text_parser_v3.yrl index 54739af82e..7e382c33da 100644 --- a/lib/megaco/src/text/megaco_text_parser_v3.yrl +++ b/lib/megaco/src/text/megaco_text_parser_v3.yrl @@ -1553,7 +1553,7 @@ value -> safeToken : ensure_value('$1'). safeToken -> safeToken2 : make_safe_token('$1') . safeToken2 -> 'SafeChars' : '$1' . -%% BMK BMK safeToken2 -> 'AddToken' : '$1' . +safeToken2 -> 'AddToken' : '$1' . safeToken2 -> 'AuditToken' : '$1' . safeToken2 -> 'AuditCapToken' : '$1' . safeToken2 -> 'AuditValueToken' : '$1' . @@ -1579,7 +1579,7 @@ safeToken2 -> 'EmbedToken' : '$1' . %% BMK BMK safeToken2 -> 'EmergencyOffToken' : '$1' . safeToken2 -> 'ErrorToken' : '$1' . %% v2-safeToken2 -> 'EventBufferToken' : '$1' . -%% v2-safeToken2 -> 'EventsToken' : '$1' . +safeToken2 -> 'EventsToken' : '$1' . %% v3-safeToken2 -> 'ExternalToken' : '$1' . % v3 safeToken2 -> 'FailoverToken' : '$1' . safeToken2 -> 'ForcedToken' : '$1' . -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor