Commit Graph

597 Commits

Author SHA1 Message Date
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
c5e0163068 catch VM SKU & VM Image generation mismatch failures (#803) 2021-04-14 14:34:12 -04:00
0e9b6e379f Add example job pipelines (#778) 2021-04-14 14:11:53 -04:00
b599aea5cd allow extra fields in Events (#805) 2021-04-14 13:09:21 -04:00
c8572cd55a remove timestamp from WebhookMessageLog model (#804) 2021-04-14 12:49:46 -04:00
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
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
627463d94b only record the first failure if a task has multiple failures (#797) 2021-04-13 17:36:56 -04:00
50ee2abf28 add basic context to every retried request (#798) 2021-04-13 17:36:46 -04:00
5135aa1a27 remove unused import from coverage example (#799) 2021-04-13 17:36:36 -04:00
c570f55088 show task error details in logs (#802) 2021-04-13 17:34:15 -04:00
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
39464dc606 simplify removing UserInfo from events prior to logging (#795) 2021-04-13 15:47:08 +00:00
46b8bdccbc add TaskConfig to crash_reported and regression_reported events (#793)
resolves #757 and #758
2021-04-13 10:24:12 +00:00
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
338a803a0d invert expect_crash_on_failure config option defaults (#792) 2021-04-12 14:08:36 -04:00
a0291350c5 release 2.13.0 (#791) 2.13.0 2021-04-12 12:54:08 -04:00
542129bd1f invert the TUI event filter (#787) 2021-04-09 19:37:17 -04:00
ef8e200438 embed coverage debugger scripts (#783) 2021-04-09 19:16:41 -04:00
a91b5aae89 don't remove inputs once processed (#788) 2021-04-09 17:41:44 -04:00
ba009cd30a combine execs/sec and iteration counts from multiple workers (#786) 2021-04-09 17:21:08 -04:00
030ab4b87f limit the amount of data recorded from libFuzzer's stderr (#785) 2021-04-09 15:44:57 -04:00
4f6432bdc3 don't refresh system stats when only reporting process stats (#784) 2021-04-09 14:12:13 -04:00
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
bf5f3d0ebb always use unix file endings when building libfuzzer-qemu wrappers (#782) 2021-04-09 09:56:56 -04:00
80b3533f83 Report the setup failure in the task when available (#781) 2021-04-09 08:57:56 -04:00
75f0315eb9 add retry with backoff to azcopy calls (#701)
This adds a retry wrapper around azcopy.

something to note:  tokio's Command doesn't allow for clone, which makes this unfortunately difficult to generalize to any command.
2021-04-09 00:35:35 +00:00
97a73a43b6 set default value for ephemeral disks at the server request parser (#780) 2021-04-08 11:18:52 -04:00
cb0701b2f2 Added missing parameter for multi tenant deployment (#773)
## Info on Pull Request

This is a quick fix for multi tenant authentication. After doing some more testing, I realized I was missing a parameter in `azuredeploy.json`. So added missing code from previous [PR ](https://github.com/microsoft/onefuzz/pull/563/files). 

## Validation Steps Performed

I have tested these changes and was successfully able to deploy in both single tenant and multi tenant environments.
2021-04-07 21:45:56 +00:00
3e7b3df34f local run UI (#663)
## Summary of the Pull Request

This PR add a UI to the local run. 
- The UI currently monitors the logs and  some of the directory created (the rest will be wired in a coming PR)
- pressing 'q' will quit the PR
- By default, the job directory is deleted when the ui quits unless the parameter 'keep_job_dir' is specified
2021-04-06 21:44:37 +00:00
794400adf1 ignore benign error messages when checking integration test logs (#775) 2021-04-06 15:35:54 -04:00
88af5f4dd3 allow deployment to non-default subscriptions (#774) 2021-04-06 13:06:35 -04:00
a33aba26f2 format deployment registration code (#768) 2021-04-06 09:26:13 +00:00