Commit Graph

462 Commits

Author SHA1 Message Date
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