Commit Graph

107 Commits

Author SHA1 Message Date
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
bceaca28f0 - Improved some type of warnings for e.g. empty prec sets andsoforth. 2005-12-28 14:25:06 +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
5b73d707a0 - Rewrite of actor/agent type consitency code: now more aware of
initiator/responder difference.
2005-09-09 10:05:29 +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
db18b203a9 - Added "Empty" claim type, which is ignored.
Syntax example:   claim_x(I, Empty);
2005-06-16 11:59:44 +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
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
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
b675b101bf - Added Arachne tuple claims warning. Exits for now at Secrecy tuples. 2005-02-19 14:31:15 +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
b607b1e260 - If we run into the time bound, report it. 2005-01-14 13:01:31 +00:00
ccremers
f2a2c8ea14 - Moved role creation into the protocol creation. This will make it
easier to add MSC-style input to the input language compiler later.
2004-11-16 12:51:23 +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
fce9fae9c3 - Removed warnings from the compiler for conflicting types: not to
stdout anymore, but now in the normal tradition of eprintf and
  globalError.
2004-10-19 12:03:40 +00:00
ccremers
0e9b7dcf11 - Some added error/bounds detection all around. 2004-08-31 12:35:05 +00:00
ccremers
4009ca86ed - Added some sanity checks for read/send/claim role parameters.
- The cl->roles are now distance-ordered. This, the first role is at
  distance 0, etc. This is useful for checking e.g. synchronisation.
2004-08-27 13:40:46 +00:00
ccremers
d8e0e93bcf - Fixed a condition check in termlistAddNew.
- Roles are now computed from prec for each claim.
2004-08-27 12:36:23 +00:00
ccremers
542044e36f - Added preliminary labellist support to the system. 2004-08-27 11:52:43 +00:00
ccremers
275743c1a3 - Fixed a bug where labels where not generated nicely if the symbols
already had been declared in another role.
2004-08-27 10:24:19 +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
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
ccremers
5c15c21832 - Reports on completeness of proofs. 2004-08-19 13:09:35 +00:00
ccremers
c929fa6ea3 - Debug info should be encapsulated. 2004-08-18 20:22:55 +00:00
ccremers
b2d21f0a8a BROKEN
- Working on new algorithm. Some memory error can occur.
2004-08-18 14:06:14 +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
28782548b0 - Implemented cycle detection. Untested. 2004-08-15 14:07:34 +00:00
ccremers
0fee6b5797 - Secrecy claims are now handled fairly okayish, as long as only one
term is in the claim. This should be tupling-or, really, for
  convenience.
2004-08-14 19:19:23 +00:00
ccremers
53cb869426 - Claim iteration works nicely now. 2004-08-14 15:59:14 +00:00
ccremers
7df10cf568 - Added role/protocol adding constructs for the intruder with Arachne. 2004-08-12 11:55:03 +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
ccremers
71c658051e - Reindented everything, so the layout is up to date again. 2004-08-09 10:05:58 +00:00
ccremers
4d1362cb1b - Implemented --check=Secret switch, which allows checking of specific
properties.
- Fixed a bug in the symbol table, where symbols were never inserted
  into the hash table.
2004-08-09 09:42:58 +00:00
ccremers
3ddedb6f7f - Totally untested. Otherwise, niagree should work ;) 2004-07-25 18:24:50 +00:00
ccremers
f8aacee6ad - Improved some minor stuff regarding synchronisation checking and
debugging info.
- '--pp=100' switch in debug mode now allows for disabling of
  synchronising_labels set.
2004-07-25 15:30:58 +00:00
ccremers
4f1c9ecb48 - Amazingly, I think I implemented ni-synch partial order reduction. It
still needs some careful analysis though.
2004-07-24 20:30:00 +00:00
ccremers
60b02eea0e - Renamed nearly all files. Now, we try to use singular terms.
Exception: states.h is the plural form.
2004-07-24 19:07:29 +00:00
ccremers
ace16a896f - Renamed runs.[c|h] to system.[c|h], which makes much more sense. 2004-07-24 15:08:35 +00:00
ccremers
b570ca2d8a - Made all references to system explicit const references.
- Removed config.h reference.
2004-07-20 12:41:56 +00:00
ccremers
363f95977a - Removed obsolete debugging output. 2004-07-12 13:57:59 +00:00
ccremers
35c7ff1877 - Fixed some sanity checks in the computation of the preceding label
sets. This prevents a potential crash.
2004-07-05 09:37:31 +00:00
ccremers
f71bed06a1 - Present from Cas for Cas' birthday: Not thoroughly tested, but ni-synch seems to be working. Be careful to use the -t1 switch, or attacks will be missed. 2004-06-16 15:28:20 +00:00
ccremers
1900f7d4fb - Preceding label sets are now correctly computed. 2004-06-16 10:39:13 +00:00
ccremers
9634034ebb - First broken steps towards prec() computation for each claim label. 2004-06-14 22:08:47 +00:00
ccremers
0e0f52c6aa - Initial work to facilitate agreement and synchronisation claims. Isn't
incorporated in the real code yet, I'm just writing the base code.
2004-06-14 09:15:42 +00:00
ccremers
1c345c4955 - Modified error reporting setup.
- Updated some of the error reporting code, but not all.
2004-06-13 21:42:29 +00:00
ccremers
4d90395d7e - Fixed the term union issue for portability. 2004-05-26 08:40:33 +00:00
ccremers
2cae2d2a08 - Made union in TAC more ANSI compliant (and thus suitable for the sun) 2004-05-26 08:26:40 +00:00
ccremers
0f4e6a5aba - Moved everything about. 2004-04-23 10:58:43 +00:00