File: changelog.rst

package info (click to toggle)
python-ptrace 0.9.9-0.2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 788 kB
  • sloc: python: 10,167; ansic: 263; makefile: 164
file content (270 lines) | stat: -rw-r--r-- 9,794 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
.. _changelog:

Changelog
=========

python-ptrace 0.9.9 (2024-03-13)
--------------------------------

* Fix arguments of pipe/pipe2 system calls for proper display in call format.
  Patch by José Pereira.
* Introduced support for three-digit minor device IDs in ``PROC_MAP_REGEX``.
  Patch by fab1ano.
* Added RISCV (riscv32/riscv64) support.
  Patch by Andreas Schwab and vimer/yuzibo.
* Fix stray exception raised by child processes terminating with exit code 255.
  Patch by Duane Voth/duanev.
* Removed usage of the ``imp`` module.
  Collaboration between Mario Haustein/hamarituc and Stephen Kitt/skitt.

python-ptrace 0.9.8 (2021-03-17)
--------------------------------

* Added Arm 64bit (AArch64) support.
* Implemented ``PTRACE_GETREGSET`` and ``PTRACE_SETREGSET`` required on AArch64
  and available on Linux.
* Issue #66: Fix ``SIGTRAP|0x80`` or ``SIGTRAP`` wait in syscall_state.exit
  (``PTRACE_O_TRACESYSGOOD``).
* The development branch ``master`` was renamed to ``main``.
  See https://sfconservancy.org/news/2020/jun/23/gitbranchname/ for the
  rationale.

python-ptrace 0.9.7 (2020-08-10)
--------------------------------

* Add missing module to install directives
* Update README.rst
* Project back in beta and maintenance

python-ptrace 0.9.6 (2020-08-10)
--------------------------------

* Remove RUNNING_WINDOWS constant: python-ptrace doesn't not support Windows.
* Drop Python 2.7 support. six dependency is no longer needed.
* Add close_fds and pass_fds to createChild() function.
  Patch by Jean-Baptiste Skutnik.
* Enhance strace.py output for open flags and open optional parameters.
  Patch by Jean-Baptiste Skutnik.
* Add support for PowerPC 64-bit (ppc64).
  Patch by Jean-Baptiste Skutnik.

python-ptrace 0.9.5 (2020-04-13)
--------------------------------

* Fix readProcessMappings() for device id on 3 digits. Patch by Cat Stevens.
* Drop Python 2 support.

python-ptrace 0.9.4 (2019-07-30)
--------------------------------

* Issue #36: Fix detaching from process object created without is_attached=True
* The project now requires the six module.
* Project moved to: https://github.com/vstinner/python-ptrace

python-ptrace 0.9.3 (2017-09-19)
--------------------------------

* Issue #42: Fix test_strace.py: tolerate the openat() syscall.

python-ptrace 0.9.2 (2017-02-12)
--------------------------------

* Issue #35: Fix strace.py when tracing multiple processes: use the correct
  process. Fix suggested by Daniel Trnka.

python-ptrace 0.9.1 (2016-10-12)
--------------------------------

* Added tracing of processes created with the clone syscall (commonly known as
  threads).
* gdb.py: add ``gcore`` command, dump the process memory.
* Allow command names without absolute path.
* Fix ptrace binding: clear errno before calling ptrace().
* Fix PtraceSyscall.exit() for unknown error code
* Project moved to GitHub: https://github.com/haypo/python-ptrace
* Remove the ``ptrace.ctypes_errno`` module: use directly
  the ``ctypes.get_errno()`` function
* Remove the ``ptrace.ctypes_errno`` module: use directly
  ``ctypes.c_int8``, ``ctypes.c_uint32``, ... types

python-ptrace 0.9 (2016-04-23)
------------------------------

* Add all Linux syscall prototypes
* Add error symbols (e.g. ENOENT), in addition to error text, for strace
* Fix open mode so O_RDONLY shows if it's the only file access mode
* Python 3: fix formatting of string syscall arguments (ex: filenames), decode
  bytes from the locale encoding
* Issue #17: syscall parser now supports O_CLOEXEC and SOCK_CLOEXEC, fix unit
  tests on Python 3.4 and newer

python-ptrace 0.8.1 (2014-10-30)
--------------------------------

* Update MANIFEST.in to include all files
* Fix to support Python 3.5

python-ptrace 0.8 (2014-10-05)
------------------------------

* Issue #9: Rewrite waitProcessEvent() and waitSignals() methods of
  PtraceProcess to not call waitpid() with pid=-1. There is a race condition
  with waitpid(-1) and fork, the status of the child process may be returned
  before the debugger is noticed of the creation of the new child process.
* Issue #10: Fix PtraceProcess.readBytes() for processes not created by the
  debugger (ex: fork) if the kernel blocks access to private mappings of
  /proc/pid/mem. Fallback to PTRACE_PEEKTEXT which is slower but a debugger
  tracing the process is always allowed to use it.

python-ptrace 0.7 (2013-03-05)
------------------------------

* Experimental support of Python 3.3 in the same code base
* Drop support of Python 2.5
* Remove the ptrace.compatibility module
* Fix Process.readStruct() and Process.readArray() on x86_64
* Experimental support of ARM architecture (Linux EAPI),
  strace.py has been tested on Raspberry Pi (armv6l)

