Commit Graph

840 Commits

Author SHA1 Message Date
ccremers
ec9bf11719 - New semantics for maxattacks 2006-11-23 10:49:28 +00:00
ccremers
d8414daf95 - Fixed bug in new --max-attacks semantics. 2006-11-23 10:40:10 +00:00
ccremers
e28c494a18 - Changes to --max-attacks switch semantics. Maybe it should even be called max-patterns. 2006-11-22 15:15:12 +00:00
ccremers
420ea29fc4 - Note on nested functions. 2006-09-13 06:20:44 +00:00
ccremers
31f1753e4e - Added malloc wrappers for OSX builds. 2006-09-12 16:17:49 +00:00
ccremers
c0f87ce87d - Cross compilation for windows added. 2006-09-08 13:09:14 +00:00
ccremers
b5470aa894 - Fixed some stupid maxAttacks handling. Note that it still needs to
improve (todo list).
2006-08-15 08:16:02 +00:00
ccremers
e4bbd59b6e - Added release information. 2006-08-11 17:15:39 +00:00
ccremers
347010bfa4 - Moving files means the dev file needs updating. 2006-08-11 08:55:17 +00:00
ccremers
c41edf7f8c - Removed font settings from dot output, let somebody else worry about that 2006-08-10 12:36:11 +00:00
ccremers
341bbfeb0c - Minor refactoring. 2006-08-08 14:50:28 +00:00
ccremers
3256a38a65 - Windows output for recompiles now goes directly to the correct location. Saves me time. 2006-08-08 14:02:05 +00:00
ccremers
e2aca6f3ce - Better filter. 2006-08-08 13:00:16 +00:00
ccremers
36ccfd776a - Even less warnings. 2006-08-08 12:40:04 +00:00
ccremers
d9a37b62b3 - Some warnings are only interesting when checking. 2006-08-08 12:35:43 +00:00
ccremers
29f0756f0a - Generating a label should not cause a warning. 2006-08-08 12:34:11 +00:00
ccremers
ec3be3d55b - Implemented --claim=ns3,I switch to filter certain claims. 2006-08-08 12:30:29 +00:00
ccremers
cbe6307e8a - New todo priority. 2006-08-07 18:10:05 +00:00
ccremers
720d18415f - Fixed bug in stderror enable/disable code. 2006-08-07 10:52:17 +00:00
ccremers
2ef343ba6e - Order of claim processing now corresponds to the order in which they
occur in the file.
2006-08-07 09:56:55 +00:00
ccremers
f1f796c70a - Added dev file for Bloodshed C dev (under Microsoft Windows) 2006-08-06 18:04:02 +00:00
ccremers
9683d76598 - Using stderr or not is now a macro in error.h 2006-08-06 18:01:23 +00:00
ccremers
460c087cf2 - Some work towards moving stderror output for non-linux things out of
the way.
2006-08-02 10:29:40 +00:00
ccremers
180d00ff41 - Fully removed substitutions.h artefacts. 2006-08-02 09:50:21 +00:00
ccremers
b0a0b5cdfa - Obsolete stuff has to go. 2006-08-02 09:48:44 +00:00
ccremers
82869fb583 - Some misc fixes. 2006-08-02 09:46:57 +00:00
ccremers
3475896536 - Moved switches old definitions to text file (to avoid confusion with
sources)
2006-08-02 09:41:39 +00:00
ccremers
8eb50e30d9 - Added scanner/parser stuff (for windows) 2006-08-02 09:38:28 +00:00
ccremers
0a15692124 - Oops. 2006-08-02 09:35:18 +00:00
ccremers
b6d8930438 - More non-linux compatibility stuff. 2006-08-02 09:32:29 +00:00
ccremers
0c1684e1f2 - Windows-compatible (by disabling, duh..) 2006-08-02 09:27:09 +00:00
ccremers
203b652bab - Updated syntax for claim xml output. 2006-08-01 11:20:53 +00:00
ccremers
4b671384af - Some fixes to compile under Cygwin 2006-08-01 09:13:55 +00:00
ccremers
18d4b94b1e - Reverted to manual flex push/pup structure for include files. 2006-08-01 09:09:44 +00:00
ccremers
5e10206df1 - Added encapsulated dot output and claim reporting to the XML output. 2006-08-01 07:31:40 +00:00
ccremers
9a98e66671 - Claim status is now reported after each claim. 2006-08-01 06:10:12 +00:00
ccremers
92a98a85cc - Single claim check branched. 2006-08-01 06:04:01 +00:00
ccremers
ff87bf180f - Claim reporting moved into claim.c 2006-08-01 05:58:02 +00:00
ccremers
80eafb7374 - Additional --check output should go to stderror. 2006-07-31 11:31:52 +00:00
ccremers
cc358c5df3 - Misc fixes, some reporting with --check. 2006-07-31 11:30:08 +00:00
ccremers
e902aaa260 - Added well-formedness checks. This will only be enabled if a role uses
the 'knows' keyword.
2006-07-31 11:08:51 +00:00
ccremers
ff21e9e572 - Added function shortcuts in M_0 derivation. 2006-07-27 14:19:19 +00:00
ccremers
df1a56c780 - Iteration seems to work nicely, thank you. 2006-07-27 11:55:24 +00:00
ccremers
4e085f0eb8 - Initial knowledge displayed when running --check. 2006-07-27 10:45:26 +00:00
ccremers
f00392ac3e - Added functional 'knows' keyword. 2006-07-27 10:44:12 +00:00
ccremers
30b629909b - Added note on --chec- Added note on --checkk 2006-07-15 19:32:15 +00:00
ccremers
f31b5bfe9c - Started rewrite of main algorithm, by removing dynamic addition of M_0
nodes, and simply restricting it to a single M_0 send node.
2006-07-09 15:08:42 +00:00
ccremers
7409a38d12 - Note regarding pruning. 2006-07-06 15:55:43 +00:00
ccremers
dcb1625c3a - Changed my mind.
--prune 0 : all attacks
  --prune 1 : select first attack
  --prune 2+: use heuristic (currently only 2 supported)
