mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-17 16:47:50 +00:00
- Add -I../../include to CFLAGS so common/config.h is found. - Guard the TCP queue enum in tcp-conn.c with #ifndef CONFIG_HAS_TCP_REPAIR, matching soccr.h, to avoid redeclaration errors on systems where <netinet/tcp.h> already provides these symbols. - Use libsoccr_release(so) instead of libsoccr_resume(so) for the original socket handle whose fd was already closed, fixing a Bad file descriptor error from setsockopt. - Port run.py and tcp-test.py to Python 3: use bytes literals for pipe I/O, read from sys.stdin.buffer, and decode pipe output before parsing. - Replace eval() with ast.literal_eval() to avoid code injection warnings. - Clean all test binaries in the clean target, and hook it into the top-level make clean/mrproper via clean-top. - Add soccr/test Python files to the top-level ruff target. Assisted-by: Claude Code (claude-opus-4-6) Signed-off-by: Adrian Reber <areber@redhat.com>
20 lines
465 B
Python
Executable file
20 lines
465 B
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import socket
|
|
import hashlib
|
|
|
|
sk = socket.fromfd(3, socket.AF_INET, socket.SOCK_STREAM)
|
|
|
|
s = sys.stdin.buffer.read()
|
|
ret = sk.send(s)
|
|
print("%s: send() -> %d" % (sys.argv[1], ret), file=sys.stderr)
|
|
sk.shutdown(socket.SHUT_WR)
|
|
m = hashlib.md5()
|
|
while True:
|
|
s = sk.recv((1 << 20) * 10)
|
|
if not s:
|
|
break
|
|
print("%s: recv() -> %d" % (sys.argv[1], len(s)), file=sys.stderr)
|
|
m.update(s)
|
|
print(repr(m.hexdigest()))
|