Commit Graph

669 Commits

Author SHA1 Message Date
d557fc16c6 mark tasks that are stopped that never started with an error (#935) 2021-05-26 18:42:21 -04:00
87eb8ac80a Add timeout when recording Linux coverage (#929)
- Simplify the Linux block coverage `Recorder` API 
- Add a (mandatory) timeout to recording runs
2021-05-26 12:22:28 -07:00
d2084f70b1 Rename helper method for setup-relative files (#926)
We are going to use this for more than just target exes, and in fact, it applies to any file that must occur in the setup directory/container.
2021-05-26 18:49:52 +00:00
2f1fc61f01 always show message details in status top (#933) 2021-05-26 14:22:24 -04:00
c107a04cf9 fix issue deleting proxy from storage tables (#932) 2021-05-26 13:33:22 -04:00
8b74d08d3d fix deleting nodes with expired heartbeats (#930) 2021-05-26 13:06:44 -04:00
269a529f93 save more context in the failure log (#931) 2021-05-26 12:12:55 -04:00
13dc0dd330 only set the SSH key permissions on Windows once (#928) 2021-05-26 11:33:39 -04:00
eaf770fa22 Update coverage example (#919) 2021-05-25 08:24:38 -04:00
21c193624e release 2.18.0 (#920) 2.18.0 2021-05-24 15:26:21 -04:00
7952f16032 basic list proxy functionality (#905) 2021-05-24 13:24:22 -04:00
2241dcc7a4 update azure-mgmt-resource to 18.0.0 (#903) 2021-05-24 16:33:06 +00:00
db4c03ea56 Catch argparse type errors (#911)
Catch argparse argument type errors and display them in a simplified fashion.

As an example, this is how the output is rendered.
```
❯ onefuzz template libfuzzer basic --target_env  ASAN_OPTIONS=allocator_may_return_null=1 a a a linux
unable to parse arguments: unable to parse value as a key=value pair: 'a'   
❯
```

Note, this builds upon #910.
2021-05-24 16:04:59 +00:00
2c9a73dad9 Only use pseudo-handle for coverage dbghelp context (#918)
When recording coverage, don't try to use live process handles as the context for the `dbghelp` symbol handler in the module feature cache. Instead, use the default pseudo-handle for the semantically static PDB search, and the target process handle for any queries about the target and its address space.
2021-05-24 08:37:13 -07:00
700e55cfc4 Fix and improve PDB search (#913)
- Fix a bug in PDB search where we treated the absence of the PE-specified file as a hard error
- In the return type of `find_pdb_path()`, distinguish between "no file found" and a search error
2021-05-24 08:11:52 -07:00
a103985c0d Fix multi proxy race condition (#909)
Refactored PR of #904 for easier review.  Once #908 is reviewed & merged, this will be easier to review.
2021-05-22 06:50:08 +00:00
6e5f7e4d4c encode proxy name as base58 to allow full deletion of resources (#907) 2021-05-21 20:54:17 -04:00
e7197f1407 explain key=value argument parsing failures (#910) 2021-05-21 13:44:34 -04:00
a4bb670fb2 add proxy_state_updated events (#908) 2021-05-21 12:47:54 -04:00
2f81c44f01 Refactoring proxy lifetime to only shutdown when proxy is out-of-date. (#839)
## Summary of the Pull Request

_What is this about?_
We'd like to refactor the proxy lifecycle to only delete when the proxy is out-of-date - i.e. when the proxy is older than 7 days or a mismatched version. I've changed two files, proxy.py and timer_daily\init.py to check for the version and timestamp before stopping a live proxy. 

## PR Checklist
* [ ] Applies to work item: #xxx
* [ ] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/onefuzz) and sign the CLI.
* [ ] Tests added/passed
* [ ] 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?_
Changes to two files: 
proxy.py: 
- get_or_create() edited to check if timestamp is >7 days.
- Created is_outdated() to check version and timestamp for out-of-date proxy. 
timer_daily/init.py
- Proxy check now includes is_outdated() before determining if a proxy should be shutdown. 

## Validation Steps Performed
Deploying test instance to determine if proxy lives past a single day.
2021-05-20 14:33:29 +00:00
2b67c7b02f add setup_dir to generator task (#901)
fixes #848
2021-05-19 16:10:13 +00:00
776e8fa909 Add setup arguments to enable specifying alt tenants on the CLI (#900)
This enables specifying the endpoint configuration for alternate tenants purely on the command line.

Previously, on a single tenant you could use the following:
```
onefuzz --endpoint https://INSTANCE.azurewebsites.net info get
```

For multi-tenant installs, we need to expose more than just endpoint.

This enables:
```
onefuzz --endpoint https://INSTANCE.azurewebsites.net --client_id CLIENT_ID  --authority https://login.microsoftonline.com/common --tenant_domain TENANT_DOMAIN info get
```
2021-05-19 07:38:34 +00:00
ff140a6b1b Stop tasks on nodes before deleting task queues (#801) 2021-05-17 18:59:13 +00:00
194ea49f03 Use assign User.Read from Microsoft graph instead of AAD Graph (#894)
Replace the permission in the application registration. 
closes #877
2021-05-17 18:42:08 +00:00
90795d554e release 2.17.0 (#897) 2.17.0 2021-05-17 13:23:01 -04:00
43440f31c1 fix deployment using client_id (#898) 2021-05-17 11:53:35 -04:00
d5b50c4b42 update azure-mgmt-storage to 18.0.0 (#890) 2021-05-17 14:25:02 +00:00
f7e5bc7293 use azcopy for upload_dir (#878)
fixes #869
2021-05-17 14:06:02 +00:00
255271a2b3 Single tenant auth, issuer url fix (#872)
## Info on Pull Request
The deploy.py is only able to set the issuer url to the redmond tenant in the case of single tenant auth. For multi tenant, since the the tenant_domain is provided specifically, it works fine. In the case of single tenant, if the instance is not in the redmond tenant, the cli is unable to authenticate itself.

_What does this include?_

## Validation Steps Performed
A test instance was deployed in the PME instance and it was verified that the cli could authenticate with the instance.
2021-05-17 13:44:39 +00:00
3c0f6f56a7 Azure AD entities description (#896)
Added a description of the configuration of azure AD entities

closes #875
2021-05-17 12:44:45 +00:00
ecec227c33 Remove transitive async-std dep (#892)
Now that we've updated our `tokio` version, we can easily remove this redundant async runtime dependency (and its transitive deps).
2021-05-15 18:06:41 +00:00
811264e249 handle issue from azure-mgmt-resource 17.0.0 upgrade (#893) 2021-05-14 16:19:52 -04:00
b0993fb4b7 bump rust cache key (#891) 2021-05-14 14:03:17 -04:00
49885b7149 upgrade azure-core to 1.14.0 (#889) 2021-05-14 10:59:21 -04:00
eec5347cd5 update azure-mgmt-resource to 17.0.0 (#886) 2021-05-14 10:59:07 -04:00
1c191969a8 update azure-identity to 1.6.0 (#885) 2021-05-14 10:58:54 -04:00
944af544c5 force ASCII generation of markdown document generation (#883) 2021-05-14 10:58:40 -04:00
accbadacc9 only run CodeQL on main (#887) 2021-05-14 10:58:27 -04:00
e8b654d0d4 update HasState Protocol to alway log state transitions (#881) 2021-05-14 02:47:59 +00:00
cb5e786bcd add event for scaleset state updates (#882)
This moves all scaleset state updates through `Scaleset.set_state` and adds a new event EventScalesetStateUpdated.
2021-05-13 21:23:02 +00:00
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