Commit Graph

16 Commits

Author SHA1 Message Date
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
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
bc667f3f32 Improving some scripts; exploit cache better. 2011-03-31 15:02:49 +02:00
Cas Cremers
63aefc1c46 BUGFIX: makedirs wasn't working as expected, reverting to builtin. 2011-01-21 17:38:14 +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
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
f901951e4b Added GPL 2 to the Python scripts. 2007-06-11 14:12:33 +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
ccremers
166f618cb9 - Refactoring stuff into a package. 2006-08-08 15:54:00 +00:00