Do not allow parameter 255 to be registered 99/80999/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 14 Mar 2019 15:15:11 +0000 (16:15 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 19 Mar 2019 13:51:51 +0000 (14:51 +0100)
Codepoint 255 is claimed by draft-ietf-idr-ext-opt-param and needs
special treatment. Do not allow it to be registered.

Change-Id: I0cdd8f95569ce1b48796c4552b2c90379aa34873
JIRA: BGPCEP-868
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 277c1c45836ad69d70b33e27a376bfea7312dd6e)

bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/pojo/SimpleParameterRegistry.java

index ac84dc98e898bf1ab5f578fc0e60d2879e182461..5d1f14e4f434241ecef1b206718b4829d8b12d2d 100644 (file)
@@ -23,7 +23,8 @@ final class SimpleParameterRegistry implements ParameterRegistry {
     private final HandlerRegistry<DataContainer, ParameterParser, ParameterSerializer> handlers = new HandlerRegistry<>();
 
     AutoCloseable registerParameterParser(final int messageType, final ParameterParser parser) {
-        Preconditions.checkArgument(messageType >= 0 && messageType <= Values.UNSIGNED_BYTE_MAX_VALUE);
+        // 255 is explicitly excluded because it is handled in OPEN message parser
+        Preconditions.checkArgument(messageType >= 0 && messageType < Values.UNSIGNED_BYTE_MAX_VALUE);
         return this.handlers.registerParser(messageType, parser);
     }