Commit Graph

387 Commits

Author SHA1 Message Date
Cas Cremers
63aefc1c46 BUGFIX: makedirs wasn't working as expected, reverting to builtin. 2011-01-21 17:38:14 +01:00
Cas Cremers
fa8440c8e5 BUGFIX: Silly typo. 2011-01-18 17:05:07 +01:00
Cas Cremers
04787e5516 Re-allowing positional arguments for test-mpa.py, i.e., command line specification of input files. 2011-01-04 14:14:35 +01:00
Cas Cremers
af25cfc9a0 Better MPA scans and added pickle/JSON output options. 2010-12-31 15:43:27 +01:00
Cas Cremers
ed147bbace Bugfix on empty input. 2010-12-31 15:42:01 +01:00
Cas Cremers
59080a2b5c Updating protocol descriptions. 2010-12-31 15:41:52 +01:00
Cas Cremers
94c9f1b444 No longer stop at first MPA attack: scan for all. 2010-12-27 22:31:15 +01:00
Cas Cremers
5ee0f7563b Improving latex output of MPA test, expanding glue functionality. 2010-12-27 22:30:58 +01:00
Cas Cremers
b6c67dec23 Initial latex output option that generations correct claims table. 2010-12-27 13:32:25 +01:00
Cas Cremers
5ffe3d2752 Added more verbosity to some parts with -v switch.
In particular, verbose ('-v', '--verbose') now lists protocols with their correct
claims, and also the protocols without such correct claims.
2010-12-26 23:10:39 +01:00
Cas Cremers
a21aeccad0 Fix caching discrepancy when relying on Scyther default options. 2010-12-26 23:09:30 +01:00
Cas Cremers
dd49526e02 Reintroduced ksl protocol description. 2010-12-12 22:13:18 +01:00
Cas Cremers
2ec70106ba MPA: Improved the attack summaries. 2010-11-24 17:13:26 +01:00
Cas Cremers
d96ffa3354 Added more Woo-Lam-Pi variants. 2010-11-24 17:13:14 +01:00
Cas Cremers
cecff7f55e Refactoring options. 2010-11-23 15:09:43 +01:00
Cas Cremers
3007887f38 Near complete rewrite of the MPA test script. 2010-11-15 23:20:48 +01:00
Cas Cremers
08ae9a2ac9 MPA: Added code for testing self-initiator stuff. 2010-11-15 17:39:03 +01:00
Cas Cremers
edba6aac7f MPA: Added --extravert option to pass on to backend. 2010-11-15 10:18:20 +01:00
Cas Cremers
135fbaf726 MPA: More detailed reporting of results. 2010-11-15 10:18:01 +01:00
Cas Cremers
31a1635a07 MPA: Added switch for the max number of parallel protocols in MPA attacks found. 2010-11-15 10:17:29 +01:00
Cas Cremers
f97afc4a62 MPA: Added --plain option for output to text files (disables progress bars) 2010-11-15 10:16:17 +01:00
Cas Cremers
b1f993a6c9 BUGFIX: Use /usr/bin/env to locate the correct Python interpreter. 2010-11-12 14:20:53 +01:00
Cas Cremers
9a04264d39 MPA: Improving test script with basic command-line options. 2010-11-12 14:12:23 +01:00
Cas Cremers
225a839dbc Improving summary output. 2010-11-12 13:28:22 +01:00
Cas Cremers
573f581800 Updating test script to isolate --init-uniq cases as well. 2010-11-12 10:37:48 +01:00
Cas Cremers
270eef6a39 BUGFIX: Progressbar dummy should exist for MPA script. 2010-11-11 12:19:35 +01:00
Cas Cremers
8ddd955415 MPA: Better test setup. 2010-11-11 12:08:53 +01:00
Cas Cremers
65074352c3 MPA: Improving the summaries given by the test script. 2010-11-11 11:16:59 +01:00
Cas Cremers
e42aa1215e Scyther.py: Added Caching to Scyther's Python interface.
Cached data is stored in:

Cache/XX/YYYYY.out (stdout)
Cache/XX/YYYYY.err (stderr)

