Project

General

Profile

Actions

Bug #5145

closed

ValidatorConfig: checker - conflict between spec and implementation

Added by Junxiao Shi about 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Security
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
2.00 h

Description

ValidatorConfig specification states:

A rule must have at least one checker property.
A packet is treated as valid if it can pass at least one of the checkers and as invalid when it cannot pass any checkers.

Rule::check function implementation is:

  for (const auto& checker : m_checkers) {
    bool result = checker->check(pktType, pktName, klName, state);
    if (!result) {
      return result;
    }
    hasPendingResult = true;
  }

If a rule has multiple checkers and a packet would pass some but not all checkers:

  • According to the current specification, the packet should be treated as valid.
  • According to the current implementation, the packet would be treated as invalid.

Either the specification or the implementation must be updated to match the other.

Actions #1

Updated by Junxiao Shi about 3 years ago

  • Tags set to security
  • Assignee set to Junxiao Shi

20210212 NFD call decides to update the implementation to match the current spec.

Actions #2

Updated by Davide Pesavento about 3 years ago

  • Tags changed from security to security, ValidatorConfig
Actions #3

Updated by Junxiao Shi about 3 years ago

  • Status changed from New to In Progress
Actions #4

Updated by Junxiao Shi about 3 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 60
Actions #5

Updated by Alex Afanasyev about 3 years ago

  • Status changed from Code review to Closed
  • % Done changed from 60 to 100
Actions #6

Updated by Junxiao Shi about 3 years ago

  • Description updated (diff)
Actions

Also available in: Atom PDF