debian-forge/osbuild/util
Michael Vogt 0abdfb9041 jsoncomm: transparently handle huge messages via fds
The existing jsoncomm is a work of beautiy. For very big arguments
however the used `SOCK_SEQPACKET` hits the limitations of the
kernel network buffer size (see also [0]). This lead to various
workarounds in #824,#1331,#1836 where parts of the request are
encoded as part of the json method call and parts are done via
a side-channel via fd-passing.

This commit changes the code so that the fd channel is automatically
and transparently created and the workarounds are removed. A test
is added that ensures that very big messages can be passed.

[0] https://github.com/osbuild/osbuild/pull/1833
2024-09-17 19:27:03 +02:00
..
__init__.py util: mark as module 2020-04-21 17:00:04 +02:00
bls.py util: tweak bls.options_append() support no/multiple options 2024-02-28 10:37:01 +01:00
checksum.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
chroot.py util: run returns CompletedProcess 2024-09-10 19:10:06 +02:00
containers.py util: move get_host_storage() to a separate module 2024-08-21 19:26:31 +02:00
ctx.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
fscache.py fscache: use remove_lru() to reclaim space when the cache is full 2024-02-06 17:16:48 +01:00
host.py util: move get_host_storage() to a separate module 2024-08-21 19:26:31 +02:00
jsoncomm.py jsoncomm: transparently handle huge messages via fds 2024-09-17 19:27:03 +02:00
linux.py osutil: add Libc.futimens() wrapper for futimens() call 2023-12-12 22:57:21 +01:00
lorax.py autopep8: Update with changes to make autopep8 -a -a -a happy 2023-08-10 13:04:14 +02:00
lvm2.py autopep8: Update with changes to make autopep8 -a -a -a happy 2023-08-10 13:04:14 +02:00
mnt.py util/mnt: add a remount paramater 2024-03-11 18:15:24 +02:00
osrelease.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
ostree.py lint: sort import(s) 2024-03-05 16:10:27 +01:00
parsing.py util: Rename function 2024-03-25 18:26:53 +01:00
path.py util/path: new clamp mtime function 2022-12-15 13:10:35 +00:00
pe32p.py util: add module to parse PE32+ files 2022-11-14 20:10:59 +01:00
rhsm.py util: fix typo in get_consumer_secrets 2022-12-09 21:46:43 +01:00
rmrf.py ostuild: fix new pylint error with latest pylint version 2023-11-15 18:31:56 +01:00
runners.py Revert "runners: clean up temp files before exiting the runner" 2024-05-20 11:55:24 -07:00
selinux.py osbuild: add support to exclude_paths to setfiles() 2024-03-20 18:05:51 +01:00
term.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
toml.py util/toml: disable unspecified-encoding check 2024-08-21 19:26:31 +02:00
types.py osbuild: fix optional-types 2022-07-13 17:31:37 +02:00
udev.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00