Commit Graph

62 Commits

Author SHA1 Message Date
Cas Cremers
d56c2cafe6 Get rid of gcc __inline__ keywords.
Just let the compiler sort it out.
2019-01-04 14:15:38 +01:00
Cas Cremers
c256afc7ca Complex multiple interacting trampolines removal. 2018-11-05 14:43:00 +01:00
Cas Cremers
cdda26f21f Removed another trampoline; one of the type where omitting function argument types reduces warnings. Ouch. 2018-11-04 23:24:56 +01:00
Cas Cremers
92c5b0bedc Removed term_iterate_leaves. 2018-10-31 23:48:45 +01:00
Cas Cremers
fe1be9b3f0 Removing term_iterate_deVar, which is now obsolete. 2018-10-31 23:41:09 +01:00
Cas Cremers
a373667c23 Further underspecifying pointers helps to avoid warnings.
Alright, all checks now officially disabled :-(
2018-10-22 04:25:19 +02:00
Cas Cremers
ce719465fe Minor cleanup. 2018-10-22 03:47:44 +02:00
Cas Cremers
85dbd20869 Stateful version of term leaves iterator. 2018-10-22 03:24:47 +02:00
Cas Cremers
fb3b13f4e3 Created initial stateful version of deVar iteration. 2018-10-22 03:18:52 +02:00
Cas Cremers
d06247fcfe Updating time stamps for next release. 2013-10-05 23:56:12 +01:00
Cas Cremers
7658644295 Rati Gelashvili reported a rare but annoying bug in the hash function handling.
The fix requires a significant reworking of the function handling. This
is a first attempt.

Conflicts:
	src/knowledge.c
	src/knowledge.h

Regression test suggests that the Hashfunction fix works.
2013-04-26 14:47:27 +02:00
Cas Cremers
1cbe9826ac Updated dates. 2012-04-24 13:56:51 +02:00
Cas Cremers
a03f06ea41 BUGFIX: Auto-claim naming scheme was context dependent.
The automatic mechanism to assign labels to claims was dependent on the
context. In practice, a claim could get a different label when analyzed in
isolation compared to when analyzed in parallel with some other protocols. This
caused problems for the multi-protocol analysis.
2011-01-27 14:12:51 +01:00
Cas Cremers
7d584cca1e Added GPL 2 License to the C sources.
A first step towards releasing Scyther completely to the public.
2007-06-11 14:01:04 +02:00
ccremers
91b52f6b4a - Removed more dead code, improved scantags.py 2007-01-27 11:07:45 +00:00
ccremers
256ec24d87 - Removed some dead code by using scantags.py 2007-01-27 10:33:15 +00:00
ccremers
179cc9e3be - Added unused function, to test programs for that later. 2007-01-06 18:44:04 +00:00
ccremers
0fddd9f566 - Some fixes after pedantic tests. What remains: (a) C++ style comments (//) and (b) nested functions. 2007-01-06 18:01:36 +00:00
ccremers
89c3a20acf - Many cleanups to make -Wall happy. Next up is pedantic... 2007-01-06 14:45:29 +00:00
ccremers
8d66dc48fd - Fixed intruder generated value displays. 2006-12-05 10:10:17 +00:00
ccremers
6a74883adf - Restricted the syntax somewhat, to avoid people typing crap.
(Cf. Golsteijn)
2006-05-16 15:00:21 +00:00
ccremers
1ce03104c5 Major:
- Added rho/sigma/constants fields to the runs, on which the new code is
  based. Over time, .locals should be deprecated in favour of these
  better variants.
- Untyped variant is out of grace for the time being (cf. Athena interm
  problems)
- Improved graph output further.

Minor:
- Added TERMLISTADD and APPEND macros for more concise code.
2006-03-15 21:30:19 +00:00
ccremers
895852de89 - Added iterators.
- More space in encryption notation for better readability.
2006-03-10 14:48:40 +00:00
ccremers
2280187b32 - Improved dot class output. 2006-03-08 15:12:58 +00:00
ccremers
5487d3ae90 - From this version onwards, Scyther no longer supports the modelchecker
method. A big cleanup has been started, but is not finished yet, so
  minor artefacts might still remain. These are to be cleaned up later.
2006-03-08 13:58:46 +00:00
ccremers
1678577ce0 - Improved proof reports.
- Minor (epsilon type) efficiency improvement.
2006-03-05 15:18:39 +00:00
ccremers
00616e45ed - Bit masking was incorrect: & binds less strong than == !
This caused many of the --experimental switches not to work.
2006-02-28 13:41:36 +00:00
ccremers
cf832ca1b1 - Seems to work again, but further testing is needed. 2006-02-27 22:27:09 +00:00
ccremers
b49d13b6ee - [[[ Broken commit. ]]]
Stuff seems to be working again, slightly less efficient though (count
  states).
2006-02-27 16:08:17 +00:00
ccremers
5d2d836d07 - Much work for the skeleton of the Hidelevel lemma. 2006-02-21 20:29:05 +00:00
ccremers
bb7259a1ad - Removed some too interesting pruning methods that really need theorems
first. Revealed by the certified e-mail protocol by Abadi and
  Blanchet.
2006-01-17 16:18:26 +00:00
ccremers
da75862d82 - Huge code documentation effort. 2006-01-02 21:06:08 +00:00
ccremers
e6505a72a3 - Further refactoring.
- Some cleanup.
2006-01-02 19:55:34 +00:00
ccremers
0505aaacd6 - New claim: CLAIM_Reachable
- Added new switches:
  -G,--generate-statespace
  -C,--generate-claims
- Claims are now allowed to have no label (they will be generated
  automatically)
- Output summary shows parameter of claims
- Internally, new symbols can now be generated by
  symbolNextFree(prefixsymbol)
2005-12-28 11:50:17 +00:00
ccremers
41132afea3 - Finally fixed the 'IV', 'RV' nuissance for global variables such as
the role names.
2005-11-12 21:16:02 +00:00
ccremers
76666404b0 - Added '--concrete' switch to fill in to pick readable names for
variables.
2005-11-12 21:13:00 +00:00
ccremers
cee11bc0af - Extra checks:
* For incomplete protocols, better handling of dangling labels.
  * For termSubTerm better handling of NULL cases.
2005-08-11 12:56:36 +00:00
ccremers
b6e9841c0f - Moved special terms into their own (very) special file. 2005-06-16 14:10:07 +00:00
ccremers
f22ce0dcb9 - Big change in the Arachne algorithm: decryptor sequences now get
expanded explicitly. This solves a long-standing issue with {k}k
  decryption to yield k. Needs some testing to ensure that it did not
  introduce any new errors.
2005-05-17 18:45:01 +00:00
ccremers
9271cc7624 - Matching method propagation was wrong in new switch code.
- Some fixes for protocols that do not include matching send/read
  combo's. In particular, the max encryption level method ranged over
  the sends; now over all events. Maybe it can range over read events
  only?
2005-04-18 05:51:25 +00:00
ccremers
54ccd5179e - Added a new selector that picks goals that are local variables. 2004-12-29 16:05:32 +00:00
ccremers
506e42f841 - Re-indented the files. 2004-11-16 12:07:55 +00:00
ccremers
a38925c9c2 - Added some useful macros to term.h to address subparts (e.g.
TermOp1(t)). Renamed all uses.
2004-11-16 12:06:36 +00:00
ccremers
b6af2f9dac - First try for diff function. 2004-11-01 14:06:26 +00:00
ccremers
0de3320009 - Fixed a memory leak in termLocal. This did not cause any problems for
the modelchecker, as it calls it only once, but it caused major
  problems for the arachne engine, which creates and destroys semiruns
  all the time.
2004-10-12 15:12:20 +00:00
ccremers
8f441ac913 - Fixed some minor issues.
- Fixed type flaw in labellist type.
2004-08-30 20:08:11 +00:00
ccremers
08f2155527 - Denoting 'empty term' with '*' from now on, yields more compact
output.
2004-08-28 14:00:22 +00:00
ccremers
d58fc5ab43 - Made the label naming unique, by adding tuple info with the protocol
name. Now, we can simply test multiple protocol names by
  concatenation.
- Removed the pointer equality leaf hypothesis, as it didn't hold
  anymore.
2004-08-27 10:08:03 +00:00
ccremers
7d0be35658 - Bugfix: term output now correctly displays local constants of a run
before it is bound.
2004-08-23 13:46:48 +00:00
ccremers
0fc008fe33 - Added keylevels to symbols. This is to help pruning the proofs, for
terms and patterns that do not originate on regular nodes.
2004-08-20 19:16:56 +00:00