From 688416a351328867c9ce2955184d88ce69600076 Mon Sep 17 00:00:00 2001 From: Cas Cremers Date: Sat, 19 May 2007 14:29:32 +0200 Subject: [PATCH 01/14] - Rewrite subprocess access to the newer subprocess.Popen module. This seems to work just fine for Windows XP, at least. --- gui/Gui/Scytherthread.py | 34 ++++++++++++++++++++++------------ gui/Scyther/Scyther.py | 13 ++++++++++++- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/gui/Gui/Scytherthread.py b/gui/Gui/Scytherthread.py index f976c90..f147353 100644 --- a/gui/Gui/Scytherthread.py +++ b/gui/Gui/Scytherthread.py @@ -9,6 +9,11 @@ import sys import re import threading import StringIO +try: + from subprocess import Popen + AvailablePopen = True +except: + AvailablePopen = False #--------------------------------------------------------------------------- @@ -194,6 +199,9 @@ class AttackThread(threading.Thread): def makeImage(self,attack): """ create image for this particular attack """ + + global AvailablePopen + if Preference.usePIL(): # If we have the PIL library, we can do postscript! great # stuff. @@ -207,23 +215,25 @@ class AttackThread(threading.Thread): # command to write to temporary file (fd2,fpname2) = Tempfile.tempcleaned(ext) f = os.fdopen(fd2,'w') + (fd3,fpname3) = Tempfile.tempcleaned(ext) + dotfile = os.fdopen(fd3,'w') + self.writeGraph(attack.scytherDot,dotfile) + dotfile.flush() + dotfile.seek(0) - cmd = "dot -T%s >%s" % (type,fpname2) + cmd = "dot -T%s -o%s %s" % (type,fpname2,fpname3) # execute command - cin,cout = os.popen2(cmd,'b') - - self.writeGraph(attack.scytherDot,cin) - cin.flush() - cin.close() - cout.close() - - f.flush() - f.close() + # Start the process + if AvailablePopen: + p = Popen(cmd, shell=False) + sts = p.wait() + else: + os.system(cmd) # Print - print fpname2 - raw_input() + #print fpname2 + #raw_input() # if this is done, store and report attack.filetype = type diff --git a/gui/Scyther/Scyther.py b/gui/Scyther/Scyther.py index 63a9475..736a0f2 100755 --- a/gui/Scyther/Scyther.py +++ b/gui/Scyther/Scyther.py @@ -11,6 +11,12 @@ import os.path import sys import StringIO import tempfile +try: + from subprocess import Popen + AvailablePopen = True +except: + AvailablePopen = False + #--------------------------------------------------------------------------- @@ -192,6 +198,7 @@ class Scyther(object): output -- string which is the real output errors -- string which captures the errors """ + global AvailablePopen if self.program == None: raise Error.NoBinaryError @@ -226,7 +233,11 @@ class Scyther(object): ##print self.cmd # Start the process - os.system(self.cmd) + if AvailablePopen: + p = Popen(self.cmd, shell=False) + sts = p.wait() + else: + os.system(self.cmd) # reseek fhe = os.fdopen(fde) From 23931281d0876f884c20e0bbd973160259ebc243 Mon Sep 17 00:00:00 2001 From: Cas Cremers Date: Sat, 19 May 2007 15:19:02 +0200 Subject: [PATCH 02/14] - Font problems seem to be partially fixed on windows. Note that the font is not found, so rendering is ugly, but at least the text does not flow over the boxes anymore. --- gui/Gui/Scytherthread.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gui/Gui/Scytherthread.py b/gui/Gui/Scytherthread.py index f147353..48879e0 100644 --- a/gui/Gui/Scytherthread.py +++ b/gui/Gui/Scytherthread.py @@ -158,12 +158,15 @@ class AttackThread(threading.Thread): return graphLine("%s [%s]" % (edge,atxt)) - # Precompute font name - # Set a font with sans - # We only retrieve the name, so the size '9' here is - # irrelevant. - font = wx.Font(9,wx.SWISS,wx.NORMAL,wx.NORMAL) - self.fontname = font.GetFaceName() + if sys.platform.startswith("darwin"): + self.fontname = "Helvetica" + elif sys.platform.startswith("win"): + self.fontname = "Courier" + else: + font = wx.Font(9,wx.SWISS,wx.NORMAL,wx.NORMAL) + self.fontname = font.GetFaceName() + + # write all graph lines but add layout modifiers for l in txt.splitlines(): @@ -179,8 +182,9 @@ class AttackThread(threading.Thread): #graphLine("mindist=0.1") # Set fontname - fontstring = "fontname=%s" % (self.fontname) - setAttr(fontstring,EDGE) + if self.fontname: + fontstring = "fontname=%s" % (self.fontname) + setAttr(fontstring) # Stupid Mac <> Graphviz bug fix if (sys.platform.startswith("mac")) or (sys.platform.startswith("darwin")): From f47c1e7e5e184770ca4ef8164e972987141e4c62 Mon Sep 17 00:00:00 2001 From: Cas Cremers Date: Sat, 19 May 2007 15:32:58 +0200 Subject: [PATCH 03/14] - Factored out the safe external command process. It turns out that the shell should not be used under windows Popen, but on the other hand is must be used under Linux. --- gui/Gui/Scytherthread.py | 16 ++-------------- gui/Scyther/Misc.py | 25 +++++++++++++++++++++++++ gui/Scyther/Scyther.py | 12 +----------- 3 files changed, 28 insertions(+), 25 deletions(-) diff --git a/gui/Gui/Scytherthread.py b/gui/Gui/Scytherthread.py index 48879e0..fb10a33 100644 --- a/gui/Gui/Scytherthread.py +++ b/gui/Gui/Scytherthread.py @@ -9,17 +9,13 @@ import sys import re import threading import StringIO -try: - from subprocess import Popen - AvailablePopen = True -except: - AvailablePopen = False #--------------------------------------------------------------------------- """ Import scyther components """ import Scyther.Scyther import Scyther.Error +from Scyther.Misc import * """ Import scyther-gui components """ import Tempfile @@ -166,8 +162,6 @@ class AttackThread(threading.Thread): font = wx.Font(9,wx.SWISS,wx.NORMAL,wx.NORMAL) self.fontname = font.GetFaceName() - - # write all graph lines but add layout modifiers for l in txt.splitlines(): fp.write(l) @@ -204,8 +198,6 @@ class AttackThread(threading.Thread): def makeImage(self,attack): """ create image for this particular attack """ - global AvailablePopen - if Preference.usePIL(): # If we have the PIL library, we can do postscript! great # stuff. @@ -229,11 +221,7 @@ class AttackThread(threading.Thread): # execute command # Start the process - if AvailablePopen: - p = Popen(cmd, shell=False) - sts = p.wait() - else: - os.system(cmd) + safeCommand(cmd) # Print #print fpname2 diff --git a/gui/Scyther/Misc.py b/gui/Scyther/Misc.py index 4346491..1a1a212 100644 --- a/gui/Scyther/Misc.py +++ b/gui/Scyther/Misc.py @@ -5,7 +5,14 @@ #--------------------------------------------------------------------------- """ Import externals """ +import sys import os.path +try: + from subprocess import Popen + AvailablePopen = True +except: + import os + AvailablePopen = False #--------------------------------------------------------------------------- @@ -43,3 +50,21 @@ def mypath(file): basedir = os.path.dirname(__file__) return os.path.join(basedir,file) +def safeCommand(cmd): + """ Execute a command with some arguments. Safe cross-platform + version, I hope. """ + + global AvailablePopen + + if AvailablePopen: + if sys.platform.startswith("win"): + shell=False + else: + shell=True + p = Popen(cmd, shell=shell) + sts = p.wait() + else: + sts = os.system(cmd) + + return sts + diff --git a/gui/Scyther/Scyther.py b/gui/Scyther/Scyther.py index 736a0f2..a29c2d6 100755 --- a/gui/Scyther/Scyther.py +++ b/gui/Scyther/Scyther.py @@ -11,11 +11,6 @@ import os.path import sys import StringIO import tempfile -try: - from subprocess import Popen - AvailablePopen = True -except: - AvailablePopen = False #--------------------------------------------------------------------------- @@ -198,7 +193,6 @@ class Scyther(object): output -- string which is the real output errors -- string which captures the errors """ - global AvailablePopen if self.program == None: raise Error.NoBinaryError @@ -233,11 +227,7 @@ class Scyther(object): ##print self.cmd # Start the process - if AvailablePopen: - p = Popen(self.cmd, shell=False) - sts = p.wait() - else: - os.system(self.cmd) + safeCommand(self.cmd) # reseek fhe = os.fdopen(fde) From 3dfb8d61730ce5736fe9bd72a7f11e45cf129de8 Mon Sep 17 00:00:00 2001 From: Cas Cremers Date: Sat, 19 May 2007 15:43:57 +0200 Subject: [PATCH 04/14] - Fixed font settings for Unix. --- gui/Gui/Scytherthread.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gui/Gui/Scytherthread.py b/gui/Gui/Scytherthread.py index fb10a33..301d9e7 100644 --- a/gui/Gui/Scytherthread.py +++ b/gui/Gui/Scytherthread.py @@ -159,8 +159,9 @@ class AttackThread(threading.Thread): elif sys.platform.startswith("win"): self.fontname = "Courier" else: - font = wx.Font(9,wx.SWISS,wx.NORMAL,wx.NORMAL) - self.fontname = font.GetFaceName() + #font = wx.Font(9,wx.SWISS,wx.NORMAL,wx.NORMAL) + #self.fontname = font.GetFaceName() + self.fontname = "\"Helvetica\"" # write all graph lines but add layout modifiers for l in txt.splitlines(): From 4bf7126a45aca1348bde1e54b9b78001a9c2f3ff Mon Sep 17 00:00:00 2001 From: Cas Cremers Date: Sat, 19 May 2007 15:55:46 +0200 Subject: [PATCH 05/14] - Removed binaries (no longer part of the tree) --- gui/Scyther/Bin/scyther-linux | Bin 861945 -> 0 bytes gui/Scyther/Bin/scyther-mac | Bin 698816 -> 0 bytes gui/Scyther/Bin/scyther-w32.exe | Bin 520578 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 gui/Scyther/Bin/scyther-linux delete mode 100755 gui/Scyther/Bin/scyther-mac delete mode 100755 gui/Scyther/Bin/scyther-w32.exe diff --git a/gui/Scyther/Bin/scyther-linux b/gui/Scyther/Bin/scyther-linux deleted file mode 100755 index d5f1a5f0d05d41d3b38428d53c8a4f1b697c1568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 861945 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.a^u@B~Y{hPA#Xvsm1agZ@i7Ihsei}J80Q7 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%0D~T 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 diff --git a/gui/Scyther/Bin/scyther-mac b/gui/Scyther/Bin/scyther-mac deleted file mode 100755 index 0c3dcec4bcb83c3361125d461a7c1fc0e3f6be7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698816 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] 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 ON4~9L<>ZST=l&1*;dYb& diff --git a/gui/Scyther/Bin/scyther-w32.exe b/gui/Scyther/Bin/scyther-w32.exe deleted file mode 100755 index 450e6842ef940fde18a3c1895ff0fd5f6b1f3e06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520578 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

ii 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

