1882 Commits

Author SHA1 Message Date
bmc-msft
2f1fc61f01
always show message details in status top (#933) 2021-05-26 14:22:24 -04:00
bmc-msft
c107a04cf9
fix issue deleting proxy from storage tables (#932) 2021-05-26 13:33:22 -04:00
bmc-msft
8b74d08d3d
fix deleting nodes with expired heartbeats (#930) 2021-05-26 13:06:44 -04:00
bmc-msft
269a529f93
save more context in the failure log (#931) 2021-05-26 12:12:55 -04:00
bmc-msft
13dc0dd330
only set the SSH key permissions on Windows once (#928) 2021-05-26 11:33:39 -04:00
Joe Ranweiler
eaf770fa22
Update coverage example (#919) 2021-05-25 08:24:38 -04:00
bmc-msft
7952f16032
basic list proxy functionality (#905) 2021-05-24 13:24:22 -04:00
bmc-msft
2241dcc7a4
update azure-mgmt-resource to 18.0.0 (#903) 2021-05-24 16:33:06 +00:00
bmc-msft
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
Joe Ranweiler
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
Joe Ranweiler
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
bmc-msft
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
bmc-msft
6e5f7e4d4c
encode proxy name as base58 to allow full deletion of resources (#907) 2021-05-21 20:54:17 -04:00
bmc-msft
e7197f1407
explain key=value argument parsing failures (#910) 2021-05-21 13:44:34 -04:00
bmc-msft
a4bb670fb2
add proxy_state_updated events (#908) 2021-05-21 12:47:54 -04:00
nharper285
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
bmc-msft
2b67c7b02f
add setup_dir to generator task (#901)
fixes #848
2021-05-19 16:10:13 +00:00
bmc-msft
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
bmc-msft
ff140a6b1b
Stop tasks on nodes before deleting task queues (#801) 2021-05-17 18:59:13 +00:00
Cheick Keita
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
bmc-msft
43440f31c1
fix deployment using client_id (#898) 2021-05-17 11:53:35 -04:00
bmc-msft
d5b50c4b42
update azure-mgmt-storage to 18.0.0 (#890) 2021-05-17 14:25:02 +00:00
bmc-msft
f7e5bc7293
use azcopy for upload_dir (#878)
fixes #869
2021-05-17 14:06:02 +00:00
muhammadmeisam
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
Joe Ranweiler
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
bmc-msft
811264e249
handle issue from azure-mgmt-resource 17.0.0 upgrade (#893) 2021-05-14 16:19:52 -04:00
bmc-msft
b0993fb4b7
bump rust cache key (#891) 2021-05-14 14:03:17 -04:00
bmc-msft
49885b7149
upgrade azure-core to 1.14.0 (#889) 2021-05-14 10:59:21 -04:00
bmc-msft
eec5347cd5
update azure-mgmt-resource to 17.0.0 (#886) 2021-05-14 10:59:07 -04:00
bmc-msft
1c191969a8
update azure-identity to 1.6.0 (#885) 2021-05-14 10:58:54 -04:00
bmc-msft
944af544c5
force ASCII generation of markdown document generation (#883) 2021-05-14 10:58:40 -04:00
bmc-msft
e8b654d0d4
update HasState Protocol to alway log state transitions (#881) 2021-05-14 02:47:59 +00:00
bmc-msft
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
bmc-msft
372c194f7a
address clippy issues in latest rust release (#884) 2021-05-13 14:25:09 -04:00
bmc-msft
69f12f9d9f
log full error context when supervisor exits (#879) 2021-05-13 06:33:36 +00:00
bmc-msft
584f68065d
cleanup a handful of scaleset logs (#880) 2021-05-12 17:31:08 -04:00
Cheick Keita
54d49a973e
cargo audit fix (#873) 2021-05-11 08:54:21 -04:00
Jason Shirk
3553f84a0d
Update existing breakpoint instead of overwriting (#874) 2021-05-10 15:18:14 -07:00
bmc-msft
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
Joe Ranweiler
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
bmc-msft
221a3316a1
Add StopIfFree node command to tell free nodes to stop asking for new work (#866) 2021-05-07 13:55:50 -04:00
Joe Ranweiler
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
bmc-msft
838e2bff0a
update azure-cli and azure-cli-core to 2.23.0 (#861) 2021-05-07 13:27:43 +00:00
Joe Ranweiler
5001e8fa5f
Update sha2 to 0.9.4 (#865) 2021-05-06 23:00:50 -04:00
Cheick Keita
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
bmc-msft
883f46c72b
explicitly ignore azcopy temporary files from directory monitoring (#859) 2021-05-06 13:17:24 -04:00
bmc-msft
007ecf2efe
shutdown missing scalesets during resize (#860) 2021-05-06 12:00:09 -04:00
Joe Ranweiler
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
Joe Ranweiler
00210199c9
Factor out Sancov analysis (#855) 2021-05-06 09:08:28 -04:00
Joe Ranweiler
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