2006-07-06 15:54:14 +00:00
ccremers
a8dee79504 - Added support for different attack heuristics. Disable with --prune=2. 2006-07-06 15:52:13 +00:00
ccremers
784304ed65 - Bugfix: separators between local constants were not printed correctly. 2006-07-02 23:44:18 +00:00
ccremers
fc8b0de971 - Added special weights in dot output for M_0 originating terms. 2006-07-02 13:38:20 +00:00
ccremers
4ec62ddad9 - Fixed an empty balloon which might confuse people, in the dot output. 2006-07-02 13:10:46 +00:00
ccremers
0184b6277b - Better handling of function from M0 collapse in dot output. 2006-07-02 12:51:19 +00:00
ccremers
aeac3d6616 - M_0 function application is now absorbed. 2006-07-02 12:03:57 +00:00
ccremers
c52a340d8e - Improved heuristics. Default is now 162 (but 99 performs equally well) 2006-06-29 07:49:23 +00:00
ccremers
d87d9ede30 - Fixed some comments. 2006-06-12 14:48:57 +00:00
ccremers
780ca9880f - Added feature to ensure include files come from the right place. The
order in which Scyther searches for files is now.
   1. From the prefix of the previously found file.
   2. Current directory.
   3. Anything in SPDLDIRS
  Here, 1 is new.
- When using -E (--expert), scyther shows any files it reads on stderr.
2006-06-11 15:22:20 +00:00
ccremers
6ac5e2a428 - Added '--lightness' switch. 2006-05-26 12:57:27 +00:00
ccremers
07cc2c2b55 - Minor updates in output format. 2006-05-26 12:34:37 +00:00
ccremers
2e94dd065e - "--clusters" output is quite advanced, but still dot makes a bit of a
mess out of it. One of the reasons is that the intruder events
  cannot be used along with the normal ranking, because they no longer
  correspond to real events.
2006-05-26 11:27:05 +00:00
ccremers
e3b84a0f67 - New '--clusters' switch: needs some work. 2006-05-26 09:39:10 +00:00
ccremers
0679cbc3b8 - Added '--monochrome' switch, to be used in thesis output. There is a
hardcoded lightness factor in dotout.c (MONOCHROMEFACTOR)
2006-05-25 20:35:01 +00:00
ccremers
6a74883adf - Restricted the syntax somewhat, to avoid people typing crap.
(Cf. Golsteijn)
2006-05-16 15:00:21 +00:00
ccremers
6dff931dbc - Term identifiers can now contain primes (SM)
- If labels start with a bang (!), they are ignored in synch/agree
  claims.
