Commit Graph

1179 Commits

Author SHA1 Message Date
372c194f7a address clippy issues in latest rust release (#884) 2021-05-13 14:25:09 -04:00
69f12f9d9f log full error context when supervisor exits (#879) 2021-05-13 06:33:36 +00:00
584f68065d cleanup a handful of scaleset logs (#880) 2021-05-12 17:31:08 -04:00
54d49a973e cargo audit fix (#873) 2021-05-11 08:54:21 -04:00
3553f84a0d Update existing breakpoint instead of overwriting (#874) 2021-05-10 15:18:14 -07:00
03dd33965c ignore rust audit issues as anymap is no longer maintained (#871)
* ignore rust audit issues as anyhow is no longer maintained

* fix proxy ci script

Co-authored-by: Brian Caswell <bmc@shmoo.com>
2021-05-10 14:39:43 -07:00
5af0c18bc3 Try to use Sancov tables when analyzing ELF modules (#868)
* Try to use Sancov tables when analyzing ELF modules

* Remove warning

* Add ELF Sancov table example
2021-05-10 08:37:33 -07:00
221a3316a1 Add StopIfFree node command to tell free nodes to stop asking for new work (#866) 2021-05-07 13:55:50 -04:00
eba6fa4456 Improve access scanner (#864)
- Detect Sancov table accesses via static displacements, not just PC-relative
- Explicitly skip instructions with no memory operand
- Skip instructions whose effective address relies on (non-PC) register values
2021-05-07 07:04:08 -07:00
838e2bff0a update azure-cli and azure-cli-core to 2.23.0 (#861) 2021-05-07 13:27:43 +00:00
5001e8fa5f Update sha2 to 0.9.4 (#865) 2021-05-06 23:00:50 -04:00
d06ab1eb68 release 2.16.0 (#862) 2.16.0 2021-05-06 19:08:04 -04:00
c01c30fa7a adding option to only deploy the rbac resources (#818)
adds option to only deploy the rbac resources
closes #814
2021-05-06 17:44:51 +00:00
883f46c72b explicitly ignore azcopy temporary files from directory monitoring (#859) 2021-05-06 13:17:24 -04:00
007ecf2efe shutdown missing scalesets during resize (#860) 2021-05-06 12:00:09 -04:00
7c937a9b97 Explicitly pad start delimiters on Windows (#858)
Sancov table start delimiters are padded on Windows, but not Linux. Expose this in the `SancovDelimiters` interface and update the PE block provider.
2021-05-06 08:39:32 -07:00
00210199c9 Factor out Sancov analysis (#855) 2021-05-06 09:08:28 -04:00
99c258f356 release 2.15.0 (#854) 2.15.0 2021-05-05 17:01:53 -04:00
ca7f0f16ba Try to use Sancov tables when recording Windows coverage (#844)
- Add Sancov table discovery for Windows modules with debug info
- When recording coverage, try to recover coverage blocks from Sancov tables
- Not tested against x86-32 targets, should be close
2021-05-04 08:33:07 -07:00
e5d66bc191 Make field public (#852)
Allow consumers to stay consistent with the OneFuzz block coverage report format, but mutate reports if desired.
2021-05-03 16:53:50 -07:00
78c133433e Increase field visibility (#850) 2021-05-03 14:54:11 -07:00
146a8b5119 Move PDB functions into own module (#843)
This does not implement any logic changes, but reorganizes code for easier re-use.
2021-05-03 10:16:00 -07:00
04aeebdec5 Update pdb to 0.7 (#842)
Picks up some small bugfixes and panic removals.
2021-05-03 09:49:37 -07:00
b5d3c53de4 update contrib deploy dependencies (#847) 2021-05-03 11:47:30 -04:00
f255301425 Ignore inline frames when getting current frame (#838) 2021-04-28 14:43:32 -07:00
d6953fd8be Separate report serialization from runtime struct (#837)
- Redefine the coverage report format to be easily extensible
- Introduce a generic `CoverageReport` struct for coverage report serialization
- Implement runtime-recorded block coverage serialization via conversion into the former
2021-04-28 09:25:00 -07:00
358d85ef82 fix cli client registration (#825)
- The CLIClient approle was not assigned to the cli registration created byt he registration.py script
2021-04-26 20:35:34 +00:00
ced21b2ea3 Add node messages to node get (#836)
This exposes the node commands that have yet to be processed by the node.  Example use case:  The SDK can now ask "has this node installed my SSH key"
2021-04-26 16:14:58 -04:00
541e745199 handle queues vanishing during peek (#832)
Handle queues getting deleted during peek_queue.  This can happen when
polling the pool for work while the pool is getting shut down.
2021-04-26 15:42:40 -04:00
f4b5c1ae73 when processing node updates, don't wait on the node in cases it should be stopped (#834)
In situations when the node should be done, mark it as done without
waiting for the node to respond to the Done command.
2021-04-26 15:19:46 -04:00
fde43a3921 move to Instant.elapsed() instead of time::Sleep timer (#833)
In current tokio, time::sleep().elapsed does not update unless the Sleep is polled.  as such, the execute_pending_commands never fires.  This replaces the sleep().elapsed with Instant.elapsed().
2021-04-26 14:39:04 -04:00
99724b1367 add context to Expand errors (#835) 2021-04-26 13:58:24 -04:00
cf3d904940 address formatting from black 21.4b0 (#831) 2021-04-26 12:35:16 -04:00
b5db1bd3fe update azure-cli to 2.21.1 (#821) 2021-04-26 08:45:26 -04:00
a09fbcc865 update azure-mgmt-resource to 16.1.0 (#822) 2021-04-23 21:58:32 -04:00
8f2cf865f1 update azure-mgmt-storage to 17.1.0 (#823) 2021-04-24 00:33:29 +00:00
8d2407e458 update azure-storage-queue to 12.1.6 (#827) 2021-04-24 00:18:07 +00:00
e95e4a3591 update azure-storage-blob to 12.8.1 (#828) 2021-04-23 20:23:50 +00:00
e759133287 update third-party rust libraries (#829) 2021-04-23 10:04:01 -04:00
954cdac5ec update multiple rust dependencies (#826) 2021-04-22 10:08:45 -04:00
938ee72fbb release 2.14.0 (#824) 2.14.0 2021-04-21 13:35:23 -04:00
c262295f38 Improve usability of coverage types (#820)
- Weaken argument bounds to `IntoIterator`
- Reduce log level to `debug`
2021-04-20 16:29:01 -07:00
d8ab1241e3 Add coverage recording to input tester (#816)
Add a `module_cache` field to the `Tester` struct and ctor (which is not used by OneFuzz). This enables coverage collection when using it to test inputs. Add an optional `coverage` field to the `DebuggerResult` in the `input-tester` crate. This lets users retrieve per-input coverage after testing an input.
2021-04-20 08:46:44 -07:00
b9b86f534c Refactor debugger breakpoint handling (#790)
Also update `read_memory` api to not return breakpoints we've written.
2021-04-19 13:06:50 -07:00
85f606ab6a refactor SyncDir and blob container url (#809) 2021-04-19 17:38:58 +00:00
8d5a7d1ed5 Add computation of block coverage statistics (#812) 2021-04-16 14:43:32 -07:00
6b634ff455 add additional privilages required to deployment role (#808) 2021-04-16 19:27:42 +00:00
404c12354c Use u32 to represent module offsets (#811)
In #765, we introduced an assumption that all module-relative instruction offsets are representable by a `u32`. Move to an explicit `u32` repr for offsets, and add validation to check for overflow at conversion sites.
2021-04-15 18:15:41 -07:00
4d86765be3 Simplify handling of OS-sensitive test cases (#810)
- Add `module!` test helper to let us always define tests paths using POSIX-style paths
- Use `serde_json::json!` macro for maintainable definitions of expected test results
2021-04-15 14:48:08 -07:00
d9eda00f12 disable expect_crash_on_failure by default in more places (#807)
dotnet, as well as the _create_tasks helper still used the old default for requiring crash files on libFuzzer exiting non-zero
2021-04-15 20:19:10 +00:00