Commit Graph

389 Commits

Author SHA1 Message Date
Cas Cremers
fe364fbe9d GUI: Canceling verification now also kills back-end thread.
Previously, pressing 'cancel' in the verification window would leave a dangling scyther backend process.
Now the process gets correctly killed.

The following changes enable this:
- External processes are no longer invoked through the shell (otherwise they are subprocesses of the shell and cannot be reliably killed cross-platform).
- The 'safeCommand' procedure now has a hook for passing opened Popen objects.
- The GUI stores and kills the Popen objects on cancel or window close.

To do: an alternative interface for this in 'safeCommand' could expose a 'killMe' method through a callback; this might be cleaner in the long term.
2013-06-30 23:14:28 +02:00
Cas Cremers
6473aba398 Misc: improving output of generate-attack-graphs.py script. 2013-06-20 10:32:16 +02:00
Cas Cremers
c11a4268b0 Misc: note in attack graphs script on how to produce time/memory consumption output as well (on Linux) 2013-06-20 09:54:56 +02:00
Cas Cremers
2004a0f4aa Misc: Added Python script to dump attack outputs for large sets of files.
For now, some parameters are hardcoded.

In the long term this functionality should be incorporated into the Scyther library directly, as
a method of Claim objects.
2013-06-19 23:03:46 +02:00
Cas Cremers
486633fecd Updating INSTALL file. 2013-05-24 12:32:04 +02:00
Cas Cremers
9e13d07b6e BUGFIX: Invoking Scyther scripts from non-standard directories or using symlinks should work consistently now.
Before, we were using both __file__ as well as sys.argv[0] to determine the base directory
for Scyther, and we were not taking symlinks into account.

By using the inspect module, we can consistently pick the current frame and derive
the file from that, then use realpath to strip symlinks.
2013-05-01 14:16:12 +02:00
Cas Cremers
6dc3b21859 Added current manual snapshot. 2012-12-17 11:32:58 +01:00
Cas Cremers
408a88807f Updated changelogs and readme's. 2012-12-17 11:26:04 +01:00
Cas Cremers
ba5166bd84 NEW: Added environment variable "SCYTHERCACHEDIR" to determine cache usage.
If this variable is unset, Scyther writes into /tmp/Scyther-cache (or similar).
If this variable is set to "", caching is disabled.
Otherwise, Scyther writes into $SCYTHERCACHEDIR/Scyther-cache
2012-12-06 10:17:53 +01:00
Cas Cremers
7a2d354bac Added Wimax models from compositionality paper.
Previously we had not included the IEEE 802.16e Wimax PKM models to the
Scyther distribution, although the models had been around for years.
2012-11-27 21:56:05 +01:00
Cas Cremers
d1537b1848 Catching other error message for wrong architecture.
Current wxPython packages only work in 32-bit mode. If we detect that there is
an error message complaining about the architecture, we restart scyther-gui.py using
python in 32-bit mode.
2012-11-23 09:25:19 +01:00
Cas Cremers
9c9c6758f2 Removing obsolete file. 2012-11-15 16:50:42 +01:00
Cas Cremers
51495be80d Cleanup and restructuring of testing directory setup. 2012-11-15 16:47:08 +01:00
Cas Cremers
a911f56705 Added ISO/IEC 9798 models. 2012-11-15 12:10:06 +01:00
Cas Cremers
03f49d3b29 Added IKE .spdl files (auto-generated from the .cpp files) for reference. 2012-11-15 11:48:46 +01:00
Cas Cremers
34d7cba293 Added IKE base models.
Modelers: Adrian Kyburz and Cas Cremers
2012-11-15 11:48:14 +01:00
Cas Cremers
5918bf1a3c Fixed MAC 32-bit problem in a nicer way. 2012-10-24 16:13:05 +02:00
Cas Cremers
10c62a6863 BUGFIX: Opening files was not always performing as expected. Fixed now. 2012-10-02 13:42:48 +02:00
Cas Cremers
727e813c77 Fixed obsolete notation in protocol specification files.
Not everything is fixed yet.
However, we fixed:
- 'const' -> 'fresh'
- Removed lines specifying 'runs'
- Removed some specifications of compromised Eve and its long-term keys
  being compromised.
2012-06-12 23:12:14 +02:00
Cas Cremers
163a915a6d Added regression test script. 2012-06-12 23:12:14 +02:00
Cas Cremers
ca5c7eaa49 Adding weakagree claim to nsl3. 2012-05-02 10:15:33 +02:00
Cas Cremers
8d0b704635 Added weak agreement claims to NS. 2012-05-01 16:37:04 +02:00
Cas Cremers
d713ac400d More 'read'->'recv' conversion. 2012-04-26 16:40:01 +02:00
Cas Cremers
3a6d65463f Improving error reporting on wx import errors. 2012-04-26 14:27:00 +02:00
Cas Cremers
5b985af776 Refactoring order of module loading for better error reporting. 2012-04-26 13:41:07 +02:00
Cas Cremers
98dd606404 Adding agreement etc. to NS/NSL protocol. 2012-04-25 22:09:46 +02:00
Cas Cremers
9b0915441f Synchronising MPA branch with compromise branch where possible. 2012-04-25 17:03:51 +02:00
Cas Cremers
1cbe9826ac Updated dates. 2012-04-24 13:56:51 +02:00
Cas Cremers
626385821a Minor restructuring and fallback error even even tkInter is not installed. 2012-04-24 12:34:42 +02:00
Cas Cremers
755c4519c6 Large pass on protocol specification files to get rid of deprecated constructions. 2012-04-23 15:53:28 +02:00
Cas Cremers
30006b732a Fix Python 3 deprecated issues that cannot be resolved by 2to3. 2012-04-23 15:02:06 +02:00
Cas Cremers
b6ab044cd6 BUGFIX: 'Default' color not known to newer wxPython versions.
The statement was redundant anyway.
2012-04-09 21:14:41 +02:00
Cas Cremers
d348736c87 SPDL: Removing obsolete constructs from SPDL file. 2012-03-22 10:53:03 +01:00
Cas Cremers
6ed32d0f4c BUGFIX: Fixed overzealous deletion in init scripts and fixed reference to removed SetBinDir. 2012-02-27 11:52:33 +01:00
Cas Cremers
4b62062765 Cleanup of path reconstruction. 2011-09-23 12:18:59 +02:00
Cas Cremers
a6bb143101 Added some minimal explanation to the wiper script. 2011-09-23 11:24:02 +02:00
Cas Cremers
74ca7217ea ISO test script now points to Scyther models in papers directory. 2011-09-23 11:24:02 +02:00
Cas Cremers
2e7328e0df Updated install document. 2011-03-31 15:03:58 +02:00
Cas Cremers
bc667f3f32 Improving some scripts; exploit cache better. 2011-03-31 15:02:49 +02:00
Cas Cremers
c2662abaef More comments. 2011-03-31 15:01:50 +02:00
Cas Cremers
9959baf926 More ignore patterns. 2011-03-31 15:01:13 +02:00
Cas Cremers
da616c1198 Adding missing scripts. 2011-03-31 15:00:56 +02:00
Cas Cremers
810fc9eece Fixed wiper display. 2011-01-27 10:57:54 +01:00
Cas Cremers
c02ce53227 Adding make-bsub.py, which is needed by batcher.sh. 2011-01-26 13:21:02 +01:00
Cas Cremers
6cb4313bec Brutus support restored the batcher script. 2011-01-26 13:18:29 +01:00
Cas Cremers
68409e14ad Synchronise test batch files. 2011-01-25 17:32:54 +01:00
Cas Cremers
214c607529 Slightly nicer code. 2011-01-25 17:32:19 +01:00
Cas Cremers
6286a2c810 Added test scripts for book and iso. 2011-01-25 10:24:37 +01:00
Cas Cremers
88ee944c4b BUGFIX: Problem when progressbar.py missing, problem with zero correct claims. 2011-01-24 21:39:35 +01:00
Cas Cremers
19749e0293 Being more careful about adding scripts etc. 2011-01-24 20:58:53 +01:00
Cas Cremers
be6f7b481d Updating mpa test scripts. 2011-01-21 17:39:05 +01:00
Cas Cremers
985397c8b6 Cache structure change: from Cache/XX/file to Cache/XX/YY/file 2011-01-21 17:38:45 +01:00
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