2006-04-25 13:58:14 +00:00
ccremers
974e5f7315 - Reset encryption level issue. 2006-04-13 12:43:13 +00:00
ccremers
08f705234b - Added `include "dinges";' command, that is aware of Scytherdirs. 2006-04-12 12:42:04 +00:00
ccremers
db8e72f37e - Misc fixes to heuristic. 2006-04-03 08:21:52 +00:00
ccremers
d2058d937b - Revised cost heuristic. Trace length is no longer the real
optimization.
2006-04-02 12:29:02 +00:00
ccremers
e1890ddc9f - Improved cost function: now also avoids using initiators when
possible.
2006-04-02 12:07:25 +00:00
ccremers
52708d09b4 - MakeTraceConcrete now yields nicer choices, e.g. "Agent1" or "Nonce2". 2006-04-02 11:56:22 +00:00
ccremers
8c03bba02a - Fixed a bug in output overwrite for de-class code. 2006-03-31 12:24:32 +00:00
ccremers
4d7b744e1b - Discovered ugly bit in de-class code, which causes what seem to be
errors with --extravert: even if Alice is already occurring in the
  system, the name can be used.
- Added explicit level 2 encryption bound. This is technically
  incorrect, but for now it should work.
2006-03-31 10:12:58 +00:00
ccremers
cb440700e3 - Added --unique responder/initiator switches, which are both implied by
--extravert.
2006-03-31 08:24:41 +00:00
ccremers
5fe55d35cf - Code refactoring. 2006-03-28 14:45:02 +00:00
ccremers
b224344b59 - Bugfixed --extravert. 2006-03-28 14:24:46 +00:00
ccremers
ac87af60c1 - More improvements. Current drawbacks: Intruder choice still not clear. 2006-03-20 09:54:45 +00:00
ccremers
f3d4e8c350 - Some improvements to the intruder nodes. 2006-03-20 09:40:45 +00:00
ccremers
543e430e6c - In the light of recent discoveries on Athena method, I reinstated the
--match switch.
2006-03-20 08:47:12 +00:00
ccremers
881eccd6be - Fixed --disable-intruder: it now also uses no tupling shortcuts. 2006-03-19 12:59:26 +00:00
ccremers
a35a618a27 - Cleanup; make headers more compact. 2006-03-16 16:15:14 +00:00
ccremers
f11f1fff0b - Bugfix for dot output. 2006-03-16 13:26:46 +00:00
ccremers
3241c0c828 - Better class printing for the headers. 2006-03-16 08:49:10 +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
5624f7e7b6 - Added some comments. 2006-03-15 08:56:23 +00:00
ccremers
25244c5b23 - Fixed bug in new tuple expansion code (again, caused by the intricate
"realX" versus "isX" distinction.)
- Added structures for rho, sigma, constants, but did not activate them
  yet.
2006-03-15 08:51:08 +00:00
ccremers
2b9246bb64 - Bug report: this should be fixed. 2006-03-15 08:33:09 +00:00
ccremers
16a59624fe - Revised dot output.
- Reintroduced intruder events.
  - Added colors.
2006-03-14 11:37:28 +00:00
ccremers
f7ee9743d2 - Bugfix for self-initiator detection. Woops. 2006-03-13 14:19:01 +00:00
ccremers
74052cf226 - Code cleanup for intruder count. 2006-03-10 14:52:45 +00:00
ccremers
af07f0cc3f - Removed obsolete stuff. 2006-03-10 14:51:05 +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
2830c8e8ff - Fixed some Doxygen documentation errors. 2006-03-08 12:38:39 +00:00
ccremers
1678577ce0 - Improved proof reports.
- Minor (epsilon type) efficiency improvement.
2006-03-05 15:18:39 +00:00
ccremers
527bf8baa5 - Better error reporting for local order constraints. 2006-02-28 15:33:12 +00:00
ccremers
f3d94b8e0d - Removed old hack lemmas by clean ones. 2006-02-28 15:01:58 +00:00
ccremers
282c0d5094 - --experimental is now available in the normal version, but for experts
only.
2006-02-28 14:06:12 +00:00
ccremers
a4429d548f - Turned 'hidden' term lemma back on by default. 2006-02-28 13:57:38 +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
bb16bd755e - Print states in a more countable format. 2006-02-27 15:20:37 +00:00
ccremers
c22173e5ee - [[[ Broken commit ]]]
More work on the arachne multiple-decryptor. Horrific.
2006-02-26 20:01:22 +00:00
ccremers
95df010a54 - [[[ Broken commit ]]]
More intermediate work.
2006-02-26 17:18:59 +00:00
ccremers
0ce88af6ac - [[[ Broken commit ]]]
Committing partial new Warshall work because it is getting too big.
2006-02-26 15:00:58 +00:00
ccremers
1d3d154a2f - If the timebound is hit, it should be reported anyway, because the
results are not to be trusted anymore.
2006-02-23 16:21:25 +00:00
ccremers
b16023bf0e - Cleaned up heuristic code. Note that there is a "hidden" heuristic:
implicitly, older goals are resolved first, if some goals have equal
  weights. This is encoded in the "w <=" comparison; if this is set to
  "w <", the heuristic becomes much less effective.
2006-02-23 15:03:43 +00:00
ccremers
f333fb8276 - Explicit casts. 2006-02-23 10:44:44 +00:00
ccremers
8f896432d1 - Added some stuff on the new graph code. 2006-02-22 16:58:11 +00:00
ccremers
f376260512 - Changed default heuristic to 34. 2006-02-22 15:57:55 +00:00
ccremers
41e797413c - Added new heuristics based on hidelevel results.
Preliminary results:
  1. For typed matching, either heuristic 32 or 34 are best, and far
  superior to the previous best (3).
  2. For untyped matching, partial tests indicate that heuristic 1 is
  best, which is rather interesting.
2006-02-22 15:48:58 +00:00
ccremers
921c82876d - experimental=4 now disables some things. Weirdly enough, they don't
seem to make much difference.
2006-02-22 09:53:50 +00:00
ccremers
dbc0a3583d - Better setup for --experimental= switch using bit masks. 2006-02-22 08:55:42 +00:00
ccremers
10b6793d97 - More cleaning of switches. 2006-02-22 08:47:22 +00:00
ccremers
5ddcdfed22 - Added --long-help and -E, --expert switches. 2006-02-22 08:41:06 +00:00
ccremers
b2e40e07f3 - Some more work on hidelevel backbone.
- Added '--count-states' switch for the Arachne engine.
2006-02-22 08:24:29 +00:00
ccremers
d3f2971181 - Reindent script was improved (and consequences added) 2006-02-21 21:35:14 +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
3ed59b867a - Added an idea. 2006-01-17 12:30:16 +00:00
ccremers
f0715c030d - Stored good idea. 2006-01-09 11:56:44 +00:00
ccremers
baf1856943 - Added some tokens for future usage: 'function', 'hashfunction',
'knows', 'trusted'.
2006-01-09 09:38:17 +00:00
ccremers
8b30526a57 - Added a note about inversekeys in a role definition. 2006-01-07 13:28:13 +00:00
ccremers
96e7a32bff - Added '--unbounded' switch. 2006-01-06 12:46:04 +00:00
ccremers
99861d3e03 - Added '--untyped' switch which is to be preferred above the older
--match=2 notation.
2006-01-06 12:23:11 +00:00
ccremers
d9b0f412e4 - Added a good idea. 2006-01-06 12:11:32 +00:00
ccremers
92342683f5 - Cleanup of unused structure. 2006-01-03 11:34:48 +00:00
ccremers
c9eaf1f95f - Minor stuff. 2006-01-03 11:34:27 +00:00
ccremers
066bc810d8 - Notes on the warshall algorithm that is currently taking a third of
processing time, which is way too much.
2006-01-02 21:19:53 +00:00
ccremers
da75862d82 - Huge code documentation effort. 2006-01-02 21:06:08 +00:00
ccremers
6676266f4a - More refactoring to improve the code. 2006-01-02 20:18:47 +00:00
ccremers
e6505a72a3 - Further refactoring.
- Some cleanup.
2006-01-02 19:55:34 +00:00
ccremers
a5acc4984a - More refactoring for Arachne. Slowly we're getting somewhere. 2006-01-02 19:19:23 +00:00
ccremers
e592a0a432 - Refactoring code: splitting stuff out of arachne.c 2006-01-02 18:43:25 +00:00
ccremers
4023ef237e - Some reindentation. Nothing interesting, just syntax. 2006-01-02 16:07:56 +00:00
ccremers
e21627442a - Added 'singular' directive for roles. Syntax:
protocol ns3 (I,R)
  {
    singular role I:
    {
    }
  }
2006-01-02 16:05:53 +00:00
ccremers
724faa8949 - Cleaned up some printf's and warnings in compiler.c
- Added warning for unspecified roles.
2006-01-02 15:29:41 +00:00
ccremers
6516741983 - More notes. 2006-01-02 15:10:40 +00:00
ccremers
25fe5b210e - Idea about timestamps added. 2006-01-02 14:34:46 +00:00
ccremers
28f13aff26 - Added some final-day notes for 2005. 2005-12-31 19:34:50 +00:00
ccremers
441644e6d2 - Fixed the ECSS version copy. 2005-12-30 15:56:05 +00:00
ccremers
8c04a7517c - Added script to copy the latest Scyther version to the ecss
repository.
2005-12-30 15:54:32 +00:00
ccremers
d2ac518234 - Fixed typo in --help (noted by Sjouke)
- State-space should generate classes.
2005-12-30 15:11:39 +00:00
ccremers
6f670d7ab6 - In xml output, renamed 'attack' tag to 'state', which in general
reflects better what it describes.
2005-12-30 12:17:25 +00:00
ccremers
4a363aa33c - Bugfix: the single attack output adaptions from revision 1447 had
broken some of the xml output.
2005-12-30 12:03:19 +00:00
ccremers
ebf50b5252 - Removed the bold for complete proof. 2005-12-29 13:36:01 +00:00
ccremers
3b897c3872 - Added '--check' switch, to see whether your protocol terminates at all
if there is no intruder.
- Restructered many switches.
2005-12-29 12:52:51 +00:00
ccremers
a50245734d - Fixed the broken '--no-intruder' switch. 2005-12-29 12:14:21 +00:00
ccremers
c79c9eb73f - Added color output but forgot to add the sources files, fixed.
- Note: ~ is not expanded in SCYTHERDIR because it is not handled by the
  shell; thus $HOME should be used.
2005-12-29 11:03:18 +00:00
ccremers
515dec7f8b - Added note on usage of '~' in SCYTHERDIR. 2005-12-29 10:56:09 +00:00
ccremers
ab2f2469c0 - Added help text for the environment variables. 2005-12-29 09:35:08 +00:00
ccremers
1aca8460a3 - SCYTHERDIR environment variable is now used: colon-separated list of
directories to search. Oblivious to trailing slashes.
2005-12-29 09:25:42 +00:00
ccremers
efb3ec232b - Added some new thoughts, cleaned up old ones. 2005-12-28 22:52:22 +00:00
ccremers
d21f292330 - Renamed '--monochrome' to '--plain', which is nicer and shorter. 2005-12-28 18:40:58 +00:00
ccremers
3686a69869 - Added SCYTHERFLAGS environment variable. 2005-12-28 16:33:08 +00:00
ccremers
ab75acea62 - Added colour output, with --monochrome switch to disable this. 2005-12-28 15:27:22 +00:00
ccremers
e19f8bddd1 - Improved Reachable claims output
- Use square brackets for remark output instead of normal brackets.
2005-12-28 14:42:46 +00:00
ccremers
bceaca28f0 - Improved some type of warnings for e.g. empty prec sets andsoforth. 2005-12-28 14:25:06 +00:00
ccremers
72162e82c6 - Some cleanup. 2005-12-28 12:13:17 +00:00
ccremers
39adf85c6a - Reverted previous version: Tickets can possibly be secret as well
(although this is dubious, as the claiming role will not know the
  contents in many cases)
2005-12-28 12:04:00 +00:00
ccremers
dce2befd50 - Don't add secrecy claims for ticket types. 2005-12-28 11:59:39 +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
ccc4c34823 - Added '--remove-claims' switch to cut off all existing claims. 2005-12-27 13:53:49 +00:00
ccremers
ca4c5674ac - Added check for non-used variables. 2005-12-27 13:44:12 +00:00
ccremers
397298290b - Improved output significantly. 2005-12-27 12:24:12 +00:00
ccremers
5ff71fa661 - Some cleanup.
- Added 'all-atacks' switch.
2005-12-27 12:01:17 +00:00
ccremers
28774cb94c - Moved dot output (finally) into a separate file, and made some minor
improvements.
2005-12-27 11:50:46 +00:00
ccremers
c4628e8be6 - Added support for more intelligent bounding. Fairly untested at the
moment.
2005-12-27 11:19:45 +00:00
ccremers
c20810def5 - Added preliminary support for singular attack output. 2005-12-27 10:49:22 +00:00
ccremers
ff503b24af - Added some todo stuff for the very near future. 2005-12-26 16:45:16 +00:00
ccremers
cb2aef3915 - Old state/time info has now been removed. This was only needed for the
POR engine anyway, so that's where it is shown now.
2005-12-26 16:28:45 +00:00
ccremers
32f226f782 - Better switches explanation. 2005-12-22 12:33:35 +00:00
ccremers
aae3cd70cb - Lowered default number of runs to 5. 2005-12-22 12:27:34 +00:00
ccremers
0259b2302c - Changed default behaviour: -d is needed to get dot output. 2005-12-22 12:24:27 +00:00
ccremers
e82ce8b962 - Added --no-intruder switch, but it is currently broken. 2005-12-21 19:02:41 +00:00
ccremers
aab5328a9b - Added a note. 2005-12-09 13:15:34 +00:00
ccremers
6543a8f659 - Added '--extravert' switch, which avoids initiator Alice to talk to
Alice.
2005-11-29 09:15:16 +00:00
ccremers
5276630007 - FIX: DOS newlines are now also accepted. 2005-11-28 08:27:05 +00:00
ccremers
e51b54af23 - FIX: Instantiation of variables is now the default.
- NEW: -C --class switch to reset this.
- NEW: max runs is now 6 by default for usability. For unbounded search,
  use -r 0 or --maxruns=0
2005-11-12 21:26:50 +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
c1c0b856de CHG: Changed default behaviour to Arachne engine.
NEW: Added 'S' switch for --summary things.
2005-11-04 13:23:30 +00:00
ccremers
5e1ca56f87 - Added experimental feature: explicit unique origination. This has to
be investigated further, because it seems to reduce just a few states.
  Note to Gijs: stay away from this, you should be writing your thesis.
2005-10-08 20:57:39 +00:00
ccremers
9f8f04c41c - Switched to the new consistency checking base. 2005-10-08 20:47:31 +00:00
ccremers
2ead7ab2ff - Improved code for new preferred order swapping of substitutions. Also
included more comments.
2005-10-08 20:22:24 +00:00
ccremers
2e495099bb - Added functions to globally check variable substitution consistency. 2005-10-08 20:03:31 +00:00
ccremers
2452a34671 - Added 'termlistMinusTermlist' function.
- Added TERMLISTERROR constant, and corresponding tests.
  Note that this will not work in many contexts, because only NULL is
  usually considered to be a special value. It is purely intended for
  the new type evaluation functions in type.c.
2005-10-08 19:56:04 +00:00
ccremers
fe730716ca - Added 'agenttypecheck' switch. 2005-10-08 19:54:30 +00:00
ccremers
a3b009f119 - The state of sys->variables was not maintained correctly, because
terms were destroyed before it could be tested whether they were in
  sys->variables. Thus, garbage was left in sys->variables. This has
  gone undetected because it was never really used. Hmpf.
2005-10-08 19:53:10 +00:00
ccremers
ea5bc6893f - Slightly smarter substitution in the symmetric case, when we make Var1
equivalent to Var2.
2005-10-07 20:38:41 +00:00
ccremers
83bf0ec704 - Added tuple_to_termlist function. 2005-10-07 14:02:46 +00:00
ccremers
1c075db161 - Added '--experimental=<int>' switch for debug version. 2005-10-07 13:09:07 +00:00
ccremers
5b73d707a0 - Rewrite of actor/agent type consitency code: now more aware of
initiator/responder difference.
2005-09-09 10:05:29 +00:00
ccremers
5c0c5d3333 - Better XML output for variables section. 2005-09-08 13:30:00 +00:00
ccremers
01a45f87d2 - Rewrote variables section, integrated typeflaw info.
Note that for variables that are not instantiated, only the variable
  and the type info is shown. For instantiated variables, both are
  shown.
  In this output the attribute 'free' should be ignored, as its
  output is not accurate here.
2005-09-08 12:55:32 +00:00
ccremers
48574de13e - Minor improvement to type flaw output: now also shows the type of the
substituted term.
2005-09-07 07:21:13 +00:00
ccremers
e104dddbfb - Added a switch to number the limit of intruder actions.
Initial testing suggests it does not influence the number of states
  much for values of 2 and higher.
2005-08-21 21:38:32 +00:00
ccremers
c330a5b719 - Added some thoughts. 2005-08-21 21:36:00 +00:00
ccremers
1ee77472a0 - --max-attacks=AnyGijsNumber. 2005-08-15 12:49:32 +00:00
gijs
998e4852ba - Allow ^ and - in identifies which will be used in protocol names
in future naming conventions
2005-08-15 11:27:46 +00:00
ccremers
2e9e43742e - Added more fine-grained control for the associativity of tupling:
--tupling=n	* 0: right-associative; 1: left-associative; others are
  reserved for future use.
  --ra-tupling	* Sets the default, but is there for symmetry.
2005-08-12 12:59:25 +00:00
ccremers
cb315aafc8 - Added '--extend-trivial' switch. This is not a complete '--extend'
algorithm, as it is pretty dumb, but it works in most cases. Use with
  care.
2005-08-12 12:13:50 +00:00
ccremers
56f7cf5df2 - Added switch '--la-tupling' to enforce left-associative tupling
instead of the default right-associative tupling. Note that this only
  matters for full typeflaw matching.
- Adapted multi-nsl test script to test for both association variants.
2005-08-12 07:28:44 +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
gijs
c8d2222c58 - Allow identifiers to start with @ so that internal protocols
such as key compromise and swapkey can be prefixed with @ to indicate
  that they should be ignored by the classification tool.
2005-08-11 12:24:36 +00:00
ccremers
2cd9cf4148 - Added random goal picker. Untested. 2005-08-01 12:59:30 +00:00
ccremers
4cbf2383f7 - Addition. 2005-08-01 12:59:05 +00:00
ccremers
da1b759dc0 - Added shortcut script for Arachne engine. 2005-07-26 10:13:16 +00:00
ccremers
f7f2bf27bb - Added type flaw information (just after the variables section)
In pseudo-xml:
  <typeflaws><run id="1"><typeflaw><term variable /><termlist type(s) /><term value of variable /></typeflaw></run></typeflaws>
2005-07-06 14:33:05 +00:00
ccremers
a1fdbe119f - Incorporated untrusted agents list (<untrusted> element in attack,
containing a <termlist>)
- <commandline><arg>./scyther</arg> <arg>-x</arg>... is now available.
2005-07-01 13:46:18 +00:00
ccremers
6a3e57913c - Quick addition of Gijs' suggestions. 2005-07-01 13:27:38 +00:00
ccremers
164e325659 - New attack attribute. 2005-07-01 13:25:54 +00:00
ccremers
464920907b - Added '--extend-nonreads' switch. It is totally untested, and I hope
Gijs will have a look at it and tell me whether it actually works.
2005-06-21 11:04:34 +00:00
ccremers
b6e9841c0f - Moved special terms into their own (very) special file. 2005-06-16 14:10:07 +00:00
ccremers
db18b203a9 - Added "Empty" claim type, which is ignored.
Syntax example:   claim_x(I, Empty);
2005-06-16 11:59:44 +00:00
ccremers
013afc99aa - Fixed a newly introduced bug. When the decryptor sequence unfolding
code was added (two weeks ago), bindings were changed without changing
  the state of the graph closure buffer. This resulted in possible
  missed loops: thus, reports of broken claims could be found in the
  output, in inconsistent states. (Reported bij Gijs Hollestelle.)
  Note that this only influences the current development release, and
  not any previous results.
2005-06-08 13:51:40 +00:00
ccremers
1bdaf7b5d9 - Large rewrite of switch code. Instead of having switch parameters in
the (monstrously large) system structure, there is now a global
  'switchdata' structure originating in switches.c. This makes it much
  easier to see what's happening.
  * Note: although this code has been tested, there might be some
    hiccups, because doing multiple search&replace actions over all
    files is bound to cause some problems.
2005-06-07 15:02:27 +00:00
ccremers
c4fad31f25 - Executable. 2005-06-07 14:57:52 +00:00
ccremers
eb36abee75 - Indent any changed .c / .h files.
Intended to be used just before a commit.
2005-06-07 14:56:17 +00:00
ccremers
1331f5e7a3 - Added a global attack id, starting at one. Currently only shown in
XML and Dot output. For Dot, it is included in the label. For XML, it
  is an added attribute of the 'attack' tag.
2005-06-07 13:40:56 +00:00
ccremers
22a0d2adfb - Some cleanup. 2005-06-02 12:42:10 +00:00
ccremers
4a42604cb6 - Added Ticket basic term type. Note that this only has consequences for
the Arachne type checking. The net result is that a variable of type
  'Ticket' can always contain any term, even with -m0 or -m1 matching.
2005-06-02 12:14:28 +00:00
ccremers
cd2ef14e4e - [Syntactical changes only]
Fixed the indentation of some files.
2005-06-02 09:40:05 +00:00
ccremers
01124e2104 - Modified a number of things related to the attack analysis tools.
* removed <term> wrappers
  * added <const> wrappers
  * removed <role><term> construct, now <rolename>R</rolename>
    constructs.
  * added <variables> section.
  * variable substitutions are followed through in runs. Thus, only
    unbound variables occur in the semitrace.
  * added the untested claims back in, so that all events in a
    role/semitrace are now shown. Note that they can be disabled
    again by using the new '-H' switch.
2005-06-02 08:25:45 +00:00
ccremers
0540b744e2 - Repaired a pruning method that still needed a lemma. It was a bit
overzealous and killed a woolam-mutual attack.
2005-05-19 14:43:32 +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
b5af43294e - Added inverse keys to output. 2005-05-17 13:00:45 +00:00
ccremers
ffaf0d2ded - Filtered out uninteresting claim events in attack descriptions. This
was already being done in the script by Gijs. I only added it to make
  the XML output more readable for humans.
2005-05-13 13:40:37 +00:00
ccremers
8b51593cf5 - Each attack now includes
* Initial knowledge
  * Role definitions for protocols involved
2005-05-12 14:52:50 +00:00
ccremers
a856e795b0 - Reindented stuff (this was needed, really) 2005-05-12 13:19:32 +00:00
ccremers
d02621c608 - Added XML term output to Scyther. This meant in fact that a lot had to
be recoded, avoiding e.g. label="<term ..." constructs. Therefore,
  many attributes have changes into elements. Beware.
- Made bindings implicit to events using <follows> and <after>
  constructs. Also added a new <choose> for unbound simple variables.
2005-05-12 13:18:37 +00:00
ccremers
3fba68b240 - Whoops, stupid sloppy switch code rewriters ought to be punished. 2005-05-12 11:59:31 +00:00
ccremers
934eb3fd2a - Oops, sloppy. (It's good to have a beta tester homey.) 2005-05-04 12:06:30 +00:00
ccremers
3bbaf0fc97 - Added scyther wrapper tag (cf. GH bug report)
- Fixed binding closure (cf. GH bug report)
- Reduced indenting to two instead of three spaces.
2005-05-03 09:45:54 +00:00
ccremers
71558706a6 - XML output should be workable now. 2005-05-02 13:38:45 +00:00
ccremers
924abc065d - Added xml output switch (-x, check scyther --help). It's not complete
yet, to be finished tomorrow.
2005-05-01 13:32:50 +00:00
ccremers
f206d4258f - Events now always require a label. 2005-04-29 13:25:43 +00:00
ccremers
38f6f42351 - Fail increases of claims moved to violateClaim; thus, other references
were in fact redundant.
2005-04-27 13:48:00 +00:00
ccremers
7c0507a900 - Fixed bug where claim fails were not counted in the modelchecker, as
reported bij GH. Attacks were indicated, though, so this only caused
  problems for users using --summary and not looking at the "attack:
  L:?" field.
2005-04-27 11:43:47 +00:00
ccremers
18d523d8a4 - Fixed segfault when modelchecker was called on an empty scenario. 2005-04-22 16:03:58 +00:00
ccremers
8e1041b567 - Minor output fixes. 2005-04-21 12:04:45 +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
f9a97fb481 - Stupid typo fix. 2005-04-15 14:33:18 +00:00
ccremers
771fa8cc92 - Some more interface improvements.
- Hardcoded reference to wiki pages.
2005-04-15 14:31:32 +00:00
ccremers
1f8d9dbe5e - Performad a big cleanup of the switches, making the resulting list more compact and more useful.
* Hiding of 'discouraged' options: these should not be used by e.g. students.
  * Hiding of 'unimportant' options: not harmful, but not often used either.
2005-04-15 10:04:05 +00:00
ccremers
a06b3037a4 - Added Scons suggestion. 2005-04-15 10:02:22 +00:00
ccremers
3ba39a3a51 - Removed some older debug stuff. 2005-04-10 15:40:33 +00:00
ccremers
4919cf2a2d - Some consistency fixes after removing argtable2 dependency. 2005-04-10 15:36:41 +00:00