incus: 6.12.0 -> 6.13.0 (#415632)

This commit is contained in:
Adam C. Stephens
2025-06-10 14:10:21 -04:00
committed by GitHub
2 changed files with 4 additions and 100 deletions
-93
View File
@@ -1,93 +0,0 @@
diff --git a/internal/server/firewall/drivers/drivers_consts.go b/internal/server/firewall/drivers/drivers_consts.go
index 2790e07a605..944bca5930e 100644
--- a/internal/server/firewall/drivers/drivers_consts.go
+++ b/internal/server/firewall/drivers/drivers_consts.go
@@ -1,8 +1,6 @@
package drivers
import (
- "encoding/json"
- "fmt"
"net"
)
@@ -67,62 +65,12 @@ type NftListSetsOutput struct {
// NftListSetsEntry structure to read JSON output of nft set listing.
type NftListSetsEntry struct {
- Metainfo *NftMetainfo `json:"metainfo,omitempty"`
- Set *NftSet `json:"set,omitempty"`
-}
-
-// NftMetainfo structure representing metainformation returned by nft.
-type NftMetainfo struct {
- Version string `json:"version"`
- ReleaseName string `json:"release_name"`
- JSONSchemaVersion int `json:"json_schema_version"`
+ Set *NftSet `json:"set,omitempty"`
}
// NftSet structure to parse the JSON of a set returned by nft -j list sets.
type NftSet struct {
- Family string `json:"family"`
- Name string `json:"name"`
- Table string `json:"table"`
- Type string `json:"type"`
- Handle int `json:"handle"`
- Flags []string `json:"flags"`
- Elem ElemField `json:"elem"`
-}
-
-// ElemField supports both string elements (IP, MAC) and dictionary-based CIDR elements.
-// In order to parse it correctly a custom unsmarshalling is defined in drivers_nftables.go .
-type ElemField struct {
- Addresses []string // Stores plain addresses and CIDR notations as strings.
-}
-
-// UnmarshalJSON handles both plain strings and CIDR dictionaries inside `elem`.
-func (e *ElemField) UnmarshalJSON(data []byte) error {
- var rawElems []any
- err := json.Unmarshal(data, &rawElems)
- if err != nil {
- return err
- }
-
- for _, elem := range rawElems {
- switch v := elem.(type) {
- case string:
- // Plain address (IPv4, IPv6, or MAC).
- e.Addresses = append(e.Addresses, v)
- case map[string]any:
- // CIDR notation (prefix dictionary).
- prefix, ok := v["prefix"].(map[string]any)
- if ok {
- addr, addrOk := prefix["addr"].(string)
- lenFloat, lenOk := prefix["len"].(float64) // JSON numbers are float64 by default.
- if addrOk && lenOk {
- e.Addresses = append(e.Addresses, fmt.Sprintf("%s/%d", addr, int(lenFloat)))
- }
- }
-
- default:
- return fmt.Errorf("Unsupported element type in NFTables set: %v", elem)
- }
- }
-
- return nil
+ Family string `json:"family"`
+ Name string `json:"name"`
+ Table string `json:"table"`
}
diff --git a/internal/server/firewall/drivers/drivers_nftables.go b/internal/server/firewall/drivers/drivers_nftables.go
index fd9be2e2fbb..f803de9dff5 100644
--- a/internal/server/firewall/drivers/drivers_nftables.go
+++ b/internal/server/firewall/drivers/drivers_nftables.go
@@ -387,7 +387,7 @@ func (d Nftables) NetworkClear(networkName string, _ bool, _ []uint) error {
return fmt.Errorf("Failed clearing nftables rules for network %q: %w", networkName, err)
}
- err = d.RemoveIncusAddressSets("inet")
+ err = d.RemoveIncusAddressSets("bridge")
if err != nil {
return fmt.Errorf("Error in deletion of address sets: %w", err)
}
+4 -7
View File
@@ -1,11 +1,8 @@
import ./generic.nix {
hash = "sha256-hgZc30SRnmALTvuD32dNuO0r4pfpXXvN4CtJqn2fGuk=";
version = "6.12.0";
vendorHash = "sha256-/GwJG6kmjbiUUh0AWQ+IUbeK1kRcuWrwmNdTzH5LT38=";
patches = [
# fix nft, remove 6.13
./1995.diff
];
hash = "sha256-f02BBEZ9EqLWJNxJ+Qj8PtcgkRT2Dy/hwUA/1aAZXC8=";
version = "6.13.0";
vendorHash = "sha256-g71ORfg/BMucohBfPWwSbyLdmo5SpkStUKbszZFFaKQ=";
patches = [ ];
nixUpdateExtraArgs = [
"--override-filename=pkgs/by-name/in/incus/package.nix"
];