21 Commits

Author SHA1 Message Date
bmc-msft
efaa381899
Add missing prerequisites to the Getting Started guide (#435)
Fixes #434
2021-01-16 09:07:13 +00:00
Cheick Keita
a89065f882
adding {setup_dir} to variable expansion (#417)
## Summary of the Pull Request

Adds a new placeholder {setup_dir} for the setup directory 

## PR Checklist
* [x] Applies to work item: #221
* [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/onefuzz) and sign the CLI.
* [x] Requires documentation to be updated
* [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

## Info on Pull Request

_What does this include?_

## Validation Steps Performed

_How does someone test & validate?_
2021-01-13 00:39:59 +00:00
bmc-msft
513d1f52c9
Unify Dashboard & Webhook events (#394)
This change unifies the previously adhoc SignalR events and Webhooks into a single event format.
2021-01-11 21:43:09 +00:00
bmc-msft
c1a50f6f6c
Colocate tasks (#402)
Enables co-locating multiple tasks in a given work-set.

Tasks are bucketed by the following:
* OS
* job id
* setup container
* VM SKU & image (used in pre-1.0 style tasks)
* pool name (used in 1.0+ style tasks)
* if the task needs rebooting after the task setup script executes.

Additionally, a task will end up in a unique bucket if any of the following are true:
* The task is set to run on more than one VM
* The task is missing the `task.config.colocate` flag (all tasks created prior to this functionality) or the value is False

This updates the libfuzzer template to make use of colocation.  Users can specify co-locating all of the tasks *or* co-locating the secondary tasks.
2021-01-06 13:49:15 +00:00
bmc-msft
37f06bb324
handle libfuzzer fuzzing non-zero exits better (#381)
When running libfuzzer in 'fuzzing' mode, we expect the following on exit.

If the exit code is zero, crashing input isn't required.  This happens if the user specifies '-runs=N'

If the exit code is non-zero, then crashes are expected.  In practice, there are two causes to non-zero exits.
1. If the binary can't execute for some reason, like a missing prerequisite
2. If the binary _can_ execute, sometimes the sanitizers are put in such a bad place that they are unable to record the input that caused the crash.

This PR enables handling these two non-zero exit cases.

1. Optionally verify the libfuzzer target loads appropriately using `target_exe -help=1`.  This allows failing faster in the common issues, such a missing prerequisite library.
2. Optionally allow non-zero exits without crashes to be a warning, rather than a task failure.
2021-01-05 14:40:15 +00:00
bmc-msft
56090cb01d
Demonstrate a more complex template management (#366)
Add a job_template example that demonstrates customization of the arguments to the job. 

This example demonstrates setting the Area and Iteration paths for Azure Devops work items.
2020-12-05 12:30:37 +00:00
Cheick Keita
f1b4efc5ff
Add troubleshooting guide for the registration issue at deployment (#362) 2020-12-02 18:54:29 -05:00
bmc-msft
fd131c63bf
Document managing declarative templates (#361) 2020-12-02 14:18:45 -05:00
Cheick Keita
33b7608aaf
Adding option to merge all inputs at once (#282) 2020-11-24 08:43:08 -05:00
bmc-msft
64bd389eb7
Declarative templates (#266) 2020-11-17 16:00:09 -05:00
bmc-msft
c4f266ee00
fix webhook events doc link (#316) 2020-11-16 18:45:54 -05:00
bmc-msft
beea318968
Add User Info to created tasks (#303)
This PR makes user information from JWT tokens available as part of a Task.

Included changes:
* Renamed `verify_token` to `call_if_agent`, since this function is specific to agent token verification
* Renames `is_authorized` to `is_agent`, since this function checks if the token is an agent
* Adds support for unmanaged nodes in `is_agent` (see #133 for information) 
* Saves the user information from the JWT token on task create as part of `TaskConfig`

Note, `TaskConfig` is what is provided to notification templates.  This enables Github issues and ADO work items to tie back to the user that created the task.

Note, while `upn` _usually_ means email for AAD user tokens.  If we were going to make use of the email address, we should perform a graph lookup based on the `oid`, but we're not.
2020-11-13 11:50:52 +00:00
bmc-msft
31f099d3d4
Event based webhooks (#296) 2020-11-12 17:44:42 -05:00
bmc-msft
6c598773dd
add instance_id generated at install time (#245) 2020-11-02 14:27:51 -05:00
van Hauser
5f7105fd59
afl++ addition (#7) 2020-10-15 09:41:49 -04:00
bmc-msft
5c4a873d51
add basic contributors guide (#117) 2020-10-07 18:18:20 -04:00
bmc-msft
9df3b5d49a
Add github issues integration (#110) 2020-10-07 11:54:43 -04:00
bmc-msft
a28538a151
add definitions for pool, node, and scaleset (#17)
* add defs for pool, node, and scaleset
2020-09-22 10:40:59 -04:00
bmc-msft
7d27b6a008
set ONEFUZZ_TASK_SETUP_PATH prior to executing task setup (#15)
* set ONEFUZZ_TARGET_SETUP_PATH prior to executing task setup
2020-09-22 09:57:39 -04:00
bmc-msft
31f4c51b87
remove internal work item refs (#6) 2020-09-18 17:31:57 -04:00
Brian Caswell
d3a0b292e6 initial public release 2020-09-18 12:21:04 -04:00