Commit Graph

68 Commits

Author SHA1 Message Date
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
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
5d2d836d07 - Much work for the skeleton of the Hidelevel lemma. 2006-02-21 20:29:05 +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
1ee77472a0 - --max-attacks=AnyGijsNumber. 2005-08-15 12:49:32 +00:00
ccremers
164e325659 - New attack attribute. 2005-07-01 13:25:54 +00:00
ccremers
b6e9841c0f - Moved special terms into their own (very) special file. 2005-06-16 14:10:07 +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
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
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
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
3fba68b240 - Whoops, stupid sloppy switch code rewriters ought to be punished. 2005-05-12 11:59:31 +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
738a2b5859 - Rewrote complete switch code. Scyther now no longer depends on
argtable2. Great.
2005-04-10 15:30:47 +00:00
ccremers
5c90a5af29 - Improved the .dot output format quite a bit. 2005-02-21 15:12:59 +00:00
ccremers
820c2caed8 - Revisited type matching conditions.
- Introduced tuple unfolding stuff for Arachne. -m2 should work now.
2005-01-14 18:18:40 +00:00
ccremers
54ccd5179e - Added a new selector that picks goals that are local variables. 2004-12-29 16:05:32 +00:00
ccremers
5e695097f2 - Reimplemented the weight functions for goal selection.
- Added --goal-select function, defaults to 3.
2004-12-29 14:17:49 +00:00
ccremers
93ab6a29f4 - Omitted some addnew tests, although they ought to work. 2004-12-09 15:45:14 +00:00
ccremers
b56c01c422 - Added '--max-depth=X' switch (which is equal to the old '-l X -a')
- Modified semantics of -l with -a : this corresponds more to the
  intuition and introduces the new option to prune proofs based on trace
  length.
2004-12-09 15:11:45 +00:00
ccremers
c690b0622a - More cleanup and comments. 2004-12-08 19:30:26 +00:00
ccremers
1c5a9986f6 - Added many comments. 2004-12-08 16:41:43 +00:00
ccremers
3ca180d968 - Despite a full afternoon of debugging, semiRunCreate/Destroy still
lose 8 blocks. I'm fairly confused.
2004-12-08 16:25:27 +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
61457b5f3d - Fixed the agentsOfRunPrint output. It was caused by the agent adding
order.
- Fixed the pruning bug, which was related to this.
2004-10-28 12:33:57 +00:00
ccremers
487212a9f9 - The TMN protocol was wrongly reporting an error in the protocol. This
turned out to be caused by an over-protective first-read detection.
2004-10-12 16:58:29 +00:00
ccremers
02e99761ae - Split roleInstance into two more managable parts. 2004-09-20 12:40:01 +00:00
ccremers
8b48aade68 - Huge effort to make match type 2 (typeflaw generic) matching work.
Problem with goals that turn into tuples, will have to be solved.
2004-08-31 14:31:06 +00:00
ccremers
0e9b7dcf11 - Some added error/bounds detection all around. 2004-08-31 12:35:05 +00:00
ccremers
5c90522c55 - Fixed a bug in the pruning algorithm, where intruder runs were also
checked for agent lists, which is false.
2004-08-30 22:08:44 +00:00
ccremers
542044e36f - Added preliminary labellist support to the system. 2004-08-27 11:52:43 +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
bb78c71c90 - Introduced termInTerm (bigterm, smallterm) 2004-08-17 14:11:25 +00:00
ccremers
f384042bfe - Switched -r n behaviour for Arachne, effectively turning it into the
upper bound on runs.
2004-08-16 14:49:41 +00:00
ccremers
c518e68881 BROKEN
- Added broken attempt to solve to problem, where a new instance has to
  be bound, but older variables point to role terms, e.g. RV#1->RV.
  What should happen, is that it becomes RV#1->RV#new. I thought of a
  solution, but it is still somewhat broken. Maybe I should ignore any
  mappings of variables such as RV, which might be included.
2004-08-15 19:58:26 +00:00
ccremers
c3d5123ab0 - Matching is now typed. 2004-08-15 16:08:53 +00:00
ccremers
afda4f355e - Added much debug info, so we can see send iteration is going wrong.
But why?
2004-08-13 20:56:51 +00:00
ccremers
fe16785982 - Fixed error in error reporting :-\
- Added intruder construction nodes.
- Several cleanups.
2004-08-13 20:09:12 +00:00
ccremers
a3828a028f - Fixed the very annoying bug! The problem was in roleInstance for
Arachne. When a subst was carried out by an Rolename->compoundTerm
  substitution, the compound term was not duplicated, and this caused
  problems at roledef destruction.
2004-08-13 14:35:22 +00:00
ccremers
ff224fee8a - Some cleanup.
- Added iteration limit, just enough to show the error.
2004-08-13 13:25:25 +00:00
ccremers
758cb88c8c - Some POR optimizations in roleInstance were disabled for Arachne. 2004-08-13 10:28:20 +00:00
ccremers
b9f4d11d0a - Some cleanup writes, e.g. making initalisation code order correspond
to struct field order.
2004-08-12 13:22:49 +00:00
ccremers
2005aa929e - Removed some obsolete commenting. 2004-08-12 12:03:20 +00:00
ccremers
fe960cfb6a - Added termlist iterator.
- Fixed role instance resetting role var substitutions.
2004-08-12 09:28:50 +00:00
ccremers
0f470cf6a2 - Rewrote roleInstance to cope with Arachne needs.
- Introduced some iterators for e.g. term leaves and roledefs. These are
  not used everywhere yet.
2004-08-12 09:14:31 +00:00