CVSROOT: /cvs Module name: src Changes by: ren...@cvs.openbsd.org 2016/06/08 15:28:09
Modified files: usr.sbin/ldpd : init.c Log message: Add one more safety check for Initialization messages. RFC 5036 says the following about the "Receiver LDP Identifier" field: "Identifies the receiver's label space. This LDP Identifier, together with the sender's LDP Identifier in the PDU header, enables the receiver to match the Initialization message with one of its Hello adjacencies; If there is no matching Hello adjacency, the LSR MUST send a Session Rejected/No Hello Notification message in response to the Initialization message and not establish the session". This is one more case of LDP being more complex than what it should have been. Since LDP support MPLS label spaces (for ATM and FR), just the sender's LSR-ID in the PDU header is not enough for identifying an Hello adjacency. We also need the receiver's label space, and that's what this field gives us. In fact, this field contains the full receiver's LSR-ID, but the IP part doesn't really matter. Since we don't support label spaces (and never will), we were happily ignoring this field. This patch changes this to fix some errors with ANVL. Fixes the following ANVL LDP tests: 6.5, 6.6 and 6.11.