- 19 Mar, 2018 40 commits
-
-
David Wilson authored
This actually addresses multiple problems: * Single-file programs were broken, since the fix introduced in 6931cc10c4a1e08161a58cf4b6b555b71cdc62b5 caused builtin_find_module() to start indicating __main__ can always be loaded locally. That's broken, and there might be more cases where the same problem will crop up. Since it was indicated __main__ could be loaded locally, the built-in import machinery was allowed to attempt that (since we remove __main__ from sys.modules during bootstrap), which caused a safety check to fire in the bowels of Python: "Cannot re-init internal module %.200s" * The check for presence of the whitelist was totally broken, since the whitelist is never an empty list. Therefore 'self' was being returned for every module, including extension modules like 'termios'. I have hand-verified this does not break the fix for issue #113. I looked at writing a test for that, but it requires a Docker container (or similar) with an ancient version of Ansible installed. Will open a separate ticket tracking this.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Mega broken. This reverts commit a7dbbd96aaa5d1ff76c89f1826d3019905487797.
-
David Wilson authored
-
David Wilson authored
It's ignored by newer SSHes, which only pay attention to Compression.
-
Alex Willmer authored
-
Alex Willmer authored
-
Alex Willmer authored
Don't rely on maintaining a list of test files, it's too easy to forget one and silently fail to run it.
-
Alex Willmer authored
-
Alex Willmer authored
Probably best to avoid angering the 800 lb gorilla with access to killer robots. https://example.org works, this is why it exists.
-
Alex Willmer authored
Excluded: graphml XML namespaces, links to e.g. Fabric homepage Fixes #128
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Trying to diagnose a Reddit user's problem.
-
David Wilson authored
Need a better story (perhaps a callback function?) for handling this.
-
David Wilson authored
-
David Wilson authored
The strategy is reconstructed for every playbook that is included or specified on the command line, therefore we can't store the global Router there without losing all our SSH connections across playbooks.
-
David Wilson authored
Fixes DebOps bug.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Turns out Ansible can't be trusted to actually check the result dictionary everywhere it expects one, so put the real exception text into -vvv output too.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Might want to de-overload the meaning of whitelist in future, but in the meantime it works fine for Ansible and I can't think of a whitelisting use case that would break because of it. Closes #114.
-
David Wilson authored
-
David Wilson authored
Cuts down on even more spam
-
David Wilson authored
Was causing tons of log spam due to 'skipping absent related name'
-
David Wilson authored
-
David Wilson authored
Amazed this one managed to scrape through for so long. Calling __import__ from within find_module() was causing the target module, in this case cookielib, to be loaded *then overwritten* by a subsequent duplicate load higher in the stack. The result is that cookielib was loaded twice, and, per usual Python import semantics, a reference to the partially initialized first cookielib was installed in sys.modules while its code executed. At the end of cookielib on 2.x, it imports _LWPCookieJar, which in turn imports the partially built cookielib from sys.modules, then subclasses the CookieJar from /that/ module. Everything is wonderful. Then the call returns back up into the import mechanism which restarts the entire process -- only this time, _LWPCookieJar is /not/ reinitialized, so the copy in sys.modules is still left with types pointing at the old module! So the duplicate import creates a new CookieJar which is not the base class of LWPCookieJar. Tada! 3 hours debugging. This is probably a performance fix in disguise, didn't realize things were so broken. It may also be a regression elsewhere. Urgently need to finish the tests.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Could it be that some empty dict magically gets populated from somewhere invisible?
-