Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,6 @@ func (r JSONRequirements) ConvertToWLS(builder *flatbuffers.Builder) (flatbuffer
compositeNode := schema.NodeTypeWrapperCreate(builder, composite, wls.NodeTypeCompositeNode)

action := schema.ActionCreate(builder, wls.ActionIdINJECT_DENY, "requirements", nil)
policy := schema.PolicyCreate(builder, "All requirements", compositeNode, []flatbuffers.UOffsetT{action})
policy := schema.PolicyCreate(builder, "All requirements", compositeNode, []flatbuffers.UOffsetT{action}, "hardcoded")
return schema.PoliciesCreate(builder, []flatbuffers.UOffsetT{policy}), nil
}
2 changes: 1 addition & 1 deletion go/cmd/dd-rules-converter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,6 @@ func addRule(builder *PolicyBuilder, id string, description string, ast parser.A
nodeRoot := createConditionalNode(builder.builder, wls.BoolOperationBOOL_AND, id, nodes)
action := schema.ActionCreate(builder.builder, actionKind, id, []string{})

builder.offsets = append(builder.offsets, schema.PolicyCreate(builder.builder, description, nodeRoot, []flatbuffers.UOffsetT{action}))
builder.offsets = append(builder.offsets, schema.PolicyCreate(builder.builder, description, nodeRoot, []flatbuffers.UOffsetT{action}, ""))
return nil
}
2 changes: 1 addition & 1 deletion go/examples/example_generate_c_header_buffer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func createDenyByRuntimePolicy(builder *flatbuffers.Builder, runtime string) fla
// Start by creating the leaf evaluator (StrEvaluator for runtime language check)
node := createStrEvaluatorNode(builder, wls.StringEvaluatorsRUNTIME_LANGUAGE, runtime, wls.CmpTypeSTRCMP_EXACT, "Validate runtime is "+runtime)
action := schema.ActionCreate(builder, wls.ActionIdINJECT_DENY, "Deny "+runtime+" runtime!", []string{"value_1", "value_2", "value_3"})
return schema.PolicyCreate(builder, "DenyByRuntimePolicy("+runtime+")", node, []flatbuffers.UOffsetT{action})
return schema.PolicyCreate(builder, "DenyByRuntimePolicy("+runtime+")", node, []flatbuffers.UOffsetT{action}, "")
}

func generateCHeader(varName string, data []byte) string {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,5 @@ func (p JSONPolicy) ConvertToWLS(builder *flatbuffers.Builder) (flatbuffers.UOff

action := schema.ActionCreate(builder, GetActionId(p.Skip), p.Description, []string{p.Runtime})

return schema.PolicyCreate(builder, p.Description, root, []flatbuffers.UOffsetT{action}), nil
return schema.PolicyCreate(builder, p.Description, root, []flatbuffers.UOffsetT{action}, "hardcoded"), nil
}
12 changes: 6 additions & 6 deletions go/examples/example_writer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func createDenyByRuntimePolicy(builder *flatbuffers.Builder, runtime string) fla
// Start by creating the leaf evaluator (StrEvaluator for runtime language check)
node := createStrEvaluatorNode(builder, wls.StringEvaluatorsRUNTIME_LANGUAGE, runtime, wls.CmpTypeSTRCMP_EXACT, "Validate runtime is "+runtime)
action := schema.ActionCreate(builder, wls.ActionIdINJECT_DENY, "Deny "+runtime+" runtime!", []string{"value_1", "value_2", "value_3"})
return schema.PolicyCreate(builder, "DenyByRuntimePolicy("+runtime+")", node, []flatbuffers.UOffsetT{action})
return schema.PolicyCreate(builder, "DenyByRuntimePolicy("+runtime+")", node, []flatbuffers.UOffsetT{action}, "")
}

