1882 Commits

Author SHA1 Message Date
Joe Ranweiler
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
Joe Ranweiler
78c133433e
Increase field visibility (#850) 2021-05-03 14:54:11 -07:00
Joe Ranweiler
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
Joe Ranweiler
04aeebdec5
Update pdb to 0.7 (#842)
Picks up some small bugfixes and panic removals.
2021-05-03 09:49:37 -07:00
Jason Shirk
f255301425
Ignore inline frames when getting current frame (#838) 2021-04-28 14:43:32 -07:00
Joe Ranweiler
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
Cheick Keita
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
bmc-msft
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
bmc-msft
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
bmc-msft
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
bmc-msft
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
bmc-msft
99724b1367
add context to Expand errors (#835) 2021-04-26 13:58:24 -04:00
bmc-msft
cf3d904940
address formatting from black 21.4b0 (#831) 2021-04-26 12:35:16 -04:00
bmc-msft
b5db1bd3fe
update azure-cli to 2.21.1 (#821) 2021-04-26 08:45:26 -04:00
bmc-msft
a09fbcc865
update azure-mgmt-resource to 16.1.0 (#822) 2021-04-23 21:58:32 -04:00
bmc-msft
8f2cf865f1
update azure-mgmt-storage to 17.1.0 (#823) 2021-04-24 00:33:29 +00:00
bmc-msft
8d2407e458
update azure-storage-queue to 12.1.6 (#827) 2021-04-24 00:18:07 +00:00
bmc-msft
e95e4a3591
update azure-storage-blob to 12.8.1 (#828) 2021-04-23 20:23:50 +00:00
bmc-msft
e759133287
update third-party rust libraries (#829) 2021-04-23 10:04:01 -04:00
bmc-msft
954cdac5ec
update multiple rust dependencies (#826) 2021-04-22 10:08:45 -04:00
Joe Ranweiler
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
Joe Ranweiler
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
Jason Shirk
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
Cheick Keita
85f606ab6a
refactor SyncDir and blob container url (#809) 2021-04-19 17:38:58 +00:00
Joe Ranweiler
8d5a7d1ed5
Add computation of block coverage statistics (#812) 2021-04-16 14:43:32 -07:00
bmc-msft
6b634ff455
add additional privilages required to deployment role (#808) 2021-04-16 19:27:42 +00:00
Joe Ranweiler
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
Joe Ranweiler
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
bmc-msft
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
bmc-msft
c5e0163068
catch VM SKU & VM Image generation mismatch failures (#803) 2021-04-14 14:34:12 -04:00
bmc-msft
b599aea5cd
allow extra fields in Events (#805) 2021-04-14 13:09:21 -04:00
bmc-msft
c8572cd55a
remove timestamp from WebhookMessageLog model (#804) 2021-04-14 12:49:46 -04:00
Cheick Keita
e413aec03d
Upgrade to tokio 1.5.0 (#800)
Upgrade to tokio 1.5.0
replaced tokio::sync::mpsc:: with [flume ](https://crates.io/crates/flume) because try_recv was removed
2021-04-14 10:07:28 +00:00
Cheick Keita
3f52f34b6a
Allow the local run to work without copying the synced dirs (#794)
Added an option to local run to not create a job directory
2021-04-13 23:53:37 +00:00
bmc-msft
627463d94b
only record the first failure if a task has multiple failures (#797) 2021-04-13 17:36:56 -04:00
bmc-msft
50ee2abf28
add basic context to every retried request (#798) 2021-04-13 17:36:46 -04:00
bmc-msft
5135aa1a27
remove unused import from coverage example (#799) 2021-04-13 17:36:36 -04:00
bmc-msft
c570f55088
show task error details in logs (#802) 2021-04-13 17:34:15 -04:00
bmc-msft
470e95c833
add Timestamp to multiple models (#796)
Expose the Azure storage table's "Timestamp" for the models where Timestamp should be user-accessible and remove the Timestamp field from models that did not sign up for it.

The behavior where Timestamp is only set by Azure Storage is kept.
2021-04-13 19:03:25 +00:00
bmc-msft
39464dc606
simplify removing UserInfo from events prior to logging (#795) 2021-04-13 15:47:08 +00:00
bmc-msft
46b8bdccbc
add TaskConfig to crash_reported and regression_reported events (#793)
resolves #757 and #758
2021-04-13 10:24:12 +00:00
Joe Ranweiler
6a817e6c9e
Use dbghelp APIs to find PDB for PE when disassembling (#779)
- Use default dbghelp user search path
- Add module dir to search path
- Allow reusing existing symbol handler context
2021-04-12 11:37:44 -07:00
bmc-msft
338a803a0d
invert expect_crash_on_failure config option defaults (#792) 2021-04-12 14:08:36 -04:00
bmc-msft
542129bd1f
invert the TUI event filter (#787) 2021-04-09 19:37:17 -04:00
bmc-msft
ef8e200438
embed coverage debugger scripts (#783) 2021-04-09 19:16:41 -04:00
bmc-msft
a91b5aae89
don't remove inputs once processed (#788) 2021-04-09 17:41:44 -04:00
bmc-msft
ba009cd30a
combine execs/sec and iteration counts from multiple workers (#786) 2021-04-09 17:21:08 -04:00
bmc-msft
030ab4b87f
limit the amount of data recorded from libFuzzer's stderr (#785) 2021-04-09 15:44:57 -04:00
bmc-msft
4f6432bdc3
don't refresh system stats when only reporting process stats (#784) 2021-04-09 14:12:13 -04:00
Cheick Keita
4086e7695e
Wiring up the UI to the events (#776)
## Summary of the Pull Request
- The UI now receives the telemetry events
- A new section for the coverage has been added 
- All synced dir are now monitored by the UI
- Gracefully exit from the UI 


depends on #663
2021-04-09 17:05:48 +00:00