From 4e99b900e2b46ca0b58851f6fa59ffd4c785e970 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Fri, 26 May 2023 11:08:27 -0700 Subject: [PATCH 1/4] fix: rm mention of non-existent hitCondition in SetExceptionBreakpointsResponse (#397) Fixes #396 --- changelog.md | 1 + debugAdapterProtocol.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index ef62e45..d0ed997 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,7 @@ sectionid: changelog * 1.61.x * Removed unused `ModulesViewDescriptor` interface * Clarify the applicability of `supportsVariablePaging` + * Fix mention of non-existent `hitCondition` in `SetExceptionBreakpointsResponse` * 1.60.x * Clarify the usage of `hitCondition` and `logMessage` in `SetBreakpointsRequest` diff --git a/debugAdapterProtocol.json b/debugAdapterProtocol.json index ecb6d4f..d343864 100644 --- a/debugAdapterProtocol.json +++ b/debugAdapterProtocol.json @@ -1414,7 +1414,7 @@ "SetExceptionBreakpointsResponse": { "allOf": [ { "$ref": "#/definitions/Response" }, { "type": "object", - "description": "Response to `setExceptionBreakpoints` request.\nThe response contains an array of `Breakpoint` objects with information about each exception breakpoint or filter. The `Breakpoint` objects are in the same order as the elements of the `filters`, `filterOptions`, `exceptionOptions` arrays given as arguments. If both `filters` and `filterOptions` are given, the returned array must start with `filters` information first, followed by `filterOptions` information.\nThe `verified` property of a `Breakpoint` object signals whether the exception breakpoint or filter could be successfully created and whether the condition or hit count expressions are valid. In case of an error the `message` property explains the problem. The `id` property can be used to introduce a unique ID for the exception breakpoint or filter so that it can be updated subsequently by sending breakpoint events.\nFor backward compatibility both the `breakpoints` array and the enclosing `body` are optional. If these elements are missing a client is not able to show problems for individual exception breakpoints or filters.", + "description": "Response to `setExceptionBreakpoints` request.\nThe response contains an array of `Breakpoint` objects with information about each exception breakpoint or filter. The `Breakpoint` objects are in the same order as the elements of the `filters`, `filterOptions`, `exceptionOptions` arrays given as arguments. If both `filters` and `filterOptions` are given, the returned array must start with `filters` information first, followed by `filterOptions` information.\nThe `verified` property of a `Breakpoint` object signals whether the exception breakpoint or filter could be successfully created and whether the condition is valid. In case of an error the `message` property explains the problem. The `id` property can be used to introduce a unique ID for the exception breakpoint or filter so that it can be updated subsequently by sending breakpoint events.\nFor backward compatibility both the `breakpoints` array and the enclosing `body` are optional. If these elements are missing a client is not able to show problems for individual exception breakpoints or filters.", "properties": { "body": { "type": "object", From e1c1ae6902c5023012e4680922aa2725ba144d1f Mon Sep 17 00:00:00 2001 From: "microsoft-github-policy-service[bot]" <77245923+microsoft-github-policy-service[bot]@users.noreply.github.com> Date: Fri, 2 Jun 2023 20:34:01 +0000 Subject: [PATCH 2/4] Microsoft mandatory file --- SECURITY.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..e138ec5 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). + + From b01a8da52b83850c1a35e024bca09f7b285ac109 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Wed, 7 Jun 2023 10:25:14 -0700 Subject: [PATCH 3/4] Clarify lifetime of DataBreakpoint.dataId (#403) --- changelog.md | 3 +++ debugAdapterProtocol.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index d0ed997..94be169 100644 --- a/changelog.md +++ b/changelog.md @@ -6,6 +6,9 @@ sectionid: changelog #### All notable changes to the specification will be documented in this file. +* 1.62.x + * Clarify lifetime of `DataBreakpoint.dataId` + * 1.61.x * Removed unused `ModulesViewDescriptor` interface * Clarify the applicability of `supportsVariablePaging` diff --git a/debugAdapterProtocol.json b/debugAdapterProtocol.json index d343864..6dd2085 100644 --- a/debugAdapterProtocol.json +++ b/debugAdapterProtocol.json @@ -1477,7 +1477,7 @@ "properties": { "dataId": { "type": [ "string", "null" ], - "description": "An identifier for the data on which a data breakpoint can be registered with the `setDataBreakpoints` request or null if no data breakpoint is available." + "description": "An identifier for the data on which a data breakpoint can be registered with the `setDataBreakpoints` request or null if no data breakpoint is available. If a `variablesReference` or `frameId` is passed, the `dataId` is valid in the current suspended state, otherwise it's valid indefinitely. See 'Lifetime of Object References' in the Overview section for details. Breakpoints set using the `dataId` in the `setDataBreakpoints` request may outlive the lifetime of the associated `dataId`." }, "description": { "type": "string", From 7f284b169ecd19602487eb4d290ae651d4398ce7 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Tue, 27 Jun 2023 15:23:12 -0700 Subject: [PATCH 4/4] chore: rev version to 1.62 (#408) --- index.html | 2 +- specification.md | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 58073a7..255c4c4 100644 --- a/index.html +++ b/index.html @@ -86,7 +86,7 @@

Specification

- The latest version of the protocol specification is version 1.61.0. + The latest version of the protocol specification is version 1.62.0.

Change History diff --git a/specification.md b/specification.md index e790e59..184cc47 100644 --- a/specification.md +++ b/specification.md @@ -1522,7 +1522,7 @@ Response to `setExceptionBreakpoints` request. The response contains an array of `Breakpoint` objects with information about each exception breakpoint or filter. The `Breakpoint` objects are in the same order as the elements of the `filters`, `filterOptions`, `exceptionOptions` arrays given as arguments. If both `filters` and `filterOptions` are given, the returned array must start with `filters` information first, followed by `filterOptions` information. -The `verified` property of a `Breakpoint` object signals whether the exception breakpoint or filter could be successfully created and whether the condition or hit count expressions are valid. In case of an error the `message` property explains the problem. The `id` property can be used to introduce a unique ID for the exception breakpoint or filter so that it can be updated subsequently by sending breakpoint events. +The `verified` property of a `Breakpoint` object signals whether the exception breakpoint or filter could be successfully created and whether the condition is valid. In case of an error the `message` property explains the problem. The `id` property can be used to introduce a unique ID for the exception breakpoint or filter so that it can be updated subsequently by sending breakpoint events. For backward compatibility both the `breakpoints` array and the enclosing `body` are optional. If these elements are missing a client is not able to show problems for individual exception breakpoints or filters. @@ -1594,7 +1594,12 @@ interface DataBreakpointInfoResponse extends Response { /** * An identifier for the data on which a data breakpoint can be registered * with the `setDataBreakpoints` request or null if no data breakpoint is - * available. + * available. If a `variablesReference` or `frameId` is passed, the `dataId` + * is valid in the current suspended state, otherwise it's valid + * indefinitely. See 'Lifetime of Object References' in the Overview section + * for details. Breakpoints set using the `dataId` in the + * `setDataBreakpoints` request may outlive the lifetime of the associated + * `dataId`. */ dataId: string | null;