Where XX^YYYYY is the sha256 hexdigest of the concatenation of the input spdl and
the arguments.
2010-11-11 10:37:18 +01:00
Cas Cremers
cbb66ea794 Scyther.py: Improving Scyther python interface by giving options and filenames when reporting an error. 2010-11-11 10:37:18 +01:00
Cas Cremers
fac14fc950 Added a new subdirectory with protocols for MPA experiments. 2010-11-11 10:37:18 +01:00
Cas Cremers
96e52a3724 Expanding test script for full MPA analysis. 2010-11-11 10:37:18 +01:00
Cas Cremers
e5fc05a379 Correctly escaping program file name. 2010-05-16 00:36:06 +02:00
Cas Cremers
dc4dc34624 String commands require shell=True. 2010-05-16 00:33:53 +02:00
Cas Cremers
d1b334765b Updated image construction code to also use subprocess.Popen. 2010-05-16 00:13:33 +02:00
Cas Cremers
1f75f73cb0 Added realistic check for graphviz/dot. 2010-05-15 23:27:11 +02:00
Cas Cremers
7d03f22b24 Added new 'safeCommandOutput' command to Scyther/Misc and force use of Python 2.4 or later. 2010-05-15 23:26:44 +02:00
Cas Cremers
feb400c610 Added GUI error message if wxPython is not present.
If wxPython is not present, there would be a command-line message only.
Some users may not notice that. We now fall back to Tkinter to report
such messages.
2010-05-15 22:56:48 +02:00
Cas Cremers
a45172583f Removed obsolete bibliography data from README. 2010-05-02 23:37:07 +02:00
Cas Cremers
2a2a087cf6 GUI BUGFIX: On some file systems, problems with case-insensitivity and name clash between sys module and local. 2009-04-30 15:06:28 +02:00
Cas Cremers
cd33fb3e14 BUGFIX: Paths with control characters (e.g. $) were causing trouble. 2009-04-30 13:40:06 +02:00
Cas Cremers
e3268bb8e5 GUI: Added a large set of possible output formats to the right-click menu.
To do: We still need better error handling.
- File exists: overwrite?
- Write failed popup.
- Check for empty file at the end (what if dot does not support this particular
  output format?)
2008-08-29 12:05:06 +02:00
Cas Cremers
63471c5053 Code cleanup for GUI code. 2008-08-29 12:05:06 +02:00
Cas Cremers
8471f13da3 Added 'prune' switch support in GUI.
Allows to use the 'stop at first attack' feature of the backend.
2008-08-29 12:05:00 +02:00
Cas Cremers
b352044f92 BUGFIX: PIL is tested at the start of the program.
Previously, one would get one void verification result before Scyther detected
PIL was not working. Now nothing is wasted.
2008-08-26 21:52:00 +02:00
Cas Cremers
a020cffec7 GUI: Added popup menu to save graphviz (.dot) data.
A long requested feature was the option to print graphs more nicely.
This is a solution for knowledgeable users: the dot data is more basic
and can be converted in various ways.

TODO: Simple image export.
2008-08-26 17:35:38 +02:00
Cas Cremers
76bf6328b6 Nicer crash handling for PIL problem with a warning etc. 2008-08-21 21:57:22 +02:00
Cas Cremers
630f6e9459 Added large delta-test script.
The script runs over all protocol files it can find, and runs it using two different
command-line parameters to scyther. If the results differ, the script reports it.

The code can use some cleanup, removing e.g. global variables, but it works.
2008-08-21 21:20:16 +02:00
Cas Cremers
aaf27779a3 Allow for use of RECV instead of READ.
Read will become deprecated later on.
2008-08-21 16:58:53 +02:00
Cas Cremers
feb3827ba1 BUGFIX: Fixed crash on some include file cases.
Reported by ETH students last year: if you include a file, where the file has an
error in a line with a number higher than the original, the Python code crashes.

This is a *patch* only because the real underlying problem is that error reporting
does not take include commands into account, and does not propagate any
file names.
2008-07-31 17:37:20 +02:00
Cas Cremers
9605d5e772 Introduced "all attacks" switch in GUI, and a bugfix.
Passing the '--all-attacks' switch to the backend was not working. The reason
was the hack to get Vista working hardcoded cutting to the last attack found.

In the long term, this needs to be cleaned up, and cutting should be moved back
nicely to the Scyther C code where it used to work. Once done, switches.useAttackBuffer
can be set back to true.

BUGFIX: When cutting attacks/patterns, counts are no longer exact.
2008-07-30 00:14:10 +02:00
Cas Cremers
4c469cf848 Added initial test script for the constraint solver module.
It doesn't work yet because the import fails. Weird.
2008-03-14 00:01:25 +01:00
Cas Cremers
8fe754f4ec Moved key-compromise models into their own directory and removed key-compromise models from base protocols. 2007-11-16 09:00:23 +01:00
Cas Cremers
b02c09f0dd Disabled --check for gui as well.
--check is not working correctly, so we should disable it for now.
2007-11-15 21:49:35 +01:00
Cas Cremers
870d1c2f41 BUGFIX: PIL no longer works on my Feisty machines: PIL disabled.
Currently, both my Feisty Ubuntu's have stopped working with the GUI of
Scyther. So to be on the safe side, PIL is disabled for now, until I've
resolved the problem.