func createRoot(builder *flatbuffers.Builder, oper wls.BoolOperation, description string, nodes []flatbuffers.UOffsetT) flatbuffers.UOffsetT {
Expand All @@ -63,7 +63,7 @@ func createDenyByMultipleEvaluatorsPolicy(builder *flatbuffers.Builder, runtime
nodeRoot := createRoot(builder, wls.BoolOperationBOOL_AND, "evaluate if runtime and exe prefix equal to something :)", []flatbuffers.UOffsetT{nodeRuntime, nodeExePrefix})

action := schema.ActionCreate(builder, wls.ActionIdINJECT_DENY, "Deny "+runtime+" runtime!", []string{"value_1", "value_2", "value_3"})
return schema.PolicyCreate(builder, "DenyByRuntimePolicy("+runtime+")", nodeRoot, []flatbuffers.UOffsetT{action})
return schema.PolicyCreate(builder, "DenyByRuntimePolicy("+runtime+")", nodeRoot, []flatbuffers.UOffsetT{action}, "")

}

Expand Down Expand Up @@ -109,7 +109,7 @@ func createFlatPolicyNoEvaluators() string {
fileName := "FlatPolicyNoEvaluators.bin"
builder := flatbuffers.NewBuilder(1024)
action := schema.ActionCreate(builder, wls.ActionIdINJECT_ALLOW, "These actions will execute without executing any evaluators", []string{"value_1", "value_2", "value_3", "value_4", "value_5"})
policy := schema.PolicyCreate(builder, "AllowAllPolicy", 0, []flatbuffers.UOffsetT{action})
policy := schema.PolicyCreate(builder, "AllowAllPolicy", 0, []flatbuffers.UOffsetT{action}, "")
policies := schema.PoliciesCreate(builder, []flatbuffers.UOffsetT{policy})

builder.Finish(policies)
Expand All @@ -121,7 +121,7 @@ func createFlatPolicyNoEvaluators() string {
func createEmptyPolicies() string {
fileName := "EmptyPolicies.bin"
builder := flatbuffers.NewBuilder(1024)
policy := schema.PolicyCreate(builder, "EmptyPolicy", 0, []flatbuffers.UOffsetT{})
policy := schema.PolicyCreate(builder, "EmptyPolicy", 0, []flatbuffers.UOffsetT{}, "")
policies := schema.PoliciesCreate(builder, []flatbuffers.UOffsetT{policy})

builder.Finish(policies)
Expand All @@ -134,7 +134,7 @@ func createFlatPolicyNoActions() string {
fileName := "FlatPolicyNoActions.bin"
builder := flatbuffers.NewBuilder(1024)
node := createStrEvaluatorNode(builder, wls.StringEvaluatorsRUNTIME_LANGUAGE, "some runtime", wls.CmpTypeSTRCMP_EXACT, "Validate runtime is some runtime")
policy := schema.PolicyCreate(builder, "PolicyWithoutActions", node, []flatbuffers.UOffsetT{})
policy := schema.PolicyCreate(builder, "PolicyWithoutActions", node, []flatbuffers.UOffsetT{}, "")
policies := schema.PoliciesCreate(builder, []flatbuffers.UOffsetT{policy})

builder.Finish(policies)
Expand All @@ -146,7 +146,7 @@ func createFlatPolicyNoActions() string {
func createZeropPolicies() string {
fileName := "ZeropPolicies.bin"
builder := flatbuffers.NewBuilder(1024)
policy := schema.PolicyCreate(builder, "EmptyPolicy", 0, []flatbuffers.UOffsetT{})
policy := schema.PolicyCreate(builder, "EmptyPolicy", 0, []flatbuffers.UOffsetT{}, "")
policies := schema.PoliciesCreate(builder, []flatbuffers.UOffsetT{policy})

builder.Finish(policies)
Expand Down
9 changes: 8 additions & 1 deletion go/schema/Creators.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,21 @@ func NodeTypeWrapperCreate(builder *flatbuffers.Builder, nodeOffset flatbuffers.
return wls.NodeTypeWrapperEnd(builder)
}

func PolicyCreate(builder *flatbuffers.Builder, description string, rulesRoot flatbuffers.UOffsetT, actions []flatbuffers.UOffsetT) flatbuffers.UOffsetT {
func PolicyCreate(builder *flatbuffers.Builder, description string, rulesRoot flatbuffers.UOffsetT, actions []flatbuffers.UOffsetT, id string) flatbuffers.UOffsetT {
fbDescription := builder.CreateString(description)
actionsVector := builder.CreateVectorOfTables(actions)
var fbID flatbuffers.UOffsetT
if id != "" {
fbID = builder.CreateString(id)
}

wls.PolicyStart(builder)
wls.PolicyAddDescription(builder, fbDescription)
wls.PolicyAddRules(builder, rulesRoot)
wls.PolicyAddActions(builder, actionsVector)
if id != "" {
wls.PolicyAddId(builder, fbID)
}

return wls.PolicyEnd(builder)
}
Expand Down
Loading