Skip to content

Commit

Permalink
features: add potentiallyUnsafeConfigAnnotations
Browse files Browse the repository at this point in the history
Fix issue 1202

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
  • Loading branch information
AkihiroSuda committed Oct 22, 2023
1 parent 6331715 commit 5e98fec
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
18 changes: 18 additions & 0 deletions features.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,24 @@ The current version of the spec do not provide a way to enumerate the possible v
}
```

## <a name="featuresPotentiallyUnsafeConfigAnnotations" />Unsafe annotations in `config.json`

**`potentiallyUnsafeConfigAnnotations`** (array of strings, OPTIONAL) contains values of [`annotations` property of `config.json`](config.md#annotations)
that may potentially change the behavior of the runtime.

A value that ends with "." is interpreted as a prefix of annotations.

### Example
```json
"potentiallyUnsafeConfigAnnotations": [
"com.example.foo.bar",
"org.systemd.property."
]
```

The example above matches `com.example.foo.bar`, `org.systemd.property.ExecStartPre`, etc.
The example does not match `com.example.foo.bar.baz`.

# Example

Here is a full example for reference.
Expand Down
3 changes: 3 additions & 0 deletions schema/features-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
},
"annotations": {
"$ref": "defs.json#/definitions/annotations"
},
"potentiallyUnsafeConfigAnnotations": {
"$ref": "defs.json#/definitions/ArrayOfStrings"
},
"linux": {
"$ref": "features-linux.json#/linux"
Expand Down
6 changes: 6 additions & 0 deletions specs-go/features/features.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ type Features struct {
// Annotations contains implementation-specific annotation strings,
// such as the implementation version, and third-party extensions.
Annotations map[string]string `json:"annotations,omitempty"`

// PotentiallyUnsafeConfigAnnotations the list of the potential unsafe annotations
// that may appear in `config.json`.
//
// A value that ends with "." is interpreted as a prefix of annotations.
PotentiallyUnsafeConfigAnnotations []string `json:"potentiallyUnsafeConfigAnnotations,omitempty"`
}

// Linux is specific to Linux.
Expand Down

0 comments on commit 5e98fec

Please sign in to comment.