Prepare build for 1.0.49 release - #407
Merged
Merged
Conversation
* Add Azure Linux 4 E2E test coverage * fix spell --------- Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
…386) * read and deserialize json file support all encoding types regarding UTF-8, UTF-16, UTF-32, BOM, LE/BE * spell fixes * spelling fixes * ut test update * review comments * unit test --------- Co-authored-by: Zhidong Peng <zpeng@microsoft.com>
* Add timeout for write_serial_console_log function. * pin rust version in linux_lint and windows_lint jobs * fix cargo audit at pin rust version --------- Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
* Linux GPA to support IPv6 dual-stack address * Windows GPA to support IPv6 dual-stack address * add comments to windows authorize_connect6 * update md file * add IPv4-mapped IPv6 ping test * accept the comments * Update E2E test script --------- Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
Co-authored-by: Zhidong Peng <zpeng@microsoft.com>
Bumps the github-actions group with 9 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `3.3.0` | `7.0.1` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.2` | `7.0.1` | | [egor-tensin/setup-clang](https://github.com/egor-tensin/setup-clang) | `1.4` | `2.3` | | [github/codeql-action/init](https://github.com/github/codeql-action) | `3.37.9` | `4.37.8` | | [github/codeql-action/analyze](https://github.com/github/codeql-action) | `3.37.9` | `4.37.8` | | [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild) | `1.3.1` | `3.0.0` | | [actions-rs/toolchain](https://github.com/actions-rs/toolchain) | `1.0.6` | `1.0.7` | | [joutvhu/get-release](https://github.com/joutvhu/get-release) | `1.0.2` | `1.0.4` | | [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action) | `8.4.0` | `9.0.1` | Updates `actions/checkout` from 3.3.0 to 7.0.1 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3.3.0...3d3c42e) Updates `actions/upload-artifact` from 4.6.2 to 7.0.1 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@ea165f8...043fb46) Updates `egor-tensin/setup-clang` from 1.4 to 2.3 - [Release notes](https://github.com/egor-tensin/setup-clang/releases) - [Changelog](https://github.com/egor-tensin/setup-clang/blob/master/CHANGELOG.md) - [Commits](egor-tensin/setup-clang@ef434b4...23bc15c) Updates `github/codeql-action/init` from 3.37.9 to 4.37.8 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@6f5948d...db488dd) Updates `github/codeql-action/analyze` from 3.37.9 to 4.37.8 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@6f5948d...db488dd) Updates `microsoft/setup-msbuild` from 1.3.1 to 3.0.0 - [Release notes](https://github.com/microsoft/setup-msbuild/releases) - [Commits](microsoft/setup-msbuild@1ff5705...30375c6) Updates `actions-rs/toolchain` from 1.0.6 to 1.0.7 - [Release notes](https://github.com/actions-rs/toolchain/releases) - [Changelog](https://github.com/actions-rs/toolchain/blob/master/CHANGELOG.md) - [Commits](actions-rs/toolchain@b2417cd...16499b5) Updates `joutvhu/get-release` from 1.0.2 to 1.0.4 - [Release notes](https://github.com/joutvhu/get-release/releases) - [Commits](joutvhu/get-release@1446292...8c3531b) Updates `streetsidesoftware/cspell-action` from 8.4.0 to 9.0.1 - [Release notes](https://github.com/streetsidesoftware/cspell-action/releases) - [Changelog](https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md) - [Commits](streetsidesoftware/cspell-action@de2a73e...e0668cf) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: egor-tensin/setup-clang dependency-version: '2.3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action/init dependency-version: 4.37.8 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.37.8 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: microsoft/setup-msbuild dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions-rs/toolchain dependency-version: 1.0.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: joutvhu/get-release dependency-version: 1.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: streetsidesoftware/cspell-action dependency-version: 9.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#398) * Donot error out if authorize_connect6 not found in legacy eBPF program * resolve review comment from Copilot
Bumps the github-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action). Updates `github/codeql-action/init` from 4.37.8 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@db488dd...cdf488f) Updates `github/codeql-action/analyze` from 4.37.8 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@db488dd...cdf488f) --- updated-dependencies: - dependency-name: github/codeql-action/init dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ches in secret-redactor thread (#400)
#396) * Report eBPFSvc, GuestProxyAgent service status, and surface eBPF/GPA errors immediately - Add eBPFSvc as a required member of the eBPF substatus alongside EbpfCore and NetEbpfExt (Windows only); the substatus is now Success only when all three services are Running. - Decouple eBPF and GuestProxyAgent service runtime-status checks onto their own ~2-minute polling cadence (SERVICE_STATUS_POLL_INTERVAL_SECS), independent of the 15s aggregate-status loop, while still refreshing the status file every 15s from cached results. - Add a new cross-platform ProxyAgentServiceStatus substatus reporting the GuestProxyAgent service's own runtime status, via a new proxy_agent_shared::service::check_service_run_status abstraction backed by the Windows SCM and by systemctl on Linux. - Immediately override the top-level extension status/message (bypassing the existing debounce state machine) whenever the eBPF substatus (Windows) or the GuestProxyAgent service substatus (both platforms) reports Error, including the last known status timestamp and current time, so operators see the real root cause instead of a generic stale-status message. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address code review: avoid false-positive overrides during transient service states - Add Running/Transitioning/Down state classification (new ServiceRuntimeStatus.is_transitioning field, new classify_service_state helper on Windows, updated Linux map_is_active_output) instead of treating any non-Running state as a confirmed failure. Windows StartPending/ContinuePending and Linux systemd �ctivating are now classified as Transitioning rather than Error, so a service that is simply still starting up (e.g. during boot or an extension-triggered restart) no longer immediately flips the top-level extension status to Error. - build_ebpf_substatus and build_proxy_agent_service_substatus now report the existing TRANSITIONING_STATUS instead of ERROR_STATUS for these benign transitional states, so apply_ebpf_status_override/apply_gpa_service_status_override (unchanged) naturally do not fire on them. - Add should_force_recompute and wire it into monitor_thread so the cached eBPF/GPA-service substatus is recomputed immediately whenever the aggregate-status success/failure result changes, instead of waiting out the full ~2-minute poll interval. This prevents a stale cached Error substatus from continuing to override a just-recovered aggregate status (and vice versa for a newly-broken service) for up to 2 minutes. - Add/extend unit tests for the new classification logic on both platforms, the Transitioning branch of both substatus builders, regression tests confirming Transitioning does not trigger either override, a test for should_force_recompute, and a backfilled test for compute_gpa_service_substatus (introduced in the previous commit without dedicated coverage). * Simplify eBPF/GPA-service status checks to poll every loop tick - Revert the decoupled ~2-minute polling cadence and the force-recompute-on-transition logic for the eBPF/GuestProxyAgent-service substatus checks, per manual VM testing feedback: a 2-minute-stale cache was deemed acceptable, and the added complexity to make it 'immediate' was not worth it. compute_ebpf_substatus()/compute_gpa_service_substatus() are now called fresh on every regular monitor_thread loop tick (currently 15s), same as the rest of the loop, so the status file always reflects current machine state at the cost of querying the SCM/systemctl more frequently. - Removed should_poll, should_force_recompute, and the SERVICE_STATUS_POLL_INTERVAL_SECS constant, along with their now-orphaned unit tests. - Refactored the override call site for readability: replaced the boolean-juggling + duplicated per-platform declarations with a single new apply_service_health_overrides helper (Windows-only) that encapsulates the eBPF-wins-priority ordering; non-Windows now calls apply_gpa_service_status_override directly. Added test_apply_service_health_overrides_priority covering all three priority outcomes. - Kept the Running/Transitioning/Down state classification (is_transitioning, classify_service_state, TRANSITIONING_STATUS branches) from the prior code-review fix, since it addresses a separate, still-valid concern (avoiding false-positive Error while a service is merely mid-boot/mid-restart) unrelated to polling cadence. * Address maintainer review feedback and simplify service-health status code - Consolidate apply_ebpf_status_override and apply_gpa_service_status_override, which were identical apart from which SubStatus they read, into one apply_sub_status_override_in_error function used by both call sites (per review feedback: 'apply_gpa_service_status_override is the same as apply_ebpf_status_override... suggest keeping one'). - Replace map_is_active_output's (bool, bool, String) tuple return with a named ActiveState struct, so each field is self-documenting at call sites (per review feedback: 'you are going to kill me with this 3 (bool, bool, string), it is hard to maintain'). - Extract a shared combined_service_health helper encapsulating the Success/Error/Transitioning decision rule that build_ebpf_substatus (3 services) and build_proxy_agent_service_substatus (1 service) had each implemented separately, removing ~35 duplicated lines and centralizing the rule in one tested place. - Simplify query_service_run_status to delegate to the pre-existing check_service_status function instead of re-implementing the same SCM query_service_status/query_service_config lookup a second time, removing ~20 duplicated lines. - Add test_combined_service_health and update existing tests for the ActiveState struct. * Shorten overly long comments to 2-3 lines Comment-only change: trimmed 12 doc/inline comment blocks (ranging 4-14 lines) that were added in the preceding commits down to 2-3 lines each, keeping only the essential what/why. No code or logic was changed. * Address code review: use pub-use re-export pattern for check_service_run_status Renamed windows_service::query_service_run_status to check_service_run_status so both platforms expose the same name, then replaced the hand-written cross-platform dispatcher in service.rs with two cfg-gated pub-use lines, matching the existing re-export pattern used for classify_service_state/set_default_failure_actions/ServiceState/ServiceStatusInfo. --------- Co-authored-by: Srikrishna Veturi <sveturi@microsoft.com>
* Make add connection summary as background operations. * Do not redact the secrets in the command line at proxying time * fix tyop --------- Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
…ver has not started yet. (#404) Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
* Set tokio runtime worker threads between 2 and 10 instead default to number of cpus * Update start_message * update tokio runtime worker between 1 and 4. * start proxy_server on delicated tokio runtime. * fix build --------- Co-authored-by: Zhidong Peng <zpeng@micrsoft.com>
Srikrishna Veturi (srikrishnaveturi)
self-requested a review
September 10, 2026 18:03
Srikrishna Veturi (srikrishnaveturi)
approved these changes
Sep 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.