Commit Graph
46 Commits
Author SHA1 Message Date
pancake 271a4bfd34 Fix #109 - accept pathlib.Path targets in r2pipe.open 2026-03-12 14:33:50 +01:00
pancake 1939cfe53e Accept program arguments when opening an array for Python 2026-03-09 21:21:56 +01:00
pancake dde2fdb0da Add setup.py shim to please the python wrapper 2026-03-09 20:47:50 +01:00
pancake b5def810f9 Improve the python testsuite for coverage which exposed two bugs and fix them all 2026-03-09 17:24:52 +01:00
pancake 35056f899e Just None instead of [] in the default flags parameter 2026-03-09 16:25:30 +01:00
pancake 050195cd85 Fix race condition when multiple commands are triggered 2026-03-09 16:11:45 +01:00
pancake c129ada018 Fix some pylint issues 2026-01-14 20:34:50 +01:00
pancake 897caf2e85 Fix race condition in command handling with r2pipe-py-sync 2025-06-16 11:41:36 +02:00
pancake 1c44d76a5a Do not permit to r2pipe.open() outside r2 2024-07-11 16:43:53 +02:00
pancake c5281aefe8 Fix some pylint issues 2024-01-11 18:50:38 +01:00
David Wisdom 7a6c932de2 Catch unexpected subprocess crashes during command execution
The subprocess shouldn't ever terminate while it's executing the command. If the process ever has a return code, that means it has terminated during the command and something has gone wrong.
2023-11-06 14:13:46 +01:00
David Wisdom 63fb28bc94 Simplify KeyboardInterrupt handling 2023-11-06 14:13:46 +01:00
David Wisdom 0941b4ecfb Move segfault check outside try/except 2023-11-06 14:13:46 +01:00
David Wisdom 49b177ae4a Improve error handling to avoid infinite loop
If the subprocess crashed, we got stuck in an infinite loop because of the bare except clause. This change handles SIGINT instead of ignoring it, which allows the user to press ctrl-c to escape the infinite loop. This change also checks the return code of the subprocess and raises an exception if the process segfaulted. This prevents an infinite loop where we would try to read from a crashed process forever.
2023-11-06 14:13:46 +01:00
pancake 4c8380bcfd Fix r2pipe-spawn on Windows (delayed response issue) 2023-03-10 10:57:28 +01:00
pancake 510b469923 Fix #155 - Optimize r2pipe as suggested by @jmattheus
* Use bytearray() instead of b""
2022-11-25 11:39:11 +01:00
Marat Mkhitaryan b094e3655e removed time import 2022-09-05 17:37:51 +02:00
Marat Mkhitaryan 362f606224 Remove unused variable self.nonblocking, use bulk read 4096 instead of byte by byte, remove sleep that slows everything down a lot. 2022-09-05 17:37:51 +02:00
pancake 06b9f02993 Make the python pipe sync before the initial null byte 2022-09-04 20:11:37 +02:00
pancake e1d7cac927 Fix hello command on non-windows too and add another test 2022-06-04 23:39:18 +02:00
pancake 24cda00e9d Fix r2pipe on windows 2022-06-04 22:57:57 +02:00
Stiv Kupchik e3b54c17e9 Add Windows null byte check at start of pipe read 2022-04-26 10:56:54 +02:00
Stiv Kupchik 9a17942abe Make sleep time after pipe read configurable 2022-04-26 10:56:54 +02:00
pancake 1e0c95254f Fix opening relative files with ccall:// on r2pipe.py 2021-09-03 22:59:48 +02:00
pancake c98aa92246 improve 2021-08-31 21:03:22 +02:00
pancake 9706a2eeec Aim to fix the racy reads on sync spawn r2pipe.py 2021-08-31 21:03:22 +02:00
pancake 4a7402b97e Fix another unhandled exception on quit 2021-08-18 03:04:43 +02:00
pancake 81e11b935c Fix infinite loop on r2.quit() 2021-08-18 02:59:24 +02:00
murphy 44472af43f refactoring r2pipe python tests using pytest 2020-12-17 09:37:15 +01:00
murphy a7654a599f Throws exception when cannot open the file 2020-12-17 09:37:15 +01:00
pancake a0745ee27f Bring back some basic python2 support 2020-11-28 00:53:47 +01:00
pancake 399e831850 Use r2pipe.x instead of .x 2020-10-14 13:56:10 +02:00
pancake 7b64d98a2f Move back some imports 2020-10-14 13:51:44 +02:00
pancake 88e427fbcf r2pipe.py: Use async/await instead of the hacky coroutine decorators 2020-10-14 13:48:08 +02:00
Anton Kochkov 1a9986d82f Fix LGTM and flake8 warnings 2020-05-25 15:40:48 +08:00
Anton Kochkov 65987c58ee Reformat code with black 2020-05-25 15:08:45 +08:00
Anton Kochkov 886860dc51 Python 3 compatibility, drop Python 2 2020-05-25 15:07:56 +08:00
haystack b56063b423 More precise filename parsing in python module. Closes #114.
Previously, python module would check if filename started with "tcp"
or "http." This would cause weird edge cases where a relative path
starting with a directory called "tcp" or "http" would cause an
exception to be thrown. This checks for filenames that start with
"tcp://" or "http://" instead, which *might* still cause the same
issue but is less likely.
2020-05-06 10:46:42 -04:00
pancake 6f989f4c28 Release r2pipe.py 1.4.0 2019-06-20 02:28:57 +02:00
João Meira 056839f0cb small update open_sync.py (remove utf-8 decodes)
Hi guys! Please remove this decode as sometimes the output isn't utf8-decodeable.
https://user-images.githubusercontent.com/25626434/50499947-95937180-0a45-11e9-9607-2087a7aa73ad.png
2018-12-28 16:42:59 +00:00
a1ext ae19becda2 Fixes #85: bug with empty filename argument handling has been fixed 2018-12-13 01:04:44 +01:00
a1ext d955eb205d Python2/Python3 are now use synchronous interaction.
Fixed some compatibility issues
2018-12-06 14:00:36 +01:00
a1ext d63036e411 fixed radare/radare2-r2pipe#81, radare/radare2-r2pipe#82, radare/radare2-r2pipe#83
Introduced `radare2home` argument to `r2pipe.open`
2018-12-06 14:00:36 +01:00
a1ext 2e4348ac9d Fixed #81: fcntl module is unavailable on Windows (related to synchronous interaction) 2018-12-06 14:00:36 +01:00
Iru Cai (vimacs) 6a1bb1943f Fixes for py3 (#68)
* fix when using r2pipe.open()
* fix using r2pipe with python3
2018-08-17 17:41:56 +02:00
Releev abd79b5144 Some work done on merging python and python-async libs. 2018-03-19 15:58:04 +01:00