Project

General

Profile

Bug #5145

ValidatorConfig: checker - conflict between spec and implementation

Added by Junxiao Shi 8 months ago. Updated 6 months 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.

#1

Updated by Junxiao Shi 7 months ago

  • Tags set to security
  • Assignee set to Junxiao Shi

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

#2

Updated by Davide Pesavento 7 months ago

  • Tags changed from security to security, ValidatorConfig
#3

Updated by Junxiao Shi 7 months ago

  • Status changed from New to In Progress
#4

Updated by Junxiao Shi 7 months ago

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

Updated by Alex Afanasyev 6 months ago

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

Updated by Junxiao Shi 6 months ago

  • Description updated (diff)

Also available in: Atom PDF