-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
check command violates data immutability principle #60
Comments
This issue is the same as #39 . @JonnyKong reverted the commit in an attempt to solve #46 , so that the problem came back. |
I think the problem does not apply to the current code because the check Interest is signed now. |
This is NOT solved, so please reopen. Specification - Check says nothing about "signed". The code added ApplicationParameters but it's not signed. ndn-python-repo/ndn_python_repo/clients/command_checker.py Lines 67 to 68 in 3500588
|
It is signed. Every Interest with an AppParam in python ndn is signed. Python-ndn's App does not give a nonce or timestamp to the SignatureInfo for now, but It's a different problem. |
This is very surprising behavior and it essentially means it's impossible to create a parameterized but not signed Interest.
Then the original problem is NOT solved, because neither ApplicationParameters nor SignatureInfo contains any random element, and the signing algorithm is not guaranteed to be non-deterministic. Moreover, documentation must be updated. |
There are multiple ways depending on the need:
OK. Let me reopen the issue. Ref: named-data/python-ndn#46.
I have updated the Specification page, but have no time to handle the rest. |
This is the page I'm referring to. When using signed Interests, application protocol must define:
|
Hi, how to solve this problem? I cannot use ndnts-repo to communicate with python-ndn-repo. |
NDNts @ndn/repo-external package can communicate with ndn-python-repo version 0.2a5, which does not suffer from this protocol design flaw. NDNts is unable to support more recent versions of ndn-python-repo due to the design flaw indicated in the top post of this issue. As soon as ndn-python-repo design updates their protocol documentation and implementation that resolves this design flaw, I will update NDNts to support the newer version. |
Resolved in dda1dce . I have re-enabled ndn-python-repo client in NDNts |
According to NDN Protocol Design Principle:
However,
CommandChecker._check
function is repeatedly sending an Interest with the same name and CanBePrefix=false, expecting to receive a different answer.This implies that this protocol depends on Data that is not immutable.
ndn-python-repo/ndn_python_repo/clients/command_checker.py
Lines 69 to 70 in 9f43741
The text was updated successfully, but these errors were encountered: