Commit Graph

116 Commits

Author SHA1 Message Date
SamJakob
5d27a6cb4b
Add Apple Silicon support 2023-11-08 15:04:19 +00:00
SamJakob
09ff64f3b6
Fix Scyther process call on Windows (escape paths)
On Windows only, the backslashes in paths were causing issues with the command, because they were stripped out. Wrapping the paths in quotes solves this for all platforms.
2023-01-22 21:22:11 +00:00
Cas Cremers
0feaf905e3 Fix deprecated use of elementtree XML objects' getchildren method. 2021-06-02 08:56:23 +02:00
Cas Cremers
6f51ad8b2a Updated copyright year to 2020. 2020-10-28 08:43:08 +01:00
Cas Cremers
7c00ddb2a9 Some updates to the documentation regarding Python 3 and wxPython 4.
This work is not complete and the install and build instructions need to be sanity checked and updated for modern versions of all three platforms.
2020-10-28 08:41:44 +01:00
Cas Cremers
8dc7b80bd3 Modernising some of the shell command execute code. 2020-10-27 22:11:51 +01:00
Cas Cremers
38a0fba212 Further Python3 fixes. 2020-10-27 22:10:55 +01:00
Cas Cremers
3a6041ccac Conversion to python3, using 2to3. 2020-10-27 22:09:03 +01:00
Cas Cremers
4f252d55a7 Bugfix in case commandline text is empty. 2014-06-10 14:55:13 +01:00
Cas Cremers
a7230702cb Cleanup of obsolete module import. 2013-12-09 14:25:11 +00:00
Cas Cremers
c9b1d08f4f Hack for Windows users to compensate for Graphviz "feature".
Recent versions of Graphviz no longer set the PATH variable on Windows.
Hence Scyther can fail to find dot.exe even though Graphviz was appropriately
installed.

This patch is a hack to try and locate dot.exe in the more common locations.
We currently have a hardcoded search through:

  C:\Program Files\Graphviz*
  C:\Program Files (x86)\Graphviz*

This is clearly fragile. Obviously, nobody should be solving Graphviz' problem
in such an ugly way. Change drives or languages and it stops working.

Until Graphviz provides at least an alternative environment variable (GVPATH?)
this hack will help the bulk of our users to get things up and running smoothly.
2013-12-09 14:24:57 +00:00
Cas Cremers
7e3f0ed73b BUGFIX: Reverted use of shlex.
Shlex is only intended to work for Unix-like shells, and using it on
Windows causes problems. We now resort to simply always using the shell
on Unix-like platforms (as our command input is always a string, and not
an array). On Windows, the string input is always okay, even when not
using the shell.

This is a follow-up to a bug report by M. Kammerer on failing Windows
installs.
2013-12-09 09:07:47 +00:00
Cas Cremers
d06247fcfe Updating time stamps for next release. 2013-10-05 23:56:12 +01:00
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
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
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
3a6d65463f Improving error reporting on wx import errors. 2012-04-26 14:27:00 +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
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
bc667f3f32 Improving some scripts; exploit cache better. 2011-03-31 15:02:49 +02: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
ed147bbace Bugfix on empty input. 2010-12-31 15:42:01 +01:00
Cas Cremers
5ee0f7563b Improving latex output of MPA test, expanding glue functionality. 2010-12-27 22:30:58 +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
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
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
cd33fb3e14 BUGFIX: Paths with control characters (e.g. $) were causing trouble. 2009-04-30 13:40:06 +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
6e65138dca Added --license switch to the Gui. 2007-10-08 14:52:50 +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
f901951e4b Added GPL 2 to the Python scripts. 2007-06-11 14:12:33 +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
461895555b - Removed Bin subdirectory and updates scripts. 2007-05-21 13:34:43 +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
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
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
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
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