The error is the following:

---------------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/cas/src/scyther-dev/gui/Gui/Scytherthread.py", line 351, in onViewButton
    w = Attackwindow.AttackWindow(btn.claim)
  File "/home/cas/src/scyther-dev/gui/Gui/Attackwindow.py", line 176, in __init__
    self.CreateInteriorWindowComponents()
  File "/home/cas/src/scyther-dev/gui/Gui/Attackwindow.py", line 209, in CreateInteriorWindowComponents
    dp = AttackDisplay(self, self, attacks[0])
  File "/home/cas/src/scyther-dev/gui/Gui/Attackwindow.py", line 73, in __init__
    self.original = Image.open(filename)
  File "/usr/lib/python2.5/site-packages/PIL/Image.py", line 1912, in open
    return factory(fp, filename)
  File "/usr/lib/python2.5/site-packages/PIL/ImageFile.py", line 82, in __init__
    self._open()
  File "/usr/lib/python2.5/site-packages/PIL/EpsImagePlugin.py", line 277, in _open
    raise IOError, "cannot determine EPS bounding box"
IOError: cannot determine EPS bounding box
---------------------------------------------------------------------------

Great. Bounding boxes in eps again.
2007-11-13 20:51:20 +01:00
Cas Cremers
6e65138dca Added --license switch to the Gui. 2007-10-08 14:52:50 +02:00
Cas Cremers
dd57481991 Added note to changelog. 2007-10-08 14:14:24 +02:00
Cas Cremers
59d061c47f Patch by Alberto Piai to address new integration of (c)elementtree into core python. 2007-10-08 13:59:16 +02:00
Cas Cremers
44f89d8e78 Added GPL 2 notice in the 'about' box. 2007-06-11 14:20:53 +02:00
Cas Cremers
f901951e4b Added GPL 2 to the Python scripts. 2007-06-11 14:12:33 +02:00
Cas Cremers
7d584cca1e Added GPL 2 License to the C sources.
A first step towards releasing Scyther completely to the public.
2007-06-11 14:01:04 +02:00
Cas Cremers
d5ba325233 Workaround for strange wxPython display error.
Since a while, wxPython has been refusing to correctly display strings with a dash in them in the staticText object. Given a string "xx-yy", only "xx" is displayed. This caused some problems for protocols with dashes in their protocol names. I've worked around it by replacing all occurrences of "-" by "_".
2007-05-29 16:39:25 +02:00
Cas Cremers
76c516dee0 Merge branch 'reverting-b7' into release 2007-05-21 16:41:19 +02:00
Cas Cremers
742cbcda60 - Added some ignore patterns. 2007-05-21 13:56:00 +02:00
Cas Cremers
b80de55289 Merge branch 'testing' of cas@roivas.shape9.nl:/export/git/scyther into reverting-b7 2007-05-21 13:48:56 +02:00
Cas Cremers
a09cf686f9 - Modified explanation too. 2007-05-21 13:34:46 +02:00
Cas Cremers
461895555b - Removed Bin subdirectory and updates scripts. 2007-05-21 13:34:43 +02:00
Cas Cremers
38a5d04c8c - Fix to the reverter. 2007-05-21 13:32:57 +02:00
Cas Cremers
38f1bffcef - Reverted version of beta7 for testing. 2007-05-21 13:29:33 +02:00
Cas Cremers
db78f91af1 Fixed version information updates of both the compiled code as well as the Gui. 2007-05-20 16:14:40 +02:00
Cas Cremers
173b1e8d41 Merge branch 'stable' of ssh://cas@roivas.shape9.nl/export/git/scyther-develop/
Conflicts:

	gui/Gui/Scytherthread.py