H$Zx0Pn<=G5))!t<;>W)P+&oBR5e>u(w-~v(W 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 Date: Sat, 19 May 2007 17:02:18 +0200 Subject: [PATCH 06/14] - Got rid of a lot of garbage. --- gui/src/BuildMacIntel-MacPPC.cmake | 8 - gui/src/BuildMacIntel.cmake | 11 - gui/src/BuildMacPPC-MacIntel.cmake | 8 - gui/src/BuildMacPPC.cmake | 11 - gui/src/BuildPlatform.cmake | 36 - gui/src/BuildUnix-Win32.cmake | 15 - gui/src/BuildUnix.cmake | 12 - gui/src/CMakeLists.txt | 37 - gui/src/FindBISON.cmake | 33 - gui/src/FindFLEX.cmake | 33 - gui/src/GetOS.cmake | 43 - gui/src/Makefile-fallback | 86 - gui/src/SVNVersion.cmake | 58 - gui/src/ScannerParser.cmake | 41 - gui/src/Scyther.dev | 789 ------- gui/src/UniversalBinary.cmake | 42 - gui/src/arachne.c | 2582 ----------------------- gui/src/arachne.h | 20 - gui/src/attacktemplate.tex | 61 - gui/src/binding.c | 617 ------ gui/src/binding.h | 53 - gui/src/bugs.txt | 119 -- gui/src/build.sh | 16 - gui/src/claim.c | 1136 ---------- gui/src/claim.h | 18 - gui/src/color.c | 39 - gui/src/color.h | 12 - gui/src/compile.txt | 18 - gui/src/compiler.c | 2164 ------------------- gui/src/compiler.h | 26 - gui/src/copy2gui.sh | 11 - gui/src/cost.c | 74 - gui/src/cost.h | 6 - gui/src/debug.c | 52 - gui/src/debug.h | 10 - gui/src/depend.c | 569 ----- gui/src/depend.h | 44 - gui/src/design.txt | 47 - gui/src/dotout.c | 1814 ---------------- gui/src/dotout.h | 6 - gui/src/error.c | 94 - gui/src/error.h | 19 - gui/src/git-test.txt | 4 - gui/src/heuristic.c | 399 ---- gui/src/heuristic.h | 9 - gui/src/hidelevel.c | 261 --- gui/src/hidelevel.h | 27 - gui/src/hidelevel.txt | 31 - gui/src/intruderknowledge.c | 197 -- gui/src/intruderknowledge.h | 9 - gui/src/knowledge.c | 550 ----- gui/src/knowledge.h | 75 - gui/src/label.c | 86 - gui/src/label.h | 26 - gui/src/language.txt | 46 - gui/src/license.txt | 3 - gui/src/list.c | 272 --- gui/src/list.h | 28 - gui/src/main.c | 260 --- gui/src/mgu.c | 624 ------ gui/src/mgu.h | 30 - gui/src/notes.txt | 17 - gui/src/obsolete-switches.txt | 1012 --------- gui/src/parser.y | 325 --- gui/src/pheading.h | 13 - gui/src/problem.spdl | 25 - gui/src/prune_bounds.c | 265 --- gui/src/prune_bounds.h | 6 - gui/src/prune_theorems.c | 484 ----- gui/src/prune_theorems.h | 6 - gui/src/reindent.sh | 5 - gui/src/releases.txt | 33 - gui/src/role.c | 515 ----- gui/src/role.h | 174 -- gui/src/scanner.l | 227 -- gui/src/scantags.py | 119 -- gui/src/specialterm.c | 97 - gui/src/specialterm.h | 33 - gui/src/states.c | 38 - gui/src/states.h | 21 - gui/src/subbuild-mac-universal.sh | 21 - gui/src/subbuild-unix-both.sh | 24 - gui/src/subbuild-version-information.sh | 19 - gui/src/switches.c | 1575 -------------- gui/src/switches.h | 74 - gui/src/symbol.c | 371 ---- gui/src/symbol.h | 58 - gui/src/system.c | 1454 ------------- gui/src/system.h | 208 -- gui/src/tac.c | 337 --- gui/src/tac.h | 77 - gui/src/term.c | 1483 ------------- gui/src/term.h | 196 -- gui/src/termlist.c | 972 --------- gui/src/termlist.h | 67 - gui/src/termmap.c | 123 -- gui/src/termmap.h | 31 - gui/src/timer.c | 69 - gui/src/timer.h | 8 - gui/src/todo.txt | 51 - gui/src/type.c | 455 ---- gui/src/type.h | 15 - gui/src/warshall.c | 85 - gui/src/warshall.h | 46 - gui/src/xmlout.c | 1000 --------- gui/src/xmlout.h | 14 - 106 files changed, 26075 deletions(-) delete mode 100644 gui/src/BuildMacIntel-MacPPC.cmake delete mode 100644 gui/src/BuildMacIntel.cmake delete mode 100644 gui/src/BuildMacPPC-MacIntel.cmake delete mode 100644 gui/src/BuildMacPPC.cmake delete mode 100644 gui/src/BuildPlatform.cmake delete mode 100644 gui/src/BuildUnix-Win32.cmake delete mode 100644 gui/src/BuildUnix.cmake delete mode 100644 gui/src/CMakeLists.txt delete mode 100644 gui/src/FindBISON.cmake delete mode 100644 gui/src/FindFLEX.cmake delete mode 100644 gui/src/GetOS.cmake delete mode 100644 gui/src/Makefile-fallback delete mode 100644 gui/src/SVNVersion.cmake delete mode 100644 gui/src/ScannerParser.cmake delete mode 100644 gui/src/Scyther.dev delete mode 100644 gui/src/UniversalBinary.cmake delete mode 100644 gui/src/arachne.c delete mode 100644 gui/src/arachne.h delete mode 100644 gui/src/attacktemplate.tex delete mode 100644 gui/src/binding.c delete mode 100644 gui/src/binding.h delete mode 100644 gui/src/bugs.txt delete mode 100755 gui/src/build.sh delete mode 100644 gui/src/claim.c delete mode 100644 gui/src/claim.h delete mode 100644 gui/src/color.c delete mode 100644 gui/src/color.h delete mode 100644 gui/src/compile.txt delete mode 100644 gui/src/compiler.c delete mode 100644 gui/src/compiler.h delete mode 100755 gui/src/copy2gui.sh delete mode 100644 gui/src/cost.c delete mode 100644 gui/src/cost.h delete mode 100644 gui/src/debug.c delete mode 100644 gui/src/debug.h delete mode 100644 gui/src/depend.c delete mode 100644 gui/src/depend.h delete mode 100644 gui/src/design.txt delete mode 100644 gui/src/dotout.c delete mode 100644 gui/src/dotout.h delete mode 100644 gui/src/error.c delete mode 100644 gui/src/error.h delete mode 100644 gui/src/git-test.txt delete mode 100644 gui/src/heuristic.c delete mode 100644 gui/src/heuristic.h delete mode 100644 gui/src/hidelevel.c delete mode 100644 gui/src/hidelevel.h delete mode 100644 gui/src/hidelevel.txt delete mode 100644 gui/src/intruderknowledge.c delete mode 100644 gui/src/intruderknowledge.h delete mode 100644 gui/src/knowledge.c delete mode 100644 gui/src/knowledge.h delete mode 100644 gui/src/label.c delete mode 100644 gui/src/label.h delete mode 100644 gui/src/language.txt delete mode 100644 gui/src/license.txt delete mode 100644 gui/src/list.c delete mode 100644 gui/src/list.h delete mode 100644 gui/src/main.c delete mode 100644 gui/src/mgu.c delete mode 100644 gui/src/mgu.h delete mode 100644 gui/src/notes.txt delete mode 100644 gui/src/obsolete-switches.txt delete mode 100644 gui/src/parser.y delete mode 100644 gui/src/pheading.h delete mode 100644 gui/src/problem.spdl delete mode 100644 gui/src/prune_bounds.c delete mode 100644 gui/src/prune_bounds.h delete mode 100644 gui/src/prune_theorems.c delete mode 100644 gui/src/prune_theorems.h delete mode 100755 gui/src/reindent.sh delete mode 100644 gui/src/releases.txt delete mode 100644 gui/src/role.c delete mode 100644 gui/src/role.h delete mode 100644 gui/src/scanner.l delete mode 100755 gui/src/scantags.py delete mode 100644 gui/src/specialterm.c delete mode 100644 gui/src/specialterm.h delete mode 100644 gui/src/states.c delete mode 100644 gui/src/states.h delete mode 100755 gui/src/subbuild-mac-universal.sh delete mode 100755 gui/src/subbuild-unix-both.sh delete mode 100755 gui/src/subbuild-version-information.sh delete mode 100644 gui/src/switches.c delete mode 100644 gui/src/switches.h delete mode 100644 gui/src/symbol.c delete mode 100644 gui/src/symbol.h delete mode 100644 gui/src/system.c delete mode 100644 gui/src/system.h delete mode 100644 gui/src/tac.c delete mode 100644 gui/src/tac.h delete mode 100644 gui/src/term.c delete mode 100644 gui/src/term.h delete mode 100644 gui/src/termlist.c delete mode 100644 gui/src/termlist.h delete mode 100644 gui/src/termmap.c delete mode 100644 gui/src/termmap.h delete mode 100644 gui/src/timer.c delete mode 100644 gui/src/timer.h delete mode 100644 gui/src/todo.txt delete mode 100644 gui/src/type.c delete mode 100644 gui/src/type.h delete mode 100644 gui/src/warshall.c delete mode 100644 gui/src/warshall.h delete mode 100644 gui/src/xmlout.c delete mode 100644 gui/src/xmlout.h diff --git a/gui/src/BuildMacIntel-MacPPC.cmake b/gui/src/BuildMacIntel-MacPPC.cmake deleted file mode 100644 index 7532732..0000000 --- a/gui/src/BuildMacIntel-MacPPC.cmake +++ /dev/null @@ -1,8 +0,0 @@ -################################################################ -# Name: BuildMacIntel-MacPPC.cmake -# Purpose: Build MacPPC binary on MacIntel -# Author: Cas Cremers -################################################################ - -include (BuildMacPPC.cmake) - diff --git a/gui/src/BuildMacIntel.cmake b/gui/src/BuildMacIntel.cmake deleted file mode 100644 index f8ce918..0000000 --- a/gui/src/BuildMacIntel.cmake +++ /dev/null @@ -1,11 +0,0 @@ -################################################################ -# Name: BuildMacIntel.cmake -# Purpose: Build MacIntel binary -# Author: Cas Cremers -################################################################ - -message (STATUS "Building Apple Mac Intel version") -set (scythername "scyther-macintel") -add_executable (${scythername} ${Scyther_sources}) -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fnested-functions -arch i386") - diff --git a/gui/src/BuildMacPPC-MacIntel.cmake b/gui/src/BuildMacPPC-MacIntel.cmake deleted file mode 100644 index dc6a827..0000000 --- a/gui/src/BuildMacPPC-MacIntel.cmake +++ /dev/null @@ -1,8 +0,0 @@ -################################################################ -# Name: BuildMacPPC-MacIntel.cmake -# Purpose: Build MacIntel binary on MacPPC -# Author: Cas Cremers -################################################################ - -include (BuildMacIntel.cmake) - diff --git a/gui/src/BuildMacPPC.cmake b/gui/src/BuildMacPPC.cmake deleted file mode 100644 index 8fe87a0..0000000 --- a/gui/src/BuildMacPPC.cmake +++ /dev/null @@ -1,11 +0,0 @@ -################################################################ -# Name: BuildMacPPC.cmake -# Purpose: Build MacPPC binary -# Author: Cas Cremers -################################################################ - -message (STATUS "Building Apple Mac PPC version") -set (scythername "scyther-macppc") -add_executable (${scythername} ${Scyther_sources}) -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fnested-functions -arch ppc") - diff --git a/gui/src/BuildPlatform.cmake b/gui/src/BuildPlatform.cmake deleted file mode 100644 index f54a5eb..0000000 --- a/gui/src/BuildPlatform.cmake +++ /dev/null @@ -1,36 +0,0 @@ -################################################################ -# Name: BuildPlatform.cmake -# Purpose: Make platform-dependant decisions -# Author: Cas Cremers -################################################################ - -# Add target for Universal Binary when needed -if (APPLE) - include (UniversalBinary.cmake) -endif (APPLE) - -# Retrieve Source_OS, Destination_OS (from -DTARGET) -include (GetOS.cmake) - -# From source_os and destination_os make a new name for the build script -if (Source_OS STREQUAL Destination_OS) - set (BuildScriptName "Build${Source_OS}.cmake") -else (Source_OS STREQUAL Destination_OS) - set (BuildScriptName "Build${Source_OS}-${Destination_OS}.cmake") -endif (Source_OS STREQUAL Destination_OS) -message (STATUS "Locating platform specific file ${BuildScriptName}") - -# Locate the file. If it exists, start it -if (EXISTS ${BuildScriptName}) - # Execute the build script - include (${BuildScriptName}) -else (EXISTS ${BuildScriptName}) - # Could not find it! - message (STATUS "Could not find ${BuildScriptName}") - if (Source_OS STREQUAL Destination_OS) - message (FATAL_ERROR "Don't know how to build on ${Source_OS}") - else (Source_OS STREQUAL Destination_OS) - message (FATAL_ERROR "Don't know how to build for ${Destination_OS} on ${Source_OS}") - endif (Source_OS STREQUAL Destination_OS) -endif (EXISTS ${BuildScriptName}) - diff --git a/gui/src/BuildUnix-Win32.cmake b/gui/src/BuildUnix-Win32.cmake deleted file mode 100644 index ba4a26f..0000000 --- a/gui/src/BuildUnix-Win32.cmake +++ /dev/null @@ -1,15 +0,0 @@ -################################################################ -# Name: BuildUnix-Win32.cmake -# Purpose: Build Win32 binary on Unix -# Author: Cas Cremers -################################################################ - -message (STATUS "Building W32 version") -# This should work on win32 platform, but also when the compiler -# is available anyway under linux -set (CMAKE_C_COMPILER "i586-mingw32msvc-gcc") -set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++") -set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # to get rid of -rdynamic -set (scythername "scyther-w32.exe") -add_executable (${scythername} ${Scyther_sources}) - diff --git a/gui/src/BuildUnix.cmake b/gui/src/BuildUnix.cmake deleted file mode 100644 index 8985f42..0000000 --- a/gui/src/BuildUnix.cmake +++ /dev/null @@ -1,12 +0,0 @@ -################################################################ -# Name: BuildUnix.cmake -# Purpose: Build Unix binary on self -# Author: Cas Cremers -################################################################ - -# We call it linux, because that is what de-facto is the case. - -message (STATUS "Building Linux version") -set (scythername "scyther-linux") -add_executable (${scythername} ${Scyther_sources}) - diff --git a/gui/src/CMakeLists.txt b/gui/src/CMakeLists.txt deleted file mode 100644 index dc4b53c..0000000 --- a/gui/src/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -################################################################ -# Name: CMakeLists.txt -# Purpose: Input file for CMake for the Scyther tool -# Author: Cas Cremers -################################################################ - -# Scyther project -project (Scyther) -# I need 2.4 for flex/etc although it does not run yet -CMAKE_MINIMUM_REQUIRED(VERSION 2.4) - -# List all the source files -set (Scyther_sources - arachne.c binding.c claim.c color.c compiler.c cost.c - debug.c depend.c dotout.c error.c heuristic.c hidelevel.c - intruderknowledge.c knowledge.c label.c list.c main.c mgu.c - prune_bounds.c prune_theorems.c role.c - specialterm.c states.c switches.c symbol.c system.c tac.c - termlist.c termmap.c term.c timer.c type.c warshall.c xmlout.c - parser.c scanner.c - ) - -# If we are in a debug mode we want to be strict -set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -DDEBUG") - -# Usual static -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static") - -# Determine version number -include (SVNVersion.cmake) - -# Make scanner and parser -include (ScannerParser.cmake) - -# Set build target settings according to platform -include (BuildPlatform.cmake) - diff --git a/gui/src/FindBISON.cmake b/gui/src/FindBISON.cmake deleted file mode 100644 index e07dd04..0000000 --- a/gui/src/FindBISON.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# - Try to find Bison -# Once done this will define -# -# BISON_FOUND - system has Bison -# BISON_EXECUTABLE - path of the bison executable -# BISON_VERSION - the version string, like "2.5.31" -# - - -FIND_PROGRAM(BISON_EXECUTABLE NAMES bison) -mark_as_advanced(BISON_DIR Bison_DIR) - -#INCLUDE(MacroEnsureVersion) - -IF(BISON_EXECUTABLE) - SET(BISON_FOUND TRUE) - - EXECUTE_PROCESS(COMMAND ${BISON_EXECUTABLE} --version - OUTPUT_VARIABLE _BISON_VERSION - ) - string (REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" BISON_VERSION "${_bison_VERSION}") -ENDIF(BISON_EXECUTABLE) - -IF(BISON_FOUND) - IF(NOT Bison_FIND_QUIETLY) - MESSAGE(STATUS "Found Bison: ${BISON_EXECUTABLE}") - ENDIF(NOT Bison_FIND_QUIETLY) -ELSE(BISON_FOUND) - IF(Bison_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find Bison") - ENDIF(Bison_FIND_REQUIRED) -ENDIF(BISON_FOUND) - diff --git a/gui/src/FindFLEX.cmake b/gui/src/FindFLEX.cmake deleted file mode 100644 index 34312e6..0000000 --- a/gui/src/FindFLEX.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# - Try to find Flex -# Once done this will define -# -# FLEX_FOUND - system has Flex -# FLEX_EXECUTABLE - path of the flex executable -# FLEX_VERSION - the version string, like "2.5.31" -# - - -FIND_PROGRAM(FLEX_EXECUTABLE NAMES flex) -mark_as_advanced(FLEX_DIR Flex_DIR) - -#INCLUDE(MacroEnsureVersion) - -IF(FLEX_EXECUTABLE) - SET(FLEX_FOUND TRUE) - - EXECUTE_PROCESS(COMMAND ${FLEX_EXECUTABLE} --version - OUTPUT_VARIABLE _FLEX_VERSION - ) - string (REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" FLEX_VERSION "${_FLEX_VERSION}") -ENDIF(FLEX_EXECUTABLE) - -IF(FLEX_FOUND) - IF(NOT Flex_FIND_QUIETLY) - MESSAGE(STATUS "Found Flex: ${FLEX_EXECUTABLE}") - ENDIF(NOT Flex_FIND_QUIETLY) -ELSE(FLEX_FOUND) - IF(Flex_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find Flex") - ENDIF(Flex_FIND_REQUIRED) -ENDIF(FLEX_FOUND) - diff --git a/gui/src/GetOS.cmake b/gui/src/GetOS.cmake deleted file mode 100644 index d1b023f..0000000 --- a/gui/src/GetOS.cmake +++ /dev/null @@ -1,43 +0,0 @@ -################################################################ -# Name: GetOS.cmake -# Purpose: Determine Source_OS and Destination_OS (-DTARGETOS) -# Author: Cas Cremers -################################################################ - -# Supported types: -# -# Win32 -# Unix -# MacPPC -# MacIntel - -# First we find out the current operating system -set (Source_OS) -if (WIN32) - # Windows - set (Source_OS "Win32") -else (WIN32) - # Not windows, is it a mac? - if (APPLE) - # TODO: A mac, but what architecture? - # For now we assume intel (Christoph Sprenger's machine) - set (Source_OS "MacIntel") - else (APPLE) - # Not a mac, not windows - if (UNIX) - set (Source_OS "Unix") - else (UNIX) - message (FATAL "Unrecognized source platform.") - endif (UNIX) - endif (APPLE) -endif (WIN32) -#message (STATUS "Source platform: ${Source_OS}") - -# Destination? If target is unset, we just take the source -if (TARGETOS) - set (Destination_OS "${TARGETOS}") -else (TARGETOS) - set (Destination_OS "${Source_OS}") -endif (TARGETOS) -#message (STATUS "Destination platform: ${Destination_OS}") - diff --git a/gui/src/Makefile-fallback b/gui/src/Makefile-fallback deleted file mode 100644 index 22694f2..0000000 --- a/gui/src/Makefile-fallback +++ /dev/null @@ -1,86 +0,0 @@ -# -# Scyther Makefile -# - -# -# DEBUG or optimization settings: uncomment a single line: -# -CFLAGS = -g3 -D DEBUG # default usage, for e.g. with valgrind -#CFLAGS = -g3 -D DEBUG -pg # for code profiling with gprof -#CFLAGS = -O3 -static -finline-functions -fomit-frame-pointer - -# -# Compiler and linkage -# -CC = gcc -# Note that these paths must include the path to the argtable library. -CPPFLAGS = -I/scratch/ccremers/include -I/usr/local/include -Wall -LDFLAGS = -L/scratch/ccremers/lib -L/usr/local/lib -LOADLIBS = -lfl -LDLIBS = -largtable2 -OPTIONS = ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} - -# -# Module set for the modelchecker -# -MODULES=memory.o terms.o termlists.o symbols.o knowledge.o runs.o modelchecker.o \ -report.o debug.o mgu.o substitutions.o \ -match_basic.o \ -match_clp.o constraints.o \ -output.o latex.o \ -varbuf.o tracebuf.o attackminimize.o \ -tac.o parser.o compiler.o - -# -# Dependencies -# -MODELCHECKER = ${MODULES} main.o - -all: scyther tags - -${Target}.o: ${Target}.c - $(CC) $(OPTIONS) ${Target}.c -c - -scanner.c: scanner.lex - flex scanner.lex - cp lex.yy.c scanner.c - -tok.h: parser.c - -parser.c: parser.y - bison -d -v parser.y - cp parser.tab.c parser.c - cmp -s parser.tab.h tok.h || cp parser.tab.h tok.h - -tags: *.c *.h - ctags *.c *.h - -modules: $(MODULES) - -scyther: scanner.o $(MODELCHECKER) - $(CC) $(OPTIONS) $(MODELCHECKER) -o scyther $(LOADLIBS) $(LDLIBS) - -ptestmain.o scanner.o : tok.h - -# -# Cleanup -# -clean: - rm -f *.o - rm -f scyther - rm -f scanner.c - rm -f parser.c - rm -f tok.h -# -# Clean and rebuild: 'make new' -# -new: - make clean - make all - -# -# Make doxygen reference manuals. (in ../refman) -# -refman: doxyconfig - doxygen doxyconfig - diff --git a/gui/src/SVNVersion.cmake b/gui/src/SVNVersion.cmake deleted file mode 100644 index a8350af..0000000 --- a/gui/src/SVNVersion.cmake +++ /dev/null @@ -1,58 +0,0 @@ -################################################################ -# Name: SVNVersion.cmake -# Purpose: Determine subversion revision id for Scyther -# and write it into a macro in version.h -# Author: Cas Cremers -################################################################ - -# Technically, this only needs to be redone each time a file -# changes, so this is a target with dependencies on all files. - -# Checkout version info -find_program (SVNVERSION_EXECUTABLE NAMES svnversion) -mark_as_advanced (SVNVERSION_EXECUTABLE) -mark_as_advanced (SVNVERSION_DYNAMIC) -set (SVNVERSION_DYNAMIC false) -if (SVNVERSION_EXECUTABLE) - # test whether svnversion gives useful info - execute_process ( - COMMAND ${SVNVERSION_EXECUTABLE} --no-newline - OUTPUT_VARIABLE SVN_Result - ) - mark_as_advanced (SVN_Result) - if (NOT ${SVN_Result} STREQUAL "exported") - # svnversion gives useful stuff - ## write to file - #file (WRITE version.h "#define SVNVERSION \"${SVN_Result}\"\n") - set (SVNVERSION_DYNAMIC true) - endif (NOT ${SVN_Result} STREQUAL "exported") - mark_as_advanced (SVNDIR) -endif (SVNVERSION_EXECUTABLE) - -# If dynamic generation is required, this means another target in the -# makefile -if (SVNVERSION_DYNAMIC) - # add a command to generate version.h - message (STATUS "Generating version.h dynamically using svnversion command") - add_custom_command ( - OUTPUT version.h - # The version number depends on all the files; if they - # don't change, neither should the version number - # (although this might be incorrect when updating the - # current directory) - DEPENDS ${Scyther_sources} - DEPENDS .svn - COMMAND ./subbuild-version-information.sh - COMMENT "Generating subversion and tag version information in version.h using svnversion command" - ) -else (SVNVERSION_DYNAMIC) - # Don't dynamically generate, simply empty every time - file (WRITE version.h "#define SVNVERSION \"Unknown\"\n#define TAGVERSION \"Unknown\"") -endif (SVNVERSION_DYNAMIC) - -# add the version number to the sources -set_source_files_properties(version.h - PROPERTIES - GENERATED true) -set (Scyther_sources ${Scyther_sources} version.h) - diff --git a/gui/src/ScannerParser.cmake b/gui/src/ScannerParser.cmake deleted file mode 100644 index a778c3f..0000000 --- a/gui/src/ScannerParser.cmake +++ /dev/null @@ -1,41 +0,0 @@ -################################################################ -# Name: ScannerParser.cmake -# Purpose: If flex/bison are available, generate parser and scanner -# Author: Cas Cremers -################################################################ - -# Make the scanner using flex, if it can be found -include(FindFLEX.cmake) -if (FLEX_FOUND) - set_source_files_properties(scanner.c PROPERTIES GENERATED true) - ADD_CUSTOM_COMMAND ( - OUTPUT scanner.c - DEPENDS scanner.l - COMMAND ${FLEX_EXECUTABLE} - # TODO: I should look up from which version the -o - # switch works, might not be portable. - ARGS -oscanner.c scanner.l - COMMENT "Building scanner.c from scanner.l using flex" - ) -else (FLEX_FOUND) - message (STATUS "Because flex is not found, we will use the existing scanner.c") -endif (FLEX_FOUND) - -# Make the parser using bison, if it can be found -include(FindBISON.cmake) -if (BISON_FOUND) - set_source_files_properties(parser.c PROPERTIES GENERATED true) - ADD_CUSTOM_COMMAND ( - OUTPUT parser.c - DEPENDS parser.y - COMMAND ${BISON_EXECUTABLE} - # TODO: I should look up from which version the -o - # switch works, might not be portable. - ARGS -d -oparser.c parser.y - COMMENT "Building parser.c from parser.y using bison" - ) -else (BISON_FOUND) - message (STATUS "Because bison is not found, we will use the existing parser.c") -endif (BISON_FOUND) - - diff --git a/gui/src/Scyther.dev b/gui/src/Scyther.dev deleted file mode 100644 index c50735f..0000000 --- a/gui/src/Scyther.dev +++ /dev/null @@ -1,789 +0,0 @@ -[Project] -FileName=Scyther.dev -Name=Scyther -UnitCount=72 -Type=1 -Ver=1 -ObjFiles= -Includes= -Libs= -PrivateResource= -ResourceIncludes= -MakeIncludes= -Compiler= -CppCompiler= -Linker= -IsCpp=0 -Icon= -ExeOutput=..\gui\Scyther -ObjectOutput= -OverrideOutput=0 -OverrideOutputName=Scyther.exe -HostApplication= -Folders= -CommandLine= -UseCustomMakefile=0 -CustomMakefile= -IncludeVersionInfo=0 -SupportXPThemes=0 -CompilerSet=0 -CompilerSettings=0000000000000000000000 - -[Unit1] -FileName=xmlout.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit2] -FileName=arachne.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit3] -FileName=arachne.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit4] -FileName=binding.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit5] -FileName=binding.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit6] -FileName=claim.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit7] -FileName=claim.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit8] -FileName=color.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit9] -FileName=color.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit10] -FileName=compiler.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit11] -FileName=compiler.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit12] -FileName=cost.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit13] -FileName=cost.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit14] -FileName=debug.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit15] -FileName=debug.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit16] -FileName=depend.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit17] -FileName=depend.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit18] -FileName=dotout.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit19] -FileName=dotout.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit20] -FileName=error.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit21] -FileName=error.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit22] -FileName=heuristic.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit23] -FileName=heuristic.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit24] -FileName=hidelevel.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit25] -FileName=hidelevel.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit26] -FileName=intruderknowledge.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit27] -FileName=intruderknowledge.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit28] -FileName=knowledge.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit29] -FileName=knowledge.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit30] -FileName=label.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit31] -FileName=label.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit32] -FileName=list.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit33] -FileName=list.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit35] -FileName=mgu.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit36] -FileName=pheading.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit37] -FileName=prune_bounds.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit38] -FileName=prune_bounds.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit39] -FileName=prune_theorems.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit40] -FileName=prune_theorems.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit41] -FileName=role.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit42] -FileName=role.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit43] -FileName=specialterm.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit44] -FileName=specialterm.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit45] -FileName=states.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit46] -FileName=states.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit48] -FileName=switches.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit49] -FileName=symbol.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit50] -FileName=symbol.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit51] -FileName=system.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit52] -FileName=system.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit53] -FileName=tac.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit54] -FileName=tac.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit55] -FileName=term.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit56] -FileName=term.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit57] -FileName=termlist.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit58] -FileName=termlist.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit59] -FileName=termmap.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit60] -FileName=termmap.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit61] -FileName=timer.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit62] -FileName=timer.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit63] -FileName=type.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit64] -FileName=type.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit65] -FileName=warshall.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit66] -FileName=warshall.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit67] -FileName=xmlout.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit68] -FileName=main.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit69] -FileName=version.h -CompileCpp=0 -Folder= -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit70] -FileName=parser.h -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit71] -FileName=scanner.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[VersionInfo] -Major=0 -Minor=1 -Release=1 -Build=1 -LanguageID=1033 -CharsetID=1252 -CompanyName= -FileVersion= -FileDescription=Developed using the Dev-C++ IDE -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName= -ProductVersion= -AutoIncBuildNr=0 - -[Unit34] -FileName=mgu.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit72] -FileName=parser.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit73] -FileName=scanner.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit74] -FileName=parser.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - -[Unit47] -FileName=switches.c -CompileCpp=0 -Folder=Scyther -Compile=1 -Link=1 -Priority=1000 -OverrideBuildCmd=0 -BuildCmd= - diff --git a/gui/src/UniversalBinary.cmake b/gui/src/UniversalBinary.cmake deleted file mode 100644 index 1dd17d2..0000000 --- a/gui/src/UniversalBinary.cmake +++ /dev/null @@ -1,42 +0,0 @@ -################################################################ -# Name: UniversalBinary.cmake -# Purpose: Add target to make a Mac universal binary -# Needs pre-build mac versions first! -# Author: Cas Cremers -################################################################ - -find_program(lipoexecutable lipo) -if (lipoexecutable) - # Check whether we already have the binaries - set (UBrequiredfiles FALSE) - set (ppcfile "scyther-macppc") - set (intelfile "scyther-macintel") - if (EXISTS "${ppcfile}") - if (EXISTS "${intelfile}") - set (UBrequiredfiles TRUE) - else (EXISTS "${intelfile}") - message (STATUS "Could not find scyther-macintel.") - endif (EXISTS "${intelfile}") - else (EXISTS "${ppcfile}") - message (STATUS "Could not find scyther-macppc.") - endif (EXISTS "${ppcfile}") - - # Use information to proceed - if (UBrequiredfiles) - message (STATUS "Adding target for Mac universal binary") - add_custom_target (scyther-mac - COMMAND lipo -create "${ppcfile}" "${intelfile}" -output scyther-mac - COMMENT "Generating Mac universal binary" - DEPENDS scyther-macintel - DEPENDS scyther-macppc - ) - else (UBrequiredfiles) - message (STATUS "No universal binary possible yet. Please do the following:") - message (STATUS " cmake -DTARGETOS=MacPPC . && make") - message (STATUS " cmake -DTARGETOS=MacIntel . && make") - message (STATUS " cmake . && make scyther-mac") - endif (UBrequiredfiles) -else (lipoexecutable) - message (FATAL_ERROR "Cannot find the 'lipo' program that is required for creating universal binaries") -endif (lipoexecutable) - diff --git a/gui/src/arachne.c b/gui/src/arachne.c deleted file mode 100644 index 7b98005..0000000 --- a/gui/src/arachne.c +++ /dev/null @@ -1,2582 +0,0 @@ -/** - * - *@file arachne.c - * - * Introduces a method for proofs akin to the Athena modelchecker - * http://www.ece.cmu.edu/~dawnsong/athena/ - * - */ - -#include -#include -#include -#include -#if !defined(__APPLE__) -#ifdef DEBUG -#include -#endif -#endif - -#include "term.h" -#include "termlist.h" -#include "role.h" -#include "system.h" -#include "knowledge.h" -#include "compiler.h" -#include "states.h" -#include "mgu.h" -#include "arachne.h" -#include "error.h" -#include "claim.h" -#include "debug.h" -#include "binding.h" -#include "warshall.h" -#include "timer.h" -#include "type.h" -#include "switches.h" -#include "specialterm.h" -#include "cost.h" -#include "dotout.h" -#include "prune_bounds.h" -#include "prune_theorems.h" -#include "arachne.h" -#include "hidelevel.h" -#include "depend.h" -#include "xmlout.h" -#include "heuristic.h" - -extern int *graph; -extern int nodes; -extern int graph_uordblks; - -static System sys; //!< local buffer for the system pointer - -int attack_length; //!< length of the attack -int attack_leastcost; //!< cost of the best attack sofar \sa cost.c - -Protocol INTRUDER; //!< intruder protocol -Role I_M; //!< Initial knowledge role of the intruder -Role I_RRS; //!< Encrypt role of the intruder -Role I_RRSD; //!< Decrypt role of the intruder - -int proofDepth; //!< Current depth of the proof -int max_encryption_level; //!< Maximum encryption level of any term - -static int indentDepth; -static int prevIndentDepth; -static int indentDepthChanges; -static FILE *attack_stream; - -/* - * Forward declarations - */ - -int iterate (); - -/* - * Program code - */ - -//! Init Arachne engine -void -arachneInit (const System mysys) -{ - Roledef rd; - - void add_event (int event, Term message) - { - rd = roledefAdd (rd, event, NULL, NULL, NULL, message, NULL); - } - - Role add_role (const char *rolenamestring) - { - Role r; - Term rolename; - - rolename = makeGlobalConstant (rolenamestring); - r = roleCreate (rolename); - r->roledef = rd; - rd = NULL; - r->next = INTRUDER->roles; - INTRUDER->roles = r; - // compute_role_variables (sys, INTRUDER, r); - return r; - } - - sys = mysys; // make sys available for this module as a global - - /** - * Very important: turn role terms that are local to a run, into variables. - */ - term_rolelocals_are_variables (); - - /* - * Add intruder protocol roles - */ - - INTRUDER = protocolCreate (makeGlobalConstant (" INTRUDER ")); - - // Initially empty roledef - rd = NULL; - - add_event (SEND, NULL); - I_M = add_role ("I_M: Atomic message"); - - add_event (READ, NULL); - add_event (READ, NULL); - add_event (SEND, NULL); - I_RRS = add_role ("I_E: Encrypt"); - - add_event (READ, NULL); - add_event (READ, NULL); - add_event (SEND, NULL); - I_RRSD = add_role ("I_D: Decrypt"); - - sys->num_regular_runs = 0; - sys->num_intruder_runs = 0; - max_encryption_level = 0; - - indentDepth = 0; - prevIndentDepth = 0; - indentDepthChanges = 0; - - return; -} - -//! Close Arachne engine -void -arachneDone () -{ - return; -} - -//------------------------------------------------------------------------ -// Detail -//------------------------------------------------------------------------ - -//! Just a defined integer for invalid -#define INVALID -1 -//! can this roledef constitute a read Goal? -#define isGoal(rd) (rd->type == READ && !rd->internal) -//! is this roledef already bound? -#define isBound(rd) (rd->bound) - -//! Indent prefix print -void -indentPrefixPrint (const int annotate, const int jumps) -{ - void counterPrint () - { - statesFormat (sys->current_claim->states); - eprintf ("\t"); - eprintf ("%i", annotate); - eprintf ("\t"); - } - - if (switches.output == ATTACK && globalError == 0) - { - // Arachne, attack, not an error - // We assume that means DOT output - eprintf ("// "); - counterPrint (); - } - else - { - // If it is not to stdout, or it is not an attack... - int i; - - counterPrint (); - for (i = 0; i < jumps; i++) - { - if (i % 3 == 0) - eprintf ("|"); - else - eprintf (" "); - eprintf (" "); - } - } -} - -//! Indent print -/** - * More subtle than before. Indentlevel changes now cause a counter to be increased, which is printed. Nice to find stuff in attacks. - */ -void -indentPrint () -{ - if (indentDepth != prevIndentDepth) - { - indentDepthChanges++; - while (indentDepth != prevIndentDepth) - { - if (prevIndentDepth < indentDepth) - { - indentPrefixPrint (indentDepthChanges, prevIndentDepth); - eprintf ("{\n"); - prevIndentDepth++; - } - else - { - prevIndentDepth--; - indentPrefixPrint (indentDepthChanges, prevIndentDepth); - eprintf ("}\n"); - } - } - } - indentPrefixPrint (indentDepthChanges, indentDepth); -} - -//! Print indented binding -void -binding_indent_print (const Binding b, const int flag) -{ - indentPrint (); - if (flag) - eprintf ("!! "); - binding_print (b); - eprintf ("\n"); -} - -//! Keylevel tester: can this term ever be sent at this keylevel? -int -isKeylevelRight (Term t, const int kl) -{ - t = deVar (t); - if (realTermLeaf (t)) - { - // Leaf - if (isTermVariable (t)) - { - // Variables are okay - return 1; - } - else - { - // Constant, does it have a keylevel? - int mykl; - - mykl = TermSymb (t)->keylevel; - if (mykl < INT_MAX) - { - // Sensible keylevel, so it must be possible - return (mykl <= kl); - } - else - { - // Never sent? - // So we can not expect it to come from that - return 0; - } - } - } - else - { - // Node - if (realTermTuple (t)) - { - // Tuple - return isKeylevelRight (TermOp1 (t), kl) - && isKeylevelRight (TermOp2 (t), kl); - } - else - { - // Crypt - return isKeylevelRight (TermOp1 (t), kl) - && isKeylevelRight (TermOp2 (t), kl + 1); - } - } -} - -//! Keylevel tester: can this term ever be sent at this keylevel? -/** - * Depends on the keylevel lemma (so this will not be called when those lemmas - * are disabled) and the keylevel constructors in symbol.c The idea is that - * certain terms will never be sent. - */ -int -isPossiblySent (Term t) -{ - return isKeylevelRight (t, 0); -} - -//! Wrapper for roleInstance -/** - *@return Returns the run number - */ -int -semiRunCreate (const Protocol p, const Role r) -{ - int run; - - if (p == INTRUDER) - sys->num_intruder_runs++; - else - sys->num_regular_runs++; -#ifdef DEBUG - if (DEBUGL (5)) - { - globalError++; - eprintf ("Adding a run %i with semiRunCreate, ", sys->maxruns); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf ("\n"); - globalError--; - } -#endif - roleInstance (sys, p, r, NULL, NULL); - run = sys->maxruns - 1; - sys->runs[run].height = 0; - return run; -} - -//! Wrapper for roleDestroy -void -semiRunDestroy () -{ - if (sys->maxruns > 0) - { - Protocol p; - - p = sys->runs[sys->maxruns - 1].protocol; - roleInstanceDestroy (sys); - if (p == INTRUDER) - sys->num_intruder_runs--; - else - sys->num_regular_runs--; - } -} - -//! Fix the keylevels of any agents -/** - * We simply extract the agent names from m0 (ugly hack) - */ -void -fixAgentKeylevels (void) -{ - Termlist tl, m0tl; - - m0tl = knowledgeSet (sys->know); - tl = m0tl; - while (tl != NULL) - { - Term t; - - t = deVar (tl->term); - if (realTermLeaf (t)) - { - { - // a real agent type thing - if (TermSymb (t)->keylevel == INT_MAX) - { - // Fix the keylevel - TermSymb (t)->keylevel = 0; - } - } - } - tl = tl->next; - } - termlistDelete (m0tl); -} - - -//! After a role instance, or an extension of a run, we might need to add some goals -/** - * From old to new. Sets the new height to new. - *@returns The number of goals added (for destructions) - */ -int -add_read_goals (const int run, const int old, const int new) -{ - if (new <= sys->runs[run].height) - { - return 0; - } - else - { - int count; - int i; - Roledef rd; - - sys->runs[run].height = new; - i = old; - rd = eventRoledef (sys, run, i); - count = 0; - while (i < new && rd != NULL) - { - if (rd->type == READ) - { - if (switches.output == PROOF) - { - if (count == 0) - { - indentPrint (); - eprintf ("Thus, we must also produce "); - } - else - { - eprintf (", "); - } - termPrint (rd->message); - } - count = count + goal_add (rd->message, run, i, 0); - } - rd = rd->next; - i++; - } - if ((count > 0) && switches.output == PROOF) - { - eprintf ("\n"); - } - return count; - } -} - -//! Determine trace length -int -get_semitrace_length () -{ - int run; - int length; - - run = 0; - length = 0; - while (run < sys->maxruns) - { - if (sys->runs[run].protocol != INTRUDER) - { - // Non-intruder run: count length - // Subtract 'firstReal' to ignore chooses. - length = length + sys->runs[run].height - sys->runs[run].firstReal; - } - run++; - } - return length; -} - -//! Count intruder events -int -countIntruderActions () -{ - int count; - int run; - - count = 0; - run = 0; - while (run < sys->maxruns) - { - if (sys->runs[run].protocol == INTRUDER) - { - // Only intruder roles - if (sys->runs[run].role != I_M) - { - // The M_0 (initial knowledge) events don't count. - count++; - } - } - run++; - } - return count; -} - -//------------------------------------------------------------------------ -// Proof reporting -//------------------------------------------------------------------------ - -//! Protocol/role name of a run -void -role_name_print (const int run) -{ - eprintf ("protocol "); - termPrint (sys->runs[run].protocol->nameterm); - eprintf (", role "); - termPrint (sys->runs[run].role->nameterm); -} - -//! Adding a run/extending a run -void -proof_suppose_run (const int run, const int oldlength, const int newlength) -{ - if (switches.output == PROOF) - { - int reallength; - - indentPrint (); - eprintf ("Suppose "); - if (oldlength == 0) - eprintf ("there is a "); - else - eprintf ("we extend "); - reallength = roledef_length (sys->runs[run].start); - if (reallength > newlength) - eprintf ("semi-"); - eprintf ("run #%i of ", run); - role_name_print (run); - if (reallength > newlength) - { - if (oldlength == 0) - eprintf (" of"); - else - eprintf (" to"); - eprintf (" length %i", newlength); - } - eprintf ("\n"); - } -} - -//! Select a goal -void -proof_select_goal (Binding b) -{ - if (switches.output == PROOF) - { - Roledef rd; - - rd = roledef_shift (sys->runs[b->run_to].start, b->ev_to); - indentPrint (); - eprintf ("Selected goal: Where does term "); - termPrint (b->term); - eprintf (" occur first as an interm?\n"); - indentPrint (); - eprintf ("* It is required for "); - roledefPrint (rd); - eprintf (" at index %i in run %i\n", b->ev_to, b->run_to); - } -} - -//! Cannot bind because of cycle -void -proof_cannot_bind (const Binding b, const int run, const int index) -{ - if (switches.output == PROOF) - { - indentPrint (); - eprintf - ("Cannot bind this to run %i, index %i because that introduces a cycle.\n", - run, index); - } -} - -//! Test a binding -void -proof_suppose_binding (Binding b) -{ - if (switches.output == PROOF) - { - Roledef rd; - - indentPrint (); - rd = roledef_shift (sys->runs[b->run_from].start, b->ev_from); - eprintf ("Suppose it originates in run %i, at index %i\n", b->run_from, - b->ev_from); - indentPrint (); - eprintf ("* I.e. event "); - roledefPrint (rd); - eprintf ("\n"); - indentPrint (); - eprintf ("* from "); - role_name_print (b->run_from); - eprintf ("\n"); - } -} - -//! Create a new temporary file and return the pointer. -FILE * -scyther_tempfile (void) -{ - return tmpfile (); -} - -//------------------------------------------------------------------------ -// Sub -//------------------------------------------------------------------------ - -//! Iterate over all events in the roles (including the intruder ones) -/** - * Function is called with (protocol pointer, role pointer, roledef pointer, index) - * and returns an integer. If it is false, iteration aborts. - */ -int -iterate_role_events (int (*func) ()) -{ - Protocol p; - - p = sys->protocols; - while (p != NULL) - { - Role r; - - r = p->roles; - while (r != NULL) - { - Roledef rd; - int index; - - rd = r->roledef; - index = 0; - while (rd != NULL) - { - if (!func (p, r, rd, index)) - return 0; - index++; - rd = rd->next; - } - r = r->next; - } - p = p->next; - } - return 1; -} - -//! Iterate over all send types in the roles (including the intruder ones) -/** - * Function is called with (protocol pointer, role pointer, roledef pointer, index) - * and returns an integer. If it is false, iteration aborts. - */ -int -iterate_role_sends (int (*func) ()) -{ - int send_wrapper (Protocol p, Role r, Roledef rd, int i) - { - if (rd->type == SEND) - { - return func (p, r, rd, i); - } - else - { - return 1; - } - } - - return iterate_role_events (send_wrapper); -} - -//! Create decryption role instance -/** - * Note that this does not add any bindings for the reads. - * - *@param term The term to be decrypted (implies decryption key) - *@param key The key that is needed to decrypt the term - * - *@returns The run id of the decryptor instance - */ -int -create_decryptor (const Term term, const Term key) -{ - if (term != NULL && isTermEncrypt (term)) - { - Roledef rd; - int run; - -#ifdef DEBUG - if (DEBUGL (5)) - { - globalError++; - eprintf ("Creating decryptor for term "); - termPrint (term); - eprintf (" and key "); - termPrint (key); - eprintf ("\n"); - globalError--; - } -#endif - - run = semiRunCreate (INTRUDER, I_RRSD); - rd = sys->runs[run].start; - rd->message = termDuplicateUV (term); - rd->next->message = termDuplicateUV (key); - rd->next->next->message = termDuplicateUV (TermOp (term)); - sys->runs[run].height = 3; - proof_suppose_run (run, 0, 3); - - return run; - } - - globalError++; - eprintf ("Term for which a decryptor instance is requested: "); - termPrint (term); - eprintf ("\n"); - error ("Trying to build a decryptor instance for a non-encrypted term."); - return -1; -} - -//! Get the priority level of a key that is needed for a term (typical pk/sk distinction) -int -getPriorityOfNeededKey (const System sys, const Term keyneeded) -{ - int prioritylevel; - - /* Normally, a key gets higher priority, but unfortunately this is not propagated at the moment. Maybe later. - */ - prioritylevel = 1; - if (realTermEncrypt (keyneeded)) - { - /* the key is a construction itself */ - if (inKnowledge (sys->know, TermKey (keyneeded))) - { - /* the key is constructed by a public thing */ - /* typically, this is a public key, so we postpone it */ - prioritylevel = -1; - } - } - return prioritylevel; -} - -//! Report failed binding -void -report_failed_binding (Binding b, int run, int index) -{ - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Failed to bind the binding at r%ii%i with term ", b->run_to, - b->ev_to); - termPrint (b->term); - eprintf (" to the source r%ii%i because of orderings.\n", run, index); -#ifdef DEBUG - if (DEBUGL (5)) - { - dependPrint (); - } -#endif - } -} - -//! Make a decryption chain from a binding to some run,index using the key list, and callback if this works. -/** - * The key goals are bound to the goal, and then we iterate on that. - * - *@param b binding to fix (bind), destination filled in - *@param run run of binding start - *@param index index in run of binding start - * Callback return value is int, but is effectively ignored. - */ -void -createDecryptionChain (const Binding b, const int run, const int index, - Termlist keylist, int (*callback) (void)) -{ - if (keylist == NULL) - { - // Immediate binding, no key needed. - if (goal_bind (b, run, index)) - { - callback (); - goal_unbind (b); - return; - } - else - { - report_failed_binding (b, run, index); - } - } - else - { - Term tdecr, tkey; - int smallrun; - - // Some decryptor is needed for the term in the list - - indentDepth++; - - tdecr = keylist->term; - tkey = inverseKey (sys->know->inverses, TermKey (tdecr)); - smallrun = create_decryptor (tdecr, tkey); - { - Roledef rddecrypt; - Binding bnew; - int newgoals; - int prioritylevel; - - /* - * 2. Add goal bindings - */ - - rddecrypt = sys->runs[smallrun].start; - // Add goal for tdecr copy - newgoals = goal_add (rddecrypt->message, smallrun, 0, 0); - if (newgoals != 1) - { - error - ("Added %i goals (instead of one) for decryptor goal 1, weird.", - newgoals); - } - - // This is the unique new goal - bnew = (Binding) sys->bindings->data; - - // Add goal for needed key copy - prioritylevel = getPriorityOfNeededKey (sys, tkey); - newgoals += goal_add (rddecrypt->next->message, smallrun, 1, - prioritylevel); - - if (switches.output == PROOF) - { - indentPrint (); - eprintf - ("This introduces the obligation to decrypt the following subterm: "); - termPrint (tdecr); - eprintf (" to be decrypted using "); - termPrint (tkey); - eprintf ("\n"); - - indentPrint (); - eprintf - ("To this end, we added two new goals and one new send: "); - termPrint (rddecrypt->message); - eprintf (","); - termPrint (rddecrypt->next->message); - eprintf (","); - termPrint (rddecrypt->next->next->message); - eprintf ("\n"); - } - - /* - * 3. Bind open goal to decryptor? - */ - if (goal_bind (b, smallrun, 2)) - { - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Bound "); - termPrint (b->term); - eprintf (" to r%ii%i: trying new createDecryptionChain.\n", - smallrun, 2); - } - - // Iterate with the new goal - createDecryptionChain (bnew, run, index, keylist->next, callback); - goal_unbind (b); - } - else - { - report_failed_binding (b, smallrun, 2); - } - /* - * clean up - */ - goal_remove_last (newgoals); - } - semiRunDestroy (); - termDelete (tkey); - - indentDepth--; - } -} - - -//! Try to bind a specific existing run to a goal. -/** - * The idea is that we try to bind it this specific run and index. If this - * requires keys, then we should add such goals as well with the required - * decryptor things. - * - * The 'newdecr' boolean signals the addition of decryptors. If it is false, we should not add any. - * - * The key goals are bound to the goal. Iterates on success. - */ -void -bind_existing_to_goal (const Binding b, const int run, const int index, - int newdecr) -{ - Term bigterm; - - int unifiesWithKeys (Termlist substlist, Termlist keylist) - { - int old_length; - int newgoals; - - // TODO this is a hack: in this case we really should not use subterm - // unification but interm instead. However, this effectively does the same - // by avoiding branches that get immediately pruned anyway. - if (!newdecr && keylist != NULL) - { - return true; - } - // We need some adapting because the height would increase; we therefore - // have to add read goals before we know whether it unifies. - old_length = sys->runs[run].height; - newgoals = add_read_goals (run, old_length, index + 1); - - { - // wrap substitution lists - - void wrapSubst (Termlist sl) - { - if (sl == NULL) - { - if (switches.output == PROOF) - { - Roledef rd; - - indentPrint (); - eprintf ("Suppose "); - termPrint (b->term); - eprintf (" originates first at run %i, event %i, as part of ", - run, index); - rd = roledef_shift (sys->runs[run].start, index); - termPrint (rd->message); - eprintf ("\n"); - } - // new create key goals, bind etc. - createDecryptionChain (b, run, index, keylist, iterate); - } - else - { - int neworders; - int allgood; - Term tvar; - - // the idea is, that a substitution in run x with - // something containing should be wrapped; this - // occurs for all subterms of other runs. - int makeDepend (Term tsmall) - { - Term tsubst; - - tsubst = deVar (tsmall); - if (!realTermVariable (tsubst)) - { - // Only for non-variables (i.e. local constants) - int r1, e1; - - r1 = TermRunid (tsubst); - e1 = firstOccurrence (sys, r1, tsubst, SEND); - if (e1 >= 0) - { - int r2, e2; - - r2 = TermRunid (tvar); - e2 = firstOccurrence (sys, r2, tsubst, READ); - if (e2 >= 0) - { - - if (dependPushEvent (r1, e1, r2, e2)) - { - neworders++; - return true; - } - else - { - allgood = false; - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Substitution for "); - termSubstPrint (sl->term); - eprintf (" (subterm "); - termPrint (tsmall); - eprintf (") could not be safely bound.\n"); - } - return false; - } - } - } - } - return true; - } - - neworders = 0; - allgood = true; - tvar = sl->term; - iterateTermOther (run, tvar, makeDepend); - if (allgood) - { - wrapSubst (sl->next); - } - while (neworders > 0) - { - neworders--; - dependPopEvent (); - } - } - } - - wrapSubst (substlist); - } - - // undo - goal_remove_last (newgoals); - sys->runs[run].height = old_length; - return true; - } - - bigterm = roledef_shift (sys->runs[run].start, index)->message; - subtermUnify (bigterm, b->term, NULL, NULL, unifiesWithKeys); -} - - - - -//! Bind a goal to an existing regular run, if possible, by adding decr events -int -bind_existing_run (const Binding b, const Protocol p, const Role r, - const int index) -{ - int run, flag; - int found; - - flag = 1; - found = 0; - for (run = 0; run < sys->maxruns; run++) - { - if (sys->runs[run].protocol == p && sys->runs[run].role == r) - { - found++; - if (switches.output == PROOF) - { - if (found == 1) - { - indentPrint (); - eprintf ("Can we bind it to an existing regular run of "); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf ("?\n"); - } - indentPrint (); - eprintf ("%i. Can we bind it to run %i?\n", found, run); - } - indentDepth++; - bind_existing_to_goal (b, run, index, true); - indentDepth--; - } - } - if (switches.output == PROOF && found == 0) - { - indentPrint (); - eprintf ("There is no existing run for "); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf ("\n"); - } - return flag; -} - -//! Bind a goal to a new run, possibly adding decr events -int -bind_new_run (const Binding b, const Protocol p, const Role r, - const int index) -{ - int run; - - run = semiRunCreate (p, r); - proof_suppose_run (run, 0, index + 1); - { - int newgoals; - - newgoals = add_read_goals (run, 0, index + 1); - indentDepth++; - bind_existing_to_goal (b, run, index, true); - indentDepth--; - goal_remove_last (newgoals); - } - semiRunDestroy (); - return true; -} - -//! Print the current semistate -void -printSemiState () -{ - int run; - int open; - - int binding_state_print (void *dt) - { - binding_indent_print ((Binding) dt, 1); - return 1; - } - - indentPrint (); - eprintf ("!! --=[ Semistate ]=--\n"); - indentPrint (); - eprintf ("!!\n"); - indentPrint (); - eprintf ("!! Trace length: %i\n", get_semitrace_length ()); - open = 0; - for (run = 0; run < sys->maxruns; run++) - { - int index; - Role r; - Roledef rd; - Term oldagent; - - indentPrint (); - eprintf ("!!\n"); - indentPrint (); - eprintf ("!! [ Run %i, ", run); - termPrint (sys->runs[run].protocol->nameterm); - eprintf (", "); - r = sys->runs[run].role; - oldagent = r->nameterm->subst; - r->nameterm->subst = NULL; - termPrint (r->nameterm); - r->nameterm->subst = oldagent; - if (oldagent != NULL) - { - eprintf (": "); - termPrint (oldagent); - } - eprintf (" ]\n"); - - index = 0; - rd = sys->runs[run].start; - while (index < sys->runs[run].height) - { - indentPrint (); - eprintf ("!! %i ", index); - roledefPrint (rd); - eprintf ("\n"); - if (isGoal (rd) && !isBound (rd)) - open++; - index++; - rd = rd->next; - } - } - if (sys->bindings != NULL) - { - indentPrint (); - eprintf ("!!\n"); - list_iterate (sys->bindings, binding_state_print); - } - indentPrint (); - eprintf ("!!\n"); - indentPrint (); - eprintf ("!! - open: %i -\n", open); -} - -//! Check if a binding duplicates an old one: if so, simply connect -/** - * If it returns true, it has bound the b_new binding, which we must unbind later. - */ -int -bind_old_goal (const Binding b_new) -{ - if (!b_new->done) - { - List bl; - - bl = sys->bindings; - while (bl != NULL) - { - Binding b_old; - - b_old = (Binding) bl->data; - if (b_old->done && isTermEqual (b_new->term, b_old->term)) - { - // Old is done and has the same term! - // So we try to copy this binding, and fix it. - if (goal_bind (b_new, b_old->run_from, b_old->ev_from)) - { - return true; - } - } - bl = bl->next; - } - } - // No old binding to connect to - return false; -} - -//! Create a new intruder run to generate knowledge from m0 -int -bind_goal_new_m0 (const Binding b) -{ - Termlist m0tl, tl; - int flag; - int found; - - - flag = 1; - found = 0; - m0tl = knowledgeSet (sys->know); - tl = m0tl; - while (flag && tl != NULL) - { - Term m0t; - Termlist subst; - - m0t = tl->term; - subst = termMguTerm (b->term, m0t); //! @todo This needs to be replace by the iterator one, but works for now - if (subst != MGUFAIL) - { - int run; - - I_M->roledef->message = m0t; - run = semiRunCreate (INTRUDER, I_M); - proof_suppose_run (run, 0, 1); - sys->runs[run].height = 1; - { - indentDepth++; - if (goal_bind (b, run, 0)) - { - found++; - proof_suppose_binding (b); - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("* I.e. retrieving "); - termPrint (b->term); - eprintf (" from the initial knowledge.\n"); - } - - { - // Now we also want to add bindings to have this run before all other runs - void wrapRunOrders (const int otherrun) - { - if (otherrun < 0) - { - // No more runs to do - flag = flag && iterate (); - } - else - { - if (otherrun != run) - { - if (dependPushEvent (run, 0, otherrun, 0)) - { - wrapRunOrders (otherrun - 1); - dependPopEvent (); - } - } - else - { - wrapRunOrders (otherrun - 1); - } - } - } - - wrapRunOrders (sys->maxruns - 1); - } - - goal_unbind (b); - } - else - { - proof_cannot_bind (b, run, 0); - } - indentDepth--; - } - semiRunDestroy (); - - - termlistSubstReset (subst); - termlistDelete (subst); - } - - tl = tl->next; - } - - if (found == 0 && switches.output == PROOF) - { - indentPrint (); - eprintf ("Term "); - termPrint (b->term); - eprintf (" cannot be constructed from the initial knowledge.\n"); - } - termlistDelete (m0tl); - - - return flag; -} - -//! Bind an intruder goal by intruder composition construction -/** - * Handles the case where the intruder constructs a composed term himself. - */ -int -bind_goal_new_encrypt (const Binding b) -{ - Term term; - int flag; - int can_be_encrypted; - - - flag = 1; - term = deVar (b->term); - can_be_encrypted = 0; - - if (!realTermLeaf (term)) - { - Term t1, t2; - - if (switches.intruder && (!realTermEncrypt (term))) - { - // tuple construction - error ("Goal that is a tuple should not occur!"); - } - - // must be encryption - t1 = TermOp (term); - t2 = TermKey (term); - - if (t2 != TERM_Hidden) - { - int run; - - can_be_encrypted = 1; - run = semiRunCreate (INTRUDER, I_RRS); - { - int index; - Roledef rd; - - rd = sys->runs[run].start; - rd->message = termDuplicateUV (t1); - rd->next->message = termDuplicateUV (t2); - rd->next->next->message = termDuplicateUV (term); - index = 2; - proof_suppose_run (run, 0, index + 1); - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("* Encrypting "); - termPrint (term); - eprintf (" using term "); - termPrint (t1); - eprintf (" and key "); - termPrint (t2); - eprintf ("\n"); - } - - { - int newgoals; - newgoals = add_read_goals (run, 0, index + 1); - { - - indentDepth++; - if (goal_bind (b, run, index)) - { - proof_suppose_binding (b); - flag = flag && iterate (); - goal_unbind (b); - } - else - { - proof_cannot_bind (b, run, index); - } - indentDepth--; - } - goal_remove_last (newgoals); - } - } - semiRunDestroy (); - } - } - - if (!can_be_encrypted) - { - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Term "); - termPrint (b->term); - eprintf (" cannot be constructed by encryption.\n"); - } - } - - return flag; -} - -//! Bind an intruder goal by intruder construction -/** - * Handles the case where the intruder constructs a composed term himself, or retrieves it from m0. - * However, it must not already have been created in an intruder run; then it gets bound to that. - */ -int -bind_goal_new_intruder_run (const Binding b) -{ - int flag; - - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Can we bind "); - termPrint (b->term); - eprintf (" from a new intruder run?\n"); - } - indentDepth++; - //flag = bind_goal_new_m0 (b); - //flag = flag && bind_goal_new_encrypt (b); - flag = bind_goal_new_encrypt (b); - indentDepth--; - return flag; -} - -//! Bind a regular goal -/** - * Problem child. Valgrind does not like it. - */ -int -bind_goal_regular_run (const Binding b) -{ - int flag; - int found; - - /* - * This is a local function so we have access to goal - */ - int bind_this_role_send (Protocol p, Role r, Roledef rd, int index) - { - int test_sub_unification (Termlist substlist, Termlist keylist) - { - // A unification exists; return the signal - return false; - } - - if (p == INTRUDER) - { - // No intruder roles here - return true; - } - - // Test for interm unification -#ifdef DEBUG - if (DEBUGL (5)) - { - indentPrint (); - eprintf ("Checking send candidate with message "); - termPrint (rd->message); - eprintf (" from "); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf (", index %i\n", index); - } -#endif - if (!subtermUnify - (rd->message, b->term, NULL, NULL, test_sub_unification)) - { - int sflag; - - // A good candidate - found++; - if (switches.output == PROOF && found == 1) - { - indentPrint (); - eprintf ("The term ", found); - termPrint (b->term); - eprintf - (" matches patterns from the role definitions. Investigate.\n"); - } - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("%i. It matches the pattern ", found); - termPrint (rd->message); - eprintf (" from "); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf (", at %i\n", index); - } - indentDepth++; - - // Bind to existing run -#ifdef DEBUG - debug (5, "Trying to bind to existing run."); -#endif - sflag = bind_existing_run (b, p, r, index); - // bind to new run -#ifdef DEBUG - debug (5, "Trying to bind to new run."); -#endif - sflag = sflag && bind_new_run (b, p, r, index); - - indentDepth--; - return sflag; - } - else - { - return true; - } - } - - - // Bind to all possible sends of regular runs - found = 0; - flag = iterate_role_sends (bind_this_role_send); - if (switches.output == PROOF && found == 0) - { - indentPrint (); - eprintf ("The term "); - termPrint (b->term); - eprintf (" does not match any pattern from the role definitions.\n"); - } - return flag; -} - - -//! Bind to all possible sends of intruder runs -int -bind_goal_old_intruder_run (Binding b) -{ - int run; - int flag; - int found; - - found = 0; - flag = 1; - for (run = 0; run < sys->maxruns; run++) - { - if (sys->runs[run].protocol == INTRUDER) - { - int ev; - Roledef rd; - - rd = sys->runs[run].start; - ev = 0; - while (ev < sys->runs[run].height) - { - if (rd->type == SEND) - { - found++; - if (switches.output == PROOF && found == 1) - { - indentPrint (); - eprintf - ("Suppose it is from an existing intruder run.\n"); - } - indentDepth++; - bind_existing_to_goal (b, run, ev, - (sys->runs[run].role != I_RRS)); - indentDepth--; - } - rd = rd->next; - ev++; - } - } - } - if (switches.output == PROOF && found == 0) - { - indentPrint (); - eprintf ("No existing intruder runs to match to.\n"); - } - return flag; -} - -//! Bind a goal in all possible ways -int -bind_goal_all_options (const Binding b) -{ - if (b->blocked) - { - error ("Trying to bind a blocked goal!"); - } - if (!b->done) - { - int flag; - - flag = 1; - proof_select_goal (b); - indentDepth++; - - // Consider a duplicate goal that we already bound before (C-minimality) - // if (1 == 0) - if (bind_old_goal (b)) - { - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Goal for term "); - termPrint (b->term); - eprintf (" was bound once before, linking up to #%i, %i.\n", - b->run_from, b->ev_from); - } - - flag = flag && iterate (); - - // Unbind again - goal_unbind (b); - indentDepth--; - return flag; - } - else - { - int know_only; - - know_only = false; - - if (1 == 0) // blocked for now - { - // Prune: if it is an SK type construct, ready - // No regular run will apply SK for you. - //!@todo This still needs a lemma, and a more generic (correct) algorithm!! It is currently - // actually false, e.g. for signing protocols, and password-like functions. - // - Term function; - - function = getTermFunction (b->term); - if (function != NULL) - { - if (!inKnowledge (sys->know, function)) - { - // Prune because we didn't know it before, and it is never subterm-sent - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("* Because "); - termPrint (b->term); - eprintf - (" is never sent from a regular run, so we only intruder construct it.\n"); - } - know_only = true; - } - } - } - - if (switches.experimental & 16) - { - // Keylevel lemmas: improves on the previous one - if (!isPossiblySent (b->term)) - { - if (switches.output == PROOF) - { - eprintf - ("Rejecting a term as a regular bind because key levels are off: "); - termPrint (b->term); - if (know_only) - { - eprintf (" [in accordance with function lemma]"); - } - else - { - eprintf (" [stronger than function lemma]"); - } - eprintf ("\n"); - } - know_only = true; - } - } - - if (!(switches.experimental & 32)) - { - /** - * Note: this is slightly weaker than the previous & 16, - * but it actually differs in such minimal cases that it - * might be better to simply have the (much cleaner) - * keylevel lemma. - * - * That's why this is default and the other isn't. - */ - - // Hidelevel variant - int hlf; - - hlf = hidelevelFlag (sys, b->term); - if (hlf == HLFLAG_NONE || hlf == HLFLAG_KNOW) - { - know_only = true; - } - } - - - // Allright, proceed - - proofDepth++; - if (know_only) - { - // Special case: only from intruder - flag = flag && bind_goal_old_intruder_run (b); - //flag = flag && bind_goal_new_intruder_run (b); - } - else - { - // Normal case - { - flag = bind_goal_regular_run (b); - } - flag = flag && bind_goal_old_intruder_run (b); - flag = flag && bind_goal_new_intruder_run (b); - } - proofDepth--; - - indentDepth--; - return flag; - } - } - else - { - return 1; - } -} - -//! Create a generic new term of the same type, with a new run identifier. -/** - * Output: the first element of the returned list. - */ -Termlist -createNewTermGeneric (Termlist tl, Term t) -{ - int freenumber; - Termlist tlscan; - Term newterm; - - /* Determine first free number */ - freenumber = sys->maxruns; - tlscan = tl; - while (tlscan != NULL) - { - Term ts; - - ts = tlscan->term; - if (isLeafNameEqual (t, ts)) - { - if (TermRunid (ts) >= freenumber) - { - freenumber = TermRunid (ts) + 1; - } - } - tlscan = tlscan->next; - } - - /* Make a new term with the free number */ - newterm = (Term) malloc (sizeof (struct term)); - memcpy (newterm, t, sizeof (struct term)); - TermRunid (newterm) = freenumber; - - /* The type of the new term should be that of the parent! */ - newterm->stype = termlistAppend (NULL, t); - - /* return */ - return termlistPrepend (tl, newterm); -} - -//! Construct a list of already used constants -Termlist -findUsedConstants (const System sys) -{ - int run; - Termlist tl; - Termlist tlconst; - - tl = NULL; - tlconst = NULL; - for (run = 0; run < sys->maxruns; run++) - { - tl = termlistAddBasics (tl, sys->runs[run].rho); - tl = termlistAddBasics (tl, sys->runs[run].sigma); - } - while (tl != NULL) - { - Term t; - - t = tl->term; - if (!realTermVariable (t)) - { - tlconst = termlistAddNew (tlconst, t); - } - tl = tl->next; - } - termlistDelete (tl); - return tlconst; -} - -//! Create a new term with incremented run rumber, starting at sys->maxruns. -/** - * This is a rather intricate function that tries to generate new terms of a - * certain type. It first looks up things in the initial knowledge, checking - * whether they are used already. After that, new ones are generated. - * - * Output: the first element of the returned list. - */ -Termlist -createNewTerm (Termlist tl, Term t, int isagent) -{ - /* Does if have an explicit type? - * If so, we try to find a fresh name from the intruder knowledge first. - */ - if (isagent) - { - Termlist knowlist; - Termlist kl; - - knowlist = knowledgeSet (sys->know); - kl = knowlist; - while (kl != NULL) - { - Term k; - - k = kl->term; - if (isAgentType (k->stype)) - { - /* agent */ - /* We don't want to instantiate untrusted agents. */ - if (!inTermlist (sys->untrusted, k)) - { - /* trusted agent */ - if (!inTermlist (tl, k)) - { - /* This agent name is not in the list yet. */ - return termlistPrepend (tl, k); - } - } - } - kl = kl->next; - } - termlistDelete (knowlist); - } - - /* Not an agent or no free one found */ - return createNewTermGeneric (tl, t); -} - -//! Delete a term made in the previous constructions -/** - * \sa createNewTerm - */ -void -deleteNewTerm (Term t) -{ - if (TermRunid (t) >= 0) - { - /* if it has a positive runid, it did not come from the intruder - * knowledge, so it must have been constructed. - */ - free (t); - } -} - -//! Make a trace concrete -/** - * People find reading variables in attack outputs difficult. - * Thus, we instantiate them in a sensible way to make things more readable. - * - * This happens after sys->maxruns is fixed. Intruder constants thus are numbered from sys->maxruns onwards. - * - * \sa makeTraceClass - */ -Termlist -makeTraceConcrete (const System sys) -{ - Termlist changedvars; - Termlist tlnew; - int run; - - changedvars = NULL; - tlnew = findUsedConstants (sys); - run = 0; - - while (run < sys->maxruns) - { - Termlist tl; - - tl = sys->runs[run].locals; - while (tl != NULL) - { - /* variable, and of some run? */ - if (isTermVariable (tl->term) && TermRunid (tl->term) >= 0) - { - Term var; - Term name; - Termlist vartype; - - var = deVar (tl->term); - vartype = var->stype; - // Determine class name - if (vartype != NULL) - { - // Take first type name - name = vartype->term; - } - else - { - // Just a generic name - name = TERM_Data; - } - // We should turn this into an actual term - tlnew = createNewTerm (tlnew, name, isAgentType (var->stype)); - var->subst = tlnew->term; - - // Store for undo later - changedvars = termlistAdd (changedvars, var); - } - tl = tl->next; - } - run++; - } - termlistDelete (tlnew); - return changedvars; -} - -//! Make a trace a class again -/** - * \sa makeTraceConcrete - */ -void -makeTraceClass (const System sys, Termlist varlist) -{ - Termlist tl; - - tl = varlist; - while (tl != NULL) - { - Term var; - - var = tl->term; - if (realTermVariable (var)) - { - deleteNewTerm (var->subst); - var->subst = NULL; - } - tl = tl->next; - } - termlistDelete (varlist); -} - -//! Start attack output -void -attackOutputStart (void) -{ - if (switches.prune != 0) - { - FILE *fd; - - // Close old file (if any) - if (attack_stream != NULL) - { - fclose (attack_stream); // this automatically discards the old temporary file - } - // Create new file - fd = scyther_tempfile (); - attack_stream = fd; - globalStream = (char *) attack_stream; - } -} - -//! Stop attack output -void -attackOutputStop (void) -{ - // Nothing to do, just leave the opened tmpfile -} - -//! Copy one (finite) stream from beginning to end to another -/** - * Ugly first implementation, something to improve later (although it is not - * crucial code in any way) - */ -void -fcopy (FILE * fromstream, FILE * tostream) -{ - int c; - - // 'Just to be sure' - fflush (fromstream); - fseek (fromstream, 0, SEEK_SET); - - // Urgh, using the assignment in the loop condition, brrr. Fugly. - // Discourage. - while ((c = fgetc (fromstream)) != EOF) - { - fputc (c, tostream); - } -} - -//! Output an attack in the desired way -void -arachneOutputAttack () -{ - Termlist varlist; - - // Make concrete - if (switches.concrete) - { - varlist = makeTraceConcrete (sys); - } - else - { - varlist = NULL; - } - - // Wrapper for the real output - attackOutputStart (); - - // Generate the output, already! - if (switches.xml) - { - xmlOutSemitrace (sys); - } - else - { - dotSemiState (sys); - } - - // End wrapper - attackOutputStop (); - - // Undo concretization - makeTraceClass (sys, varlist); -} - -//------------------------------------------------------------------------ -// Main logic core -//------------------------------------------------------------------------ - - -//! Selector to select the first tuple goal. -/** - * Basically to get rid of -m2 tuple goals. - * Nice iteration, I'd suppose - */ -Binding -select_tuple_goal () -{ - List bl; - Binding tuplegoal; - - bl = sys->bindings; - tuplegoal = NULL; - while (bl != NULL && tuplegoal == NULL) - { - Binding b; - - b = (Binding) bl->data; - // Ignore done stuff - if (!b->blocked && !b->done) - { - if (isTermTuple (b->term)) - { - tuplegoal = b; - } - } - bl = bl->next; - } - return tuplegoal; -} - - -//! Iterate a binding -/** - * For DY model, we unfold any tuples first, otherwise we skip that. - */ -int -iterateOneBinding (void) -{ - Binding btup; - int flag; - - // marker - flag = true; - - // Are there any tuple goals? - if (switches.intruder) - { - // Maybe... (well, test) - btup = select_tuple_goal (); - } - else - { - // No, there are non that need to be expanded (no intruder) - btup = NULL; - } - if (btup != NULL) - { - /* Substitution or something resulted in a tuple goal: we immediately split them into compounds. - */ - Term tuple; - - tuple = deVar (btup->term); - if (realTermTuple (tuple)) - { - int count; - Term tupletermbuffer; - - tupletermbuffer = btup->term; - /* - * We solve this by replacing the tuple goal by the left term, and adding a goal for the right term. - */ - btup->term = TermOp1 (tuple); - count = - goal_add (TermOp2 (tuple), btup->run_to, - btup->ev_to, btup->level); - - // Show this in output - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Expanding tuple goal "); - termPrint (tupletermbuffer); - eprintf (" into %i subgoals.\n", count); - } - - // iterate - flag = iterate (); - - // undo - goal_remove_last (count); - btup->term = tupletermbuffer; - } - } - else - { - // No tuple goals; good - Binding b; - - /** - * Not pruned: count - */ - - sys->states = statesIncrease (sys->states); - sys->current_claim->states = - statesIncrease (sys->current_claim->states); - - /** - * Check whether its a final state (i.e. all goals bound) - */ - - b = (Binding) select_goal (sys); - if (b == NULL) - { - /* - * all goals bound, check for property - */ - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("All goals are now bound.\n"); - } - sys->claims = statesIncrease (sys->claims); - sys->current_claim->count = - statesIncrease (sys->current_claim->count); - flag = property_check (sys); - } - else - { - /* - * bind this goal in all possible ways and iterate - */ - flag = bind_goal_all_options (b); - } - } - return flag; -} - -//! Main recursive procedure for Arachne -int -iterate () -{ - int flag; - - - flag = 1; - if (!prune_theorems (sys)) - { - if (!prune_claim_specifics (sys)) - { - if (!prune_bounds (sys)) - { - // Go and pick a binding for iteration - flag = iterateOneBinding (); - } - else - { - // Pruned because of bound! - sys->current_claim->complete = 0; - } - } - } - -#ifdef DEBUG - if (DEBUGL (5) && !flag) - { - warning ("Flag has turned 0!"); - } -#endif - - return flag; -} - -//! Just before starting output of an attack. -// -//! A wrapper for the case in which we need to buffer attacks. -int -iterate_buffer_attacks (void) -{ - if (switches.prune == 0) - { - return iterate (); - } - else - { - // We are pruning attacks, so they should go into a temporary file. - /* - * Set up the temporary file pointer - */ - char *buffer; - int result; - - // Push the old situation onto the stack - buffer = globalStream; - - // Start stuff - attack_stream = NULL; - attackOutputStart (); - - // Finally, proceed with iteration procedure - result = iterate (); - - /* Now, if it has been set, we need to copy the output to the normal streams. - */ - fcopy (attack_stream, (FILE *) buffer); - - // Close - fclose (attack_stream); - attack_stream = NULL; - - // Restore - globalStream = buffer; - - return result; - } -} - -//! Arachne single claim test -void -arachneClaimTest (Claimlist cl) -{ - // others we simply test... - int run; - int newruns; - Protocol p; - Role r; - - newruns = 0; - sys->current_claim = cl; - attack_length = INT_MAX; - attack_leastcost = INT_MAX; - cl->complete = 1; - p = (Protocol) cl->protocol; - r = (Role) cl->role; - - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Testing Claim "); - termPrint (cl->type); - eprintf (" from "); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf (" at index %i.\n", cl->ev); - } - indentDepth++; - - run = semiRunCreate (p, r); - newruns++; - { - int newgoals; - - int realStart (void) - { -#ifdef DEBUG - if (DEBUGL (5)) - { - printSemiState (); - } -#endif - return iterate_buffer_attacks (); - } - - proof_suppose_run (run, 0, cl->ev + 1); - newgoals = add_read_goals (run, 0, cl->ev + 1); - - /** - * Add initial knowledge node - */ - { - Termlist m0tl; - Term m0t; - int m0run; - - m0tl = knowledgeSet (sys->know); - m0t = termlist_to_tuple (m0tl); - // eprintf("Initial intruder knowledge node for "); - // termPrint(m0t); - // eprintf("\n"); - I_M->roledef->message = m0t; - m0run = semiRunCreate (INTRUDER, I_M); - newruns++; - proof_suppose_run (m0run, 0, 1); - sys->runs[m0run].height = 1; - - { - /** - * Add specific goal info and iterate algorithm - */ - add_claim_specifics (sys, cl, - roledef_shift (sys->runs[run]. - start, cl->ev), realStart); - } - - - // remove initial knowledge node - termDelete (m0t); - termlistDelete (m0tl); - semiRunDestroy (); - newruns--; - } - // remove claiming run goals - goal_remove_last (newgoals); - semiRunDestroy (); - newruns--; - } - //! Destroy - while (sys->maxruns > 0 && newruns > 0) - { - semiRunDestroy (); - newruns--; - } -#ifdef DEBUG - if (sys->bindings != NULL) - { - error ("sys->bindings NOT empty after claim test."); - } - if (sys->maxruns != 0) - { - error ("%i undestroyed runs left after claim test.", sys->maxruns); - } - if (newruns != 0) - { - error ("Lost %i runs after claim test.", newruns); - } -#endif - - //! Indent back - indentDepth--; - - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Proof complete for this claim.\n"); - } -} - -//! Arachne single claim inspection -int -arachneClaim (Claimlist cl) -{ - // Skip the dummy claims - if (!isTermEqual (cl->type, CLAIM_Empty)) - { - // Some claims are always true! - if (!cl->alwaystrue) - { - // others we simply test... - arachneClaimTest (cl); - } - claimStatusReport (sys, cl); - if (switches.xml) - { - xmlOutClaim (sys, cl); - } - return true; - } - return false; -} - - -//! Main code for Arachne -/** - * For this test, we manually set up some stuff. - * - * But later, this will just iterate over all claims. - * - * @TODO what does it return? And is that -1 valid, if nothing is tested? - */ -int -arachne () -{ - Claimlist cl; - int count; - - int print_send (Protocol p, Role r, Roledef rd, int index) - { - eprintf ("IRS: "); - termPrint (p->nameterm); - eprintf (", "); - termPrint (r->nameterm); - eprintf (", %i, ", index); - roledefPrint (rd); - eprintf ("\n"); - return 1; - } - - int determine_encrypt_max (Protocol p, Role r, Roledef rd, int index) - { - int tlevel; - - tlevel = term_encryption_level (rd->message); -#ifdef DEBUG - if (DEBUGL (3)) - { - eprintf ("Encryption level %i found for term ", tlevel); - termPrint (rd->message); - eprintf ("\n"); - } -#endif - if (tlevel > max_encryption_level) - max_encryption_level = tlevel; - return 1; - } - - /* - * set up claim role(s) - */ - - if (switches.runs == 0) - { - // No real checking. - return -1; - } - - if (sys->maxruns > 0) - { - error ("Something is wrong, number of runs >0."); - } - - sys->num_regular_runs = 0; - sys->num_intruder_runs = 0; - - max_encryption_level = 0; - iterate_role_events (determine_encrypt_max); -#ifdef DEBUG - if (DEBUGL (1)) - { - eprintf ("Maximum encryption level: %i\n", max_encryption_level); - } -#endif - - fixAgentKeylevels (); - - indentDepth = 0; - proofDepth = 0; - cl = sys->claimlist; - count = 0; - while (cl != NULL) - { - /** - * Check each claim - */ - if (arachneClaim (cl)) - { - count++; - } - - // next - cl = cl->next; - } - return count; -} - -//! Construct knowledge set at some event, based on a semitrace. -/** - * This is a very 'stupid' algorithm; it is just there because GijsH - * requested it. It does in no way guarantee that this is the actual - * knowledge set at the given point. It simply gives an underapproximation, - * that will be correct in most cases. The main reason for this is that it - * completely ignores any information on unbound variables, and regards them - * as bound constants. - * - * Because everything is supposed to be bound, we conclude that even 'read' - * events imply a certain knowledge. - * - * If aftercomplete is 0 or false, we actually check the ordering; otherwise we - * just assume the trace has finished. - * - * Use knowledgeDelete later to clean up. - */ -Knowledge -knowledgeAtArachne (const System sys, const int myrun, const int myindex, - const int aftercomplete) -{ - Knowledge know; - int run; - - know = knowledgeDuplicate (sys->know); // duplicate initial knowledge - run = 0; - while (run < sys->maxruns) - { - int index; - int maxheight; - Roledef rd; - - index = 0; - rd = sys->runs[run].start; - maxheight = sys->runs[run].height; - if (run == myrun && myindex > maxheight) - { - // local run index can override real step - maxheight = myindex; - } - - while (rd != NULL && index < maxheight) - { - // Check whether this event precedes myevent - if (aftercomplete || isDependEvent (run, index, myrun, myindex)) - { - // If it is a send (trivial) or a read (remarkable, but true - // because of bindings) we can add the message and the agents to - // the knowledge. - if (rd->type == SEND || rd->type == READ) - { - knowledgeAddTerm (know, rd->message); - if (rd->from != NULL) - knowledgeAddTerm (know, rd->from); - if (rd->to != NULL) - knowledgeAddTerm (know, rd->to); - } - index++; - rd = rd->next; - } - else - { - // Not ordered before anymore, so we skip to the next run. - rd = NULL; - } - } - run++; - } - return know; -} - -//! Determine whether a term is trivially known at some event in a partially ordered structure. -/** - * Important: read disclaimer at knowledgeAtArachne() - * - * Returns true iff the term is certainly known at that point in the - * semitrace. - */ -int -isTriviallyKnownAtArachne (const System sys, const Term t, const int run, - const int index) -{ - int result; - Knowledge knowset; - - knowset = knowledgeAtArachne (sys, run, index, false); - result = inKnowledge (knowset, t); - knowledgeDelete (knowset); - return result; -} - -//! Determine whether a term is trivially known after execution of some partially ordered structure. -/** - * Important: read disclaimer at knowledgeAtArachne() - * - * Returns true iff the term is certainly known after all events in the - * semitrace. - */ -int -isTriviallyKnownAfterArachne (const System sys, const Term t, const int run, - const int index) -{ - int result; - Knowledge knowset; - - knowset = knowledgeAtArachne (sys, run, index, true); - result = inKnowledge (knowset, t); - knowledgeDelete (knowset); - return result; -} diff --git a/gui/src/arachne.h b/gui/src/arachne.h deleted file mode 100644 index 02c9105..0000000 --- a/gui/src/arachne.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef ARACHNE -#define ARACHNE - -#include "system.h" - -void arachneInit (const System sys); -void arachneDone (); -int arachne (); -int get_semitrace_length (); -void indentPrint (); -int isTriviallyKnownAtArachne (const System sys, const Term t, const int run, - const int index); -int isTriviallyKnownAfterArachne (const System sys, const Term t, - const int run, const int index); -void arachneOutputAttack (); -void printSemiState (); -int countIntruderActions (); -void role_name_print (const int run); - -#endif diff --git a/gui/src/attacktemplate.tex b/gui/src/attacktemplate.tex deleted file mode 100644 index 623c282..0000000 --- a/gui/src/attacktemplate.tex +++ /dev/null @@ -1,61 +0,0 @@ -\documentclass{article} -\usepackage{a4wide} -\usepackage{msc} -\usepackage{ifthen} - -%\setlength{\instwidth}{3.0cm} -%\setlength{\instdist}{4cm} -%\setlength{\actionwidth}{3.6cm} -%\setlength{\conditionoverlap}{1.9cm} - -% Action macro from MSC documentation - -\newsavebox{\labelbox} -\newlength{\oldwd} -\newlength{\oldht} -\newcommand{\Action}[2]{% - \setlength{\oldwd}{\actionwidth}% - \setlength{\oldht}{\actionheight}% - \savebox{\labelbox}{#1}% - \setlength{\actionwidth}{\wd\labelbox + 2\labeldist}% - \setlength{\actionheight}{\ht\labelbox + \dp\labelbox + 2\labeldist}% - \action{\usebox{\labelbox}}{#2}% - \setlength{\actionwidth}{\oldwd}% - \setlength{\actionheight}{\oldht}% -} - -\newlength{\mscspacer} -\setlength{\mscspacer}{1ex} - -\newcommand{\ActionBox}[2]{% - \Action{\parbox{\maxmscaction - 2\mscspacer}{\centering #1}}{#2} -} - -\newlength{\maxtemp} - -\newcommand{\maxlength}[2]{ - \settowidth{\maxtemp}{#2} - \ifthenelse{\lengthtest{#1 < \maxtemp}}{\setlength{#1}{\maxtemp}}{} - \ifthenelse{\lengthtest{\maxmscall < \maxtemp}}{\setlength{\maxmscall}{\maxtemp}}{} -} - - - -\newlength{\maxmscall} -\newlength{\maxmscinst} -\newlength{\maxmscaction} -\newlength{\maxmsccondition} - -\setlength{\maxmscall}{\mscspacer} -\setlength{\maxmscinst}{\mscspacer} -\setlength{\maxmscaction}{\mscspacer} -\setlength{\maxmsccondition}{\mscspacer} - -% pagestyle without numbering -\pagestyle{empty} - -\begin{document} - -\input{attack} - -\end{document} diff --git a/gui/src/binding.c b/gui/src/binding.c deleted file mode 100644 index f5f9bb5..0000000 --- a/gui/src/binding.c +++ /dev/null @@ -1,617 +0,0 @@ -/** - * Handle bindings for Arache engine. - */ - -#include "list.h" -#include "role.h" -#include "label.h" -#include "system.h" -#include "binding.h" -#include "warshall.h" -#include "debug.h" -#include "term.h" -#include "termmap.h" -#include "arachne.h" -#include "switches.h" -#include "depend.h" -#include "error.h" -#if !defined(__APPLE__) -#include -#endif - -static System sys; //!< local storage of system pointer - -extern Protocol INTRUDER; //!< The intruder protocol -extern Role I_M; //!< special role; precedes all other events always - -/* - * - * Assist stuff - * - */ - -//! Create mem for binding -Binding -binding_create (Term term, int run_to, int ev_to) -{ - Binding b; - - b = malloc (sizeof (struct binding)); - b->done = false; - b->blocked = false; - b->run_from = -1; - b->ev_from = -1; - b->run_to = run_to; - b->ev_to = ev_to; - b->term = term; - b->level = 0; - return b; -} - -//! Remove mem for binding -void -binding_destroy (Binding b) -{ - if (b->done) - { - goal_unbind (b); - } - free (b); -} - -/* - * - * Main - * - */ - -//! Init module -void -bindingInit (const System mysys) -{ - sys = mysys; - sys->bindings = NULL; - - dependInit (sys); -} - -//! Close up -void -bindingDone () -{ - int delete (Binding b) - { - binding_destroy (b); - return true; - } - list_iterate (sys->bindings, delete); - list_destroy (sys->bindings); - - dependDone (sys); -} - - -/** - * - * Externally available functions - * - */ - - -//! Print a binding (given a binding list pointer) -int -binding_print (const Binding b) -{ - if (b->done) - eprintf ("Binding (%i,%i) --( ", b->run_from, b->ev_from); - else - eprintf ("Unbound --( "); - termPrint (b->term); - eprintf (" )->> (%i,%i)", b->run_to, b->ev_to); - if (b->blocked) - eprintf ("[blocked]"); - return true; -} - -//! Bind a goal (true if success, false if it must be pruned) -int -goal_bind (const Binding b, const int run, const int ev) -{ - if (b->blocked) - { - error ("Trying to bind a blocked goal."); - } - if (!b->done) - { -#ifdef DEBUG - if (run >= sys->maxruns || sys->runs[run].step <= ev) - { - globalError++; - eprintf ("For term: "); - termPrint (b->term); - eprintf (" needed for r%ii%i.\n", b->run_to, b->ev_to); - eprintf ("Current limits: %i runs, %i events for this run.\n", - sys->maxruns, sys->runs[run].step); - globalError--; - error - ("trying to bind to something not yet in the semistate: r%ii%i.", - run, ev); - } -#endif - b->run_from = run; - b->ev_from = ev; - if (dependPushEvent (run, ev, b->run_to, b->ev_to)) - { - b->done = true; - if (switches.output == PROOF) - { - indentPrint (); - binding_print (b); - eprintf ("\n"); - } - return true; - } - } - else - { - globalError++; - binding_print (b); - error ("Trying to bind a bound goal again."); - } - return false; -} - -//! Unbind a goal -void -goal_unbind (const Binding b) -{ - if (b->done) - { - dependPopEvent (); - b->done = false; - } - else - { - error ("Trying to unbind an unbound goal again."); - } -} - -//! Bind a goal as a dummy (block) -/** - * Especially made for tuple expansion - * - * @TODO Weird that this returns a value (always true, otherwise error) - */ -int -binding_block (Binding b) -{ - if (!b->blocked) - { - b->blocked = true; - return true; - } - error ("Trying to block a goal again."); - return false; -} - -//! Unblock a binding -/* - * @TODO Weird that this returns a value (always true, otherwise error) - */ -int -binding_unblock (Binding b) -{ - if (b->blocked) - { - b->blocked = false; - return true; - } - error ("Trying to unblock a non-blocked goal."); - return false; -} - - -//! Add a goal -/** - * The int parameter 'level' is just to store additional info. Here, it stores priorities for a goal. - * Higher level goals will be selected first. Typically, a normal goal is level 0, a key is 1. - * - * Returns the number of added goals (sometimes unfolding tuples) - */ -int -goal_add (Term term, const int run, const int ev, const int level) -{ - term = deVar (term); -#ifdef DEBUG - if (term == NULL) - { - globalError++; - roledefPrint (eventRoledef (sys, run, ev)); - eprintf ("\n"); - globalError--; - error ("Trying to add an emtpy goal term to r%ii%i, with level %i.", - run, ev, level); - } - if (run >= sys->maxruns) - error ("Trying to add a goal for a run that does not exist."); - if (ev >= sys->runs[run].step) - error - ("Trying to add a goal for an event that is not in the semistate yet."); -#endif - if (switches.intruder && realTermTuple (term)) - { - // Only split if there is an intruder - return goal_add (TermOp1 (term), run, ev, level) + - goal_add (TermOp2 (term), run, ev, level); - } - else - { - // Determine whether we already had it - int createnew; - - int testSame (void *data) - { - Binding b; - - b = (Binding) data; - if (isTermEqual (b->term, term)) - { - // binding of same term - if (run == b->run_to && ev == b->ev_to) - { - // identical binding - createnew = false; - } - } - return true; - } - - createnew = true; - list_iterate (sys->bindings, testSame); - if (createnew) - { - // Add a new binding - Binding b; - b = binding_create (term, run, ev); - b->level = level; - sys->bindings = list_insert (sys->bindings, b); -#ifdef DEBUG - if (DEBUGL (3)) - { - eprintf ("Adding new binding for "); - termPrint (term); - eprintf (" to run %i, ev %i.\n", run, ev); - } -#endif - return 1; - } - } - return 0; -} - -//! Remove a goal -void -goal_remove_last (int n) -{ - while (n > 0) - { - if (sys->bindings != NULL) - { - Binding b; - - b = (Binding) sys->bindings->data; - binding_destroy (b); - sys->bindings = list_delete (sys->bindings); - n--; - } - else - { - error - ("goal_remove_last error: trying to remove %i too many bindings.", - n); - } - } -} - -//! Determine whether some label set is ordered w.r.t. send/read order. -/** - * Assumes all these labels exist in the system, within length etc, and that the run mappings are valid. - */ -int -labels_ordered (Termmap runs, Termlist labels) -{ - while (labels != NULL) - { - // Given this label, and the mapping of runs, we want to know if the order is okay. Thus, we need to know sendrole and readrole - Labelinfo linfo; - int send_run, send_ev, read_run, read_ev; - - int get_index (const int run) - { - Roledef rd; - int i; - - i = 0; - rd = sys->runs[run].start; - while (rd != NULL && !isTermEqual (rd->label, labels->term)) - { - rd = rd->next; - i++; - } -#ifdef DEBUG - if (rd == NULL) - error - ("Could not locate send or read for label, after niagree holds, to test for order."); -#endif - return i; - } - - linfo = label_find (sys->labellist, labels->term); - if (!linfo->ignore) - { - send_run = termmapGet (runs, linfo->sendrole); - read_run = termmapGet (runs, linfo->readrole); - send_ev = get_index (send_run); - read_ev = get_index (read_run); - if (!isDependEvent (send_run, send_ev, read_run, read_ev)) - { - // Not ordered; false - return false; - } - - } - // Proceed - labels = labels->next; - } - return true; -} - -//! Check whether the binding denotes a sensible thing such that we can use run_from and ev_from -int -valid_binding (Binding b) -{ - if (b->done && (!b->blocked)) - return true; - else - return false; -} - -//! Iterate over all bindings -/** - * Iterator should return true to proceed - */ -int -iterate_bindings (int (*func) (Binding b)) -{ - List bl; - - for (bl = sys->bindings; bl != NULL; bl = bl->next) - { - Binding b; - - b = (Binding) bl->data; - if (!func (b)) - { - return false; - } - } - return true; -} - - - -//! Iterate over preceding bindings (this does not include stuff bound to the same destination) -/** - * Iterator should return true to proceed - */ -int -iterate_preceding_bindings (const int run, const int ev, - int (*func) (Binding b)) -{ - int precs (Binding b) - { - if (isDependEvent (b->run_to, b->ev_to, run, ev)) - { - return func (b); - } - return true; - } - - return iterate_bindings (precs); -} - - -//! Check for unique origination -/* - * Contrary to a previous version, we simply check for unique origination. - * This immediately takes care of any 'occurs before' things. Complexity is N - * log N. - * - * Each term should originate only at one point (thus in one binding) - * - *@returns True, if it's okay. If false, it needs to be pruned. - */ -int -unique_origination () -{ - List bl; - - bl = sys->bindings; - - while (bl != NULL) - { - Binding b; - - b = (Binding) bl->data; - // Check for a valid binding; it has to be 'done' and sensibly bound (not as in tuple expanded stuff) - if (valid_binding (b)) - { - Termlist terms; - - terms = tuple_to_termlist (b->term); - if (terms != NULL) - { - /* Apparently this is a good term. - * Now we check whether it occurs in any previous bindings as well. - */ - - List bl2; - - bl2 = sys->bindings; - while (bl2 != bl) - { - Binding b2; - - b2 = (Binding) bl2->data; - if (valid_binding (b2)) - { - Termlist terms2, sharedterms; - - if (switches.intruder) - { - // For intruder we work with sets here - terms2 = tuple_to_termlist (b2->term); - } - else - { - // For regular agents we use terms - terms2 = termlistAdd (NULL, b2->term); - } - sharedterms = termlistConjunct (terms, terms2); - - // Compare terms - if (sharedterms != NULL) - { - // Apparently, this binding shares a term. - // Equal terms should originate at the same point - if (b->run_from != b2->run_from || - b->ev_from != b2->ev_from) - { - // Not equal: thus no unique origination. - return false; - } - } - termlistDelete (terms2); - termlistDelete (sharedterms); - } - bl2 = bl2->next; - } - } - termlistDelete (terms); - } - bl = bl->next; - } - return true; -} - - -//! Prune invalid state w.r.t. <=C minimal requirement -/** - * Intuition says this can be done a lot more efficient. Luckily this is the prototype. - * - *@returns True, if it's okay. If false, it needs to be pruned. - */ -int -bindings_c_minimal () -{ - if (!unique_origination ()) - { - return false; - } - - { - List bl; - - // For all goals - bl = sys->bindings; - while (bl != NULL) - { - Binding b; - - b = (Binding) bl->data; - // Check for a valid binding; it has to be 'done' and sensibly bound (not as in tuple expanded stuff) - if (valid_binding (b)) - { - int run; - - // Find all preceding events - for (run = 0; run < sys->maxruns; run++) - { - int ev; - - //!@todo hardcoded reference to step, should be length - for (ev = 0; ev < sys->runs[run].step; ev++) - { - if (isDependEvent (run, ev, b->run_from, b->ev_from)) - { - // this node is *before* the from node - Roledef rd; - int occursthere; - - rd = roledef_shift (sys->runs[run].start, ev); - if (switches.intruder) - { - // intruder: interm bindings should cater for the first occurrence - occursthere = termInTerm (rd->message, b->term); - } - else - { - // no intruder, then simple test - occursthere = isTermEqual (rd->message, b->term); - } - if (occursthere) - { - // This term already occurs in a previous node! -#ifdef DEBUG - if (DEBUGL (4)) - { - // Report this - indentPrint (); - eprintf ("Binding for "); - termPrint (b->term); - eprintf - (" at r%i i%i is not c-minimal because it occurred before at r%i i%i in ", - b->run_from, b->ev_from, run, ev); - termPrint (rd->message); - eprintf ("\n"); - } -#endif - return false; - } - } - else - { - // If this event is not before the target, then the - // next in the run certainly is not either (because - // that would imply that this one is before it) - // Thus, we effectively exit the loop. - break; - } - } - } - } - bl = bl->next; - } - } - return true; -} - -//! Count the number of bindings that are done. -int -countBindingsDone () -{ - int count; - - int countDone (Binding b) - { - if ((!b->blocked) && b->done) - { - count++; - } - return true; - } - - count = 0; - iterate_bindings (countDone); - return count; -} diff --git a/gui/src/binding.h b/gui/src/binding.h deleted file mode 100644 index 34bb8b8..0000000 --- a/gui/src/binding.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef BINDINGS -#define BINDINGS - -#include "term.h" -#include "termmap.h" -#include "system.h" - -//! Binding structure -/* - * Idea is the ev_from *has to* precede the ev_to - */ -struct binding -{ - int done; //!< Iff true, it is bound - int blocked; //!< Iff true, ignore it - - int run_from; //!< origination run - int ev_from; //!< step in origination run - - int run_to; //!< destination run - int ev_to; //!< step in destination run - - Term term; //!< Binding term - int level; //!< ??? -}; - -typedef struct binding *Binding; //!< pointer to binding structure - - -void bindingInit (const System mysys); -void bindingDone (); - -int binding_print (Binding b); -int valid_binding (Binding b); - -int goal_add (Term term, const int run, const int ev, const int level); -int goal_add_fixed (Term term, const int run, const int ev, const int fromrun, - const int fromev); -void goal_remove_last (int n); -int goal_bind (const Binding b, const int run, const int ev); -void goal_unbind (const Binding b); -int binding_block (Binding b); -int binding_unblock (Binding b); -int labels_ordered (Termmap runs, Termlist labels); - -int iterate_bindings (int (*func) (Binding b)); -int iterate_preceding_bindings (const int run, const int ev, - int (*func) (Binding b)); - -int bindings_c_minimal (); -int countBindingsDone (); - -#endif diff --git a/gui/src/bugs.txt b/gui/src/bugs.txt deleted file mode 100644 index 98e77b0..0000000 --- a/gui/src/bugs.txt +++ /dev/null @@ -1,119 +0,0 @@ ---+++ Crititcal Bugs - - * soph segfaults at no switch or -r4 (-r3 is okay??) using non-debug version. - * './scyther -a ../spdl/nsl3.spdl --increment-runs' segfaults. The main reason is that the Archne engine uses runs in a different way. - Maybe it is best to disable --increment rules for non-ModelChecker verification. - ----+++ Bugs - - * Problem with goal bindings: instantiation of variable with a tuple might - introduce a tuple goal, which is forbidden. We must find a way to deal with this. This typically occurs in type flaw searches. - * Arachne seems to trip over claims with empty prec sets. Maybe we - simply should not test these. - * Splice/AS does not work well because priority key search stumbles over the - public key search stuff. That is a flaw in the heuristic: we should not look - for anything that is in the intruder knowledge already. In fact, it is a - problem with branching. We should not look for PK(X), even if X is a - variable. Priority should go to keys of which the constructor is not in M_0, - maybe that heuristic works. - However, there seems to be an infinite loop for this in the algorithm, which - I did not anticipate. Investigate! -
- Maybe self-loops are the problem. This has to do with tuple alternation - decoding. Consider re-introducing explicit intruder strands OR self-loop - pruning. - ----+++ Would like to have - ----++++ ArachneEngine - - * There is no good test on the correct workings of - add_goals/destruction of these. We can test this if after - termination, we have 0 goals; for this we need to store the - initially added goals as well. Furthermore, we can generate an - error when <0 goals occur. - * Consider where in Arachne dependency graph is used. If this is only for - pruning states, we can construct it there only. However, the base 'role - defs/bindings' graph might be re-used. - * Add switch for arachne to prune encryption levels when using -m2. - * To store attacks for arachne, maybe the following is needed: - * The roles for each run - * The variable bindings for all (local) variables - * The goal bindings - * Agent terms must have keylevel 0; enforce this! - * Select_goal should consider, for singular variables, whether their - type can be found in M_0. If so, the goal can be ignored. - * Fix 'never sent secrets' list, that are e.g. secret keys of regular agents - and such. The intruder can never learn these, we need this for pruning. - If a goal is such a term, we prune. Investigate how this can be incorporated. - Investigate also whether this actually makes a difference. - * Make 'generate_trace_bindings' to create the bindings for a given trace. - Note that there can be multiple solutions; for now, simply try to take the - shortest one. - ----++++ ModelChecker - - * For secrecy, one trusted agent and one untrusted agent suffices. - Implement this in the modelchecker. - * Implement delayed protocol compiler (on run demand only) for the modelchecker? - ----++++ Misc - - * Make different error codes for compilation error/ other error. This can be - useful for scripts. However, it might shift some constants for the Elegast - scripts. - * Rewrite termMguTerm such that it iterates and adapt all functions - using it. This is to allow for associative tupling later. - * Fix constants in intruder knowledge. Auto add single one of each type, - when typed expl. Add single constant when untyped. Fix this also in - semantics, and add proof to establish sufficiency. - * Fix function handling (signatures). - * Move initial intruder knowledge maybe into the title of the MSC. - * Implement run knowledge, and use this in protocol compiler. - * Introduce 'Ticket' default type in the compiler, along with some - handling for that. - * The 'choose' operator must always be typed, I think. Yes. - * The woolam-ce is incorrect because it is illegal to have a variable - term in a key that is read, by CMV semantics. I don't know what it - means for CE semantics (yet). - * Idea: run bla.bla(params) [compromised [,] ]; - 1. These local terms are given to the intruder. Technically this - should only happen _after_ they are first sent in the run. Maybe add - this to send semantics: if termOccurs(sendterm, compromisedterm) then - add compromisedterm to M, remove compromisedterm from list of terms to - compromise. - 1. All claims in the run are ignored (add untrusted flag to run) - Alternative: run x.x(x) untrusted; or just compromised, to give up - all constants. - Note this is not sufficient yet, because it does not consider any - partner runs. Maybe declare a 'compromised' section first; other runs - will only activate after these have completed. Note this is much more - expensive. - * Woolam-ce gives nothing. But then again, it's a wrong impl. - * Global/protocol variables should not exist in the current system. - * run nsl.initiator(alice, all Agent) constructs? - * 'all' would generate the roles with the corresponding type. - * or maybe for clarity/complexity control: use 'runs' for constructs - with 'all' in it. - * Maybe function application ought to be a different basic term type. - * After role construction, msc consistency can be checked. - * Reduce knowledge to a simple term list? That would simplify a number - of things, and also allow for easier addition of stuff. - * How is % notation handled in Casper? - * Vernam encryption? - ----++++ ConstraintLogic (and thus obsolete) - - * CLP: variables in keys must be branched: maybe even in three situations - (have key and contents, have inverse key and content, nothing) - * How should claims behave (trusted/untrusted) wrt uninstantiated - agents? Branch again? That's what is causing the nsl3-var problem. - * Constraints might be a part of a knowledge thing, because with we - might now have a number of local knowledge sets, each with their own - constraint sets. That doesn't make it easier though :( and will cause - some performance loss I suppose. Each local set has to remain - solveable as well. - * Issue: how do untrusted claims work in the context of an intruder? - Claim must be checked if it can be solved such that at least one of - the agents is trusted. - diff --git a/gui/src/build.sh b/gui/src/build.sh deleted file mode 100755 index c68c94e..0000000 --- a/gui/src/build.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -PLATFORM=`uname` -echo $PLATFORM -if [ "$PLATFORM" = "Darwin" ] -then - ./subbuild-mac-universal.sh -else - if [ "$PLATFORM" = "Linux" ] - then - ./subbuild-unix-both.sh - else - echo "I don't know platform $PLATFORM, so I won't do anything" - fi -fi - diff --git a/gui/src/claim.c b/gui/src/claim.c deleted file mode 100644 index 982029a..0000000 --- a/gui/src/claim.c +++ /dev/null @@ -1,1136 +0,0 @@ -/** - * - *@file claim.c - * - * Claim handling for the Arachne engine. - * - */ - -#include - -#include "termmap.h" -#include "system.h" -#include "label.h" -#include "error.h" -#include "debug.h" -#include "binding.h" -#include "arachne.h" -#include "specialterm.h" -#include "switches.h" -#include "color.h" -#include "cost.h" -#include "timer.h" - -//! When none of the runs match -#define MATCH_NONE 0 -//! When the order matches -#define MATCH_ORDER 1 -//! When the order is reversed -#define MATCH_REVERSE 2 -//! When the content matches -#define MATCH_CONTENT 3 - -//! This label is fixed -#define LABEL_GOOD -3 -//! This label still needs to be done -#define LABEL_TODO -2 - -extern int globalError; -extern int attack_leastcost; - -// Debugging the NI-SYNCH checks -//#define OKIDEBUG - -// Forward declaration -int oki_nisynch (const System sys, const int trace_index, - const Termmap role_to_run, const Termmap label_to_index); - -/* - * Validity checks for claims - * - * Note that the first few operate on claims, and that the tests for e.g. the Arachne engine are seperate. - */ - - -#ifdef OKIDEBUG -int indac = 0; - -void -indact () -{ - int i; - - i = indac; - while (i > 0) - { - eprintf ("| "); - i--; - } -} -#endif - -//! Check complete message match -/** - * Roledef based. - *@returns MATCH_NONE or MATCH_CONTENT - */ -__inline__ int -events_match_rd (const Roledef rdi, const Roledef rdj) -{ - if (isTermEqual (rdi->message, rdj->message) && - isTermEqual (rdi->from, rdj->from) && - isTermEqual (rdi->to, rdj->to) && - isTermEqual (rdi->label, rdj->label) && - !(rdi->internal || rdj->internal)) - { - return MATCH_CONTENT; - } - else - { - return MATCH_NONE; - } -} - - -//! Check complete message match -/** - *@returns any of the MATCH_ signals - */ -__inline__ int -events_match (const System sys, const int i, const int j) -{ - Roledef rdi, rdj; - - rdi = sys->traceEvent[i]; - rdj = sys->traceEvent[j]; - if (isTermEqual (rdi->message, rdj->message) && - isTermEqual (rdi->from, rdj->from) && - isTermEqual (rdi->to, rdj->to) && - isTermEqual (rdi->label, rdj->label) && - !(rdi->internal || rdj->internal)) - { - if (rdi->type == SEND && rdj->type == READ) - { - if (i < j) - return MATCH_ORDER; - else - return MATCH_REVERSE; - } - if (rdi->type == READ && rdj->type == SEND) - { - if (i > j) - return MATCH_ORDER; - else - return MATCH_REVERSE; - } - } - return MATCH_NONE; -} - - -//! Check nisynch from label_to_index. -__inline__ int -oki_nisynch_full (const System sys, const Termmap label_to_index) -{ - // Are all labels well linked? - Termmap label_to_index_scan; - - label_to_index_scan = label_to_index; - while (label_to_index_scan != NULL) - { - if (label_to_index_scan->result != LABEL_GOOD) - { -#ifdef OKIDEBUG - indact (); - eprintf ("Incorrectly linked label at the end,"); - eprintf ("label: "); - termPrint (label_to_index_scan->term); - eprintf ("\n"); -#endif - return 0; - } - label_to_index_scan = label_to_index_scan->next; - } - // Apparently they are all well linked - return 1; -} - -//! Evaluate claims or internal reads (chooses) -__inline__ int -oki_nisynch_other (const System sys, const int trace_index, - const Termmap role_to_run, const Termmap label_to_index) -{ - int result; - -#ifdef OKIDEBUG - indact (); - eprintf ("Exploring further assuming this (claim) run is not involved.\n"); - indac++; -#endif - result = oki_nisynch (sys, trace_index - 1, role_to_run, label_to_index); -#ifdef OKIDEBUG - indact (); - eprintf (">%i<\n", result); - indac--; -#endif - return result; -} - -//! Evaluate reads -__inline__ int -oki_nisynch_read (const System sys, const int trace_index, - const Termmap role_to_run, const Termmap label_to_index) -{ - /* - * Read is only relevant for already involved runs, and labels in prec - */ - Termmap role_to_run_scan; - int result = 7; - Roledef rd; - int rid; - - rd = sys->traceEvent[trace_index]; - rid = sys->traceRun[trace_index]; - - role_to_run_scan = role_to_run; - while (role_to_run_scan != NULL) - { - if (role_to_run_scan->result == rid) - { - // Involved, but is it a prec label? - if (termmapGet (label_to_index, rd->label) == LABEL_TODO) - { - Termmap label_to_index_buf; - int result; - - label_to_index_buf = termmapDuplicate (label_to_index); - label_to_index_buf = - termmapSet (label_to_index_buf, rd->label, trace_index); -#ifdef OKIDEBUG - indact (); - eprintf ("Exploring because this (read) run is involved.\n"); - indac++; -#endif - result = - oki_nisynch (sys, trace_index - 1, role_to_run, - label_to_index_buf); -#ifdef OKIDEBUG - indact (); - eprintf (">%i<\n", result); - indac--; -#endif - termmapDelete (label_to_index_buf); - return result; - } - } - role_to_run_scan = role_to_run_scan->next; - } - // Apparently not involved -#ifdef OKIDEBUG - indact (); - eprintf ("Exploring further assuming this (read) run is not involved.\n"); - indac++; -#endif - result = oki_nisynch (sys, trace_index - 1, role_to_run, label_to_index); -#ifdef OKIDEBUG - indac--; -#endif - return result; -} - - -//! Evaluate sends -__inline__ int -oki_nisynch_send (const System sys, const int trace_index, - const Termmap role_to_run, const Termmap label_to_index) -{ - Roledef rd; - int rid; - int result = 8; - int old_run; - Term rolename; - - rd = sys->traceEvent[trace_index]; - rid = sys->traceRun[trace_index]; - /* - * Two options: it is either involved or not - */ - // 1. Assume that this run is not yet involved -#ifdef OKIDEBUG - indact (); - eprintf ("Exploring further assuming (send) run %i is not involved.\n", - rid); - indac++; -#endif - result = oki_nisynch (sys, trace_index - 1, role_to_run, label_to_index); -#ifdef OKIDEBUG - indact (); - eprintf (">%i<\n", result); - indac--; -#endif - if (result) - return 1; - -#ifdef OKIDEBUG - indact (); - eprintf ("Exploring when %i is involved.\n", rid); -#endif - // 2. It is involved. Then either already used for this role, or will be now. - rolename = sys->runs[rid].role->nameterm; - old_run = termmapGet (role_to_run, rolename); // what was already stored for this role as the runid - if (old_run == -1 || old_run == rid) - { - int partner_index; - - // Was not involved yet in a registerd way, or was the correct rid - partner_index = termmapGet (label_to_index, rd->label); - // Ordered match needed for this label - // So it already needs to be filled by a read - if (partner_index >= 0) - { - // There is already a read for it - if (events_match (sys, partner_index, trace_index) == MATCH_ORDER) - { - // They match in the right order - Termmap role_to_run_buf, label_to_index_buf; - -#ifdef OKIDEBUG - indact (); - eprintf ("Matching messages found for label "); - termPrint (rd->label); - eprintf ("\n"); -#endif - /** - *@todo Optimization can be done when old_run == rid, no copy of role_to_run needs to be made. - */ - role_to_run_buf = termmapDuplicate (role_to_run); - role_to_run_buf = termmapSet (role_to_run_buf, rolename, rid); - label_to_index_buf = termmapDuplicate (label_to_index); - label_to_index_buf = - termmapSet (label_to_index_buf, rd->label, LABEL_GOOD); -#ifdef OKIDEBUG - indact (); - eprintf ("In NI-Synch scan, assuming %i run is involved.\n", - rid); - indact (); - eprintf - ("Exploring further assuming this matching, which worked.\n"); - indac++; -#endif - result = - oki_nisynch (sys, trace_index - 1, role_to_run_buf, - label_to_index_buf); -#ifdef OKIDEBUG - indact (); - eprintf (">%i<\n", result); - indac--; -#endif - termmapDelete (label_to_index_buf); - termmapDelete (role_to_run_buf); - return result; - } - } - } - return 0; -} - - -//! nisynch generalization -/** - * role_to_run maps the involved roles to run identifiers. - * label_to_index maps all labels in prec to the event indices for things already found, - * or to LABEL_TODO for things not found yet but in prec, and LABEL_GOOD for well linked messages (and that have thus defined a runid for the corresponding role). - * All values not in prec map to -1. - *@returns 1 iff the claim is allright, 0 iff it is violated. - */ -int -oki_nisynch (const System sys, const int trace_index, - const Termmap role_to_run, const Termmap label_to_index) -{ - int type; - - // Check for completed trace - if (trace_index < 0) - return oki_nisynch_full (sys, label_to_index); - -#ifdef OKIDEBUG - indact (); - eprintf ("Checking event %i", trace_index); - eprintf (" = #%i : ", sys->traceRun[trace_index]); - roledefPrint (sys->traceEvent[trace_index]); - eprintf ("\n"); -#endif - - type = sys->traceEvent[trace_index]->type; - - if (type == CLAIM || sys->traceEvent[trace_index]->internal) - return oki_nisynch_other (sys, trace_index, role_to_run, label_to_index); - if (type == READ) - return oki_nisynch_read (sys, trace_index, role_to_run, label_to_index); - if (type == SEND) - return oki_nisynch_send (sys, trace_index, role_to_run, label_to_index); - /* - * Exception: no claim, no send, no read, what is it? - */ - error ("Unrecognized event type in claim scanner at %i.", trace_index); - return 0; -} - -/* - * Real checks - */ - -//! Check validity of ni-synch claim at event i. -/** - *@returns 1 iff claim is true. - */ -int -check_claim_nisynch (const System sys, const int i) -{ - Roledef rd; - int result; - int rid; - Termmap f, g; - Term label; - Claimlist cl; - Termlist tl; - - rid = sys->traceRun[i]; - rd = sys->traceEvent[i]; - cl = rd->claiminfo; - cl->count = statesIncrease (cl->count); - f = termmapSet (NULL, sys->runs[rid].role->nameterm, rid); - - // map all labels in prec to LABEL_TODO - g = NULL; - label = rd->label; - - tl = cl->prec; - while (tl != NULL) - { - g = termmapSet (g, tl->term, LABEL_TODO); - tl = tl->next; - } - /* - * Check claim - */ - result = oki_nisynch (sys, i, f, g); - if (!result) - { -#ifdef DEBUG - globalError++; - warning ("Claim has failed!"); - eprintf ("To be exact, claim label "); - termPrint (cl->label); - eprintf (" with prec set "); - termlistPrint (cl->prec); - eprintf ("\n"); - eprintf ("i: %i\nf: ", i); - termmapPrint (f); - eprintf ("\ng: "); - termmapPrint (g); - eprintf ("\n"); - globalError--; -#endif - - } - termmapDelete (f); - termmapDelete (g); - return result; -} - -//! Check validity of ni-agree claim at event i. -/** - *@returns 1 iff claim is true. - *@todo This is now just a copy of ni-synch, should be fixed asap. - */ -int -check_claim_niagree (const System sys, const int i) -{ - Roledef rd; - int result; - int rid; - Termmap f, g; - Term label; - Claimlist cl; - Termlist tl; - - rid = sys->traceRun[i]; - rd = sys->traceEvent[i]; - cl = rd->claiminfo; - cl->count = statesIncrease (cl->count); - f = termmapSet (NULL, sys->runs[rid].role->nameterm, rid); - - // map all labels in prec to LABEL_TODO - g = NULL; - label = rd->label; - - tl = cl->prec; - while (tl != NULL) - { - g = termmapSet (g, tl->term, LABEL_TODO); - tl = tl->next; - } - /* - * Check claim - */ - result = oki_nisynch (sys, i, f, g); - if (!result) - { -#ifdef DEBUG - warning ("Claim has failed!"); - eprintf ("To be exact, claim label "); - termPrint (cl->label); - eprintf (" with prec set "); - termlistPrint (cl->prec); - eprintf ("\n"); - eprintf ("i: %i\nf: ", i); - termmapPrint (f); - eprintf ("\ng: "); - termmapPrint (g); - eprintf ("\n"); -#endif - - } - termmapDelete (f); - termmapDelete (g); - return result; -} - - - -//! Check generic agree claim for a given set of runs, arachne style -int -arachne_runs_agree (const System sys, const Claimlist cl, const Termmap runs) -{ - Termlist labels; - int flag; - -#ifdef DEBUG - if (DEBUGL (5)) - { - eprintf ("Checking runs agreement for Arachne.\n"); - termmapPrint (runs); - eprintf ("\n"); - } -#endif - - flag = 1; - labels = cl->prec; - while (flag && labels != NULL) - { - // For each label, check whether it matches. Maybe a bit too strict (what about variables?) - // Locate roledefs for read & send, and check whether they are before step - Roledef rd_send, rd_read; - Labelinfo linfo; - - Roledef get_label_event (const Term role, const Term label) - { - Roledef rd, rd_res; - int i; - int run; - - run = termmapGet (runs, role); - if (run != -1) - { -#ifdef DEBUG - if (run < 0 || run >= sys->maxruns) - { - globalError++; - eprintf ("Run mapping %i out of bounds for role ", run); - termPrint (role); - eprintf (" and label "); - termPrint (label); - eprintf ("\n"); - eprintf ("This label has sendrole "); - termPrint (linfo->sendrole); - eprintf (" and readrole "); - termPrint (linfo->readrole); - eprintf ("\n"); - globalError--; - error ("Run mapping is out of bounds."); - } -#endif - rd = sys->runs[run].start; - rd_res = NULL; - i = 0; - while (i < sys->runs[run].step && rd != NULL) - { - if (isTermEqual (rd->label, label)) - { - rd_res = rd; - rd = NULL; - } - else - { - rd = rd->next; - } - i++; - } - return rd_res; - } - else - { - return NULL; - } - } - - // Main - linfo = label_find (sys->labellist, labels->term); - if (!linfo->ignore) - { - rd_send = get_label_event (linfo->sendrole, labels->term); - rd_read = get_label_event (linfo->readrole, labels->term); - - if (rd_send == NULL || rd_read == NULL) - { - // False! - flag = 0; - } - else - { - // Compare - if (events_match_rd (rd_send, rd_read) != MATCH_CONTENT) - { - // False! - flag = 0; - } - } - } - - labels = labels->next; - } - return flag; -} - -//! Check arachne authentications claim -/** - * Per default, occurs in run 0, but for generality we have left the run parameter in. - *@returns 1 if the claim is true, 0 if it is not. - */ -int -arachne_claim_authentications (const System sys, const int claim_run, - const int claim_index, const int require_order) -{ - Claimlist cl; - Roledef rd; - Termmap runs_involved; - int flag; - - int fill_roles (Termlist roles_tofill) - { - if (roles_tofill == NULL) - { - // All roles have been chosen - if (arachne_runs_agree (sys, cl, runs_involved)) - { - // niagree holds - if (!require_order) - { - return 1; - } - else - { - // Stronger claim: nisynch. Test for ordering as well. - return labels_ordered (runs_involved, cl->prec); - } - } - else - { - // niagree does not hold - return 0; - } - } - else - { - // Choose a run for this role, if possible - // Note that any will do - int run, flag; - - run = 0; - flag = 0; - while (run < sys->maxruns) - { - // Has to be from the right protocol - if (sys->runs[run].protocol == cl->protocol) - { - // Has to be the right name - if (isTermEqual - (sys->runs[run].role->nameterm, roles_tofill->term)) - { - // Choose, iterate - runs_involved = - termmapSet (runs_involved, roles_tofill->term, run); - flag = flag || fill_roles (roles_tofill->next); - } - } - run++; - } - return flag; - } - } - -#ifdef DEBUG - if (DEBUGL (5)) - { - eprintf ("Testing for Niagree claim with any sort of runs.\n"); - } -#endif - - rd = roledef_shift (sys->runs[claim_run].start, claim_index); -#ifdef DEBUG - if (rd == NULL) - error ("Retrieving claim info for NULL node??"); -#endif - cl = rd->claiminfo; - - runs_involved = termmapSet (NULL, cl->roles->term, claim_run); - flag = fill_roles (cl->roles->next); - - termmapDelete (runs_involved); - return flag; -} - -//! Test niagree -int -arachne_claim_niagree (const System sys, const int claim_run, - const int claim_index) -{ - return arachne_claim_authentications (sys, claim_run, claim_index, 0); -} - -//! Test nisynch -int -arachne_claim_nisynch (const System sys, const int claim_run, - const int claim_index) -{ - return arachne_claim_authentications (sys, claim_run, claim_index, 1); -} - -//! Are all agents trusted of the claim run (as required by the property?) -int -pruneClaimRunTrusted (const System sys) -{ - if (sys->trustedRoles == NULL) - { - // all agents need to be trusted - if (!isRunTrusted (sys, 0)) - { - return true; - } - } - else - { - // a subset is trusted - if (!isAgentlistTrusted (sys, sys->trustedRoles)) - { - return true; - } - } - return false; -} - -//! Prune determination for specific properties -/** - * Sometimes, a property holds in part of the tree. Thus, we don't need to explore that part further if we want to find an attack. - * - *@returns true iff this state is invalid for some reason - */ -int -prune_claim_specifics (const System sys) -{ - // generic status of (all) roles trusted or not - if (pruneClaimRunTrusted (sys)) - { - if (switches.output == PROOF) - { - indentPrint (); - eprintf - ("Pruned because all agents of the claim run must be trusted.\n"); - } - return true; - } - - // specific claims - if (sys->current_claim->type == CLAIM_Niagree) - { - if (arachne_claim_niagree (sys, 0, sys->current_claim->ev)) - { - sys->current_claim->count = - statesIncrease (sys->current_claim->count); - if (switches.output == PROOF) - { - indentPrint (); - eprintf - ("Pruned: niagree holds in this part of the proof tree.\n"); - } - return 1; - } - } - if (sys->current_claim->type == CLAIM_Nisynch) - { - if (arachne_claim_nisynch (sys, 0, sys->current_claim->ev)) - { - sys->current_claim->count = - statesIncrease (sys->current_claim->count); - if (switches.output == PROOF) - { - indentPrint (); - eprintf - ("Pruned: nisynch holds in this part of the proof tree.\n"); - } - return 1; - } - } - return 0; -} - -//! Setup system for specific claim test and iterate -int -add_claim_specifics (const System sys, const Claimlist cl, const Roledef rd, - int (*callback) (void)) -{ - /* - * different cases - */ - - // per default, all agents are trusted - sys->trustedRoles = NULL; - - if (cl->type == CLAIM_Secret) - { - int newgoals; - int flag; - - /** - * Secrecy claim - */ - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("* To verify the secrecy claim, we add the term "); - termPrint (rd->message); - eprintf (" as a goal.\n"); - indentPrint (); - eprintf - ("* If all goals can be bound, this constitutes an attack.\n"); - } - - /** - * We say that a state exists for secrecy, but we don't really test wheter the claim can - * be reached (without reaching the attack). - */ - cl->count = statesIncrease (cl->count); - newgoals = goal_add (rd->message, 0, cl->ev, 0); // Assumption that all claims are in run 0 - - flag = callback (); - - goal_remove_last (newgoals); - return flag; - } - - if (cl->type == CLAIM_Reachable) - { - int flag; - - if (switches.check) - { - // For reachability claims in check mode, we restrict the number of runs to the number of roles of this protocol - Protocol protocol; - int rolecount; - - protocol = (Protocol) cl->protocol; - rolecount = termlistLength (protocol->rolenames); - switches.runs = rolecount; - } - if (rd->message != NULL) - { - sys->trustedRoles = tuple_to_termlist (rd->message); - -#ifdef DEBUG - if (DEBUGL (2)) - { - eprintf ("Trusted roles : "); - termlistPrint (sys->trustedRoles); - eprintf ("\n"); - } -#endif - } - - flag = callback (); - - if (rd->message != NULL) - { - termlistDelete (sys->trustedRoles); - sys->trustedRoles = NULL; - } - return flag; - } - - return callback (); -} - -//! Count a false claim -/** - * Counts global attacks as well as claim instances. - */ -void -count_false_claim (const System sys) -{ - sys->attackid++; - sys->current_claim->failed = statesIncrease (sys->current_claim->failed); -} - - -//! Check properties -int -property_check (const System sys) -{ - int flag; - int cost; - - flag = 1; - - /** - * By the way the claim is handled, this automatically means a flaw. - */ - count_false_claim (sys); - if (switches.output == ATTACK) - { - arachneOutputAttack (); - } - // Store attack cost if cheaper - cost = attackCost (sys); - if (cost < attack_leastcost) - { - // Cheapest attack - attack_leastcost = cost; - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("New cheaper attack found with cost %i.\n", cost); - } - } - - return flag; -} - -/* claim status reporting */ - -//! Print something bad -void -printBad (char *s) -{ - eprintf ("%s%s%s", COLOR_Red, s, COLOR_Reset); -} - -//! Print something good -void -printGood (char *s) -{ - eprintf ("%s%s%s", COLOR_Green, s, COLOR_Reset); -} - -//! Print state (existState, isAttack) -/** - * Fail == ( existState xor isAttack ) - */ -void -printOkFail (int existState, int isAttack) -{ - if (existState != isAttack) - { - printGood ("Ok"); - } - else - { - printBad ("Fail"); - } -} - - -//! Report claim status -int -claimStatusReport (const System sys, Claimlist cl) -{ - if (isTermEqual (cl->type, CLAIM_Empty)) - { - return false; - } - else - { - Protocol protocol; - Term pname; - Term rname; - Termlist labellist; - int isAttack; // stores whether this claim failure constitutes an attack or not - - if (switches.output != SUMMARY) - { - globalError++; - } - if (isTermEqual (cl->type, CLAIM_Reachable)) - { - // An attack on reachable is not really an attack, we're just generating the state space - isAttack = false; - } - else - { - isAttack = true; - } - - eprintf ("claim\t"); - - protocol = (Protocol) cl->protocol; - pname = protocol->nameterm; - rname = cl->rolename; - - labellist = tuple_to_termlist (cl->label); - - /* maybe the label contains duplicate info: if so, we remove it here */ - { - Termlist tl; - tl = labellist; - while (tl != NULL) - { - if (isTermEqual (tl->term, pname) - || isTermEqual (tl->term, rname)) - { - tl = termlistDelTerm (tl); - labellist = tl; - } - else - { - tl = tl->next; - } - } - } - - termPrint (pname); - eprintf (","); - termPrint (rname); - eprintf ("\t"); - /* second print event_label */ - termPrint (cl->type); - - eprintf ("_"); - if (labellist != NULL) - { - Termlist tl; - - tl = labellist; - while (tl != NULL) - { - termPrint (tl->term); - tl = tl->next; - if (tl != NULL) - { - eprintf (","); - } - } - /* clean up */ - termlistDelete (labellist); - labellist = NULL; - } - else - { - eprintf ("?"); - } - /* add parameter */ - eprintf ("\t"); - if (cl->parameter != NULL) - { - termPrint (cl->parameter); - } - else - { - eprintf ("-"); - } - - /* now report the status */ - eprintf ("\t"); - if (cl->count > 0 && cl->failed > 0) - { - /* there is a state */ - printOkFail (true, isAttack); - - eprintf ("\t"); - /* are these all attacks? */ - eprintf ("["); - if (cl->complete) - { - eprintf ("exactly"); - } - else - { - eprintf ("at least"); - } - eprintf (" %i ", cl->failed); - if (isAttack) - { - eprintf ("attack"); - } - else - { - eprintf ("variant"); - } - if (cl->failed != 1) - { - eprintf ("s"); - } - eprintf ("]"); - } - else - { - /* no state */ - printOkFail (false, isAttack); - eprintf ("\t"); - - /* subcases */ - if (cl->count == 0) - { - /* not encountered */ - eprintf ("[does not occur]"); - } - else - { - /* does occur */ - if (cl->complete) - { - /* complete proof */ - eprintf ("[proof of correctness]"); - } - else - { - /* only due to bounds */ - eprintf ("[no attack within bounds]"); - } - } - if (cl->timebound) - eprintf ("\ttime=%i", get_time_limit ()); - } - - /* states (if asked) */ - if (switches.countStates) - { - eprintf ("\tstates="); - statesFormat (cl->states); - } - - /* any warnings */ - if (cl->warnings) - { - eprintf ("\t[read the warnings for more information]"); - } - - /* new line */ - eprintf ("\n"); - - if (switches.output != SUMMARY) - { - globalError--; - } - - return true; - } -} diff --git a/gui/src/claim.h b/gui/src/claim.h deleted file mode 100644 index bf916c8..0000000 --- a/gui/src/claim.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef CLAIMS -#define CLAIMS - -int check_claim_nisynch (const System sys, const int i); -int check_claim_niagree (const System sys, const int i); -int arachne_claim_niagree (const System sys, const int claim_run, - const int claim_index); -int arachne_claim_nisynch (const System sys, const int claim_run, - const int claim_index); - -int prune_claim_specifics (const System sys); -int add_claim_specifics (const System sys, const Claimlist cl, const - Roledef rd, int (*callback) (void)); -void count_false_claim (const System sys); -int property_check (const System sys); -int claimStatusReport (const System sys, Claimlist cl); - -#endif diff --git a/gui/src/color.c b/gui/src/color.c deleted file mode 100644 index 6eb56a8..0000000 --- a/gui/src/color.c +++ /dev/null @@ -1,39 +0,0 @@ -/** @file color.c \brief Color output for terminals. - * - * Depends on the switches (to disable them with a --plain switch) - */ - -#include -#include -#include -#include "switches.h" - -//! Substitution string for --plain output -char *empty = ""; -//! Reset colors -char *COLOR_Reset = ""; -//! Red -char *COLOR_Red = ""; -//! Green -char *COLOR_Green = ""; -//! Bold -char *COLOR_Bold = ""; - -//! Init colors -void -colorInit (void) -{ - if (switches.plain) - { - COLOR_Reset = empty; - COLOR_Red = empty; - COLOR_Green = empty; - COLOR_Bold = empty; - } -} - -//! Exit colors -void -colorDone (void) -{ -} diff --git a/gui/src/color.h b/gui/src/color.h deleted file mode 100644 index d174ed8..0000000 --- a/gui/src/color.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef COLOROUTPUT -#define COLOROUTPUT - -extern char *COLOR_Reset; -extern char *COLOR_Red; -extern char *COLOR_Green; -extern char *COLOR_Bold; - -void colorInit (void); -void colorDone (void); - -#endif diff --git a/gui/src/compile.txt b/gui/src/compile.txt deleted file mode 100644 index 71e32d5..0000000 --- a/gui/src/compile.txt +++ /dev/null @@ -1,18 +0,0 @@ -How to compile Scyther - -Requirements expressed as Ubuntu packages where [name][location] - -Needed: - - gcc - If you don't know what this is, please stop reading. - scons - A Python script set to replace the make etc. toolchain. - -For cross-compilation (Windows): - - [mingw32][universe] - GCC variant to compile for windows + w32 binutils. - - Use 'scons arch=windows' to generate the binary. - diff --git a/gui/src/compiler.c b/gui/src/compiler.c deleted file mode 100644 index 8cdfe2c..0000000 --- a/gui/src/compiler.c +++ /dev/null @@ -1,2164 +0,0 @@ -#include -#include -#include -#include -#include "tac.h" -#include "term.h" -#include "termlist.h" -#include "label.h" -#include "system.h" -#include "knowledge.h" -#include "symbol.h" -#include "compiler.h" -#include "switches.h" -#include "specialterm.h" -#include "warshall.h" -#include "hidelevel.h" -#include "debug.h" -#include "intruderknowledge.h" -#include "error.h" -#include "mgu.h" - -/* - Simple sys pointer as a global. Yields cleaner code although it's against programming standards. - It is declared as static to hide it from the outside world, and to indicate its status. - Other modules will just see a nicely implemented sys parameter of compile, so we can always change - it later if somebody complains. Which they won't. -*/ - -static System sys; -static Tac tac_root; - -/* - * Declaration from system.c - */ -extern int protocolCount; - -/* - Forward declarations. -*/ - -void tacProcess (Tac tc); -void levelInit (void); -void levelDone (void); -Term levelFind (Symbol s, int i); -Term symbolFind (Symbol s); -Term tacTerm (Tac tc); -Termlist tacTermlist (Tac tc); -Term levelDeclare (Symbol s, int isVar, int level); -void compute_role_variables (const System sys, Protocol p, Role r); -void roleKnows (Tac tc); - -/* - * Global stuff - */ - -//! Levels of scope: global, protocol, role -#define MAXLEVELS 3 -static Termlist leveltl[MAXLEVELS]; -static int level; -static int maxruns; -static Protocol thisProtocol; -static Role thisRole; - -//! Init terms and such -void -compilerInit (const System mysys) -{ - int i; - - /* transfer to global static variable */ - sys = mysys; - /* init levels */ - for (i = 0; i < MAXLEVELS; i++) - leveltl[i] = NULL; - level = -1; - levelInit (); - - /* create special terms */ - specialTermInit (sys); -} - -//! Make a global constant -Term -makeGlobalConstant (const char *s) -{ - return levelDeclare (symbolSysConst (s), 0, 0); -} - -//! Make a global variable -Term -makeGlobalVariable (const char *s) -{ - return levelDeclare (symbolSysConst (s), 1, 0); -} - -//! Clean up afterwards -void -compilerDone (void) -{ - return; -} - -//! Compute read variables for a role -Termlist -compute_read_variables (const Role r) -{ - Termlist tl; - - int process_event (Roledef rd) - { - if (rd->type == READ) - { - tl = termlistAddVariables (tl, rd->from); - tl = termlistAddVariables (tl, rd->to); - tl = termlistAddVariables (tl, rd->message); - } - return 1; - } - - tl = NULL; - roledef_iterate_events (r->roledef, process_event); - return tl; -} - -/* ------------------------------------------------------------------- */ - -//! Compile the tac into the system -/** - *@todo Currently, the semantics assume all labels are globally unique, but this is not enforced yet. There should be some automatic renaming when compositing protocols. - *\sa oki_nisynch - */ -void -compile (Tac tc, int maxrunsset) -{ - /* Init globals */ - maxruns = maxrunsset; - tac_root = tc; - - /* process the tac */ - tacProcess (tac_root); - - /* Clean up keylevels */ - symbol_fix_keylevels (); - - /* cleanup */ - levelDone (); -} - -//! Print error line number. -/** - *@todo This is obsolete, and should all go to stderr - */ -void -errorTac (int lineno) -{ - globalError++; - eprintf (" on line %i.\n", lineno); - exit (1); -} - -//! Enter nested scope. -void -levelInit (void) -{ - level++; - if (level >= MAXLEVELS) - { - error ("level is increased too much."); - } - leveltl[level] = NULL; -} - -//! Leave nested scope. -void -levelDone (void) -{ - if (level < 0) - { - error ("level is decreased too much."); - } - leveltl[level] = NULL; - level--; -} - -Term -levelDeclare (Symbol s, int isVar, int level) -{ - Term t; - - t = levelFind (s, level); - if (t == NULL) - { - /* new! */ - if (isVar) - { - t = makeTermType (VARIABLE, s, -(level + 1)); - sys->variables = termlistAdd (sys->variables, t); - } - else - { - t = makeTermType (GLOBAL, s, -(level + 1)); - } - leveltl[level] = termlistAdd (leveltl[level], t); - - /* add to relevant list */ - switch (level) - { - case 0: - sys->locals = termlistAdd (sys->locals, t); - break; - case 1: - thisProtocol->locals = termlistAdd (thisProtocol->locals, t); - break; - case 2: - thisRole->locals = termlistAdd (thisRole->locals, t); - break; - } - } - return t; -} - -//! Generate a term from a symbol -Term -symbolDeclare (Symbol s, int isVar) -{ - return levelDeclare (s, isVar, level); -} - -Term -levelFind (Symbol s, int level) -{ - Termlist tl; - - tl = leveltl[level]; - while (tl != NULL) - { - if (isTermLeaf (tl->term)) - { - if (TermSymb (tl->term) == s) - { - return tl->term; - } - } - tl = tl->next; - } - return NULL; -} - -Term -symbolFind (Symbol s) -{ - int i; - Term t; - - i = level; - while (i >= 0) - { - t = levelFind (s, i); - if (t != NULL) - return t; - i--; - } - return NULL; -} - -//! Yield a basic global constant term (we suppose it exists) or NULL, given a string -Term -findGlobalConstant (const char *s) -{ - return levelFind (lookup (s), 0); -} - -void -defineUsertype (Tac tcdu) -{ - Tac tc; - Term t; - Term tfind; - - tc = tcdu->t1.tac; - - if (tc == NULL) - { - error ("Empty usertype declaration on line %i.", tcdu->lineno); - } - while (tc != NULL && tc->op == TAC_STRING) - { - /* check whether this term is already declared in the same way - * (i.e. as a type) */ - - tfind = levelFind (tc->t1.sym, 0); - if (tfind == NULL) - { - /* this is what we expected: this type is not declared yet */ - t = levelDeclare (tc->t1.sym, 0, 0); - t->stype = termlistAdd (NULL, TERM_Type); - } - else - { - /* oi!, there's already one. Let's hope is is a type too. */ - if (inTermlist (tfind->stype, TERM_Type)) - { - if (switches.check) - { - /* phew. warn anyway */ - globalError++; - eprintf ("warning: double declaration of usertype "); - termPrint (tfind); - eprintf ("\n"); - globalError--; - } - } - else - { - /* that's not right! */ - error - ("Conflicting definitions in usertype definition on line %i.", - tc->lineno); - } - } - tc = tc->next; - } -} - -//! Declare a variable at the current level -void -levelTacDeclaration (Tac tc, int isVar) -{ - Tac tscan; - Termlist typetl = NULL; - Term t; - int isAgent; - - // tscan contains the type list (as is const x,z: Term or var y: Term,Ding) - tscan = tc->t2.tac; - if (!isVar && tscan->next != NULL) - { - error ("Multiple type definition for constant on line %i.", - tscan->lineno); - } - // scan the whole type info list - while (tscan != NULL && tscan->op == TAC_STRING) - { - /* apparently there is type info, termlist? */ - t = levelFind (tscan->t1.sym, 0); - - if (t == NULL) - { - /* not declared, that is unacceptable. */ - error ("Undeclared type on line %i.", tscan->lineno); - } - else - { - if (!inTermlist (t->stype, TERM_Type)) - { - error ("Non-type constant in type declaration on line %i.", - tscan->lineno); - } - } - typetl = termlistAdd (typetl, t); - tscan = tscan->next; - } - /* check whether the type list contains the agent type */ - isAgent = inTermlist (typetl, TERM_Agent); - - /* parse all constants and vars, because a single declaration can contain multiple ones */ - tscan = tc->t1.tac; - while (tscan != NULL) - { - /* declare this variable/constant with the previously derived type list */ - t = symbolDeclare (tscan->t1.sym, isVar); - t->stype = typetl; - /* local to the role? */ - if (level == 2) - { - if (isVar) - { - /* it is a role variable, so add it to the nicely declared variables */ - thisRole->declaredvars = - termlistAdd (thisRole->declaredvars, t); - } - else - { - /* it is a role constant, so add it to the nicely declared constants */ - thisRole->declaredconsts = - termlistAdd (thisRole->declaredconsts, t); - } - } - else if (level == 0) - { - sys->globalconstants = termlistAdd (sys->globalconstants, t); - if (isAgent) - { - sys->agentnames = termlistAdd (sys->agentnames, t); - } - } - tscan = tscan->next; - } -} - -//! Get last role def -Roledef -getLastRoledef (Roledef rd) -{ - if (rd != NULL) - { - while (rd->next != NULL) - { - rd = rd->next; - } - } - return rd; -} - -//! Mark last roledef lineno -void -markLastRoledef (Roledef rd, const int lineno) -{ - rd = getLastRoledef (rd); - rd->lineno = lineno; -} - - -//! Check whether a claim label already occurs -int -isClaimlabelUsed (const System sys, const Term label) -{ - Claimlist cl; - - if (label == NULL) - { - /* we assign this 'occurs' because it is an invalid label */ - return true; - } - cl = sys->claimlist; - while (cl != NULL) - { - if (isTermEqual (cl->label, label)) - { - return true; - } - cl = cl->next; - } - return false; -} - -//! Generate a fresh claim label -Term -generateFreshClaimlabel (const System sys, const Protocol protocol, - const Role role, const Term claim) -{ - Term label; - - /* Simply use the role as a prefix */ - label = freshTermPrefix (role->nameterm); - label = makeTermTuple (protocol->nameterm, label); - return label; -} - -//! Create a claim and add it to the claims list, and add the role event. -Claimlist -claimCreate (const System sys, const Protocol protocol, const Role role, - const Term claim, Term label, const Term msg, const int lineno) -{ - Claimlist cl; - - /* generate full unique label */ - /* is the label empty or used? */ - if (label == NULL || isClaimlabelUsed (sys, label)) - { - /* simply generate a fresh one */ - label = generateFreshClaimlabel (sys, protocol, role, claim); - } - - if (switches.filterProtocol != NULL) - { - // only this protocol - if (strcmp - (switches.filterProtocol, TermSymb (protocol->nameterm)->text) != 0) - { - // not this protocol; return - return NULL; - } - // and maybe also a specific label? - if (switches.filterLabel != NULL) - { - if (label == NULL) - { - return NULL; - } - else - { - Term t; - - t = label; - while (isTermTuple (t)) - { - t = TermOp2 (t); - } - if (strcmp (switches.filterLabel, TermSymb (t)->text) != 0) - { - // not this label; return - return NULL; - } - } - } - } - - // Assert: label is unique, add claimlist info - cl = malloc (sizeof (struct claimlist)); - cl->type = claim; - cl->label = label; - cl->parameter = msg; - cl->protocol = thisProtocol; - cl->rolename = role->nameterm; - cl->role = role; - cl->roledef = NULL; - cl->count = 0; - cl->complete = 0; - cl->timebound = 0; - cl->failed = 0; - cl->states = 0; - cl->prec = NULL; - cl->roles = NULL; - cl->alwaystrue = false; - cl->warnings = false; - cl->lineno = lineno; - - /* add the claim to the end of the current list */ - cl->next = NULL; - if (sys->claimlist == NULL) - { - sys->claimlist = cl; - } - else - { - Claimlist cl2; - - cl2 = sys->claimlist; - while (cl2->next != NULL) - { - cl2 = cl2->next; - } - cl2->next = cl; - } - - /* add the role event */ - role->roledef = roledefAdd (role->roledef, CLAIM, label, - role->nameterm, claim, msg, cl); - markLastRoledef (role->roledef, lineno); - - /* possible special handlers for each claim */ - - if (claim == CLAIM_Secret) - { - Termlist claimvars; - Termlist readvars; - - /* now check whether the claim contains variables that can actually be influenced by the intruder */ - - claimvars = termlistAddVariables (NULL, msg); - readvars = compute_read_variables (thisRole); - while (claimvars != NULL) - { - if (!inTermlist (readvars, claimvars->term)) - { - /* this claimvar does not occur in the reads? */ - /* then we should ignore it later */ - cl->alwaystrue = true; - cl->warnings = true; - - /* show a warning for this */ - globalError++; - eprintf ("warning: secrecy claim of role "); - termPrint (cl->rolename); - eprintf (" contains a variable "); - termPrint (claimvars->term); - eprintf - (" which is never read; therefore the claim will be true.\n"); - globalError--; - } - claimvars = claimvars->next; - } - } - return cl; -} - -//! Parse a communication event tc of type event, and add a role definition event for it. -void -commEvent (int event, Tac tc) -{ - /* Add an event to the roledef, send or read */ - Claimlist cl; - Term fromrole = NULL; - Term torole = NULL; - Term msg = NULL; - Term label = NULL; - Term claim = NULL; - Term claimbig = NULL; - int n = 0; - Tac trip; - Labelinfo linfo; - - /* Construct label, if any */ - if (tc->t1.sym == NULL) - { - /* right, now this should not be NULL anyway, if so we construct a fresh one. - * This can be a weird choice if it is a read or send, because in that case - * we cannot chain them anymore and the send-read correspondence is lost. - */ - label = freshTermPrefix (thisRole->nameterm); - } - else - { - label = levelFind (tc->t1.sym, level - 1); - if (label == NULL) - { - /* effectively, labels are bound to the protocol */ - level--; - /* leaves a garbage tuple. dunnoh what to do with it */ - label = levelConst (tc->t1.sym); - level++; - } - else - { - /* leaves a garbage tuple. dunnoh what to do with it */ - } - } - label = makeTermTuple (thisProtocol->nameterm, label); - - /** - * Parse the specific event type - */ - trip = tc->t2.tac; - switch (event) - { - case READ: - case SEND: - /** - * We know the label. Find the corresponding labelinfo bit or make a new one - */ - linfo = label_find (sys->labellist, label); - if (linfo == NULL) - { - /* Not found, make a new one */ - linfo = label_create (label, thisProtocol); - sys->labellist = list_append (sys->labellist, linfo); - } - - /* now parse triplet info */ - if (trip == NULL || trip->next == NULL || trip->next->next == NULL) - { - error ("Problem with %i event on line %i.", event, tc->lineno); - } - fromrole = tacTerm (trip); - torole = tacTerm (trip->next); - msg = tacTerm (tacTuple ((trip->next->next))); - cl = NULL; - - if (event == SEND) - { - /* set sendrole */ - if (!isTermEqual (fromrole, thisRole->nameterm)) - error - ("Send role does not correspond to execution role at line %i.", - tc->lineno); - if (linfo->sendrole != NULL) - error ("Label defined twice for sendrole!"); - linfo->sendrole = fromrole; - - /* set keylevels based on send events */ - term_set_keylevels (fromrole); - term_set_keylevels (torole); - term_set_keylevels (msg); - } - else - { - // READ - /* set readrole */ - if (!isTermEqual (torole, thisRole->nameterm)) - error - ("Read role does not correspond to execution role at line %i.", - tc->lineno); - if (linfo->readrole != NULL) - error ("Label defined twice for readrole!"); - linfo->readrole = torole; - } - - /* and make that read/send event */ - thisRole->roledef = roledefAdd (thisRole->roledef, event, label, - fromrole, torole, msg, cl); - /* mark last one with line number */ - markLastRoledef (thisRole->roledef, tc->lineno); - break; - - case CLAIM: - /* switch can be used to remove all *parsed* claims */ - if (!switches.removeclaims) - { - /* now parse tuple info */ - if (trip == NULL || trip->next == NULL) - { - error ("Problem with claim %i event on line %i.", event, - tc->lineno); - } - fromrole = tacTerm (trip); - claimbig = tacTerm (tacTuple ((trip->next))); - /* check for several types */ - claim = tupleProject (claimbig, 0); - torole = claim; - - /* check for obvious flaws */ - if (claim == NULL) - { - error ("Invalid claim specification on line %i.", tc->lineno); - } - if (!inTermlist (claim->stype, TERM_Claim)) - { - globalError++; - eprintf ("error: [%i] claim term is not of claim type ", - trip->next->lineno); - termPrint (claim); - errorTac (trip->next->lineno); - globalError--; - } - /* unfold parameters to msg */ - msg = NULL; - n = tupleCount (claimbig) - 1; - if (n < 1) - { - /* no parameters */ - n = 0; - } - else - { - /* n parameters */ - msg = TermOp2 (deVar (claimbig)); - if (tupleCount (msg) != n) - { - error ("Problem with claim tuple unfolding at line %i.", - trip->next->lineno); - } - } - - // check whether label is unique - - if (isClaimlabelUsed (sys, label)) - { - if (switches.check) - { - warning - ("Claim label is not unique at line %i, generating fresh label.", - tc->lineno); - } - // the reported new label will be generated later in claimCreate() - } - - if (!isTermEqual (fromrole, thisRole->nameterm)) - error - ("Claim role does not correspond to execution role at line %i.", - tc->lineno); - - /* handles claim types with different syntactic claims */ - - if (claim == CLAIM_Secret) - { - if (n == 0) - { - error - ("Secrecy claim requires a list of terms to be secret on line %i.", - trip->next->lineno); - } - if (n > 1) - { - error - ("Secrecy claim on line %i should not contain tuples (for Arachne) until it is officially supported.", - trip->next->lineno); - } - } - if (claim == CLAIM_Nisynch) - { - if (n != 0) - { - error ("NISYNCH claim requires no parameters at line %i.", - trip->next->lineno); - } - } - if (claim == CLAIM_Niagree) - { - if (n != 0) - { - error ("NIAGREE claim requires no parameters at line %i.", - trip->next->lineno); - } - } - - /* create the event */ - - cl = - claimCreate (sys, thisProtocol, thisRole, claim, label, msg, - tc->lineno); - } - break; - } -} - -int -normalDeclaration (Tac tc) -{ - switch (tc->op) - { - case TAC_VAR: - levelDeclareVar (tc); - if (level < 2 && tc->t3.tac == NULL) - knowledgeAddTermlist (sys->know, tacTermlist (tc->t1.tac)); - break; - case TAC_CONST: - levelDeclareConst (tc); - if (level < 2 && tc->t3.tac == NULL) - knowledgeAddTermlist (sys->know, tacTermlist (tc->t1.tac)); - break; - case TAC_SECRET: - levelDeclareConst (tc); - break; - case TAC_COMPROMISED: - knowledgeAddTermlist (sys->know, tacTermlist (tc->t1.tac)); - break; - case TAC_INVERSEKEYS: - knowledgeAddInverse (sys->know, tacTerm (tc->t1.tac), - tacTerm (tc->t2.tac)); - break; - default: - /* abort with false */ - return 0; - } - return 1; -} - -//! Add all sorts of claims to this role -void -claimAddAll (const System sys, const Protocol protocol, const Role role) -{ - /* first: secrecy claims for all locally declared things */ - void addSecrecyList (Termlist tl) - { - while (tl != NULL) - { - Term t; - - t = deVar (tl->term); - if (realTermLeaf (t)) - { - // Add a secrecy claim - claimCreate (sys, protocol, role, CLAIM_Secret, NULL, t, -1); - } - tl = tl->next; - } - } - - addSecrecyList (role->declaredconsts); - addSecrecyList (role->declaredvars); - - /* full non-injective agreement and ni-synch */ - claimCreate (sys, protocol, role, CLAIM_Niagree, NULL, NULL, -1); - claimCreate (sys, protocol, role, CLAIM_Nisynch, NULL, NULL, -1); -} - -//! Compile a role -/** - * Input: a name and a roledef tac - * - * Upon return, thisRole should contain the role definition - */ -void -roleCompile (Term nameterm, Tac tc) -{ - /* locate the role, protocol into thisRole */ - /* scan through role list */ - thisRole = thisProtocol->roles; - while (thisRole != NULL && !isTermEqual (thisRole->nameterm, nameterm)) - { - thisRole = thisRole->next; - } - if (thisRole == NULL) - { - globalError++; - eprintf ("error: [%i] undeclared role name ", tc->lineno); - termPrint (nameterm); - eprintf (" in line "); - errorTac (tc->lineno); - } - - /* parse the content of the role */ - levelInit (); - - { - int firstEvent; - - /* initiator/responder flag not set */ - firstEvent = 1; - - while (tc != NULL) - { - switch (tc->op) - { - case TAC_READ: - if (firstEvent) - { - // First a read, thus responder - /* - * Semantics: defaults (in role.c) to initiator _unless_ the first event is a read, - * in which case we assume that the agent names are possibly received as variables - */ - thisRole->initiator = 0; - firstEvent = 0; - } - commEvent (READ, tc); - break; - case TAC_SEND: - firstEvent = 0; - commEvent (SEND, tc); - break; - case TAC_CLAIM: - commEvent (CLAIM, tc); - break; - case TAC_KNOWS: - roleKnows (tc); - break; - default: - if (!normalDeclaration (tc)) - { - globalError++; - eprintf ("error: [%i] illegal command %i in role ", - tc->lineno, tc->op); - termPrint (thisRole->nameterm); - eprintf (" "); - errorTac (tc->lineno); - } - break; - } - tc = tc->next; - } - } - - /* add any claims according to the switches */ - - if (switches.addreachableclaim) - { - claimCreate (sys, thisProtocol, thisRole, CLAIM_Reachable, NULL, NULL, - -1); - } - if (switches.addallclaims) - { - claimAddAll (sys, thisProtocol, thisRole); - } - - /* last bits */ - compute_role_variables (sys, thisProtocol, thisRole); - levelDone (); -} - -//! Initial role knowledge declaration -void -roleKnows (Tac tc) -{ - sys->knowledgedefined = true; // apparently someone uses this, so we enable the check - thisRole->knows = - termlistConcat (thisRole->knows, tacTermlist (tc->t1.tac)); -} - -void -runInstanceCreate (Tac tc) -{ - /* create an instance of an existing role - * tac1 is the dot-separated reference to the role. - * tac2 is the list of parameters to be filled in. - */ - - Protocol p; - Role r; - Symbol psym, rsym; - Termlist instParams; - - /* check whether we can still do it */ - if (sys->maxruns >= maxruns) - return; - - /* first, locate the protocol */ - psym = tc->t1.tac->t1.sym; - p = sys->protocols; - while (p != NULL && TermSymb (p->nameterm) != psym) - p = p->next; - if (p == NULL) - { - globalError++; - eprintf - ("error: [%i] Trying to create a run of a non-declared protocol ", - tc->lineno); - symbolPrint (psym); - eprintf (" "); - errorTac (tc->lineno); - } - - /* locate the role */ - rsym = tc->t1.tac->t2.sym; - r = p->roles; - while (r != NULL && TermSymb (r->nameterm) != rsym) - r = r->next; - if (r == NULL) - { - globalError++; - eprintf ("error: [%i] Protocol ", tc->lineno); - symbolPrint (psym); - eprintf (" has no role called "); - symbolPrint (rsym); - eprintf (" "); - errorTac (tc->lineno); - } - - /* we now know what we are instancing, equal numbers? */ - instParams = tacTermlist (tc->t2.tac); - if (termlistLength (instParams) != termlistLength (p->rolenames)) - { - globalError++; - eprintf - ("error: [%i] Run instance has different number of parameters than protocol ", - tc->lineno); - termPrint (p->nameterm); - eprintf (" "); - errorTac (tc->lineno); - } - - /* equal numbers, so it seems to be safe */ - roleInstance (sys, p, r, instParams, NULL); // technically, we don't need to do this for Arachne [fix later] - - /* after creation analysis */ - /* originator assumption for CLP ? */ - /* TODO */ -} - -//! Check whether the roles in a protocol are non-empty -void -checkProtocolRoles (void) -{ - Role role; - Termlist badroles; - - badroles = NULL; - role = thisProtocol->roles; - while (role != NULL) - { - if (role->roledef == NULL) - { - // Hey, this role is empty. - badroles = termlistAdd (badroles, role->nameterm); - } - role = role->next; - } - - if (badroles != NULL) - { - globalError++; - eprintf ("warning: protocol "); - termPrint (thisProtocol->nameterm); - eprintf (" has empty role definitions for the roles: "); - termlistPrint (badroles); - eprintf ("\n"); - globalError--; - termlistDelete (badroles); - } -} - -//! Compile a protocol description -void -protocolCompile (Symbol prots, Tac tc, Tac tcroles) -{ - Protocol pr; - Term t; - - /* make new (empty) current protocol with name */ - pr = protocolCreate (levelConst (prots)); - thisProtocol = pr; - { - // check for double name declarations - Protocol prold; - - prold = sys->protocols; - while (prold != NULL) - { - if (isTermEqual (pr->nameterm, prold->nameterm)) - { - globalError++; - eprintf ("error: [%i] Double declaration of protocol ", - tc->lineno); - symbolPrint (prots); - eprintf (" "); - errorTac (tc->lineno); - } - prold = prold->next; - } - } - - /* add protocol to list */ - pr->next = sys->protocols; - sys->protocols = pr; - protocolCount++; - - levelInit (); - /* add the role names */ - pr->rolenames = NULL; - while (tcroles != NULL) - { - Term rolename; - Role r; - - rolename = levelVar (tcroles->t1.sym); - rolename->stype = termlistAdd (NULL, TERM_Agent); - - /* add name to list of role names */ - pr->rolenames = termlistAppend (pr->rolenames, rolename); - /* make new (empty) current protocol with name */ - r = roleCreate (rolename); - /* add role to role list of the protocol */ - r->next = thisProtocol->roles; - thisProtocol->roles = r; - - /* next role name */ - tcroles = tcroles->next; - } - - /* parse the content of the protocol */ - while (tc != NULL) - { - switch (tc->op) - { - case TAC_UNTRUSTED: - sys->untrusted = - termlistConcat (sys->untrusted, tacTermlist (tc->t1.tac)); - break; - case TAC_ROLE: - t = levelFind (tc->t1.sym, level); - if (t != NULL) - { - // Compile a role - roleCompile (t, tc->t2.tac); - // singular? - if (tc->t3.value != 0) - { - thisRole->singular = true; - } - } - else - { - globalError++; - eprintf ("warning: undeclared role name"); - symbolPrint (tc->t1.sym); - eprintf (" in protocol "); - termPrint (pr->nameterm); - globalError--; - } - break; - default: - if (!normalDeclaration (tc)) - { - globalError++; - eprintf ("error: [%i] illegal command %i in protocol ", - tc->lineno, tc->op); - termPrint (thisProtocol->nameterm); - errorTac (tc->lineno); - } - break; - } - tc = tc->next; - } - - /* new we should have parsed each protocol role. check this. */ - checkProtocolRoles (); - - levelDone (); -} - -void -tacProcess (Tac tc) -{ - while (tc != NULL) - { - switch (tc->op) - { - case TAC_PROTOCOL: - protocolCompile (tc->t1.sym, tc->t2.tac, tc->t3.tac); - break; - case TAC_UNTRUSTED: - sys->untrusted = - termlistConcat (sys->untrusted, tacTermlist (tc->t1.tac)); - break; - case TAC_RUN: - runInstanceCreate (tc); - break; - case TAC_USERTYPE: - defineUsertype (tc); - break; - default: - if (!normalDeclaration (tc)) - { - globalError++; - eprintf ("error: [%i] illegal command %i at the global level ", - tc->lineno, tc->op); - errorTac (tc->lineno); - } - break; - } - tc = tc->next; - } -} - -Term -tacTerm (Tac tc) -{ - switch (tc->op) - { - case TAC_ENCRYPT: - return makeTermEncrypt (tacTerm (tc->t1.tac), tacTerm (tc->t2.tac)); - case TAC_TUPLE: - return makeTermTuple (tacTerm (tc->t1.tac), tacTerm (tc->t2.tac)); - case TAC_STRING: - { - Term t = symbolFind (tc->t1.sym); - if (t == NULL) - { - globalError++; - eprintf ("error: [%i] undeclared symbol ", tc->lineno); - symbolPrint (tc->t1.sym); - errorTac (tc->lineno); - } - return t; - } - default: - return NULL; - } -} - -Termlist -tacTermlist (Tac tc) -{ - Termlist tl = NULL; - - while (tc != NULL) - { - tl = termlistAppend (tl, tacTerm (tc)); - tc = tc->next; - } - return tl; -} - -//! Compute variables for a roles (for Arachne) -void -compute_role_variables (const System sys, Protocol p, Role r) -{ - if (r->variables == NULL) - { - // Not computed before, for some reason - Termlist tl; - - int process_event (Roledef rd) - { - tl = termlistAddVariables (tl, rd->from); - tl = termlistAddVariables (tl, rd->to); - tl = termlistAddVariables (tl, rd->message); - return 1; - } - - tl = NULL; - roledef_iterate_events (r->roledef, process_event); - r->variables = tl; - -#ifdef DEBUG - if (DEBUGL (5)) - { - eprintf ("All variables for role "); - termPrint (r->nameterm); - eprintf (" are "); - termlistPrint (tl); - eprintf ("\n"); - } -#endif - } -} - -//! Compute term list of rolenames involved in a given term list of labels -Termlist -compute_label_roles (Termlist labels) -{ - Termlist roles; - - roles = NULL; - while (labels != NULL) - { - Labelinfo linfo; - - linfo = label_find (sys->labellist, labels->term); -#ifdef DEBUG - if (linfo == NULL) - error ("Label in prec list not found in label info list"); -#endif - roles = termlistAddNew (roles, linfo->sendrole); - roles = termlistAddNew (roles, linfo->readrole); - - labels = labels->next; - } - return roles; -} - -//! Order the label roles for a given claim -void -order_label_roles (const Claimlist cl) -{ - Termlist roles_remaining; - Termlist roles_ordered; - int distance; - -#ifdef DEBUG - if (DEBUGL (4)) - { - eprintf ("Ordering label roles for claim "); - termPrint (cl->label); - eprintf ("; 0: "); - termPrint (cl->rolename); - } -#endif - roles_remaining = termlistShallow (cl->roles); - roles_ordered = termlistAdd (NULL, cl->rolename); - roles_remaining = - termlistDelTerm (termlistFind (roles_remaining, cl->rolename)); - - distance = 0; - while (roles_remaining != NULL) - { - int scan_label (void *data) - { - Labelinfo linfo; - Termlist tl; - - linfo = (Labelinfo) data; - if (linfo == NULL) - return 1; - tl = cl->prec; - if (inTermlist (tl, linfo->label)) - { - if (linfo->protocol == cl->protocol) - { - // If it's not the same protocol, the labels can't match - - // This function checks whether the newrole can connect to the connectedrole, and whether they fulfil their requirements. - void roles_test (const Term connectedrole, const Term newrole) - { - if (inTermlist (roles_ordered, connectedrole) && - inTermlist (roles_remaining, newrole)) - { -#ifdef DEBUG - if (DEBUGL (4)) - { - eprintf (" "); - termPrint (newrole); - } -#endif - roles_ordered = termlistAppend (roles_ordered, newrole); - roles_remaining = - termlistDelTerm (termlistFind - (roles_remaining, newrole)); - } - } - - roles_test (linfo->sendrole, linfo->readrole); - roles_test (linfo->readrole, linfo->sendrole); - } - } - return 1; - } - - distance++; -#ifdef DEBUG - if (DEBUGL (4)) - { - eprintf (" %i:", distance); - } -#endif - list_iterate (sys->labellist, scan_label); - } - cl->roles = roles_ordered; -#ifdef DEBUG - if (DEBUGL (4)) - { - eprintf ("\n"); - } -#endif -} - -//! Compute prec() sets for each claim. -/** - * Generates two auxiliary structures. First, a table that contains - * a mapping from all events to event/claim labels. - * A second table is used to compute the precedence order, and - * Warshall's algorithm is used to compute the transitive closure. - * Then, for each claim, the in the preceding labels occurring roles are stored, - * which is useful later. - *@returns For each claim in the claim list, a preceding label set is defined. - */ -void -compute_prec_sets (const System sys) -{ - Term *eventlabels; // array: maps events to labels - unsigned int *prec; // array: maps event*event to precedence - int size; // temp constant: rolecount * roleeventmax - int rowsize; - int r1, r2, ev1, ev2; // some counters - Claimlist cl; - - // Assist: compute index from role, lev - int index (int r, int lev) - { - return r * sys->roleeventmax + lev; - } - - // Assist: yield roledef from r, lev - Roledef roledef_re (int r, int lev) - { - Protocol pr; - Role ro; - Roledef rd; - - pr = sys->protocols; - ro = pr->roles; - while (r > 0 && ro != NULL) - { - ro = ro->next; - if (ro == NULL) - { - pr = pr->next; - if (pr != NULL) - { - ro = pr->roles; - } - else - { - ro = NULL; - } - } - r--; - } - if (ro != NULL) - { - rd = ro->roledef; - while (lev > 0 && rd != NULL) - { - rd = rd->next; - lev--; - } - return rd; - } - else - { - return NULL; - } - } - - // Assist: print matrix - void show_matrix (void) - { - int r1, r2, ev1, ev2; - - r1 = 0; - while (r1 < sys->rolecount) - { - ev1 = 0; - while (ev1 < sys->roleeventmax) - { - eprintf ("prec %i,%i: ", r1, ev1); - r2 = 0; - while (r2 < sys->rolecount) - { - ev2 = 0; - while (ev2 < sys->roleeventmax) - { - eprintf ("%i ", - BIT (prec + rowsize * index (r2, ev2), - index (r1, ev1))); - ev2++; - } - eprintf (" "); - r2++; - } - eprintf ("\n"); - ev1++; - } - eprintf ("\n"); - r1++; - } - eprintf ("\n"); - } - - /* - * Phase 1: Allocate structures and map to labels - */ - //eprintf ("Rolecount: %i\n", sys->rolecount); - //eprintf ("Maxevent : %i\n", sys->roleeventmax); - size = sys->rolecount * sys->roleeventmax; - rowsize = WORDSIZE (size); - eventlabels = malloc (size * sizeof (Term)); - prec = (unsigned int *) CALLOC (1, rowsize * size * sizeof (unsigned int)); - // Assign labels - r1 = 0; - while (r1 < sys->rolecount) - { - Roledef rd; - - ev1 = 0; - rd = roledef_re (r1, ev1); - while (rd != NULL) - { - eventlabels[index (r1, ev1)] = rd->label; - //termPrint (rd->label); - //eprintf ("\t"); - ev1++; - rd = rd->next; - } - while (ev1 < sys->roleeventmax) - { - eventlabels[index (r1, ev1)] = NULL; - ev1++; - } - //eprintf ("\n"); - r1++; - } - // Set simple precedence (progress within a role) - r1 = 0; - while (r1 < sys->rolecount) - { - ev1 = 1; - while (ev1 < (sys->roleeventmax)) - { - SETBIT (prec + rowsize * index (r1, ev1 - 1), index (r1, ev1)); - ev1++; - } - r1++; - } - // Scan for label correspondence - r1 = 0; - while (r1 < sys->rolecount) - { - ev1 = 0; - while (ev1 < sys->roleeventmax) - { - Roledef rd1; - - rd1 = roledef_re (r1, ev1); - if (rd1 != NULL && rd1->type == SEND) - { - r2 = 0; - while (r2 < sys->rolecount) - { - ev2 = 0; - while (ev2 < sys->roleeventmax) - { - Roledef rd2; - - rd2 = roledef_re (r2, ev2); - if (rd2 != NULL && rd2->type == READ - && isTermEqual (rd1->label, rd2->label)) - { - SETBIT (prec + rowsize * index (r1, ev1), - index (r2, ev2)); - } - ev2++; - } - r2++; - } - } - ev1++; - } - r1++; - } - -#ifdef DEBUG - if (DEBUGL (5)) - { - show_matrix (); - } -#endif - - /* - * Compute transitive closure (Warshall). - */ - transitive_closure (prec, size); - -#ifdef DEBUG - if (DEBUGL (5)) - { - show_matrix (); - } -#endif - - /* - * Last phase: Process all individual claims - */ - cl = sys->claimlist; - while (cl != NULL) - { - Roledef rd; - Term label; - int claim_index; - - label = cl->label; - // Locate r,lev from label, requires (TODO) unique labeling of claims! - r1 = 0; - ev1 = -1; - do - { - ev1++; - if (ev1 == sys->roleeventmax) - { - ev1 = 0; - r1++; - } - } - while (r1 < sys->rolecount - && !isTermEqual (label, eventlabels[index (r1, ev1)])); - - if (r1 == sys->rolecount) - { - error - ("Prec() setup: Could not find the event corresponding to a claim label."); - } - rd = roledef_re (r1, ev1); - if (rd->type != CLAIM) - { - error - ("Prec() setup: First event with claim label doesn't seem to be a claim."); - } - // Store in claimlist structure - cl->r = r1; - cl->ev = ev1; - cl->roledef = rd; - - /* - * We have found the claim roledef, and r1,ev1 - * Now we compute the preceding label set - */ - cl->prec = NULL; // clear first - claim_index = index (r1, ev1); - r2 = 0; - while (r2 < sys->rolecount) - { - Roledef rd2; - - ev2 = 0; - rd = roledef_re (r2, ev2); - while (rd != NULL) - { - if (BIT (prec + rowsize * index (r2, ev2), claim_index)) - { - // This event precedes the claim - - if (rd->type == READ) - { - // Only store read labels (but send would work as well) - cl->prec = termlistAdd (cl->prec, rd->label); - } - } - rd = rd->next; - ev2++; - } - r2++; - } - - /** - * ---------------------------------------- - * cl->prec is done, now we infer cl->roles - * Next, we nicely order them - * ---------------------------------------- - */ - - cl->roles = compute_label_roles (cl->prec); - order_label_roles (cl); - - /** - * --------------------------- - * Distinguish types of claims - * --------------------------- - */ - - // For ni-synch, the preceding label sets are added to the synchronising_labels sets. - if (cl->type == CLAIM_Nisynch) - { - Termlist tl_scan; - - tl_scan = cl->prec; - while (tl_scan != NULL) - { - sys->synchronising_labels = - termlistAddNew (sys->synchronising_labels, tl_scan->term); - tl_scan = tl_scan->next; - } - } - - // For ni-agree, the preceding set is also important, but we furthermore need a restricted - // synchronising_labels set - - //@todo Fix ni-agree synchronising label sets - if (cl->type == CLAIM_Niagree) - { - int r_scan; - - // Scan each role (except the current one) and pick out the last prec events. - r_scan = 0; - while (r_scan < sys->rolecount) - { - // Only other roles - if (r_scan != r1) - { - // Scan fully - int ev_scan; - Term t_buf; - - t_buf = NULL; - ev_scan = 0; - while (ev_scan < sys->roleeventmax) - { - // if this event preceds the claim, replace the label term - if (BIT - (prec + rowsize * index (r_scan, ev_scan), - claim_index)) - { - Roledef rd; - - rd = roledef_re (r_scan, ev_scan); - if (rd->label != NULL) - { - t_buf = rd->label; - } - } - ev_scan++; - } - // Store only the last label - if (t_buf != NULL) - { - sys->synchronising_labels = - termlistAddNew (sys->synchronising_labels, t_buf); - } - } - r_scan++; - } - } - -#ifdef DEBUG - // Porparam = 100 (weirdness) [x][cc][debug] can turn of the synchronising label sets (override). - if (switches.switchP == 100) - { - termlistDelete (sys->synchronising_labels); - sys->synchronising_labels = NULL; - warning - ("Emptied synchronising labels set manually because --pp=100."); - } -#endif - // Check for empty stuff - //@todo This is for debugging, mainly. - if (cl->prec == NULL) - { - if (inTermlist (CLAIMS_dep_prec, cl->type)) - { - /* this claim depends on prec, but it is empty! */ - - cl->warnings = true; - globalError++; - eprintf ("warning: claim with label "); - termPrint (cl->label); - eprintf (" of role "); - termPrint (cl->rolename); - eprintf (" has an empty prec() set.\n"); - globalError--; - } - } - else - { -#ifdef DEBUG - if (DEBUGL (3)) - { - Protocol p; - - eprintf ("Preceding label set for r:%i, ev:%i = ", r1, ev1); - termlistPrint (cl->prec); - eprintf (", involving roles "); - termlistPrint (cl->roles); - eprintf (", from protocol "); - p = (Protocol) cl->protocol; - termPrint (p->nameterm); - eprintf ("\n"); - } -#endif - } - - // Proceed to next claim - cl = cl->next; - } - - /* - * Cleanup - */ - free (eventlabels); - FREE (prec); - -#ifdef DEBUG - if (DEBUGL (2)) - { - eprintf ("Synchronising labels set: "); - termlistPrint (sys->synchronising_labels); - eprintf ("\n"); - } -#endif - -} - -//! Check unused variables -void -checkRoleVariables (const System sys, const Protocol p, const Role r) -{ - Termlist vars; - Termlist declared; - - int process_event (Roledef rd) - { - if (rd->type == READ) - { - vars = termlistAddVariables (vars, rd->from); - vars = termlistAddVariables (vars, rd->to); - vars = termlistAddVariables (vars, rd->message); - } - return 1; - } - - /* Gather all variables occurring in the reads */ - vars = NULL; - roledef_iterate_events (r->roledef, process_event); - - /* Now, all variables for this role should be in the reads */ - declared = r->declaredvars; - while (declared != NULL) - { - if (!inTermlist (vars, declared->term)) - { - if (switches.check) - { - // Warning - globalError++; - eprintf ("warning: variable "); - termPrint (declared->term); - eprintf (" was declared in role "); - termPrint (p->nameterm); - eprintf (","); - termPrint (r->nameterm); - eprintf (" but never used in a read event.\n"); - globalError--; - } - } - declared = declared->next; - } - - termlistDelete (vars); -} - -//! Check unused variables -/** - * This is checked per role - */ -void -checkUnusedVariables (const System sys) -{ - Protocol p; - - p = sys->protocols; - while (p != NULL) - { - Role r; - r = p->roles; - while (r != NULL) - { - checkRoleVariables (sys, p, r); - r = r->next; - } - p = p->next; - } -} - -//! Is a complete role well-formed -int -WellFormedRole (const System sys, Protocol p, Role r) -{ - Knowledge know; - int okay; - Roledef rd; - - okay = true; - know = emptyKnowledge (); - // Transfer inverses - know->inverses = sys->know->inverses; - // Add role knowledge - knowledgeAddTermlist (know, r->knows); - // Add role names - //@TODO this is not in the semantics as such, often implicit - knowledgeAddTermlist (know, p->rolenames); - // Add local constants - //@TODO this is not in the semantics as such, often implicit - knowledgeAddTermlist (know, r->declaredconsts); - - // Test - rd = r->roledef; - while (rd != NULL) - { - Knowledge knowres; - - knowres = WellFormedEvent (r->nameterm, know, rd); - if (knowres == NULL) - { - okay = false; - break; - } - else - { - know = knowres; - rd = rd->next; - } - } - - // clean up - knowledgeDelete (know); - return okay; -} - -//! Well-formedness check -void -checkWellFormed (const System sys) -{ - int thisRole (Protocol p, Role r) - { - WellFormedRole (sys, p, r); - return true; - } - - iterateRoles (sys, thisRole); -} - -//! Check matching role defs -int -checkEventMatch (const Roledef rd1, const Roledef rd2, - const Termlist rolenames) -{ - if (!isTermEqual (rd1->from, rd2->from)) - { - return false; - } - if (!isTermEqual (rd1->to, rd2->to)) - { - return false; - } - if (!checkRoletermMatch (rd1->message, rd2->message, rolenames)) - { - return false; - } - return true; -} - -//! Check label matchup for protocol p,r, roledef rd (which is a read) -/** - * Any send with the same label should match - */ -void -checkLabelMatchThis (const System sys, const Protocol p, const Role readrole, - const Roledef readevent) -{ - Role sendrole; - int found; - - found = 0; - sendrole = p->roles; - while (sendrole != NULL) - { - Roledef event; - - event = sendrole->roledef; - while (event != NULL) - { - if (event->type == SEND) - { - if (isTermEqual (event->label, readevent->label)) - { - // Same labels, so they should match up! - if (!checkEventMatch (event, readevent, p->rolenames)) - { - globalError++; - eprintf ("error: [%i]", readevent->lineno); - if (sys->protocols != NULL) - { - if (sys->protocols->next != NULL) - { - eprintf (" Protocol "); - termPrint (sys->protocols->nameterm); - } - } - eprintf (" events for label "); - termPrint (event->label); - eprintf (" do not match, in particular: \n"); - eprintf ("error: [%i] ", event->lineno); - roledefPrint (event); - eprintf (" does not match\n"); - eprintf ("error: [%i] ", readevent->lineno); - roledefPrint (readevent); - eprintf ("\n"); - error_die (); - globalError--; - } - else - { - found++; -#ifdef DEBUG - if (DEBUGL (2)) - { - eprintf ("Matching up label "); - termPrint (event->label); - eprintf (" to match: "); - roledefPrint (event); - eprintf (" <> "); - roledefPrint (readevent); - eprintf ("\n"); - } -#endif - } - } - } - event = event->next; - } - sendrole = sendrole->next; - } - - /* How many did we find? - * 1 is normal, more is interesting (branching?) - * 0 is not good, nobody will send it - */ - if (found == 0) - { - globalError++; - eprintf ("error: [%i] for the read event ", readevent->lineno); - roledefPrint (readevent); - eprintf (" of protocol "); - termPrint (p->nameterm); - eprintf - (" there is no corresponding send event (with the same label and matching content). Start the label name with '!' if this is intentional.\n"); - error_die (); - globalError--; - } -} - -//! Check label matchup for protocol p -void -checkLabelMatchProtocol (const System sys, const Protocol p) -{ - // For each read label the sends should match - Role r; - - r = p->roles; - while (r != NULL) - { - Roledef rd; - - rd = r->roledef; - while (rd != NULL) - { - if (rd->type == READ) - { - // We don't check all, if they start with a bang we ignore them. - Labelinfo li; - - li = label_find (sys->labellist, rd->label); - if (li != NULL) - { - if (!li->ignore) - { - checkLabelMatchThis (sys, p, r, rd); - } - } - else - { - globalError++; - eprintf - ("error: [%i] cannot determine label information for ", - rd->lineno); - roledefPrint (rd); - eprintf ("\n"); - error_die (); - globalError--; - } - } - rd = rd->next; - } - r = r->next; - } -} - -//! Check label matchup -void -checkLabelMatching (const System sys) -{ - Protocol p; - - // For each protocol - p = sys->protocols; - while (p != NULL) - { - checkLabelMatchProtocol (sys, p); - p = p->next; - } -} - -//! Preprocess after system compilation -void -preprocess (const System sys) -{ - /* - * init some counters - */ - sys->rolecount = compute_rolecount (sys); - sys->roleeventmax = compute_roleeventmax (sys); - /* - * compute preceding label sets - */ - compute_prec_sets (sys); - /* - * check whether labels match up - */ - checkLabelMatching (sys); - /* - * check for ununsed variables - */ - if (switches.check) - { - checkUnusedVariables (sys); - } - /* - * compute hidelevels - */ - hidelevelCompute (sys); - /* - * Initial knowledge - */ - if (sys->knowledgedefined) - { - initialIntruderKnowledge (sys); - } - /* - * Check well-formedness - */ - if (sys->knowledgedefined) - { - checkWellFormed (sys); - } -} diff --git a/gui/src/compiler.h b/gui/src/compiler.h deleted file mode 100644 index c6dc011..0000000 --- a/gui/src/compiler.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef COMPILER -#define COMPILER - -#include "tac.h" -#include "role.h" -#include "system.h" - -void compilerInit (const System sys); -void compilerDone (void); - -void compile (Tac tc, int maxruns); -void preprocess (const System sys); -Term findGlobalConstant (const char *s); -Term makeGlobalConstant (const char *s); -Term makeGlobalVariable (const char *s); -void compute_role_variables (const System sys, Protocol p, Role r); - -Term symbolDeclare (Symbol s, int isVar); -void levelTacDeclaration (Tac tc, int isVar); - -#define levelDeclareVar(s) levelTacDeclaration(s,1) -#define levelDeclareConst(s) levelTacDeclaration(s,0) -#define levelVar(s) symbolDeclare(s,1) -#define levelConst(s) symbolDeclare(s,0) - -#endif diff --git a/gui/src/copy2gui.sh b/gui/src/copy2gui.sh deleted file mode 100755 index c4ffda6..0000000 --- a/gui/src/copy2gui.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -cp scyther-linux ../gui/Scyther/Bin -cp scyther-w32.exe ../gui/Scyther/Bin -cp scyther-mac ../gui/Scyther/Bin - -# bonus... -cp scyther-linux ~/bin - -echo Copied the files to their respective locations and ~/bin - diff --git a/gui/src/cost.c b/gui/src/cost.c deleted file mode 100644 index cf0d5e2..0000000 --- a/gui/src/cost.c +++ /dev/null @@ -1,74 +0,0 @@ -/** - * - *@file cost.c - * - * Determine cost of a given semitrace in sys - * Constructed for Arachne results, unreliable otherwise. - * - */ -#include "switches.h" -#include "system.h" -#include "binding.h" -#include "error.h" -#include - -//************************************************************************ -// Private methods -//************************************************************************ - -//************************************************************************ -// Public methods -//************************************************************************ - -//! Determine cost of an attack -/* - * This should also work on uncompleted semitraces, and should be monotonous - * (i.e. further iterations should increase the cost only) so that it can be - * used for branch and bound. - * - * A lower value (closer to 0) is a more feasible attack. - */ -int -attackCost (const System sys) -{ - if (switches.prune == 0) - { - return 0; - } - if (switches.prune == 1) - { - // Select the first attack. - // Implied by having the cost of traces after finding an attack to be always higher. - // - if (sys->current_claim->failed > 0) - { - // we already have an attack - return INT_MAX; - } - else - { - // return some value relating to the cost (anything less than int_max will do) - return 1; - } - } - if (switches.prune == 2) - { - // Use nice heuristic cf. work of Gijs Hollestelle. Hand-picked parameters. - int cost; - - cost = 0; - - //cost += get_semitrace_length (); - - cost += 10 * selfInitiators (sys); - cost += 7 * selfResponders (sys); - cost += 10 * sys->num_regular_runs; - cost += 3 * countInitiators (sys); - cost += 2 * countBindingsDone (); - cost += 1 * sys->num_intruder_runs; - - return cost; - } - error ("Unknown pruning method (cost function not found)"); - return 0; -} diff --git a/gui/src/cost.h b/gui/src/cost.h deleted file mode 100644 index 75a09ae..0000000 --- a/gui/src/cost.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef COST -#define COST - -int attackCost (const System sys); - -#endif diff --git a/gui/src/debug.c b/gui/src/debug.c deleted file mode 100644 index 9a6aacf..0000000 --- a/gui/src/debug.c +++ /dev/null @@ -1,52 +0,0 @@ -/** - *@file debug.c - *\brief Debugging code. - * - * It is hoped that this code will become redundant over time. - */ -#include -#include -#include "debug.h" -#include "system.h" -#include "error.h" - -static int debuglevel; - -//! Set the debuglevel from the main code. -void -debugSet (int level) -{ - debuglevel = level; -} - -//! Test whether some debuglevel is meant to be printed. -/** - *@param level The debuglevel - *@return True iff level is smaller than, or equal to, the last set debuglevel. - *\sa debugSet() - */ -int -debugCond (int level) -{ - return (level <= debuglevel); -} - -//! Print some debug string for some level, if desired. -/** - *@param level The debuglevel - *@param string The string to be displayed for this level. - *@return If the debuglevel is higher than the level, the string is ignored. - * Otherwise it will be printed. - *\sa debugCond() - */ -void -debug (int level, char *string) -{ -#ifdef DEBUG - if (debugCond (level)) - { - indent (); - printfstderr ("DEBUG [%i]: %s\n", level, string); - } -#endif -} diff --git a/gui/src/debug.h b/gui/src/debug.h deleted file mode 100644 index 2e3253d..0000000 --- a/gui/src/debug.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef DEBUG_H -#define DEBUG_H - -void debugSet (int level); -int debugCond (int level); -void debug (int level, char *string); - -#define DEBUGL(a) debugCond(a) - -#endif diff --git a/gui/src/depend.c b/gui/src/depend.c deleted file mode 100644 index 6b9978f..0000000 --- a/gui/src/depend.c +++ /dev/null @@ -1,569 +0,0 @@ -/** - * @file depend.c - * \brief interface for graph code from the viewpoint of events. - * - */ - -#include -#include -#include "depend.h" -#include "term.h" -#include "system.h" -#include "binding.h" -#include "warshall.h" -#include "debug.h" -#include "error.h" - -/* - * Generic structures - * --------------------------------------------------------------- - */ -//! Event dependency structure -struct depeventgraph -{ - //! Flag denoting what it was made for (newrun|newbinding) - int fornewrun; - //! Number of runs; - int runs; - //! System where it derives from - System sys; - //! Number of nodes - int n; - //! Rowsize - int rowsize; - //! Graph structure - unsigned int *G; - //! Zombie dummy push - int zombie; - //! Previous graph - struct depeventgraph *prev; -}; - -//! Pointer shorthard -typedef struct depeventgraph *Depeventgraph; - -/* - * External - * --------------------------------------------------------------- - */ - -extern Protocol INTRUDER; //!< The intruder protocol -extern Role I_M; //!< special role; precedes all other events always - -/* - * Globals - * --------------------------------------------------------------- - */ - -Depeventgraph currentdepgraph; - -/* - * Default code - * --------------------------------------------------------------- - */ - -//! Default init -void -dependInit (const System sys) -{ - currentdepgraph = NULL; -} - -//! Pring -void -dependPrint () -{ - Depeventgraph dg; - - eprintf ("Printing DependEvent stack, top first.\n\n"); - for (dg = currentdepgraph; dg != NULL; dg = dg->prev) - { - eprintf ("%i nodes, %i rowsize, %i zombies, %i runs: created for new ", - dg->n, dg->rowsize, dg->zombie, dg->runs); - if (dg->fornewrun) - { - eprintf ("run"); - } - else - { - eprintf ("binding"); - } - eprintf ("\n"); - } - eprintf ("\n"); -#ifdef DEBUG - { - int n1; - int r1; - int o1; - - r1 = 0; - o1 = 0; - eprintf ("Printing dependency graph.\n"); - eprintf ("Y axis nodes comes before X axis node.\n"); - for (n1 = 0; n1 < nodeCount (); n1++) - { - int n2; - int r2; - int o2; - - if ((n1 - o1) >= currentdepgraph->sys->runs[r1].rolelength) - { - o1 += currentdepgraph->sys->runs[r1].rolelength; - r1++; - eprintf ("\n"); - } - r2 = 0; - o2 = 0; - eprintf ("%5i : ", n1); - for (n2 = 0; n2 < nodeCount (); n2++) - { - if ((n2 - o2) >= currentdepgraph->sys->runs[r2].rolelength) - { - o2 += currentdepgraph->sys->runs[r2].rolelength; - r2++; - eprintf (" "); - } - eprintf ("%i", getNode (n1, n2)); - } - eprintf ("\n"); - - } - eprintf ("\n"); - } -#endif -} - -//! Default cleanup -void -dependDone (const System sys) -{ - if (currentdepgraph != NULL) - { - globalError++; - eprintf ("\n\n"); - dependPrint (); - globalError--; - error - ("depgraph stack (depend.c) not empty at dependDone, bad iteration?"); - } -} - -/* - * Libs - * --------------------------------------------------------------- - */ - -//! Convert from event to node in a graph (given that sys is set) -int -eventtonode (const Depeventgraph dgx, const int r, const int e) -{ - int i; - int n; - - n = 0; - for (i = 0; i < dgx->sys->maxruns; i++) - { - if (i == r) - { - // this run -#ifdef DEBUG - if (dgx->sys->runs[i].rolelength <= e) - { - error ("Bad offset for eventtonode"); - } -#endif - return (n + e); - } - else - { - // not this run, add offset - n += dgx->sys->runs[i].rolelength; - } - } - error ("Bad offset (run number too high?) for eventtonode"); - return 0; -} - -//! Return the number of nodes in a graph -int -countnodes (const Depeventgraph dgx) -{ - int i; - int nodes; - - nodes = 0; - for (i = 0; i < dgx->sys->maxruns; i++) - { - nodes += dgx->sys->runs[i].rolelength; - } - return nodes; -} - -//! Graph size given the number of nodes -unsigned int -getGraphSize (const Depeventgraph dgx) -{ - return (dgx->n * dgx->rowsize); -} - -//! Create graph from sys -Depeventgraph -dependCreate (const System sys) -{ - Depeventgraph dgnew; - - dgnew = (Depeventgraph) MALLOC (sizeof (struct depeventgraph)); - dgnew->sys = sys; - dgnew->fornewrun = true; - dgnew->runs = sys->maxruns; - dgnew->zombie = 0; - dgnew->prev = NULL; - dgnew->n = countnodes (dgnew); // count nodes works on ->sys - dgnew->rowsize = WORDSIZE (dgnew->n); - dgnew->G = (unsigned int *) CALLOC (1, getGraphSize (dgnew) * sizeof (unsigned int)); // works on ->n and ->rowsize - - return dgnew; -} - -//! Copy graph from current one -Depeventgraph -dependCopy (const Depeventgraph dgold) -{ - Depeventgraph dgnew; - - // Copy old to new - dgnew = (Depeventgraph) MALLOC (sizeof (struct depeventgraph)); - memcpy ((void *) dgnew, (void *) dgold, - (size_t) sizeof (struct depeventgraph)); - - // New copy - dgnew->fornewrun = false; - dgnew->zombie = 0; - - // copy inner graph - dgnew->G = - (unsigned int *) MALLOC (getGraphSize (dgold) * sizeof (unsigned int)); - memcpy ((void *) dgnew->G, (void *) dgold->G, - getGraphSize (dgold) * sizeof (unsigned int)); - - return dgnew; -} - -//! Destroy graph -void -dependDestroy (const Depeventgraph dgold) -{ - FREE (dgold->G); - FREE (dgold); -} - -//! push graph to stack (generic) -void -dependPushGeneric (Depeventgraph dgnew) -{ - dgnew->prev = currentdepgraph; - currentdepgraph = dgnew; -} - -//! restore graph from stack (generic) -void -dependPopGeneric (void) -{ - Depeventgraph dgprev; - - dgprev = currentdepgraph->prev; - dependDestroy (currentdepgraph); - currentdepgraph = dgprev; -} - -// Dependencies from role order -void -dependDefaultRoleOrder (void) -{ - int r; - - for (r = 0; r < currentdepgraph->sys->maxruns; r++) - { - int e; - - for (e = 1; e < currentdepgraph->sys->runs[r].rolelength; e++) - { - setDependEvent (r, e - 1, r, e); - } - } -} - -// Dependencies fro bindings order -void -dependDefaultBindingOrder (void) -{ - List bl; - - for (bl = currentdepgraph->sys->bindings; bl != NULL; bl = bl->next) - { - Binding b; - - b = (Binding) bl->data; - if (valid_binding (b)) - { - int r1, e1, r2, e2; - - r1 = b->run_from; - e1 = b->ev_from; - r2 = b->run_to; - e2 = b->ev_to; - if (!((r1 == r2) && (e1 == e2))) - { - // Not a self-binding - setDependEvent (r1, e1, r2, e2); - } - } - } -} - -//! Construct graph dependencies from sys -/** - * uses currentdepgraph->sys - */ -void -dependFromSys (void) -{ - dependDefaultRoleOrder (); - dependDefaultBindingOrder (); -} - -//! Detect whether the graph has a cycle. If so, a node can get to itself (through the cycle) -int -hasCycle () -{ - int n; - - for (n = 0; n < currentdepgraph->n; n++) - { - if (getNode (n, n)) - { - return true; - } - - } - return false; -} - -/* - * Public Code - * --------------------------------------------------------------- - */ - -//! get node -int -getNode (const int n1, const int n2) -{ - return BIT (currentdepgraph->G + currentdepgraph->rowsize * n1, n2); -} - -//! set node -void -setNode (const int n1, const int n2) -{ - SETBIT (currentdepgraph->G + currentdepgraph->rowsize * n1, n2); -} - -//! Count nodes -int -nodeCount (void) -{ - return countnodes (currentdepgraph); -} - -/* - * Simple setting - */ -void -setDependEvent (const int r1, const int e1, const int r2, const int e2) -{ - int n1, n2; - - n1 = eventtonode (currentdepgraph, r1, e1); - n2 = eventtonode (currentdepgraph, r2, e2); - setNode (n1, n2); -} - -/* - * Simple testing - */ -int -isDependEvent (const int r1, const int e1, const int r2, const int e2) -{ - int n1, n2; - - n1 = eventtonode (currentdepgraph, r1, e1); - n2 = eventtonode (currentdepgraph, r2, e2); - return getNode (n1, n2); -} - -//! create new graph after adding runs or events (new number of nodes) -void -dependPushRun (const System sys) -{ -#ifdef DEBUG - debug (5, "Push dependGraph for new run\n"); -#endif - dependPushGeneric (dependCreate (sys)); - dependFromSys (); -} - -//! restore graph to state after previous run add -void -dependPopRun (void) -{ - if (!currentdepgraph->fornewrun) - { - globalError++; - dependPrint (); - globalError--; - error ("Trying to pop graph created for new binding."); - } -#ifdef DEBUG - debug (5, "Pop dependGraph for new run\n"); -#endif - dependPopGeneric (); -} - -//! create new graph by adding event bindings -/* - * The push code returns true or false: if false, the operation fails because - * it there is now a cycle in the graph, and there is no need to pop the - * result. - */ -int -dependPushEvent (const int r1, const int e1, const int r2, const int e2) -{ - if (isDependEvent (r2, e2, r1, e1)) - { - // Adding would imply a cycle, so we won't do that. -#ifdef DEBUG - if (DEBUGL (3)) - { - eprintf ("Cycle detected for binding %i,%i -> %i,%i.\n", r1, e1, r2, - e2); - } - if (DEBUGL (5)) - { - dependPrint (); - } -#endif - return false; - } - else - { - // No immediate cycle: new graph, return true TODO disabled - if ((1 == 1) && (((r1 == r2) && (e1 == e2)) - || isDependEvent (r1, e1, r2, e2))) - { - // if n->n or the binding already existed, no changes - // no change: add zombie - currentdepgraph->zombie += 1; -#ifdef DEBUG - debug (5, "Push dependGraph for new event (zombie push)\n"); - if (DEBUGL (5)) - { - globalError++; - eprintf ("r%ii%i --> r%ii%i\n", r1, e1, r2, e2); - globalError--; - } -#endif - } - else - { - // change: make new graph copy of the old one - dependPushGeneric (dependCopy (currentdepgraph)); - // add new binding - setDependEvent (r1, e1, r2, e2); - // recompute closure - transitive_closure (currentdepgraph->G, currentdepgraph->n); - // check for cycles - if (hasCycle ()) - { - //warning ("Cycle slipped undetected by the reverse check."); - // Closure introduced cycle, undo it - dependPopEvent (); - return false; - } -#ifdef DEBUG - debug (5, "Push dependGraph for new event (real push)\n"); - if (DEBUGL (5)) - { - globalError++; - eprintf ("r%ii%i --> r%ii%i\n", r1, e1, r2, e2); - globalError--; - } -#endif - } - return true; - } -} - -//! restore graph to state before previous binding add -void -dependPopEvent (void) -{ - if (currentdepgraph->zombie > 0) - { - // zombie pushed -#ifdef DEBUG - debug (5, "Pop dependGraph for new event (zombie pop)\n"); -#endif - currentdepgraph->zombie -= 1; - } - else - { - if (currentdepgraph->fornewrun) - { - globalError++; - dependPrint (); - globalError--; - error ("Trying to pop graph created for new run."); - } - else - { - // real graph -#ifdef DEBUG - debug (5, "Pop dependGraph for new event (real pop)\n"); -#endif - dependPopGeneric (); - } - } -} - -//! Current event to node -int -eventNode (const int r, const int e) -{ - return eventtonode (currentdepgraph, r, e); -} - -//! Iterate over any preceding events -int -iteratePrecedingEvents (const System sys, int (*func) (int run, int ev), - const int run, const int ev) -{ - int run2; - - for (run2 = 0; run2 < sys->maxruns; run2++) - { - int ev2; - - for (ev2 = 0; ev2 < sys->runs[run2].step; ev2++) - { - if (isDependEvent (run2, ev2, run, ev)) - { - if (!func (run2, ev2)) - { - return false; - } - } - } - } - return true; -} diff --git a/gui/src/depend.h b/gui/src/depend.h deleted file mode 100644 index d7ebfab..0000000 --- a/gui/src/depend.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef DEPEND -#define DEPEND - -#include "system.h" - -/* - * The code here mainly involves an interface for creating graphs etc., but - * most of it is implicit: we just add dependencies/runs and undo them again - * later. - */ - -void dependInit (const System sys); -void dependPrint (); -void dependDone (const System sys); - -/* - * The push code returns true or false: if false, the operation fails because - * it there is now a cycle in the graph, and there is no need to pop the - * result. - */ -void dependPushRun (const System sys); -void dependPopRun (); -int dependPushEvent (const int r1, const int e1, const int r2, const int e2); -void dependPopEvent (); - -/* - * Test/set - */ - -int getNode (const int n1, const int n2); -void setNode (const int n1, const int n2); -int isDependEvent (const int r1, const int e1, const int r2, const int e2); -void setDependEvent (const int r1, const int e1, const int r2, const int e2); - -/* - * Outside helpers - */ -int hasCycle (); -int eventNode (const int r, const int e); -int nodeCount (void); -int iteratePrecedingEvents (const System sys, int (*func) (int run, int ev), - const int run, const int ev); - -#endif diff --git a/gui/src/design.txt b/gui/src/design.txt deleted file mode 100644 index 97c40bb..0000000 --- a/gui/src/design.txt +++ /dev/null @@ -1,47 +0,0 @@ -Design Issues for the Model Checker ------------------------------------ - -- For secrecy, we can trigger all sends at once. For synchronisation, - this is not the case. - -- Modules have to be split up sensibly. - - - Although 'knowledge' and 'term matching' seem to different items, - their intertwined workings suggest that they should be implemented - in parallel. - - - State generation (as in creating instances) might already allow for - a lot of static analysis. - -- We should make a list of required operations. Ingmar's work can serve - as a starting point. - -- For now, there will be no parser, and test cases will be input by - hand. - -- Synchronisation is more difficult to test, so we focus on secrecy - first. I've got some good ideas on Synchronisation testing though - (with narrowing sets of possible partners). Synchronisation is very - hard to prune, I presume. I have to prove that though ;) - -Sketch for secrecy: - -SimulateStep(F,M,constraints): - if Empty(F): - return - else: - for (s in PossibleSends): - add s.message to M - if (secrecy violated): - halt - remove s from F - ReadSets = supersetTransitions(F) - for (ReadSet in ReadSets): - for (s in ReadSet): - // dit is vaag - if NonMatch goto next ReadSet - constraint = F,M,match() - SimulateStep(F \ s,M,constraints) - - - diff --git a/gui/src/dotout.c b/gui/src/dotout.c deleted file mode 100644 index 2e7ba6e..0000000 --- a/gui/src/dotout.c +++ /dev/null @@ -1,1814 +0,0 @@ -#include -#include -#include "system.h" -#include "switches.h" -#include "arachne.h" -#include "binding.h" -#include "depend.h" -#include "type.h" -#include "debug.h" -#include "error.h" - -extern Protocol INTRUDER; // Pointers, to be set by the Init of arachne.c -extern Role I_M; // Same here. -extern Role I_RRS; -extern Role I_RRSD; - -#define INVALID -1 -#define isGoal(rd) (rd->type == READ && !rd->internal) -#define isBound(rd) (rd->bound) -#define length step - -#define CLAIMTEXTCOLOR "#ffffff" -#define CLAIMCOLOR "#000000" -#define GOODCOMMCOLOR "forestgreen" - -#define INTRUDERCOLORH 18.0 -#define INTRUDERCOLORL 0.65 -#define INTRUDERCOLORS 0.9 -#define RUNCOLORL1 0.90 -#define RUNCOLORL2 0.65 -#define RUNCOLORH1 (INTRUDERCOLORH + 360 - 10.0) -#define RUNCOLORH2 (INTRUDERCOLORH + 10.0) -#define RUNCOLORS1 0.8 -#define RUNCOLORS2 0.6 -#define RUNCOLORDELTA 0.2 // maximum hue delta between roles (0.2): smaller means role colors of a protocol become more similar. -#define RUNCOLORCONTRACT 0.8 // contract from protocol edges: smaller means more distinction between protocols. -#define UNTRUSTEDCOLORS 0.4 - -#define CHOOSEWEIGHT "2.0" -#define RUNWEIGHT "10.0" -//#define CHOOSEWEIGHT "1.0" -//#define RUNWEIGHT "1.0" - -/* - * Dot output - * - * - * The algorithm itself is not very complicated; because the semi-bundles have - * bindings etcetera, a graph can be draw quickly and efficiently. - * - * Interesting issues: - * - * Binding annotations are only drawn if they don't connect with regular - * events, and when the item does not occur in any previous binding, it might - * be connected to the initial intruder knowledge. - * - * Color management is quite involved. We draw identical protocols in similar - * color schemes. A color scheme is a gradient between two colors, evenly - * spread over all the runs. - */ - -static System sys = NULL; - -/* - * code - */ - -//! Is this term chosen by the intruder? -int -isIntruderChoice (const Term t) -{ - if (realTermLeaf (t)) - { - if (TermRunid (t) >= sys->maxruns) - { - // Chosen by intruder - // However, if it is a rolename, this is not really what we mean - if (!(t->roleVar || isAgentType (t->stype))) - { - // Not a role variable, and chosen by the intruder: that's it - return true; - } - } - } - return false; -} - -//! Print the run identifier in some meaningful way -void -printVisualRunID (int rid) -{ - int run; - int displayi; - int displayr; - int display; - - if (rid < sys->maxruns) - { - // < sys->maxruns means normal thing (not from makeTraceConcrete) - displayi = 0; - displayr = 0; - for (run = 0; run < rid; run++) - { - if (sys->runs[run].protocol != INTRUDER) - { - displayr++; - } - else - { - displayi++; - } - } - if (sys->runs[rid].protocol == INTRUDER) - { - display = sys->maxruns + displayi + 1; - } - else - { - display = displayr + 1; - } - eprintf ("#%i", display); - } - else - { - eprintf ("%i", (rid - sys->maxruns + 1)); - } -} - -void -printVisualRun (const Term t) -{ - if (isIntruderChoice (t)) - { - eprintf ("Intruder"); - } - printVisualRunID (TermRunid (t)); -} - -//! Remap term stuff -void -termPrintRemap (const Term t) -{ - termPrintCustom (t, "", "", "(", ")", "\\{ ", " \\}", printVisualRun); -} - -//! Remap term list -void -termlistPrintRemap (Termlist tl, char *sep) -{ - while (tl != NULL) - { - termPrintRemap (tl->term); - tl = tl->next; - if (tl != NULL) - { - eprintf ("%s", sep); - } - } -} - -//! Print a term; if it is a variable, show that -void -explainVariable (Term t) -{ - t = deVar (t); - if (realTermVariable (t)) - { - eprintf ("any "); - if (t->roleVar) - { - eprintf ("agent "); - } - termPrintRemap (t); - if (!t->roleVar) - { - if (switches.match == 0 && t->stype != NULL) - { - Termlist tl; - - eprintf (" of type "); - for (tl = t->stype; tl != NULL; tl = tl->next) - { - termPrintRemap (tl->term); - if (tl->next != NULL) - { - eprintf (","); - } - } - } - } - } - else - { - termPrintRemap (t); - } -} - - -//! Name of intruder node -void -intruderNodeM0 (void) -{ - eprintf ("intruder"); -} - -//! Draw node -void -node (const System sys, const int run, const int index) -{ - if (sys->runs[run].protocol == INTRUDER) - { - if (sys->runs[run].role == I_M) - { - intruderNodeM0 (); - } - else - { - eprintf ("ri%i", run); - } - } - else - { - eprintf ("r%ii%i", run, index); - } -} - -//! Draw arrow -void -arrow (const System sys, Binding b) -{ - node (sys, b->run_from, b->ev_from); - eprintf (" -> "); - node (sys, b->run_to, b->ev_to); -} - -//! Redirect node -void -redirNode (const System sys, Binding b) -{ - eprintf ("redir_"); - node (sys, b->run_from, b->ev_from); - node (sys, b->run_to, b->ev_to); -} - -//! Roledef draw -void -roledefDraw (Roledef rd) -{ - void optlabel (void) - { - Term label; - - label = rd->label; - if (label != NULL) - { - if (realTermTuple (label)) - { - label = TermOp2 (label); - } - eprintf ("_"); - termPrintRemap (label); - } - } - - if (rd->type == READ) - { - eprintf ("read"); - optlabel (); - eprintf (" from "); - termPrintRemap (rd->from); - eprintf ("\\n"); - termPrintRemap (rd->message); - } - if (rd->type == SEND) - { - eprintf ("send"); - optlabel (); - eprintf (" to "); - termPrintRemap (rd->to); - eprintf ("\\n"); - termPrintRemap (rd->message); - } - if (rd->type == CLAIM) - { - eprintf ("claim"); - optlabel (); - eprintf ("\\n"); - termPrintRemap (rd->to); - if (rd->message != NULL) - { - eprintf (" : "); - termPrintRemap (rd->message); - } - } -} - -//! Choose term node -void -chooseTermNode (const Term t) -{ - eprintf ("CHOOSE"); - { - char *rsbuf; - - rsbuf = RUNSEP; - RUNSEP = "x"; - termPrint (t); - RUNSEP = rsbuf; - } -} - -//! Value for hlsrgb conversion -static double -hlsValue (double n1, double n2, double hue) -{ - if (hue > 360.0) - hue -= 360.0; - else if (hue < 0.0) - hue += 360.0; - if (hue < 60.0) - return n1 + (n2 - n1) * hue / 60.0; - else if (hue < 180.0) - return n2; - else if (hue < 240.0) - return n1 + (n2 - n1) * (240.0 - hue) / 60.0; - else - return n1; -} - -//! hls to rgb conversion -void -hlsrgbreal (int *r, int *g, int *b, double h, double l, double s) -{ - double m1, m2; - - int bytedouble (double d) - { - double x; - - x = 255.0 * d; - if (x <= 0) - return 0; - else if (x >= 255.0) - return 255; - else - return (int) x; - } - - while (h >= 360.0) - h -= 360.0; - while (h < 0) - h += 360.0; - m2 = (l <= 0.5) ? (l * (l + s)) : (l + s - l * s); - m1 = 2.0 * l - m2; - if (s == 0.0) - { - *r = *g = *b = bytedouble (l); - } - else - { - *r = bytedouble (hlsValue (m1, m2, h + 120.0)); - *g = bytedouble (hlsValue (m1, m2, h)); - *b = bytedouble (hlsValue (m1, m2, h - 120.0)); - } -} - -//! hls to rgb conversion -/** - * Secretly takes the monochrome switch into account - */ -void -hlsrgb (int *r, int *g, int *b, double h, double l, double s) -{ - double closer (double l, double factor) - { - return l + ((1.0 - l) * factor); - } - - if (switches.monochrome) - { - // No colors - s = 0; - h = 0; - } - - if (switches.lightness > 0) - { - // correction switch for lightness - if (switches.lightness == 100) - { - l = 1.0; - } - else - { - l = closer (l, ((double) switches.lightness / 100.0)); - } - } - -// convert - hlsrgbreal (r, g, b, h, l, s); -} - - -//! print color from h,l,s triplet -void -printColor (double h, double l, double s) -{ - int r, g, b; - - hlsrgb (&r, &g, &b, h, l, s); - eprintf ("#%02x%02x%02x", r, g, b); -} - - -//! Set local buffer with the correct color for this run. -/** - * Determines number of protocols, shifts to the right color pair, and colors - * the run within the current protocol in the fade between the color pair. - * - * This can be done much more efficiently by computing these colors once, - * instead of each time again for each run. However, this is not a - * speed-critical section so this will do just nicely. - */ -void -setRunColorBuf (const System sys, int run, char *colorbuf) -{ - int range; - int index; - double protoffset, protrange; - double roleoffset, roledelta; - double color; - double h, l, s; - int r, g, b; - - // help function: contract roleoffset, roledelta with a factor (<= 1.0) - void contract (double factor) - { - roledelta = roledelta * factor; - roleoffset = (roleoffset * factor) + ((1.0 - factor) / 2.0); - } - - // determine #protocol, resulting in two colors - { - Termlist protocols; - Term refprot; - int r; - int firstfound; - - protocols = NULL; - refprot = sys->runs[run].protocol->nameterm; - index = 0; - range = 1; - firstfound = false; - for (r = 0; r < sys->maxruns; r++) - { - if (sys->runs[r].protocol != INTRUDER) - { - Term prot; - - prot = sys->runs[r].protocol->nameterm; - if (!isTermEqual (prot, refprot)) - { - // Some 'other' protocol - if (!inTermlist (protocols, prot)) - { - // New other protocol - protocols = termlistAdd (protocols, prot); - range++; - if (!firstfound) - { - index++; - } - } - } - else - { - // Our protocol - firstfound = true; - } - } - } - termlistDelete (protocols); - } - - // Compute protocol offset [0.0 ... 1.0> - protrange = 1.0 / range; - protoffset = index * protrange; - - // We now now our range, and we can determine which role this one is. - { - Role rr; - int done; - - range = 0; - index = 0; - done = false; - - for (rr = sys->runs[run].protocol->roles; rr != NULL; rr = rr->next) - { - if (sys->runs[run].role == rr) - { - done = true; - } - else - { - if (!done) - { - index++; - } - } - range++; - } - } - - // Compute role offset [0.0 ... 1.0] - if (range <= 1) - { - roledelta = 0.0; - roleoffset = 0.5; - } - else - { - // range over 0..1 - roledelta = 1.0 / (range - 1); - roleoffset = index * roledelta; - // Now this can result in a delta that is too high (depending on protocolrange) - if (protrange * roledelta > RUNCOLORDELTA) - { - contract (RUNCOLORDELTA / (protrange * roledelta)); - } - } - - // We slightly contract the colors (taking them away from protocol edges) - contract (RUNCOLORCONTRACT); - - // Now we can convert this to a color - color = protoffset + (protrange * roleoffset); - h = RUNCOLORH1 + color * (RUNCOLORH2 - RUNCOLORH1); - l = RUNCOLORL1 + color * (RUNCOLORL2 - RUNCOLORL1); - s = RUNCOLORS1 + color * (RUNCOLORS2 - RUNCOLORS1); - - // If the run is not trusted, we lower the saturation significantly - if (!isRunTrusted (sys, run)) - { - s = UNTRUSTEDCOLORS; - } - - // set to buffer - hlsrgb (&r, &g, &b, h, l, s); - sprintf (colorbuf, "#%02x%02x%02x", r, g, b); - - // compute second color (light version) - /* - l += 0.07; - if (l > 1.0) - l = 1.0; - */ - hlsrgb (&r, &g, &b, h, l, s); - sprintf (colorbuf + 8, "#%02x%02x%02x", r, g, b); -} - -//! Communication status -int -isCommunicationExact (const System sys, Binding b) -{ - Roledef rd1, rd2; - - rd1 = eventRoledef (sys, b->run_from, b->ev_from); - rd2 = eventRoledef (sys, b->run_to, b->ev_to); - - if (!isTermEqual (rd1->message, rd2->message)) - { - return false; - } - if (!isTermEqual (rd1->from, rd2->from)) - { - return false; - } - if (!isTermEqual (rd1->to, rd2->to)) - { - return false; - } - if (!isTermEqual (rd1->label, rd2->label)) - { - return false; - } - return true; -} - -//! Ignore some events -int -isEventIgnored (const System sys, int run, int ev) -{ - Roledef rd; - - rd = eventRoledef (sys, run, ev); - if (rd->type == CLAIM) - { - if (run != 0) - { - return true; - } - else - { - if (ev != sys->current_claim->ev) - { - return true; - } - } - } - return false; -} - -//! Check whether an event is a function application -int -isApplication (const System sys, const int run) -{ - if (sys->runs[run].protocol == INTRUDER) - { - if (sys->runs[run].role == I_RRS) - { - Roledef rd; - - rd = sys->runs[run].start->next; - if (rd != NULL) - { - if (isTermFunctionName (rd->message)) - { - return true; - } - } - } - } - return false; -} - -//! Is an event enabled by M0 only? -int -isEnabledM0 (const System sys, const int run, const int ev) -{ - List bl; - - for (bl = sys->bindings; bl != NULL; bl = bl->next) - { - Binding b; - - b = (Binding) bl->data; - if (!b->blocked) - { - // if the binding is not done (class choice) we might - // still show it somewhere. - if (b->done) - { - if (b->run_to == run && b->ev_to == ev) - { - if (sys->runs[b->run_from].role != I_M) - { - return false; - } - } - } - } - } - return true; -} - -//! Check whether the event is an M_0 function application (special case of the previous) -int -isApplicationM0 (const System sys, const int run) -{ - if (sys->runs[run].length > 1) - { - if (isApplication (sys, run)) - { - if (isEnabledM0 (sys, run, 1)) - { - return true; - } - } - } - return false; -} - -//! Determine ranks for all nodes -/** - * Some crude algorithm I sketched on the blackboard. - */ -int -graph_ranks (int *ranks, int nodes) -{ - int done; - int rank; - int changes; - - int getrank (int run, int ev) - { - return ranks[eventNode (run, ev)]; - } - - void setrank (int run, int ev, int rank) - { - ranks[eventNode (run, ev)] = rank; - } - -#ifdef DEBUG - if (hasCycle ()) - { - error ("Graph ranks tried, but a cycle exists!"); - } -#endif - - { - int i; - - for (i = 0; i < nodes; i++) - { - ranks[i] = INT_MAX; - } - } - - rank = 0; - done = false; - changes = true; - while (!done) - { - int checkCanEventHappenNow (int run, Roledef rd, int ev) - { - //if (sys->runs[run].protocol != INTRUDER) - { - if (getrank (run, ev) == INT_MAX) - { - // Allright, this regular event is not assigned yet - int precevent (int run2, int ev2) - { - //if (sys->runs[run2].protocol != INTRUDER) - { - // regular preceding event - int rank2; - - rank2 = getrank (run2, ev2); - if (rank2 > rank) - { - // higher rank, this cannot be done - return false; - } - if (rank2 == rank) - { - // equal rank: only if different run - if ((sys->runs[run].protocol != INTRUDER) - && (run2 == run)) - { - return false; - } - } - } - return true; - } - - if (iteratePrecedingEvents (sys, precevent, run, ev)) - { - // we can do it! - changes = true; - setrank (run, ev, rank); - } - else - { - done = false; - } - } - } - return true; - } - - - if (!changes) - { - rank++; - if (rank >= nodes) - { - warning ("Rank %i increased to the number of nodes %i.", rank, - nodes); - return rank; - } - } - done = true; - changes = false; - iterateAllEvents (sys, checkCanEventHappenNow); - } - return rank; -} - -//! Display the ranks -/** - * Reinstated after it had been gone for a while - */ -void -showRanks (const System sys, const int maxrank, const int *ranks, - const int nodes) -{ - int rank; - - //return; - - for (rank = 0; rank <= maxrank; rank++) - { - int found; - int run; - - found = 0; - for (run = 0; run < sys->maxruns; run++) - { - if (sys->runs[run].protocol != INTRUDER) - { - int ev; - - for (ev = 0; ev < sys->runs[run].step; ev++) - { - if (!isEventIgnored (sys, run, ev)) - { - - int n; - - n = eventNode (run, ev); - if (ranks[n] == rank) - { - if (found == 0) - { - eprintf ("\t{ rank = same; "); - } - node (sys, run, ev); - eprintf ("; "); - found++; - } - } - } - } - } - if (found > 0) - { - eprintf ("}\n"); - } - } -} - -//! Does a term occur in a run? -int -termOccursInRun (Term t, int run) -{ - Roledef rd; - int e; - - rd = sys->runs[run].start; - e = 0; - while (e < sys->runs[run].step) - { - if (roledefSubTerm (rd, t)) - { - return true; - } - e++; - rd = rd->next; - } - return false; -} - -//! Draw a class choice -/** - * \rho classes are already dealt with in the headers, so we should ignore them. - */ -void -drawClass (const System sys, Binding b) -{ - Term varterm; - - // now check in previous things whether we saw that term already - int notSameTerm (Binding b2) - { - return (!isTermEqual (varterm, b2->term)); - } - - varterm = deVar (b->term); - - // Variable? - if (!isTermVariable (varterm)) - { - return; - } - - // Agent variable? - { - int run; - - run = TermRunid (varterm); - if ((run >= 0) && (run < sys->maxruns)) - { - if (inTermlist (sys->runs[run].rho, varterm)) - { - return; - } - } - } - - // Seen before? - if (!iterate_preceding_bindings (b->run_to, b->ev_to, notSameTerm)) - { - // We saw the same term before. Exit. - return; - } - - - - - // not seen before: choose class - eprintf ("\t"); - chooseTermNode (varterm); - eprintf (" [label=\""); - explainVariable (varterm); - eprintf ("\"];\n"); - eprintf ("\t"); - chooseTermNode (varterm); - eprintf (" -> "); - node (sys, b->run_to, b->ev_to); - eprintf (" [weight=\"%s\",arrowhead=\"none\",style=\"dotted\"];\n", - CHOOSEWEIGHT); -} - -//! Print label of a regular->regular transition node (when comm. is not exact) -/** - * Note that we ignore any label differences, these are left implicit - */ -void -regularModifiedLabel (Binding b) -{ - Roledef rdfrom; - Roledef rdto; - int unknown; - - rdfrom = eventRoledef (sys, b->run_from, b->ev_from); - rdto = eventRoledef (sys, b->run_to, b->ev_to); - unknown = true; - - // First up: compare messages contents': what was sent, what is needed - if (!isTermEqual (rdfrom->message, b->term)) - { - // What is sent is not equal to what is bound - if (termInTerm (rdfrom->message, b->term)) - { - // Interm: simple select - unknown = false; - eprintf ("select "); - termPrintRemap (b->term); - eprintf ("\\n"); - } - } - - // Second: agent things - if (!isTermEqual (rdfrom->from, rdto->from)) - { - unknown = false; - eprintf ("fake sender "); - termPrintRemap (rdto->from); - eprintf ("\\n"); - } - if (!isTermEqual (rdfrom->to, rdto->to)) - { - unknown = false; - eprintf ("redirect to "); - termPrintRemap (rdto->to); - eprintf ("\\n"); - } - - // Any leftovers for which I don't have a good name yet. - if (unknown) - { - // I'm not quite sure, we call it 'combine' for now. TODO - eprintf ("combine\\n"); - } -} - -//! - -//! Draw a single binding -void -drawBinding (const System sys, Binding b) -{ - int intr_to, intr_from, m0_from; - - void myarrow (const Binding b) - { - if (m0_from) - { - eprintf ("\t"); - intruderNodeM0 (); - eprintf (" -> "); - node (sys, b->run_to, b->ev_to); - } - else - { - arrow (sys, b); - } - - } - - intr_from = (sys->runs[b->run_from].protocol == INTRUDER); - intr_to = (sys->runs[b->run_to].protocol == INTRUDER); - m0_from = false; - - // Pruning: things going to M0 applications are pruned; - if (isApplicationM0 (sys, b->run_to)) - { - return; - } - if (isApplicationM0 (sys, b->run_from) || - sys->runs[b->run_from].role == I_M) - { - m0_from = true; - } - - // Normal drawing cases; - if (intr_from) - { - // from intruder - /* - * Because this can be generated many times, it seems - * reasonable to not duplicate such arrows, especially when - * they're from M_0. Maybe the others are still relevant. - */ - if (1 == 1 || sys->runs[b->run_from].role == I_M) - { - // now check in previous things whether we saw that term already - int notSameTerm (Binding b2) - { - return (!isTermEqual (b->term, b2->term)); - } - - if (!iterate_preceding_bindings (b->run_to, b->ev_to, notSameTerm)) - { - // We saw the same term before. Exit. - return; - } - } - - // normal from intruder, not seen before (might be M_0) - if (intr_to) - { - // intr->intr - eprintf ("\t"); - myarrow (b); - eprintf (" [label=\""); - termPrintRemap (b->term); - eprintf ("\""); - if (m0_from) - { - eprintf (",weight=\"10.0\""); - } - eprintf ("]"); - eprintf (";\n"); - } - else - { - // intr->regular - eprintf ("\t"); - myarrow (b); - if (m0_from) - { - eprintf ("[weight=\"0.5\"]"); - } - eprintf (";\n"); - } - } - else - { - // not from intruder - if (intr_to) - { - // regular->intr - eprintf ("\t"); - myarrow (b); - eprintf (";\n"); - } - else - { - // regular->regular - /* - * Has this been done *exactly* as we hoped? - */ - if (isCommunicationExact (sys, b)) - { - eprintf ("\t"); - myarrow (b); - eprintf (" [style=bold,color=\"%s\"]", GOODCOMMCOLOR); - eprintf (";\n"); - } - else - { - // Something was changed, so we call this a redirect - eprintf ("\t"); - node (sys, b->run_from, b->ev_from); - eprintf (" -> "); - redirNode (sys, b); - eprintf (" -> "); - node (sys, b->run_to, b->ev_to); - eprintf (";\n"); - - eprintf ("\t"); - redirNode (sys, b); - eprintf (" [style=filled,fillcolor=\""); - printColor (INTRUDERCOLORH, INTRUDERCOLORL, INTRUDERCOLORS); - eprintf ("\",label=\""); - regularModifiedLabel (b); - eprintf ("\"]"); - eprintf (";\n"); - - } - } - } -} - -//! Draw dependecies (including intruder!) -/** - * Returns from_intruder_count (from M_0) - */ -int -drawAllBindings (const System sys) -{ - List bl; - int fromintr; - - fromintr = 0; - for (bl = sys->bindings; bl != NULL; bl = bl->next) - { - Binding b; - - b = (Binding) bl->data; - if (!b->blocked) - { - // if the binding is not done (class choice) we might - // still show it somewhere. - if (b->done) - { - // done, draw - drawBinding (sys, b); - // from intruder? - if (sys->runs[b->run_from].protocol == INTRUDER) - { - if (sys->runs[b->run_from].role == I_M) - { - fromintr++; - } - } - } - else - { - drawClass (sys, b); - } - } - } - return fromintr; -} - -//! Print "Alice in role R" of a run -void -printAgentInRole (const System sys, const int run) -{ - Term rolename; - Term agentname; - - rolename = sys->runs[run].role->nameterm; - agentname = agentOfRunRole (sys, run, rolename); - explainVariable (agentname); - eprintf (" in role "); - termPrintRemap (rolename); -} - -//! rho, sigma, const -/* - * true if it has printed - */ -int -showLocal (const int run, Term told, Term tnew, char *prefix, char *cursep) -{ - if (realTermVariable (tnew)) - { - if (termOccursInRun (tnew, run)) - { - // Variables are mapped, maybe. But then we wonder whether they occur in reads. - eprintf (cursep); - eprintf (prefix); - termPrintRemap (told); - eprintf (" -\\> "); - explainVariable (tnew); - } - else - { - return false; - } - } - else - { - eprintf (cursep); - eprintf (prefix); - termPrintRemap (tnew); - } - return true; -} - - -//! show a list of locals -/** - * never ends with the seperator - */ -int -showLocals (const int run, Termlist tlold, Termlist tlnew, - Term tavoid, char *prefix, char *sep) -{ - int anything; - char *cursep; - - cursep = ""; - anything = false; - while (tlold != NULL && tlnew != NULL) - { - if (!isTermEqual (tlold->term, tavoid)) - { - if (showLocal (run, tlold->term, tlnew->term, prefix, cursep)) - { - cursep = sep; - anything = true; - } - } - tlold = tlold->next; - tlnew = tlnew->next; - } - return anything; -} - -//! Explain the local constants -/** - * Return true iff something was printed - */ -int -printRunConstants (const System sys, const int run) -{ - if (sys->runs[run].constants != NULL) - { - eprintf ("Const "); - showLocals (run, sys->runs[run].role-> - declaredconsts, sys->runs[run].constants, NULL, "", ", "); - eprintf ("\\l"); - return true; - } - else - { - return false; - } -} - - -//! Explain a run in two lines -void -printRunExplanation (const System sys, const int run, - char *runrolesep, char *newline) -{ - int hadcontent; - - eprintf ("Run "); - printVisualRunID (run); - - eprintf (runrolesep); - // Print first line - printAgentInRole (sys, run); - eprintf ("\\l"); - - // Second line - // Possible protocol (if more than one) - { - int showprotocol; - Protocol p; - int morethanone; - - // Simple case: don't show - showprotocol = false; - - // Check whether the protocol spec has more than one - morethanone = false; - for (p = sys->protocols; p != NULL; p = p->next) - { - if (p != INTRUDER) - { - if (p != sys->runs[run].protocol) - { - morethanone = true; - break; - } - } - } - - // More than one? - if (morethanone) - { - // This used to work for run 0 always... - //if (run == 0) - if (false) - { - // If this is run 0 we report the protocol anyway, even is there is only a single one in the attack - showprotocol = true; - } - else - { - int r; - // For other runs we only report when there are multiple protocols - showprotocol = false; - for (r = 0; r < sys->maxruns; r++) - { - if (sys->runs[r].protocol != INTRUDER) - { - if (sys->runs[r].protocol != sys->runs[run].protocol) - { - showprotocol = true; - break; - } - } - } - } - } - - // Use the result - if (showprotocol) - { - eprintf ("Protocol "); - termPrintRemap (sys->runs[run].protocol->nameterm); - eprintf ("\\l"); - } - } - - eprintf (newline); - hadcontent = false; - - { - /* - * Originally, we ignored the actor in the rho list, but for more than two-party protocols, this was unclear. - */ - int numroles; - int ignoreactor; - - ignoreactor = false; // set to true to ignore the actor - numroles = termlistLength (sys->runs[run].rho); - - if (numroles > 1) - { - { - Term ignoreterm; - - if (ignoreactor) - { - ignoreterm = sys->runs[run].role->nameterm; - } - else - { - ignoreterm = NULL; - } - hadcontent = showLocals (run, sys->runs[run].protocol-> - rolenames, sys->runs[run].rho, - ignoreterm, "", "\\l"); - } - } - } - - if (hadcontent) - { - eprintf ("\\l"); - eprintf (newline); - hadcontent = false; - } - hadcontent = printRunConstants (sys, run); - - if (sys->runs[run].sigma != NULL) - { - if (hadcontent) - { - eprintf (newline); - hadcontent = false; - } - if (showLocals (run, sys->runs[run].role-> - declaredvars, sys->runs[run].sigma, NULL, "Var ", - "\\l")) - { - eprintf ("\\l"); - } - } -} - -//! Draw regular runs -void -drawRegularRuns (const System sys) -{ - int run; - int rcnum; - char *colorbuf; - - // two buffers, eight chars each - colorbuf = malloc (16 * sizeof (char)); - - rcnum = 0; - for (run = 0; run < sys->maxruns; run++) - { - if (sys->runs[run].length > 0) - { - if (sys->runs[run].protocol != INTRUDER) - { - Roledef rd; - int index; - int prevnode; - - prevnode = 0; - index = 0; - rd = sys->runs[run].start; - // Regular run - - if (switches.clusters) - { - eprintf ("\tsubgraph cluster_run%i {\n", run); - - eprintf ("\t\tstyle=filled;\n"); - eprintf ("\t\tcolor=lightgrey;\n"); - - eprintf ("\t\tlabel=\""); - printRunExplanation (sys, run, " : ", ""); - eprintf ("\";\n\n"); - } - - // set color - setRunColorBuf (sys, run, colorbuf); - - // Display the respective events - while (index < sys->runs[run].length) - { - if (!isEventIgnored (sys, run, index)) - { - // Print node itself - eprintf ("\t\t"); - node (sys, run, index); - eprintf (" ["); - if (run == 0 && index == sys->current_claim->ev) - { - // The claim under scrutiny - eprintf - ("style=filled,fontcolor=\"%s\",fillcolor=\"%s\",shape=box,", - CLAIMTEXTCOLOR, CLAIMCOLOR); - } - else - { - eprintf ("shape=box,style=filled,"); - // print color of this run - eprintf ("fillcolor=\"%s\",", colorbuf); - } - eprintf ("label=\""); - //roledefPrintShort (rd); - roledefDraw (rd); - eprintf ("\"]"); - eprintf (";\n"); - - // Print binding to previous node - if (index > sys->runs[run].firstReal) - { - // index > 0 - eprintf ("\t\t"); - node (sys, run, prevnode); - eprintf (" -> "); - node (sys, run, index); - eprintf (" [style=\"bold\", weight=\"%s\"]", - RUNWEIGHT); - eprintf (";\n"); - prevnode = index; - } - else - { - // index <= firstReal - if (index == sys->runs[run].firstReal) - { - // index == firstReal - Roledef rd; - int send_before_read; - int done; - - // Determine if it is an active role or note - /** - *@todo note that this will probably become a standard function call for role.h - */ - rd = - roledef_shift (sys->runs[run].start, - sys->runs[run].firstReal); - done = 0; - send_before_read = 0; - while (!done && rd != NULL) - { - if (rd->type == READ) - { - done = 1; - } - if (rd->type == SEND) - { - done = 1; - send_before_read = 1; - } - rd = rd->next; - } - - if (!switches.clusters) - { - // Draw the first box (HEADER) - // This used to be drawn only if done && send_before_read, now we always draw it. - eprintf ("\t\ts%i [label=\"{ ", run); - - printRunExplanation (sys, run, "\\l", "|"); - // close up - eprintf ("}\", shape=record"); - eprintf - (",style=filled,fillcolor=\"%s\"", - colorbuf + 8); - eprintf ("];\n"); - eprintf ("\t\ts%i -> ", run); - node (sys, run, index); - eprintf - (" [style=bold, weight=\"%s\"];\n", - RUNWEIGHT); - prevnode = index; - } - - - } - } - } - index++; - rd = rd->next; - } - - if (switches.clusters) - { - eprintf ("\t}\n"); - } - - } - } - } - free (colorbuf); -} - -//! Draw intruder runs -void -drawIntruderRuns (const System sys) -{ - int run; - - if (switches.clusters) - { - //eprintf ("\tsubgraph cluster_intruder {\n"); - eprintf ("\tsubgraph intr {\n"); - eprintf ("\t\tlabel = \"Intruder\";\n"); - eprintf ("\t\tcolor = red;\n"); - } - - for (run = 0; run < sys->maxruns; run++) - { - if (sys->runs[run].length > 0) - { - if (sys->runs[run].protocol == INTRUDER) - { - // Intruder run - if (sys->runs[run].role != I_M && !isApplicationM0 (sys, run)) - { - // Not an M_0 run, and not an M0 function application, so we can draw it. - eprintf ("\t\t"); - node (sys, run, 0); - eprintf (" [style=filled,fillcolor=\""); - printColor (INTRUDERCOLORH, INTRUDERCOLORL, INTRUDERCOLORS); - eprintf ("\","); - if (sys->runs[run].role == I_RRSD) - { - eprintf ("label=\"decrypt\""); - } - if (sys->runs[run].role == I_RRS) - { - // Distinguish function application - if (isTermFunctionName - (sys->runs[run].start->next->message)) - { - eprintf ("label=\"apply\""); - } - else - { - eprintf ("label=\"encrypt\""); - } - } - eprintf ("];\n"); - } - } - } - } - if (switches.clusters) - { - eprintf ("\t}\n\n"); - } -} - -//! Display the current semistate using dot output format. -/** - * This is not as nice as we would like it. Furthermore, the function is too big. - */ -void -dotSemiState (const System mysys) -{ - static int attack_number = 0; - Protocol p; - int *ranks; - int maxrank; - int from_intruder_count; - int nodes; - - sys = mysys; - - // Open graph - attack_number++; - eprintf ("digraph semiState%i {\n", attack_number); - eprintf ("\tlabel = \"[Id %i] Protocol ", sys->attackid); - p = (Protocol) sys->current_claim->protocol; - termPrintRemap (p->nameterm); - eprintf (", role "); - termPrintRemap (sys->current_claim->rolename); - eprintf (", claim type "); - termPrintRemap (sys->current_claim->type); - eprintf ("\";\n"); - - // Needed for the bindings later on: create graph - - nodes = nodeCount (); - ranks = malloc (nodes * sizeof (int)); - maxrank = graph_ranks (ranks, nodes); // determine ranks - -#ifdef DEBUG - if (DEBUGL (1)) - { - // For debugging purposes, we also display an ASCII version of some stuff in the comments - printSemiState (); - // Even draw all dependencies for non-intruder runs - // Real nice debugging :( - int run; - - run = 0; - while (run < sys->maxruns) - { - int ev; - - ev = 0; - while (ev < sys->runs[run].length) - { - int run2; - int notfirstrun; - - eprintf ("// precedence: r%ii%i <- ", run, ev); - run2 = 0; - notfirstrun = 0; - while (run2 < sys->maxruns) - { - int notfirstev; - int ev2; - - notfirstev = 0; - ev2 = 0; - while (ev2 < sys->runs[run2].length) - { - if (isDependEvent (run2, ev2, run, ev)) - { - if (notfirstev) - eprintf (","); - else - { - if (notfirstrun) - eprintf (" "); - eprintf ("r%i:", run2); - } - eprintf ("%i", ev2); - notfirstrun = 1; - notfirstev = 1; - } - ev2++; - } - run2++; - } - eprintf ("\n"); - ev++; - } - run++; - } - } -#endif - - // First, runs - drawRegularRuns (sys); - drawIntruderRuns (sys); - from_intruder_count = drawAllBindings (sys); - - // Third, the intruder node (if needed) - { - /* - * Stupid brute analysis, can probably be done much more efficient, but - * this is not a timing critical bit, so we just do it like this. - */ - Termlist found; - List bl; - - // collect the intruder-generated constants - found = NULL; - for (bl = sys->bindings; bl != NULL; bl = bl->next) - { - Binding b; - - b = (Binding) bl->data; - if (!b->blocked) - { - int addsubterms (Term t) - { - if (isIntruderChoice (t)) - { - found = termlistAddNew (found, t); - } - return true; - } - - term_iterate_open_leaves (b->term, addsubterms); - } - } - - // now maybe we draw the node - if ((from_intruder_count > 0) || (found != NULL)) - { - eprintf ("\tintruder [\n"); - eprintf ("\t\tlabel=\""); - eprintf ("Initial intruder knowledge"); - if (found != NULL) - { - eprintf ("\\n"); - eprintf ("The intruder generates: "); - termlistPrintRemap (found, ", "); - } - eprintf ("\",\n"); - eprintf ("\t\tstyle=filled,fillcolor=\""); - printColor (INTRUDERCOLORH, INTRUDERCOLORL, INTRUDERCOLORS); - eprintf ("\"\n\t];\n"); - } - termlistDelete (found); - } - - // eprintf ("\t};\n"); - - // For debugging we might add more stuff: full dependencies -#ifdef DEBUG - if (DEBUGL (3)) - { - int r1; - - for (r1 = 0; r1 < sys->maxruns; r1++) - { - if (sys->runs[r1].protocol != INTRUDER) - { - int e1; - - for (e1 = 0; e1 < sys->runs[r1].step; e1++) - { - int r2; - - for (r2 = 0; r2 < sys->maxruns; r2++) - { - if (sys->runs[r2].protocol != INTRUDER) - { - int e2; - - for (e2 = 0; e2 < sys->runs[r2].step; e2++) - { - if (isDependEvent (r1, e1, r2, e2)) - { - eprintf - ("\tr%ii%i -> r%ii%i [color=grey];\n", - r1, e1, r2, e2); - } - } - } - } - } - } - } - } -#endif - - // Ranks - if (switches.clusters) - { - showRanks (sys, maxrank, ranks, nodes); - } - -#ifdef DEBUG - // Debug: print dependencies - if (DEBUGL (3)) - { - dependPrint (); - } -#endif - - // clean memory - free (ranks); // ranks - - // close graph - eprintf ("};\n\n"); -} diff --git a/gui/src/dotout.h b/gui/src/dotout.h deleted file mode 100644 index 63cad32..0000000 --- a/gui/src/dotout.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef DOTOUTPUT -#define DOTOUTPUT - -void dotSemiState (const System sys); - -#endif diff --git a/gui/src/error.c b/gui/src/error.c deleted file mode 100644 index d192b17..0000000 --- a/gui/src/error.c +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include "error.h" - -//! Die from error with exit code -void -error_die (void) -{ - exit (EXIT_ERROR); -} - -//! print to stderror (must be generic to capture linux variants) -void -vprintfstderr (char *fmt, va_list args) -{ -#ifdef USESTDERR - vfprintf (stderr, fmt, args); -#else - // no alternative yet -#endif -} - -void -printfstderr (char *fmt, ...) -{ - va_list args; - - va_start (args, fmt); - vprintfstderr (fmt, args); - va_end (args); -} - -//! Print error message header -/** - * Adapted from [K&R2], p. 174 - *@todo It would be nice to redirect all output to stderr, which would enable use of termprint etc. - */ -void -error_pre (void) -{ - printfstderr ("error: "); -} - -//! Print post-error message and die. -/** - * Adapted from [K&R2], p. 174 - * Input is comparable to printf, only end of line is not required. - */ -void -error_post (char *fmt, ...) -{ - va_list args; - - va_start (args, fmt); - vprintfstderr (fmt, args); - printfstderr ("\n"); - va_end (args); - exit (EXIT_ERROR); -} - -//! Print error message and die. -/** - * Adapted from [K&R2], p. 174 - * Input is comparable to printf, only end of line is not required. - */ -void -error (char *fmt, ...) -{ - va_list args; - - error_pre (); - va_start (args, fmt); - vprintfstderr (fmt, args); - printfstderr ("\n"); - va_end (args); - error_die (); -} - -//! Print warning -/** - * Input is comparable to printf, only end of line is not required. - */ -void -warning (char *fmt, ...) -{ - va_list args; - - va_start (args, fmt); - printfstderr ("warning: "); - vprintfstderr (fmt, args); - printfstderr ("\n"); - va_end (args); -} diff --git a/gui/src/error.h b/gui/src/error.h deleted file mode 100644 index 869642b..0000000 --- a/gui/src/error.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef ERROR -#define ERROR - -//! usestderr is defined iff we use it -#define USESTDERR - -//! Types of exit codes -enum exittypes -{ EXIT_NOATTACK = 0, EXIT_ERROR = 1, EXIT_ATTACK = 3 }; - -void vprintfstderr (char *fmt, va_list args); -void printfstderr (char *fmt, ...); -void error_die (void); -void error_pre (void); -void error_post (char *fmt, ...); -void error (char *fmt, ...); -void warning (char *fmt, ...); - -#endif diff --git a/gui/src/git-test.txt b/gui/src/git-test.txt deleted file mode 100644 index d35b7c9..0000000 --- a/gui/src/git-test.txt +++ /dev/null @@ -1,4 +0,0 @@ -Test file to see whether it works. -Wow. -New line. -And a better conflict should start here. diff --git a/gui/src/heuristic.c b/gui/src/heuristic.c deleted file mode 100644 index fb63a7d..0000000 --- a/gui/src/heuristic.c +++ /dev/null @@ -1,399 +0,0 @@ -/** - * - *@file heuristic.c - * - * Heuristics code for Arachne method - * - */ - -#include -#include - -#include "binding.h" -#include "system.h" -#include "specialterm.h" -#include "switches.h" -#include "hidelevel.h" -#include "arachne.h" -#include "error.h" - -//! Check whether a binding (goal) is selectable -int -is_goal_selectable (const Binding b) -{ - if (b != NULL) - { - if ((!b->blocked) && (!b->done)) - { - return true; - } - } - return false; -} - -//! Count selectable goals -int -count_selectable_goals (const System sys) -{ - List bl; - int n; - - n = 0; - bl = sys->bindings; - while (bl != NULL) - { - Binding b; - - b = (Binding) bl->data; - if (is_goal_selectable (b)) - { - n++; - } - bl = bl->next; - } - return n; -} - -//! Return first selectable goal in the list -/** - * The return list entry is either NULL, or a selectable goal. - */ -List -first_selectable_goal (List bl) -{ - while (bl != NULL && !is_goal_selectable ((Binding) bl->data)) - { - bl = bl->next; - } - return bl; -} - -//! Determine whether a term is an open nonce variable -/** - * Does not explore subterms - */ -int -isOpenNonceVar (Term t) -{ - t = deVar (t); - if (realTermVariable (t)) - { - return inTermlist (t->stype, TERM_Nonce); - } - else - { - return 0; - } -} - -//! Count unique open variables in term -/** - */ -int -count_open_variables (const Term t) -{ - Termlist tl; - int n; - - tl = NULL; - termlistAddVariables (tl, t); - n = 0; - while (tl != NULL) - { - if (!inTermlist (tl->next, t)) - { - if (isOpenNonceVar (t)) - { - n = n + 1; - } - } - tl = tl->next; - } - termlistDelete (tl); - return n; -} - - - -//! Athena-like factor -/** - * Lower is better (more nonce variables) - */ -float -term_noncevariables_level (const Term t) -{ - int onv; - const int enough = 2; - - onv = count_open_variables (t); - if (onv >= enough) - { - return 0; - } - else - { - return 1 - (onv / enough); - } -} - -//! Determine weight based on hidelevel -float -weighHidelevel (const System sys, const Term t, const float massknow, - const float massprot) -{ - switch (hidelevelFlag (sys, t)) - { - case HLFLAG_NONE: - return 0; - case HLFLAG_KNOW: - return massknow; - case HLFLAG_PROT: - return massprot; - } - return 1; -} - -//! newkeylevel (weighted) -int -newkeylevel (const int level) -{ - // keylevel is from { -1,0,1 } where -1 means delay - if (level == 1) - return 0; - else - return 1; -} - -//! count local constants -float -term_constcount (const System sys, Term t) -{ - int n, total; - float ratio; - - int countMe (Term t) - { - if (TermRunid (t) >= 0) - { - total++; - if (!isTermVariable (t)) - { - n++; - } - } - return 1; - } - - n = 0; - total = 0; - term_iterate_deVar (t, countMe, NULL, NULL, NULL); - if (total == 0) - { - ratio = 1; - } - else - { - ratio = ((total - n) / total); - } - return ratio; -} - -//! Determine the weight of a given goal -/** - * 0 to ... (lower is better) - * - * --heuristic has two distint interpretations. If it is 0 or greater, it a - * selection mask. If it is smaller than 0, it is some special tactic. - * - * selection masks for --select-goal - * 1: constrain level of term - * 2: key or not - * 4: consequences determination - * 8: select also single variables (that are not role variables) - * 16: single variables are better - * 32: incorporate keylevel information - * - * special tactics for --select-goal - * -1: random goal selection - * - */ -float -computeGoalWeight (const System sys, const Binding b) -{ - float w; - int smode; - Term t; - - void erode (const float deltaw) - { - if (smode & 1) - { - w = w + deltaw; - } - smode = smode / 2; - } - - // Total weight - w = 0; - // We will shift this mode variable - smode = switches.heuristic; - t = b->term; - - // Determine buf_constrain levels - // Bit 0: 1 use hidelevel - erode (2 * weighHidelevel (sys, t, 0.5, 0.5)); - // Bit 1: 2 key level (inverted) - erode (0.5 * (1 - b->level)); - // Bit 2: 4 constrain level - erode (term_constrain_level (t)); - // Bit 3: 8 nonce variables level (Cf. what I think is in Athena) - erode (term_noncevariables_level (t)); - - // Bit 4: 16 use hidelevel (normal) - erode (1 * weighHidelevel (sys, t, 0.5, 0.5)); - // Bit 5: 32 use known nonces (Athena try 2) - erode (term_constcount (sys, t)); - - // Bit 6: 64 use hidelevel (but only single-weight) - erode (weighHidelevel (sys, t, 0.5, 0.5)); - // Bit 7: 128 use hidelevel (quadruple-weight) - erode (4 * weighHidelevel (sys, t, 0.5, 0.5)); - - // Bit 8: 256 use known nonces (Athena try 2), half weight - erode (0.5 * term_constcount (sys, t)); - - // Define legal range - if (smode > 0) - error ("--heuristic mode %i is illegal", switches.heuristic); - - // Return - return w; -} - -//! Goal selection -/** - * Selects the most constrained goal. - * - * Because the list starts with the newest terms, and we use <= (as opposed to <), we - * ensure that for goals with equal constraint levels, we select the oldest one. - * - */ -Binding -select_goal_masked (const System sys) -{ - List bl; - Binding best; - float best_weight; - - // Find the most constrained goal - if (switches.output == PROOF) - { - indentPrint (); - eprintf ("Listing open goals that might be chosen: "); - } - best_weight = FLT_MAX; - best = NULL; - bl = sys->bindings; - while (bl != NULL) - { - Binding b; - - b = (Binding) bl->data; - - // Only if not done and not blocked - if (is_goal_selectable (b)) - { - if (!isTermVariable (b->term)) - { - float w; - - w = computeGoalWeight (sys, b); - - // Spacing between output - if (switches.output == PROOF && best != NULL) - eprintf (", "); - - // Better alternative? - if (w <= best_weight) - { - best_weight = w; - best = b; - if (switches.output == PROOF) - eprintf ("*"); - } - if (switches.output == PROOF) - { - termPrint (b->term); - eprintf ("<%.2f>", w); - } - } - } - bl = bl->next; - } - if (switches.output == PROOF) - { - if (best == NULL) - eprintf ("none"); - eprintf ("\n"); - } - return best; -} - -//! Goal selection special case -1: random -/** - * Simply picks an open goal randomly. Has to be careful to skip singular stuff etc. - */ -Binding -select_goal_random (const System sys) -{ - int n; - - n = count_selectable_goals (sys); - if (n > 0) - { - int choice; - List bl; - - // Choose a random goal between 0 and n - choice = rand () % n; - - // Fetch it - bl = sys->bindings; - while (choice >= 0) - { - bl = first_selectable_goal (bl); - if (bl == NULL) - { - error ("Random chooser selected a NULL goal."); - } - choice--; - } - return (Binding) bl->data; - } - else - { - return (Binding) NULL; - } -} - -//! Goal selection function, generic -Binding -select_goal (const System sys) -{ - if (switches.heuristic >= 0) - { - // Masked - return select_goal_masked (sys); - } - else - { - // Special cases - switch (switches.heuristic) - { - case -1: - return select_goal_random (sys); - } - error ("Unknown value (<0) for --goal-select."); - } - return (Binding) NULL; -} diff --git a/gui/src/heuristic.h b/gui/src/heuristic.h deleted file mode 100644 index 89108c6..0000000 --- a/gui/src/heuristic.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef HEURISTIC -#define HEURISTIC - -#include "system.h" -#include "binding.h" - -Binding select_goal (const System sys); - -#endif diff --git a/gui/src/hidelevel.c b/gui/src/hidelevel.c deleted file mode 100644 index 640e3b3..0000000 --- a/gui/src/hidelevel.c +++ /dev/null @@ -1,261 +0,0 @@ -/** @file hidelevel.c \brief Hidelevel lemma base functions. - * - * The Hidelevel lemma is fairly complex and so it requires some buffering, - * instead of fully recomputing the required data each time again. - */ - -#include -#include -#include "hidelevel.h" -#include "system.h" -#include "debug.h" - -extern Term TERM_Hidden; - -//! hide level within protocol -unsigned int -protocolHidelevel (const System sys, const Term t) -{ - unsigned int minlevel; - - int itsends (const Protocol p, const Role r) - { - int sends (Roledef rd) - { - if (rd->type == SEND) - { - unsigned int l; - - l = termHidelevel (t, rd->from); - if (l < minlevel) - minlevel = l; - l = termHidelevel (t, rd->to); - if (l < minlevel) - minlevel = l; - l = termHidelevel (t, rd->message); - if (l < minlevel) - minlevel = l; - } - return true; - } - - roledef_iterate_events (r->roledef, sends); - return true; - } - - minlevel = INT_MAX; - iterateRoles (sys, itsends); - - return minlevel; -} - -//! hide level within initial knowledge -unsigned int -knowledgeHidelevel (const System sys, const Term t) -{ - unsigned int minlevel; - Termlist tl; - - minlevel = INT_MAX; - tl = knowledgeSet (sys->know); - while (tl != NULL) - { - unsigned int l; - - l = termHidelevel (t, tl->term); - if (l < minlevel) - { - minlevel = l; - } - tl = tl->next; - } - termlistDelete (tl); - - return minlevel; -} - -//! Check hide levels -void -hidelevelCompute (const System sys) -{ - Termlist tl; - - sys->hidden = NULL; - tl = sys->globalconstants; - - // Add 'hidden' terms - tl = termlistAdd (tl, TERM_Hidden); - -#ifdef DEBUG - if (DEBUGL (4)) - { - eprintf ("Global constants: "); - termlistPrint (tl); - eprintf ("\n"); - } -#endif - - while (tl != NULL) - { - unsigned int l1, l2, l; - - l1 = knowledgeHidelevel (sys, tl->term); - l2 = protocolHidelevel (sys, tl->term); - if (l1 < l2) - { - l = l1; - } - else - { - l = l2; - } - - // Interesting only if higher than zero - if (l > 0) - { - Hiddenterm ht; - - ht = (Hiddenterm) malloc (sizeof (struct hiddenterm)); - ht->term = tl->term; - ht->hideminimum = l; - ht->hideprotocol = l2; - ht->hideknowledge = l1; - ht->next = sys->hidden; - sys->hidden = ht; - -#ifdef DEBUG - if (DEBUGL (5)) - { - eprintf ("Added possibly interesting term: "); - termPrint (tl->term); - eprintf ("; know %i, prot %i\n", l1, l2); - } -#endif - } - - tl = tl->next; - } -} - -//! Determine flag from parameters -unsigned int -hidelevelParamFlag (unsigned int l, unsigned int lmin, unsigned int lprot, - unsigned int lknow) -{ - // Given the parameters, determine where the term with hidelevel l could be generated from. - if (l < lmin) - { - return HLFLAG_NONE; - } - else - { - // One should work (at least) - if (l < lprot) - { - // Know should be possible - return HLFLAG_KNOW; - } - else - { - // Prot can, know also? - if (l < lknow) - { - // Nope, just prot - return HLFLAG_PROT; - } - else - { - // Both - return HLFLAG_BOTH; - } - } - } -} - -//! Given a term, iterate over all factors -int -iterate_interesting (const System sys, const Term goalterm, int (*func) ()) -{ - Hiddenterm ht; - - ht = sys->hidden; - while (ht != NULL) - { - unsigned int l; - // Test the goalterm for occurrences of this - - l = termHidelevel (ht->term, goalterm); - if (l < INT_MAX) - { - if (!func (l, ht->hideminimum, ht->hideprotocol, ht->hideknowledge)) - { - return false; - } - } - - ht = ht->next; - } - return true; -} - -//! Determine whether a goal might be interesting from the viewpoint of hide levels (the highest minimum is best) -int -hidelevelInteresting (const System sys, const Term goalterm) -{ - int uninteresting (unsigned int l, unsigned int lmin, unsigned int lprot, - unsigned int lknow) - { - if (lmin > 0) - { - // anything higher than usual is interesting :) - return false; - } - return true; - } - - return !iterate_interesting (sys, goalterm, uninteresting); -} - -//! Determine whether a goal is impossible to satisfy because of the hidelevel lemma. -int -hidelevelImpossible (const System sys, const Term goalterm) -{ - int possible (unsigned int l, unsigned int lmin, unsigned int lprot, - unsigned int lknow) - { - if (l < lmin) - { - // impossible, abort! - return false; - } - return true; - } - - return !iterate_interesting (sys, goalterm, possible); -} - -//! Return flag on the basis of the Hidelevel lemma -unsigned int -hidelevelFlag (const System sys, const Term goalterm) -{ - unsigned int flag; - - int getflag (unsigned int l, unsigned int lmin, unsigned int lprot, - unsigned int lknow) - { - // Determine new flag - flag = flag | hidelevelParamFlag (l, lmin, lprot, lknow); - - // Should we proceed? - if (flag == HLFLAG_NONE) - { - // abort iteration: it cannot get worse - return false; - } - return true; - } - - flag = HLFLAG_BOTH; - iterate_interesting (sys, goalterm, getflag); - return flag; -} diff --git a/gui/src/hidelevel.h b/gui/src/hidelevel.h deleted file mode 100644 index a16472c..0000000 --- a/gui/src/hidelevel.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef HIDELEVELS -#define HIDELEVELS - -#include "term.h" -#include "system.h" - -/* - * Flags for hidelevel lemma - * - * Use binary or (|) to compose results: by default, a term can be satisfied by - * both the protocol and the initial knowledge. - */ -#define HLFLAG_BOTH 0 -#define HLFLAG_KNOW 1 -#define HLFLAG_PROT 2 -#define HLFLAG_NONE 3 - -/* - * The structure hiddenterm/Hiddenterm is defined in system.h - */ - -void hidelevelCompute (const System sys); -int hidelevelInteresting (const System sys, const Term goalterm); -int hidelevelImpossible (const System sys, const Term goalterm); -unsigned int hidelevelFlag (const System sys, const Term goalterm); - -#endif diff --git a/gui/src/hidelevel.txt b/gui/src/hidelevel.txt deleted file mode 100644 index e547450..0000000 --- a/gui/src/hidelevel.txt +++ /dev/null @@ -1,31 +0,0 @@ -Implemented: - -- scans -- test functions (in hidelevel.c) - -TODO: - -- use test functions (impossible for pruning, interesting for goal selection heuristic) -- state count display switch for comparisons -- consider adding info for goal stuff (only from M_0, not by create) - -******************************************************************* - -roivas:~scyther% ./scyther ccitt509-1c.spdl -Global constants: [te, ne, Eve, Bob, Alice, unhash, sk, hash, pk] - -Possibly interesting term: unhash; know 2147483647, prot 2147483647 -Possibly interesting term: sk; know 1, prot 2 - - -roivas:~scyther% ./scyther yahalom.spdl -warning: variable T was declared in role yahalom,R but never used in a read event. -Global constants: [Simon, Bob, Alice, Compromised, Fresh, k] - -Possibly interesting term: k; know 2147483647, prot 2 - - -roivas:~scyther% ./scyther ns3.spdl -Global constants: [Eve, sk, pk] - -Possibly interesting term: sk; know 1, prot 2147483647 diff --git a/gui/src/intruderknowledge.c b/gui/src/intruderknowledge.c deleted file mode 100644 index b429649..0000000 --- a/gui/src/intruderknowledge.c +++ /dev/null @@ -1,197 +0,0 @@ -/** - * Initial intruder knowledge computation. - */ - -#include "intruderknowledge.h" - -//! Add a (copy of) a term to the intruder knowledge -void -addSTerm (const System sys, Term t, Termlist fromlist, Termlist tolist) -{ - Term t2; - - t2 = termLocal (t, fromlist, tolist); - - if (switches.check) - { - globalError++; - eprintf ("[ Adding "); - termPrint (t2); - eprintf (" to the initial intruder knowledge]\n"); - globalError--; - } -} - -//! Unfold the term for all possible options -void -addEnumTerm (const System sys, Term t, Term actor, Termlist todo, - Termlist fromlist, Termlist tolist) -{ - if (todo == NULL) - { - addSTerm (sys, t, fromlist, tolist); - } - else - { - if (termSubTerm (t, todo->term)) - { - // Occurs, we have to iterate - void iterateThis (Term to) - { - tolist = termlistPrepend (tolist, to); - - addEnumTerm (sys, t, actor, todo->next, fromlist, tolist); - - tolist = termlistDelTerm (tolist); - } - - fromlist = termlistPrepend (fromlist, todo->term); - if (isTermEqual (todo->term, actor)) - { - // Untrusted agents only - Termlist tl; - - for (tl = sys->untrusted; tl != NULL; tl = tl->next) - { - iterateThis (tl->term); - } - } - else - { - // any agents - Termlist tl; - - for (tl = sys->agentnames; tl != NULL; tl = tl->next) - { - iterateThis (tl->term); - } - } - fromlist = termlistDelTerm (fromlist); - } - else - { - // Simply proceed to next - addEnumTerm (sys, t, actor, todo->next, fromlist, tolist); - } - } -} - -//! Does t contain any of sublist? -int -anySubTerm (Term t, Termlist sublist) -{ - while (sublist != NULL) - { - if (termSubTerm (t, sublist->term)) - { - return true; - } - sublist = sublist->next; - } - return false; -} - -void -initialIntruderKnowledge (const System sys) -{ - /* - * display initial role knowledge - */ - int deriveFromRole (Protocol p, Role r) - { - void addListKnowledge (Termlist tl, Term actor) - { - void addTermKnowledge (Term t) - { - if (anySubTerm (t, p->rolenames)) - { - Term f; - // Has rolename subterms. We have to enumerate those. - /** - * Hack. Enumerating is not always good (or even desirable). - * If some I knows sk(I), sk should not be in the intruder knowledge. - * But for hash(I), we typically would have h; but if it is never used differently, it would suffice. - * To summarize, the operational semantics definition is perfectly fine, but maybe a bit strict sometimes. - * - * The hack is that if function application: - */ - f = getTermFunction (t); - if (f != NULL) - { - // it's a function, right. So we see whether it is public. It is if it does not contain the actor... - if (!termSubTerm (t, actor)) - { - // no actor, then nothing secret I guess. - addSTerm (sys, f, NULL, NULL); - return; - } - else - { - // has actor. but does it contain even more? - - int allagents (Term t) - { - if (!inTermlist (sys->agentnames, t)) - { - if (!inTermlist (p->rolenames, t)) - { - return false; - } - } - return true; - } - - if (!term_iterate_leaves (TermOp (t), allagents)) - { - // something else as well, so that probably means a hash or something like that. - addSTerm (sys, f, NULL, NULL); - return; - } - } - } - // otherwise, we enumerate - addEnumTerm (sys, t, actor, p->rolenames, NULL, NULL); - } - else - { - // No actor subterm. Simply add. - addSTerm (sys, t, NULL, NULL); - } - } - - while (tl != NULL) - { - addTermKnowledge (tl->term); - tl = tl->next; - } - } - - if (switches.check) - { - globalError++; - eprintf ("Role "); - termPrint (r->nameterm); - eprintf (" knows "); - termlistPrint (r->knows); - eprintf ("\n"); - globalError--; - } - addListKnowledge (r->knows, r->nameterm); - return true; - } - - if (switches.check) - { - globalError++; - eprintf ("Computing initial intruder knowledge.\n\n"); - eprintf ("Agent names : "); - termlistPrint (sys->agentnames); - eprintf ("\n"); - eprintf ("Untrusted agents : "); - termlistPrint (sys->untrusted); - eprintf ("\n"); - globalError--; - } - - iterateRoles (sys, deriveFromRole); -} diff --git a/gui/src/intruderknowledge.h b/gui/src/intruderknowledge.h deleted file mode 100644 index a871286..0000000 --- a/gui/src/intruderknowledge.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef INTRUDERKNOWLEDGE -#define INTRUDERKNOWLEDGE - -#include "system.h" -#include "switches.h" - -void initialIntruderKnowledge (const System sys); - -#endif diff --git a/gui/src/knowledge.c b/gui/src/knowledge.c deleted file mode 100644 index 674f9d7..0000000 --- a/gui/src/knowledge.c +++ /dev/null @@ -1,550 +0,0 @@ -/** - *@file knowledge.c - *\brief Procedures concerning knowledge structures. - * - * The main issue of this code is to maintain the minimal property of the knowledge set. - */ -#include -#include -#include "termlist.h" -#include "knowledge.h" -#include "system.h" -#include "debug.h" -#include "error.h" - -/* - * Knowledge stuff - * - * Note that a really weird thing is going on involving unpropagated substitutions. - * Idea: - * - * 1. Substitute terms by filling in ->subst. - * Now, either: - * 2a. Undo this by knowledgeUndo. - * 2b. Propagate it, modifying the knowledge beyond repair by knowledgeSubstDo. Now inKnowledge works again. - * 2c. inKnowledge/knowledgeSet if something is in the knowledge: this does not consider the substitutions!, and - * they now have some overhead. - */ - -//! Open knowledge code. -void -knowledgeInit (void) -{ - return; -} - -//! Close knowledge code. -void -knowledgeDone (void) -{ -} - -//! Allocate a fresh memory block the size of a knowledge struct. -/** - * Memory will not be initialized. - *@return Pointer to a fresh memory block. - */ -Knowledge -makeKnowledge () -{ - return (Knowledge) malloc (sizeof (struct knowledge)); -} - -//! Create a new empty knowledge structure. -/** - *@return Pointer to an empty knowledge structure. - */ -Knowledge -emptyKnowledge () -{ - Knowledge know; - - know = makeKnowledge (); - know->basic = NULL; - know->encrypt = NULL; - know->inverses = NULL; - know->vars = NULL; - return know; -} - -//! Duplicate a knowledge structure. -/** - * Makes copies using termlistShallow() of knowledge::basic, knowledge::encrypt and - * knowledge::vars. - * For the inverses, only the pointer is copied. - *@param know The knowledge structure to be copied. - *@return A pointer to a new memory struct. - *\sa termlistShallow(), knowledgeDelete() - */ -Knowledge -knowledgeDuplicate (Knowledge know) -{ - Knowledge newknow; - - if (know == NULL) - { - warning ("Trying to copy empty knowledge."); - return NULL; - } - newknow = makeKnowledge (); - newknow->basic = termlistShallow (know->basic); - newknow->encrypt = termlistShallow (know->encrypt); - newknow->vars = termlistShallow (know->vars); - newknow->inverses = know->inverses; - return newknow; -} - -//! Delete a knowledge set. -/** - * Typically used to destroy something made with knowledgeDuplicate(). - *\sa knowledgeDuplicate() - */ -void -knowledgeDelete (Knowledge know) -{ - if (know != NULL) - { - termlistDelete (know->basic); - termlistDelete (know->encrypt); - termlistDelete (know->vars); - free (know); - } -} - -//! Destroy a knowledge set. -/** - * Unlike knowledgeDelete(), uses termlistDestroy() to remove knowledge::basic, - * knowledge::encrypt and knowledge::vars substructures. - *\sa knowledgeDelete() - */ -void -knowledgeDestroy (Knowledge know) -{ - if (know != NULL) - { - termlistDestroy (know->basic); - termlistDestroy (know->encrypt); - termlistDestroy (know->vars); - // termlistDestroy(know->inverses); - free (know); - } -} - -//! Add a term to a knowledge set. -/** - *@param know The knowledge set. - *@param term The term to be added. - *@return True iff the term was actually new, and added. - */ -int -knowledgeAddTerm (Knowledge know, Term term) -{ - if (know == NULL) - { - warning ("Trying to add term to uninitialised (NULL) Know pointer."); - return 1; - } - if (term == NULL) - return 0; - - term = deVar (term); - - /* for tuples, simply recurse for components */ - if (isTermTuple (term)) - { - int status; - - status = knowledgeAddTerm (know, TermOp1 (term)); - return knowledgeAddTerm (know, TermOp2 (term)) || status; - } - - /* test whether we knew it before */ - if (inKnowledge (know, term)) - return 0; - - /* adding variables? */ - know->vars = termlistAddVariables (know->vars, term); - - knowledgeSimplify (know, term); - if (isTermLeaf (term)) - { - know->basic = termlistAdd (know->basic, term); - } - if (term->type == ENCRYPT) - { - Term invkey = inverseKey (know->inverses, TermKey (term)); - if (inKnowledge (know, invkey)) - { - /* we can decrypt it */ - knowledgeAddTerm (know, TermOp (term)); - if (!inKnowledge (know, TermKey (term))) - { - /* we know the op now, but not the key, so add it anyway */ - know->encrypt = termlistAdd (know->encrypt, term); - } - } - else - { - /* we cannot decrypt it, and from the initial test we know we could not construct it */ - know->encrypt = termlistAdd (know->encrypt, term); - } - termDelete (invkey); - } - return 1; -} - - -//! Try to simplify knowledge based on a term. -/** - *@param know A knowledge set. - *@param key A key, i.e. it can decrypt anything that was encrypted with term^{-1}. - */ -void -knowledgeSimplify (Knowledge know, Term key) -{ - Termlist tldecrypts = NULL; - Termlist scan = know->encrypt; - Term invkey = inverseKey (know->inverses, key); - - while (scan != NULL) - { - if (isTermEqual (TermKey (scan->term), invkey)) - { - tldecrypts = termlistAdd (tldecrypts, TermOp (scan->term)); - know->encrypt = termlistDelTerm (scan); - scan = know->encrypt; - } - else - scan = scan->next; - } - termDelete (invkey); - knowledgeAddTermlist (know, tldecrypts); - termlistDelete (tldecrypts); -} - -//! Add a termlist to the knowledge. -/* - *@return True iff there was at least one new item. - *\sa knowledgeAddTerm() - */ -int -knowledgeAddTermlist (Knowledge know, Termlist tl) -{ - int flag = 0; - - while (tl != NULL) - { - flag = knowledgeAddTerm (know, tl->term) || flag; - tl = tl->next; - } - return flag; -} - -//! Add an inverse pair to the knowledge -void -knowledgeAddInverse (Knowledge know, Term t1, Term t2) -{ - know->inverses = termlistAdd (know->inverses, t1); - know->inverses = termlistAdd (know->inverses, t2); - return; -} - -//! Set an inverse pair list for the knowledge. -/** - * List pointer is simply copied, so don't delete it later! - */ -void -knowledgeSetInverses (Knowledge know, Termlist tl) -{ - know->inverses = tl; -} - -//! Is a term a part of the knowledge? -/** - *@param know The knowledge set. - *@param term The term to be inferred. - *@return True iff the term can be inferred from the knowledge set. - */ -int -inKnowledge (const Knowledge know, Term term) -{ - mindwipe (know, inKnowledge (know, term)); - - /* if there is no term, then it's okay 'fur sure' */ - if (term == NULL) - return 1; - /* if there is a term, but no knowledge, we're in trouble */ - if (know == NULL) - return 0; - - term = deVar (term); - if (isTermLeaf (term)) - { - return inTermlist (know->basic, term); - } - if (term->type == ENCRYPT) - { - return inTermlist (know->encrypt, term) || - (inKnowledge (know, TermKey (term)) - && inKnowledge (know, TermOp (term))); - } - if (term->type == TUPLE) - { - return (inTermlist (know->encrypt, term) || - (inKnowledge (know, TermOp1 (term)) && - inKnowledge (know, TermOp2 (term)))); - } - return 0; /* unrecognized term type, weird */ -} - -//! Compare two knowledge sets. -/** - * This does not check currently for equivalence of inverse sets, which it should. - *@return True iff both knowledge sets are equal. - */ -int -isKnowledgeEqual (Knowledge know1, Knowledge know2) -{ - if (know1 == NULL || know2 == NULL) - { - if (know1 == NULL && know2 == NULL) - return 1; - else - return 0; - } - if (!isTermlistEqual (know1->encrypt, know2->encrypt)) - return 0; - return isTermlistEqual (know1->basic, know2->basic); -} - -//! Print a knowledge set. -void -knowledgePrint (Knowledge know) -{ - indent (); - if (know == NULL) - { - eprintf ("Empty.\n"); - return; - } - eprintf (" [Basic]: "); - termlistPrint (know->basic); - eprintf ("\n"); - indent (); - eprintf (" [Encrp]: "); - termlistPrint (know->encrypt); - eprintf ("\n"); - indent (); - eprintf (" [Vars]: "); - termlistPrint (know->vars); - eprintf ("\n"); -} - -//! Print a knowledge set, short version (no newline) -void -knowledgePrintShort (const Knowledge know) -{ - indent (); - if (know == NULL) - { - eprintf ("Empty"); - return; - } - - if (know->basic != NULL) - { - termlistPrint (know->basic); - if (know->encrypt != NULL); - { - eprintf (", "); - } - } - if (know->encrypt != NULL) - { - termlistPrint (know->encrypt); - } -} - -//! Print the inverses list of a knowledge set. -void -knowledgeInversesPrint (Knowledge know) -{ - Termlist tl; - int after = 0; - - if (know == NULL) - { - eprintf ("Empty knowledge."); - return; - } - - tl = knowledgeGetInverses (know); - if (tl == NULL) - { - eprintf ("None."); - } - else - { - while (tl != NULL && tl->next != NULL) - { - if (after) - { - eprintf (","); - } - eprintf ("("); - termPrint (tl->term); - eprintf (","); - termPrint (tl->next->term); - eprintf (")"); - after = 1; - tl = tl->next->next; - } - } -} - -//! Yield the set of representatives for the knowledge. -/** - * Note: this is a shallow copy, and needs to be termlistDelete'd. - *\sa termlistDelete() - */ -Termlist -knowledgeSet (const Knowledge know) -{ - Termlist tl1, tl2; - - tl1 = termlistShallow (know->basic); - tl2 = termlistShallow (know->encrypt); - return termlistConcat (tl1, tl2); -} - -//! Get the inverses pointer of the knowledge. -/** - * Essentially the inverse function of knowledgeSetInverses() - */ -Termlist -knowledgeGetInverses (const Knowledge know) -{ - if (know == NULL) - return NULL; - else - return know->inverses; -} - -//! Get all basic elements in the knowledge -/** - * This function is used by match_basic, to determine all basic elements in the knowledge set. - * Most of the time this doesn't even change, so it might become a parameter of knowledge. - * For now, this will have to do. - * - *@todo Investigate whether the basics in the knowledge set should be a parameter of knowledge, as it doesn't change very often. - */ -__inline__ Termlist -knowledgeGetBasics (const Knowledge know) -{ - return termlistAddBasics (termlistAddBasics (NULL, know->basic), - know->encrypt); -} - -//! check whether any substitutions where made in a knowledge set. -/** - * Typically, when a substitution is made, a knowledge set has to be reconstructed. - * This procedure detects this by checking knowledge::vars. - *@return True iff an open variable was later closed by a substitution. - *\sa knowledgeReconstruction() - */ -int -knowledgeSubstNeeded (const Knowledge know) -{ - Termlist tl; - - if (know == NULL) - return 0; - tl = know->vars; - while (tl != NULL) - { - if (tl->term->subst != NULL) - return 1; - tl = tl->next; - } - return 0; -} - -//! Reconstruct a knowledge set. -/** - * This is useful after e.g. substitutions. - * Just rebuilds the knowledge in a new (shallow) copy. - *@return The pointer to the new knowledge. - *\sa knowledgeSubstNeeded() - */ -Knowledge -knowledgeReconstruction (const Knowledge know) -{ - Knowledge newknow = emptyKnowledge (); - - newknow->inverses = know->inverses; - knowledgeAddTermlist (newknow, know->basic); - knowledgeAddTermlist (newknow, know->encrypt); - return newknow; -} - -//! Propagate any substitutions just made. -/** - * This usually involves reconstruction of the complete knowledge, which is - * 'cheaper' than a thorough analysis, so we always make a copy. - *\sa knowledgeReconstruction() - */ -Knowledge -knowledgeSubstDo (const Knowledge know) -{ - /* otherwise a copy (for deletion) is returned. */ - return knowledgeReconstruction (know); -} - -//! Undo substitutions that were not propagated yet. -/** - * Undo the substitutions just made. Note that this does not work anymore after knowledgeSubstDo() - */ -void -knowledgeSubstUndo (const Knowledge know) -{ - Termlist tl; - - tl = know->vars; - while (tl != NULL) - { - tl->term->subst = NULL; - tl = tl->next; - } -} - -//! Yield the minimal set of terms that are in some knowledge, but not in some other set. -/** - * Yield a termlist (or NULL) that represents the reduced items that are - * in the new set, but not in the old one. - *@param oldk The old knowledge. - *@param newk The new knowledge, possibly with new terms. - *@return A termlist of miminal terms in newk, but not in oldk. - */ - -Termlist -knowledgeNew (const Knowledge oldk, const Knowledge newk) -{ - Termlist newtl; - - void addNewStuff (Termlist tl) - { - while (tl != NULL) - { - if (!inKnowledge (oldk, tl->term)) - { - newtl = termlistAdd (newtl, tl->term); - } - tl = tl->next; - } - } - - newtl = NULL; - addNewStuff (newk->basic); - addNewStuff (newk->encrypt); - return newtl; -} diff --git a/gui/src/knowledge.h b/gui/src/knowledge.h deleted file mode 100644 index c40c7cd..0000000 --- a/gui/src/knowledge.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef KNOWLEDGE -#define KNOWLEDGE - -#include "term.h" -#include "termlist.h" - -//! Knowledge structure. -/** - * Contains a miminal representation of a knowledge set. - */ -struct knowledge -{ - //! A list of non-encrypted terms. - Termlist basic; - //! A list of terms encrypted, such that the inverse is not in the knowledge set. - Termlist encrypt; - //! List of inverse pairs (thus length of list is even) - Termlist inverses; - //! List of open variables in the knowledge set. - /** - * This list is used to determine whether the knowledge needs to be rewritten. - * If a new substitution is done, one of the elements of this list will become closed, - * and we need to reconstruct the knowledge set. - */ - Termlist vars; // special: denotes unsubstituted variables -}; - -//! Shorthand for knowledge pointer. -typedef struct knowledge *Knowledge; - -void knowledgeInit (void); -void knowledgeDone (void); -Knowledge makeKnowledge (); -Knowledge emptyKnowledge (); -Knowledge knowledgeDuplicate (Knowledge know); -void knowledgeDelete (Knowledge know); -void knowledgeDestroy (Knowledge know); -int knowledgeAddTerm (Knowledge know, Term term); -int knowledgeAddTermlist (Knowledge know, Termlist tl); -void knowledgeAddInverse (Knowledge know, Term t1, Term t2); -void knowledgeSetInverses (Knowledge know, Termlist tl); -void knowledgeSimplify (Knowledge know, Term decryptkey); -int inKnowledge (const Knowledge know, Term term); -void knowledgePrint (Knowledge know); -void knowledgePrintShort (const Knowledge know); -void knowledgeInversesPrint (Knowledge know); -int isKnowledgeEqual (Knowledge know1, Knowledge know2); -Termlist knowledgeSet (const Knowledge know); -Termlist knowledgeGetInverses (const Knowledge know); -Termlist knowledgeGetBasics (const Knowledge know); -int knowledgeSubstNeeded (const Knowledge know); -Knowledge knowledgeSubstDo (const Knowledge know); -void knowledgeSubstUndo (const Knowledge know); -Termlist knowledgeNew (const Knowledge oldk, const Knowledge newk); - -//! Harnass macro for recursive procedures. -#define mindwipe(k,recurse) \ - Termlist tl; \ - int flag; \ - if (k != NULL && k->vars != NULL) { \ - tl = k->vars; \ - while (tl != NULL) { \ - if (tl->term->subst != NULL) { \ - Term oldsubst = tl->term->subst; \ - tl->term->subst = NULL; \ - flag = recurse; \ - tl->term->subst = oldsubst; \ - return flag; \ - } \ - tl = tl->next; \ - } \ - } \ - - -#endif diff --git a/gui/src/label.c b/gui/src/label.c deleted file mode 100644 index 20a2fad..0000000 --- a/gui/src/label.c +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Label info - */ - -#include -#include "term.h" -#include "label.h" -#include "list.h" -#include "system.h" - -//! Retrieve rightmost thing of label -Term -rightMostTerm (Term t) -{ - if (t != NULL) - { - t = deVar (t); - if (realTermTuple (t)) - { - return rightMostTerm (TermOp2 (t)); - } - } - return t; -} - -//! Create a new labelinfo node -Labelinfo -label_create (const Term label, const Protocol protocol) -{ - Labelinfo li; - Term tl; - - li = (Labelinfo) malloc (sizeof (struct labelinfo)); - li->label = label; - li->protocol = protocol; - li->sendrole = NULL; - li->readrole = NULL; - // Should we ignore it? - li->ignore = false; - tl = rightMostTerm (label); - if (tl != NULL) - { - if (TermSymb (tl)->text[0] == '!') - { - li->ignore = true; - } - } - return li; -} - -//! Destroy a labelinfo node -void -label_destroy (Labelinfo linfo) -{ - free (linfo); -} - -//! Given a list of label infos, yield the correct one or NULL -Labelinfo -label_find (List labellist, const Term label) -{ - Labelinfo linfo; - - int label_find_scan (void *data) - { - Labelinfo linfo_scan; - - linfo_scan = (Labelinfo) data; - if (isTermEqual (label, linfo_scan->label)) - { - linfo = linfo_scan; - return 0; - } - else - { - return 1; - } - } - - linfo = NULL; - if (label != NULL) - { - list_iterate (labellist, label_find_scan); - } - return linfo; -} diff --git a/gui/src/label.h b/gui/src/label.h deleted file mode 100644 index ee80809..0000000 --- a/gui/src/label.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef LABEL -#define LABEL - -#include "term.h" -#include "list.h" -#include "system.h" - -/* - * Structure to store label information - */ -struct labelinfo -{ - Term label; - int ignore; - Protocol protocol; - Term sendrole; - Term readrole; -}; - -typedef struct labelinfo *Labelinfo; - -Labelinfo label_create (const Term label, const Protocol protocol); -void label_destroy (Labelinfo linfo); -Labelinfo label_find (List labellist, const Term label); - -#endif diff --git a/gui/src/language.txt b/gui/src/language.txt deleted file mode 100644 index a3e84ba..0000000 --- a/gui/src/language.txt +++ /dev/null @@ -1,46 +0,0 @@ -Language --------- - -language := ()* -def := ( | | | ) - -//directive := -//dir_require := require ; - -protocol := protocol ( ) { * } optsc -protocolname := - -intruderknow := public ; -roledef := role { } optsc -rolename := -actions := (;)+ -action := ( | | ) -decl := ( | )+ -const := const [ : ]; -var := var [ : ]; - -read := read [_