aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/flatrpc/helpers.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/rpcserver: pkg/flatrpc: executor: add handshake stage 0Alexander Potapenko2025-02-201-0/+1
| | | | | | | | | | | | | | | | | | | | As we figured out in #5805, syz-manager treats random incoming RPC connections as trusted, and will crash if a non-executor client sends an invalid packet to it. To address this issue, we introduce another stage of handshake, which includes a cookie exchange: - upon connection from an executor, the manager sends a ConnectHello RPC message to it, which contains a random 64-bit cookie; - the executor calculates a hash of that cookie and includes it into its ConnectRequest together with the other information; - before checking the validity of ConnectRequest, the manager ensures client sanity (passed ID didn't change, hashed cookie has the expected value) We deliberately pick a random cookie instead of a magic number: if the fuzzer somehow learns to send packets to the manager, we don't want it to crash multiple managers on the same machine.
* all: delete dead codeTaras Madan2025-02-101-13/+0
| | | | | go install golang.org/x/tools/cmd/deadcode@latest deadcode -test ./...
* pkg/fuzzer: try to triage on different VMsDmitry Vyukov2024-08-021-0/+9
| | | | Distribute triage requests to different VMs.
* all: add qemu snapshotting modeDmitry Vyukov2024-07-251-0/+10
|
* pkg/flatrpc: rename StartLeakChecks to CorpusTriagedDmitry Vyukov2024-07-011-1/+1
| | | | | | It's a more general name that says what happened rather than a detail of what excutor should do. We can use this notification for other things as well.
* executor: add runner modeDmitry Vyukov2024-06-241-5/+29
| | | | | | | Move all syz-fuzzer logic into syz-executor and remove syz-fuzzer. Also restore syz-runtest functionality in the manager. Update #4917 (sets most signal handlers to SIG_IGN)
* syz-fuzzer: repair leak checkingDmitry Vyukov2024-05-271-0/+1
| | | | | | | Notify fuzzer from the manager when corpus triage has finished to start leak checking. Fixes #4728
* pkg/ipc: remove ExecOptsDmitry Vyukov2024-05-211-0/+8
| | | | Switch to flatrpc.ExecOpts.
* pkg/ipc: remove ProgInfoDmitry Vyukov2024-05-211-0/+42
| | | | | | Switch to flatrpc.ProgInfo. Note: this disables syz-runtest and syz-verifier.
* pkg/flatrpc: move wait stats into start executing messageDmitry Vyukov2024-05-151-1/+0
| | | | | It will be much simpler to return wait time in start executing message. Then we don't need a separate message and don't need the count.
* pkg/flatrpc: refactor namesDmitry Vyukov2024-05-061-0/+29
Remove T suffix from object API types. It seems that we will use these types thoughout the code, and the suffix looks alien in Go code. So it's better to remove it before we started using these names more widely. Also add few extensions we will need to move feature checking to the host.