python-ptrace 0.6.6 (2013-12-16)
--------------------------------

* Fix os_tools.RUNNING_LINUX for Python 2.x compiled on Linux kernel 3.x
* Support FreeBSD on x86_64
* Add missing prototype of the unlinkat() system call. Patch written by
  Matthew Fernandez.

python-ptrace 0.6.5 (2013-06-06)
--------------------------------

* syscall: fix parsing socketcall on Linux x86
* syscall: fix prototype of socket()

python-ptrace 0.6.4 (2012-02-26)
--------------------------------

* Convert all classes to new-style classes, patch written by teythoon
* Fix compilation on Apple, patch written by Anthony Gelibert
* Support GNU/kFreeBSD, patch written by Jakub Wilk
* Support sockaddr_in6 (IPv6 address)

python-ptrace 0.6.3 (2011-02-16)
--------------------------------

* Support distrom3
* Support Python 3
* Rename strace.py option --socketcall to --socket, and fix this option for
  FreeBSD and Linux/64 bits
* Add MANIFEST.in: include all files in source distribution (tests, cptrace
  module, ...)

python-ptrace 0.6.2 (2009-11-09)
--------------------------------

* Fix 64 bits sub registers (set mask for eax, ebx, ecx, edx)

python-ptrace 0.6.1 (2009-11-07)
--------------------------------

* Create follow, showfollow, resetfollow, xray commands in gdb.py. Patch
  written by Dimitris Glynos
* Project website moved to: ``http://bitbucket.org/haypo/python-ptrace/``
* Replace types (u)intXX_t by c_(u)intXX
* Create MemoryMapping.search() method and MemoryMapping now keeps a weak
  reference to the process

python-ptrace 0.6 (2009-02-13)
------------------------------

User visible changes:

* python-ptrace now depends on Python 2.5
* Invalid memory access: add fault address in the name
* Update Python 3.0 conversion patch
* Create -i (--show-ip) option to strace.py: show instruction pointer
* Add a new example (itrace.py) written by Mark Seaborn and based
  on strace.py

API changes:

* PtraceSyscall: store the instruction pointer at syscall enter (if the
  option instr_pointer=True, disabled by default)
* Remove PROC_DIRNAME and procFilename() from ptrace.linux_proc

Bugfixes:

* Fix locateProgram() for relative path
* Fix interpretation of memory fault on MOSVW instruction (source is ESI and
  destination is EDI, and not the inverse!)

python-ptrace 0.5 (2008-09-13)
------------------------------

Visible changes:

* Write an example (the most simple debugger) and begin to document the code
* gdb.py: create "dbginfo" command
* Parse socket syscalls on FreeBSD
* On invalid memory access (SIGSEGV), eval the dereference expression to get
  the fault address on OS without siginfo (e.g. FreeBSD)
* Fixes to get minimal Windows support: fix imports, fix locateProgram()

Other changes:

* Break the API:
  - Rename PtraceDebugger.traceSysgood() to PtraceDebugger.enableSysgood()
  - Rename PtraceDebugger.trace_sysgood to PtraceDebugger.use_sysgood
  - Remove PtraceProcess.readCode()
* Create createChild() function which close all files except stdin,
  stdout and stderr
* On FreeBSD, on process exit recalls waitpid(pid) to avoid zombi process


python-ptrace 0.4.2 (2008-08-28)
--------------------------------

* BUGFIX: Fix typo in gdb.py (commands => command_str), it wasn't possible to
  write more than one command...
* BUGFIX: Fix typo in SignalInfo class (remove "self."). When a process
  received a signal SIGCHLD (because of a fork), the debugger exited because
  of this bug.
* BUGFIX: Debugger._wait() return abnormal process exit as a normal event,
  the event is not raised as an exception
* PtraceSignal: don't clear preformatted arguments (e.g. arguments of execve)

python-ptrace 0.4.1 (2008-08-23)
--------------------------------

* The project has a new dedicated website: http://python-ptrace.hachoir.org/
* Create cptrace: optional Python binding of ptrace written in C (faster
  than ptrace, the Python binding written in Python with ctypes)
* Add name attribute to SignalInfo classes
* Fixes to help Python 3.0 compatibility: don't use sys.exc_clear()
  (was useless) in writeBacktrace()
* ProcessState: create utime, stime, starttime attributes

python-ptrace 0.4.0 (2008-08-19)
--------------------------------

Visible changes:

* Rename the project to "python-ptrace" (old name was "Ptrace)
* strace.py: create --ignore-regex option
* PtraceSignal: support SIGBUS, display the related registers and
  the instruction
* Support execve() syscall tracing

Developer changes:

* New API is incompatible with 0.3.2
* PtraceProcess.waitProcessEvent() accepts optional blocking=False argument
* PtraceProcess.getreg()/setreg() are able to read/write i386 and x86-64
  "sub-registers" like al or bx
* Remove iterProc() function, replaced by openProc() with explicit
  call to .close() to make sure that files are closed
* Create searchProcessesByName()
* Replace CPU_PPC constant by CPU_POWERPC and create CPU_PPC32 and CPU_PPC64
* Create MemoryMapping object, used by readMappings() and findStack() methods
  of PtraceProcess
* Always define all PtraceProcess methods but raise an error if the function
  is not implemented