aboutgitcodelistschat:MatrixIRC
Commit message (Collapse)AuthorAgeFilesLines
...
* | Makefile: Fix buildStefano Brivio2023-06-141-1/+1
|/ | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker: Fix up debugging messages for "return"Stefano Brivio2023-06-145-24/+47
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker/parse: Error out on 'continue' with value/error tagStefano Brivio2023-06-141-4/+4
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker/calls: Actually add io.{c,h}Stefano Brivio2023-06-142-0/+135
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker/filter: Stop the sock_filter cast madnessStefano Brivio2023-06-142-92/+65
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker: Support for read(), OP_STORE, field-based filtersStefano Brivio2023-06-1413-231/+386
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* gluten: remove unused blk opAlice Frosi2023-06-121-1/+0
|
* filter: increment counter only if call has argsAlice Frosi2023-06-121-0/+2
|
* cooker: Pass arguments to filterStefano Brivio2023-06-097-11/+76
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* demo: with mknod and podmanAlice Frosi2023-06-094-105/+160
| | | | | | Splited common functions in web/common.sh and created new script for mknod demo. The demo uses the mount namespace of the caller. Additionally, this removes extra commented lines in demo/mknod.hjson.
* seitan,cooker: add wd to change work directory and mknodAlice Frosi2023-06-099-102/+132
| | | | | | | | | | | | | | | | | ./seitan-cooker demo/mknod.hjson demo/mknod.gluten demo/mknod.bpf Start seitan with the socket option: ./seitan -s /tmp/seitan.sock -i demo/mknod.gluten Start the container: sudo rm -f /dev/lol sudo chown $USER:$USER /tmp/seitan.sock podman run -ti --runtime /usr/bin/crun \ --security-opt label=disable \ -v $(pwd)/test:/test \ --annotation run.oci.seccomp_bpf_data="$(base64 -w0 demo/mknod.bpf)" \ --annotation run.oci.seccomp.receiver=/tmp/seitan.sock fedora \ sh -c 'mknod /dev/lol c 1 7 && ls -l /dev/lol'
* cooker: Full support for flags and masks, assorted fixesStefano Brivio2023-06-0812-52/+193
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* mknod/mknodat values, initial support for MASK flag, OP_BITWISEStefano Brivio2023-06-0711-87/+225
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* seitan, cooker: refactor op_returnAlice Frosi2023-06-078-89/+76
| | | | | | | Refactor OP_RETURN: - merged OP_BLOCK and OP_CONT into OP_RETURN - add desc field for op_return - updated the demo files
* seitan,cooker: op_resolvefdAlice Frosi2023-06-078-18/+88
| | | | | | | | | ops: - update resolvefd with the description - add debug prints cooker: - add emit_resolvefd when match has type FDPATH
* web: generating connect demo with asciinemaAlice Frosi2023-06-071-0/+189
|
* seitan, main: Più umano più vero (more human more true)Stefano Brivio2023-06-071-20/+25
| | | | | | ...and terminate on EPOLLHUP. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* demo: Add mknod.hjsonStefano Brivio2023-06-061-0/+42
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker: Draft quality: mknod/mknodat, sets of values with "in"Stefano Brivio2023-06-0612-42/+293
| | | | | | | | While at it: - directly assign 'fd' in eater from install_filter() - turn op_cmp into a description-style thing Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* seitan-run: Drop -x, refine cleanupStefano Brivio2023-06-051-2/+3
| | | | | | If DIR already exists, just remove our entries. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* seitan-run: restore old behaviorAlice Frosi2023-06-051-2/+1
| | | | Clean-up the entire DIR.
* seitan: add debug message for op_load/op_cmpAlice Frosi2023-06-051-4/+9
|
* cooker: use unsigned short for family with connectAlice Frosi2023-06-056-3/+9
|
* cooker: missing size set for op_loadAlice Frosi2023-06-051-0/+1
|
* seitan: fix jmp in op_nrAlice Frosi2023-06-051-6/+2
|
* seitan: use jmp.offset as absolute valueAlice Frosi2023-06-051-4/+2
|
* seitan: operationsAlice Frosi2023-06-052-23/+28
| | | | | | | | Added: - fix offset for jumping to the next block (use absolute jump and not relative. - fix op_cmp, jump if the comparison is true. - added a couple of debug print
* demo: extend demo with additional matchesAlice Frosi2023-06-052-2/+15
| | | | | Add matches for injecting error and faking the connect syscall. Fix seitan-run clean-up: delete only *.bpf and *.gluten files
* cooker: add emit_endAlice Frosi2023-06-053-1/+18
|
* cooker: Generic attributes and ATTR_SIZEStefano Brivio2023-06-048-31/+89
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* demo: Start with a connect() exampleStefano Brivio2023-06-042-0/+15
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* treewide: Change to GPLv2, add LICENSES, missing headersStefano Brivio2023-06-0465-204/+418
| | | | | | As discussed with Alice -- 'reuse lint' passes now. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* seitan-run: Assorted cleanupsStefano Brivio2023-06-031-14/+18
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* Introduce seitan-runStefano Brivio2023-06-021-0/+37
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* seitan: Minor header cleanupStefano Brivio2023-06-021-2/+3
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker: json_object_get_boolean() can return true for missing keyStefano Brivio2023-06-021-2/+2
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* gluten: What's const is constStefano Brivio2023-06-022-2/+2
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* seitan: whoopsStefano Brivio2023-06-022-8/+5
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker, seitan: OP_FDStefano Brivio2023-06-027-37/+107
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker, seitan: fix some bugs for op callAlice Frosi2023-06-024-21/+34
| | | | | | | | | | | | | | cooker: - added missing OP_CALL type - local copy of the offset for the type STRUCT - fix return offset - added type LONG in emit_data seitan: - check context if NULL - fix ptr dereference - added a couple of debug print - added error message in seitan for eval
* cooker, seitan: OP_CALL arguments and contextStefano Brivio2023-06-0210-198/+314
| | | | Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* cooker: OP_CALL and OP_COPY stuffStefano Brivio2023-06-0119-357/+1025
| | | | | | ...mostly. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
* ops: adjust op_callAlice Frosi2023-06-014-55/+102
|
* filter: fix filter build and adjust testsAlice Frosi2023-05-222-282/+261
| | | | | | | Changes: - fix initialization of size - addedfew comments - finish to fix the test_filter_build tests
* filter: adjust filter buildAlice Frosi2023-05-196-320/+327
| | | | | | | Add filter_flush_args() to flush the arguments when finish to add the syscall arguments. Fixed test compilation after refactoring.
* test: fix compilation and adjust changesAlice Frosi2023-05-192-24/+31
|
* ops: fix op_cmp and testAlice Frosi2023-05-192-93/+72
|
* ops: fix op_call and testsAlice Frosi2023-05-197-151/+234
|
* cooker, seitan: simple working exampleAlice Frosi2023-05-176-7/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parser: - add OP_BLOCK and OP_RETURN to the parser seitan: - fix op_cmp in seitan, it was jmp when comparison was true Working example: demo.json: [ { "match": [ /* qemu-pr-helper and similar */ { "connect": { "addr": { "family": "unix", "path": "/tmp/test.sock" } } } ], "return": 0 } ] Create gluten and the bpf filter: $ seitan-cooker demo.hjson demo.gluten demo.bpf Launch the seitan eater with the target program: $ seitan-eater -i demo.bpf -- strace -e connect tests-utils/test-syscalls connect Start seitan with gluten: $ seitan -i demo.gluten -p $(pgrep seitan-eater) Seitan mocks the connect syscall and `connect` returns successfully: $ seitan-eater -i demo.bpf -- strace -e connect tests-utils/test-syscalls connect Test syscall: connect connect(4, {sa_family=AF_UNIX, sun_path="/tmp/test.sock"}, 108) = 0
* Minor fixes for the filter and the eaterAlice Frosi2023-05-174-6/+14
| | | | | | Add: - ignore_args field for the filter. - use MAX_FILTER to define the filter size in the eater