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
Configuration blocks in spthy files and a new default oraclename #512
Conversation
Co-authored-by: Nick Moore <nicholas.moore@cs.ox.ac.uk>
Thanks! Two questions: Q: Would it be possible to break this PR into two? It seems there are two very different things going on. Q: Does this mean that if a user has an oracle with the old name, and updates Tamarin to develop, their current setup stops working? |
Hi,
Q1: Yes. The two ideas are disjoint, and so is their code.
Q2: It only affects users that rely on the default oraclename being "oracle" (the old default). But "oracle" was the default oraclename for a long time, so a form of backward compatibility makes sense. |
Well, there is a connection and I think a good reason for the two to be in the same PR. The goal of this PR is to transfer the information about how to properly call the theory into the Doing this raises the question how to specify which oracle script to use. We discussed the security implications of letting the
This is for setups outside our repository, right? Yes, I think falling back to |
I think that it is easy to implement. It's just one additional "does the file exist?" check, and this is easily done in Haskell. |
Awesome, feel free to go ahead with that, then. |
Yes, that would be great. We should try to ensure backwards compatibility
where possible.
…On Mon, Nov 28, 2022 at 8:51 AM rkunnema ***@***.***> wrote:
Awesome, feel free to go ahead with that, then.
—
Reply to this email directly, view it on GitHub
<#512 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AALJWOHACD56PUTA5IM2RUDWKRP6VANCNFSM6AAAAAASKUBHDM>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
- adapted heuristic code to the tactic code - added backup default oracle code - improved the default oraclename code - adapted the terminal and Web client outputs - fixed bugs w.r.t. oracle name workdir and printed output
1832c1c adds the backward requested compatability feature. The checks pass. @kevinmorio will write the documentation in the manual. Once that PR is ready, I will hit merge on both. (So let me know if you have objections.) |
Would it be possible to also adapt |
This updates the syntax in reference to tamarin-prover/tamarin-prover#512.
The PR for the manual: tamarin-prover/manual#118. |
@yavivanov my quick and dirty merge failed, I will need your help there. |
I'm looking into it 👍🏻 |
The above commit fixes the errors. |
Thanks @yavivanov ! I think we are good to merge now. I'll wait until end of the week in case somebody has another request. |
…arin-prover#512) * support for config blocks + new default oraclename Co-authored-by: Nick Moore <nicholas.moore@cs.ox.ac.uk> * set backup default oracle to ./oracle - adapted heuristic code to the tactic code - added backup default oracle code - improved the default oraclename code - adapted the terminal and Web client outputs - fixed bugs w.r.t. oracle name workdir and printed output * added configblock comparison to regressionTests.py * fixed errors resulting from the merge --------- Co-authored-by: Nick Moore <nicholas.moore@cs.ox.ac.uk> Co-authored-by: rkunnema <robert.kuennemann@cispa.de>
This updates the syntax in reference to tamarin-prover/tamarin-prover#512.
This updates the syntax in reference to tamarin-prover#512.
Hi!
This PR introduces two new features.
Configuration blocks in spthy files. It adapts the approach from PR Request for comments: configuration within spthy #220 to the newest Tamarin version and, in particular, the refactored Parser and the new TheoryLoader. The parsing approach itself is due to @kelnage. I implemented the configuration block as a new TheoryItem, so that it fits better with all other parts of a theory (e.g. this eases printing it).
The default oraclename is changed to theory_filename.oracle. This is achieved by saving the filename of the theory in a field of the parsed theory. In this way, it can be used later to create the default oraclename (if the default oracle is needed).
The PR also adds two new regression tests (one for each feature).
I added them to the Makefile and the python script. Note that I added them to the fast examples (because they only need a fraction of a second each). The configuration block test is, additionally, a part of the feature tests.
Of course, the PR passes the regression tests.