2007-05-19 23:38:10 +02:00
Cas Cremers
f1e35b1cde - Fixed ns/nsl and mpa example. 2007-05-19 18:02:36 +02:00
Cas Cremers
9063c00f55 - Switched encoding of Changelog so windows users can read it too. 2007-05-19 17:57:18 +02:00
Cas Cremers
9aa39bfbe2 - SPORE moved into gui directory by default. 2007-05-19 17:10:46 +02:00
Cas Cremers
0ba35eb983 - Updated changelog. 2007-05-19 17:06:06 +02:00
Cas Cremers
d1b810d9fc - Updated. 2007-05-19 17:04:57 +02:00
Cas Cremers
76f0db6f13 - Got rid of a lot of garbage. 2007-05-19 17:02:18 +02:00
Cas Cremers
f837d1b000 Integrated XP fixes 2007-05-19 16:27:28 +02:00
Cas Cremers
4bf7126a45 - Removed binaries (no longer part of the tree) 2007-05-19 15:55:46 +02:00
Cas Cremers
3dfb8d6173 - Fixed font settings for Unix. 2007-05-19 15:43:57 +02:00
Cas Cremers
f47c1e7e5e - 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. 2007-05-19 15:32:58 +02:00
Cas Cremers
23931281d0 - 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. 2007-05-19 15:19:02 +02:00
Cas Cremers
688416a351 - Rewrite subprocess access to the newer subprocess.Popen module. This seems to work just fine for Windows XP, at least. 2007-05-19 14:29:32 +02:00
Cas Cremers
ee5d0cbfe8 - Reverted a patch for the fonts. 2007-05-18 14:17:24 +02:00
Cas Cremers
ef2af6b097 - Removed font print debugging information. 2007-05-18 14:12:32 +02:00
Cas Cremers
1542d65def - Big catchup commit to make sure we are up to beta7.
This includes a number of single patches, ranging from the vista fix with the buffers, to the start of many new minor features.
2007-05-18 14:06:29 +02:00
Cas Cremers
7c8ca527b2 - Updates (fast forwarding to latest Scyther from svn) 2007-05-18 13:55:11 +02:00
Cas Cremers
d64d89b063 - Added further notes 2007-05-17 17:35:47 +02:00
Cas Cremers
d622b14257 - Big restructuring of the directories 2007-05-17 17:28:10 +02:00
ccremers
eea7a09730 - New type versioning for the Mac too 2007-05-03 15:54:00 +00:00
ccremers
09419702d8 - New version mechanism in place 2007-05-03 15:52:51 +00:00
ccremers
32e6070a26 - New Mac version 2007-05-03 15:47:15 +00:00
ccremers
14170f603f - New binaries 2007-05-03 13:26:04 +00:00
ccremers
1558ef1987 - New Mac binary 2007-05-03 13:25:30 +00:00
ccremers
9882651f4a - Fixed role comparison bug. 2007-02-01 12:18:38 +00:00
ccremers
6e82d585be - Errors now get a nice colour 2007-01-31 15:45:05 +00:00
ccremers
c63b87c750 - Oops. 2007-01-31 12:20:44 +00:00
ccremers
ed433130e2 - New binaries. 2007-01-31 11:24:25 +00:00
ccremers
6f59ed3ab3 - Got rid of ctrl-W mapping to be nice to silly Emacs users. 2007-01-30 19:58:12 +00:00
ccremers
2ff5adf040 - Minor cleanup on Scyther output parser. 2007-01-30 17:43:58 +00:00
ccremers
17d1898b29 - Factored out editor component. 2007-01-30 11:01:17 +00:00
ccremers
6f5846d09f - Added new binaries for both windows and linux 2007-01-29 22:56:56 +00:00
ccremers
33df1ccb5b - Enabled Scintilla editor 2007-01-29 16:32:35 +00:00
ccremers
df62d65d5c - Fixes to error output 2007-01-29 15:17:11 +00:00
ccremers
cf84e83f9f - Scanned protocols for new obligatory check. 2007-01-29 15:05:15 +00:00
ccremers
5d0b15e292 - Reinstated the graphical about screen. 2007-01-27 22:52:22 +00:00
ccremers
70a718807e - Improved error handling: any Scyther errors now raise an exception.
This can be dealt with accordingly. If no error occurs, we can just
  nicely assume the output is a claim list or something similar.
