Feature #4448
closedServe other routers' certificates
100%
Description
This feature is useful in the case where the certificates required to validate a data packet is not found in the content store. Routers serve other router's LSA, so if the certificate is not present in the server routers content store, the client router will not be able to validate the data. So the server router also need to serve the certificates needed to validate the data packet.
However, when a router is serving other routers' LSA, it needs to send the original data packet that contains the origin router's signature.
So the task can be divided into two parts:
(1) Serving original LSA data packet.
(2) Serving certificates.
Part (1) can be achieved by storing the original LSA data packet when a router gets them from its neighbors. NLSR uses SegmentFetcher to fetch the LSA data, so it needs to connect to the signal emitted by SegmentFetcher when it fetches a data segment. Then NLSR can store the fetched data segment packet whenever there is a signal.
Part (2) can be done by storing the certificate in NLSR's own certificate store.