In v2:
- use int instead of bool in the public header
- split the tests from the code
- don't overload test-layers; instead, add new tests
- add a missing fflush exposed by the new tests
- other minor cleanups
Eric Blake (3):
server: Add nbdkit_stdio_safe
server: Sanitize stdin/out before running plugin code
server: More tests of stdin/out handling
docs/nbdkit-plugin.pod | 23 ++++-
plugins/sh/nbdkit-sh-plugin.pod | 4 +-
include/nbdkit-common.h | 1 +
tests/Makefile.am | 23 +++++
server/internal.h | 2 +
server/background.c | 14 +--
server/captive.c | 10 +-
server/connections.c | 12 ---
server/main.c | 38 ++++++-
server/nbdkit.syms | 1 +
server/public.c | 18 +++-
server/test-public.c | 23 ++++-
plugins/sh/sh.c | 7 +-
tests/test-single-sh.sh | 78 +++++++++++++++
tests/test-stdio.sh | 95 ++++++++++++++++++
tests/test-stdio-plugin.c | 170 ++++++++++++++++++++++++++++++++
16 files changed, 489 insertions(+), 30 deletions(-)
create mode 100755 tests/test-single-sh.sh
create mode 100755 tests/test-stdio.sh
create mode 100644 tests/test-stdio-plugin.c
--
2.26.0