2007-01-27 21:42:16 +00:00
ccremers
6cd4d3d7b6 - Added new feature to changelog (scripting interface for singular claim
testing)
2007-01-27 13:11:07 +00:00
ccremers
836f30c26a - Bugfixes for singular claim testing support. 2007-01-27 13:08:24 +00:00
ccremers
0e21a2bd20 - Added scripting support for claim list retrieval and single claim
evaluation.
2007-01-27 12:53:19 +00:00
ccremers
1eb1e7849e - Fixes, feature additions. 2007-01-27 10:04:18 +00:00
ccremers
eaa6ef1345 - Added feature for multi-party protocols (weaker precondition on Reachable) 2007-01-16 17:22:51 +00:00
ccremers
fd0004bd9f - New static version. 2007-01-12 22:16:37 +00:00
ccremers
d8da0a083f - Warnings should not cause the output to be ignored 2007-01-12 10:02:56 +00:00
ccremers
994ff7b095 - Added new Linux and Windows binaries (beta6) 2007-01-11 13:03:11 +00:00
ccremers
fa42e15d3d - More version updates. 2007-01-11 11:22:57 +00:00
ccremers
412c75cc51 - Working towards text attack output. 2007-01-10 14:32:08 +00:00
ccremers
1ecc43e9d6 - Fixes to font things. 2007-01-10 14:30:52 +00:00
ccremers
4d9a567646 - Added universal binary 2007-01-09 16:12:48 +00:00
ccremers
ae65d0a30d - Fixed bug in new trace code. 2007-01-09 16:11:58 +00:00
ccremers
c3f1d9661a - New naming scheme for mac binaries. 2007-01-09 14:37:17 +00:00
ccremers
24bf895890 - Added error report in case of no output at all. (Tailored for reported
OS X problem.)
2007-01-02 15:34:58 +00:00
ccremers
903f9bcbce - Fixes working towards attack indent output. 2007-01-02 15:22:25 +00:00
ccremers
f3f6e56feb - Uncommented previously commented code. 2006-12-20 17:20:09 +00:00
ccremers
807232a51e - Sanitized the settings window a bit. 2006-12-15 13:45:09 +00:00
ccremers
a459002ae9 - Final builds for today. 2006-12-14 21:00:06 +00:00
ccremers
38dd697f41 - Bug seems to be resolved! 2006-12-14 20:32:24 +00:00
ccremers
8f1e1ae8a9 - Complete rewrite of Scyther call (also preparing for Mac OS X versions) 2006-12-14 20:08:34 +00:00
ccremers
aac06d3c43 - Some code refactoring. 2006-12-14 19:46:36 +00:00
ccremers
7786e0d65f - Added 'append' switches and modified gui behaviour correspondingly. 2006-12-14 16:28:29 +00:00
ccremers
7eb354d22c - Correction to previous commit: added required files. 2006-12-14 14:08:08 +00:00
ccremers
4e2b7c405b - Improved error handling. 2006-12-14 14:06:50 +00:00
ccremers
2886e1a7e5 - Hopefully improved the attack displays. Needs checking. 2006-12-13 15:43:10 +00:00
ccremers
68e9ad9cf4 - New compiled version, ready for platform-testing on windows. 2006-12-13 13:48:33 +00:00
ccremers
0cf1affc26 - Threw out possibly offending statement. 2006-12-13 13:44:34 +00:00
ccremers
5a4fae93b3 - More fixes for beta5 2006-12-13 13:08:33 +00:00
ccremers
e7334d1050 - Misc fixes. 2006-12-13 12:16:36 +00:00
ccremers
4750f1b309 - Thread rewrite for improved stability 2006-12-13 11:59:44 +00:00
ccremers
acafc18926 - Fixed scytherview script. 2006-12-13 09:40:53 +00:00
ccremers
10d337d99b - Moved Binaries to Scyther subdir.
- Made kpdf the default..
2006-12-13 09:09:48 +00:00
ccremers
0ec3b566d6 - Modified the default for resizing. 2006-12-12 16:33:21 +00:00
ccremers
e31f6f58d3 - Woops. 2006-12-11 10:43:00 +00:00
ccremers
bd03983fc5 - Final fixes for beta 5 2006-12-11 10:12:03 +00:00
ccremers
6d7b2a2d73 - Removed popen3 dependency, hopefully improving stability of the Gui
quite a bit.
2006-12-11 09:40:57 +00:00
ccremers
b8c57a1395 - Added --errors switch. 2006-12-11 09:18:54 +00:00
ccremers
6629b29559 - Fixed stuff for Python versions that do not support __file__ well, by basically requiring that the Scyther binary can be found in PATH. 2006-11-24 08:00:03 +00:00
ccremers
f2f35f5548 - Added simple scytherview (python only). Needs some further work to be
usable though.
2006-11-23 13:26:27 +00:00
ccremers
271550a55a - Better builders and naming.
- Some cleanup.
2006-11-23 11:46:33 +00:00
ccremers
31d8ff02b6 - Added new linux binary. 2006-11-23 11:39:56 +00:00
ccremers
17f4f34d23 - Improved locating binaries etc. 2006-11-23 11:28:51 +00:00