diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dabdad32cbc35a..be283da9433697 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -380,7 +380,7 @@ variables: if: ($DEPLOY_AGENT == "true" || $DDR_WORKFLOW_ID != null) && $BUCKET_BRANCH == "beta" && $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/ .if_scheduled_main: &if_scheduled_main - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_BRANCH == "main" + if: ($CI_PIPELINE_SOURCE == "schedule" || ($DDR_WORKFLOW_ID != null && $APPS =~ /^beta-build-/)) && $CI_COMMIT_BRANCH == "main" # Rule to trigger jobs only when a branch matches the mergequeue pattern. .if_mergequeue: &if_mergequeue @@ -644,11 +644,6 @@ workflow: .on_all_builds: - <<: *if_run_all_builds -.on_all_builds_manual: - - <<: *if_run_all_builds - when: manual - allow_failure: true - .on_e2e_tests: - <<: *if_installer_tests diff --git a/.gitlab/binary_build/system_probe.yml b/.gitlab/binary_build/system_probe.yml index 5d897fb7f5f3ea..dc7ffc511b4aa0 100644 --- a/.gitlab/binary_build/system_probe.yml +++ b/.gitlab/binary_build/system_probe.yml @@ -12,9 +12,7 @@ - find "$CI_BUILDS_DIR" ! -path '*DataDog/datadog-agent*' -delete || true # Allow failure, we can't remove parent folders of datadog-agent script: - inv check-go-version - - inv -e system-probe.build --strip-object-files - # fail if references to glibc >= 2.18 - - objdump -p $CI_PROJECT_DIR/$SYSTEM_PROBE_BINARIES_DIR/system-probe | egrep 'GLIBC_2\.(1[8-9]|[2-9][0-9])' && exit 1 + - inv -e system-probe.build-object-files --strip-object-files - inv -e system-probe.save-build-outputs $CI_PROJECT_DIR/sysprobe-build-outputs.tar.xz variables: KUBERNETES_MEMORY_REQUEST: "6Gi" diff --git a/.gitlab/common/test_infra_version.yml b/.gitlab/common/test_infra_version.yml index fcd0584863649c..4ea53a6f555ef2 100644 --- a/.gitlab/common/test_infra_version.yml +++ b/.gitlab/common/test_infra_version.yml @@ -5,5 +5,5 @@ --- variables: - TEST_INFRA_DEFINITIONS_BUILDIMAGES: f1880fef5f48 + TEST_INFRA_DEFINITIONS_BUILDIMAGES: 9f38bc4eab68 TEST_INFRA_DEFINITIONS_BUILDIMAGES_SUFFIX: '' diff --git a/.gitlab/deploy_containers/deploy_containers_a7.yml b/.gitlab/deploy_containers/deploy_containers_a7.yml index 62c845a825aae3..b8e4ba0af410bd 100644 --- a/.gitlab/deploy_containers/deploy_containers_a7.yml +++ b/.gitlab/deploy_containers/deploy_containers_a7.yml @@ -207,13 +207,13 @@ deploy_containers_latest-a7: IMG_SOURCES: "%BASE%-win1809-servercore-amd64" IMG_DESTINATIONS: ${AGENT_REPOSITORY}:7-servercore-ltsc2019,${AGENT_REPOSITORY}:latest-servercore-ltsc2019 - IMG_VARIABLES: "BASE=${SRC_AGENT}:v${PARENT_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7" - IMG_SOURCES: "BASE%-winltsc2022-servercore-amd64" + IMG_SOURCES: "%BASE%-winltsc2022-servercore-amd64" IMG_DESTINATIONS: ${AGENT_REPOSITORY}:7-servercore-ltsc2022,${AGENT_REPOSITORY}:latest-servercore-ltsc2022 - IMG_VARIABLES: "BASE=${SRC_AGENT}:v${PARENT_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-jmx" IMG_SOURCES: "%BASE%-winltsc2022-servercore-amd64" IMG_DESTINATIONS: ${AGENT_REPOSITORY}:7-servercore-ltsc2022-jmx,${AGENT_REPOSITORY}:latest-servercore-ltsc2022-jmx - IMG_VARIABLES: "BASE=${SRC_AGENT}:v${PARENT_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-7-jmx" - IMG_SOURCES: "%BASE%-winltsc1809-servercore-amd64" + IMG_SOURCES: "%BASE%-win1809-servercore-amd64" IMG_DESTINATIONS: ${AGENT_REPOSITORY}:7-servercore-ltsc2019-jmx,${AGENT_REPOSITORY}:latest-servercore-ltsc2019-jmx deploy_containers_latest-a7_internal: diff --git a/.gitlab/deploy_cws_instrumentation/deploy_cws_instrumentation.yml b/.gitlab/deploy_cws_instrumentation/deploy_cws_instrumentation.yml index 03dfa9440f3539..85f91a0c09be1c 100644 --- a/.gitlab/deploy_cws_instrumentation/deploy_cws_instrumentation.yml +++ b/.gitlab/deploy_cws_instrumentation/deploy_cws_instrumentation.yml @@ -20,7 +20,7 @@ include: # will push the `7.xx.y-rc.z` tags deploy_containers-cws-instrumentation-rc-versioned: extends: .deploy_containers-cws-instrumentation-base - rules: !reference [.on_deploy_rc] + rules: !reference [.on_deploy_manual_auto_on_rc] # will update the `rc` tag deploy_containers-cws-instrumentation-rc-mutable: diff --git a/.gitlab/dev_container_deploy/docker_linux.yml b/.gitlab/dev_container_deploy/docker_linux.yml index 22ce9f956745b9..8569bc9987ebde 100644 --- a/.gitlab/dev_container_deploy/docker_linux.yml +++ b/.gitlab/dev_container_deploy/docker_linux.yml @@ -126,7 +126,7 @@ dca_dev_branch: dca_dev_branch_multiarch: extends: .docker_publish_job_definition stage: dev_container_deploy - rules: !reference [.on_all_builds_manual] + rules: !reference [.manual] needs: - docker_build_cluster_agent_amd64 - docker_build_cluster_agent_arm64 @@ -149,7 +149,7 @@ dca_dev_master: cws_instrumentation_dev_branch_multiarch: extends: .docker_publish_job_definition stage: dev_container_deploy - rules: !reference [.on_all_builds_manual] + rules: !reference [.manual] needs: - docker_build_cws_instrumentation_amd64 - docker_build_cws_instrumentation_arm64 diff --git a/.gitlab/e2e/e2e.yml b/.gitlab/e2e/e2e.yml index 52e8ceb89b924d..9b6e697f8a6c91 100644 --- a/.gitlab/e2e/e2e.yml +++ b/.gitlab/e2e/e2e.yml @@ -316,7 +316,6 @@ new-e2e-cws: - qa_agent - qa_dca variables: - SHOULD_RUN_IN_FLAKES_FINDER: "false" # Currently broken in flake finder ADXT-687 TARGETS: ./tests/cws TEAM: csm-threats-agent CWS_INSTRUMENTATION_FULLIMAGEPATH: 669783387624.dkr.ecr.us-east-1.amazonaws.com/cws-instrumentation:${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA} @@ -334,6 +333,7 @@ new-e2e-discovery: needs: - !reference [.needs_new_e2e_template] - deploy_deb_testing-a7_x64 + - qa_agent rules: - !reference [.on_discovery_or_e2e_changes] - !reference [.manual] @@ -533,7 +533,6 @@ new-e2e-windows-systemprobe: variables: TARGETS: ./tests/sysprobe-functional TEAM: windows-kernel-integrations - SHOULD_RUN_IN_FLAKES_FINDER: "false" # Currently broken in flake finder ADXT-687 parallel: matrix: - EXTRA_PARAMS: --run TestUSMAutoTaggingSuite @@ -672,6 +671,7 @@ generate-flakes-finder-pipeline: - qa_dogstatsd - qa_agent - qa_agent_ot + - tests_windows_sysprobe_x64 tags: ["arch:amd64"] script: - inv -e testwasher.generate-flake-finder-pipeline @@ -689,6 +689,7 @@ trigger-flakes-finder: variables: PARENT_PIPELINE_ID: $CI_PIPELINE_ID PARENT_COMMIT_SHA: $CI_COMMIT_SHORT_SHA + PARENT_COMMIT_SHORT_SHA: $CI_COMMIT_SHORT_SHA trigger: include: - artifact: flake-finder-gitlab-ci.yml diff --git a/.gitlab/internal_kubernetes_deploy/internal_kubernetes_deploy.yml b/.gitlab/internal_kubernetes_deploy/internal_kubernetes_deploy.yml index 017863198dad05..1762ac56972ae5 100644 --- a/.gitlab/internal_kubernetes_deploy/internal_kubernetes_deploy.yml +++ b/.gitlab/internal_kubernetes_deploy/internal_kubernetes_deploy.yml @@ -12,7 +12,7 @@ internal_kubernetes_deploy_experimental: when: always - if: $CI_COMMIT_BRANCH != "main" when: never - - if: $DDR != "true" + - if: $DDR_WORKFLOW_ID == null when: never - if: $APPS !~ "/^datadog-agent/" when: never @@ -74,7 +74,7 @@ notify-slack: when: always - if: $CI_COMMIT_BRANCH != "main" when: never - - if: $DDR != "true" + - if: $DDR_WORKFLOW_ID == null when: never - if: $APPS !~ "/^datadog-agent/" when: never diff --git a/.gitlab/trigger_release/trigger_release.yml b/.gitlab/trigger_release/trigger_release.yml index fa6d2c7402b602..6d8ea4127c83fa 100644 --- a/.gitlab/trigger_release/trigger_release.yml +++ b/.gitlab/trigger_release/trigger_release.yml @@ -37,8 +37,6 @@ trigger_auto_staging_release: AUTO_RELEASE: "true" TARGET_REPO: staging rules: - - if: $DDR == "true" - when: never - if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+){0,1}$/ when: never - !reference [.on_deploy] @@ -73,13 +71,13 @@ generate_windows_gitlab_runner_bump_pr: needs: ["trigger_auto_staging_release"] tags: ["arch:amd64"] rules: - - if: $DDR == "true" + - if: $DDR_WORKFLOW_ID != null when: never - if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+){0,1}$/ when: never - if: $CI_COMMIT_TAG =~ /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ - script: + script: # We are using the agent platform auto PR github app to access the buildenv repository (already used for macOS builds) - !reference [.setup_github_app_agent_platform_auto_pr] - python3 -m pip install -r requirements.txt -r tasks/libs/requirements-notifications.txt diff --git a/cmd/secrethelper/providers/k8s_secret.go b/cmd/secrethelper/providers/k8s_secret.go index 670e1adf6d3053..72598a38169a7c 100644 --- a/cmd/secrethelper/providers/k8s_secret.go +++ b/cmd/secrethelper/providers/k8s_secret.go @@ -6,18 +6,17 @@ package providers import ( - "context" "fmt" "strings" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" - "github.com/DataDog/datadog-agent/comp/core/secrets" ) +// KubeSecretGetter is a function that fetches a secret from k8s +type KubeSecretGetter func(string, string) (map[string][]byte, error) + // ReadKubernetesSecret reads a secrets store in k8s -func ReadKubernetesSecret(kubeClient kubernetes.Interface, path string) secrets.SecretVal { +func ReadKubernetesSecret(readSecretFromKubeClient KubeSecretGetter, path string) secrets.SecretVal { splitName := strings.Split(path, "/") if len(splitName) != 3 { @@ -26,12 +25,12 @@ func ReadKubernetesSecret(kubeClient kubernetes.Interface, path string) secrets. namespace, name, key := splitName[0], splitName[1], splitName[2] - secret, err := kubeClient.CoreV1().Secrets(namespace).Get(context.TODO(), name, metav1.GetOptions{}) + secret, err := readSecretFromKubeClient(namespace, name) if err != nil { return secrets.SecretVal{ErrorMsg: err.Error()} } - value, ok := secret.Data[key] + value, ok := secret[key] if !ok { return secrets.SecretVal{ErrorMsg: fmt.Sprintf("key %s not found in secret %s/%s", key, namespace, name)} } diff --git a/cmd/secrethelper/providers/k8s_secret_test.go b/cmd/secrethelper/providers/k8s_secret_test.go index 5dddb83e878f0f..cb8ac7959f641c 100644 --- a/cmd/secrethelper/providers/k8s_secret_test.go +++ b/cmd/secrethelper/providers/k8s_secret_test.go @@ -6,6 +6,7 @@ package providers import ( + "context" "testing" "github.com/stretchr/testify/assert" @@ -74,7 +75,15 @@ func TestReadKubernetesSecret(t *testing.T) { } kubeClient := fake.NewSimpleClientset(kubeObjects...) - resolvedSecret := ReadKubernetesSecret(kubeClient, test.secretPath) + secretGetter := func(namespace, name string) (map[string][]byte, error) { + secret, err := kubeClient.CoreV1().Secrets(namespace).Get(context.TODO(), name, metav1.GetOptions{}) + if err != nil { + return nil, err + } + return secret.Data, nil + } + + resolvedSecret := ReadKubernetesSecret(secretGetter, test.secretPath) if test.expectedError != "" { assert.Equal(t, test.expectedError, resolvedSecret.ErrorMsg) diff --git a/cmd/secrethelper/secret_helper.go b/cmd/secrethelper/secret_helper.go index a56201009e2b33..0806c6f9d84178 100644 --- a/cmd/secrethelper/secret_helper.go +++ b/cmd/secrethelper/secret_helper.go @@ -32,11 +32,9 @@ import ( "os" "path/filepath" "strings" - "time" "github.com/spf13/cobra" "go.uber.org/fx" - "k8s.io/client-go/kubernetes" "github.com/DataDog/datadog-agent/cmd/secrethelper/providers" "github.com/DataDog/datadog-agent/comp/core/secrets" @@ -51,9 +49,6 @@ const ( k8sSecretPrefix = "k8s_secret" ) -// NewKubeClient returns a new kubernetes.Interface -type NewKubeClient func(timeout time.Duration, qps float32, burst int) (kubernetes.Interface, error) - // cliParams are the command-line arguments for this subcommand type cliParams struct { usePrefixes bool @@ -100,17 +95,17 @@ func readCmd(cliParams *cliParams) error { dir = cliParams.args[0] } - return readSecrets(os.Stdin, os.Stdout, dir, cliParams.usePrefixes, apiserver.GetKubeClient) + return readSecrets(os.Stdin, os.Stdout, dir, cliParams.usePrefixes, apiserver.GetKubeSecret) } -func readSecrets(r io.Reader, w io.Writer, dir string, usePrefixes bool, newKubeClientFunc NewKubeClient) error { +func readSecrets(r io.Reader, w io.Writer, dir string, usePrefixes bool, kubeSecretGetter providers.KubeSecretGetter) error { inputSecrets, err := parseInputSecrets(r) if err != nil { return err } if usePrefixes { - return writeFetchedSecrets(w, readSecretsUsingPrefixes(inputSecrets, dir, newKubeClientFunc)) + return writeFetchedSecrets(w, readSecretsUsingPrefixes(inputSecrets, dir, kubeSecretGetter)) } return writeFetchedSecrets(w, readSecretsFromFile(inputSecrets, dir)) @@ -161,7 +156,7 @@ func readSecretsFromFile(secretsList []string, dir string) map[string]secrets.Se return res } -func readSecretsUsingPrefixes(secretsList []string, rootPath string, newKubeClientFunc NewKubeClient) map[string]secrets.SecretVal { +func readSecretsUsingPrefixes(secretsList []string, rootPath string, kubeSecretGetter providers.KubeSecretGetter) map[string]secrets.SecretVal { res := make(map[string]secrets.SecretVal) for _, secretID := range secretsList { @@ -175,12 +170,7 @@ func readSecretsUsingPrefixes(secretsList []string, rootPath string, newKubeClie case filePrefix: res[secretID] = providers.ReadSecretFile(id) case k8sSecretPrefix: - kubeClient, err := newKubeClientFunc(10*time.Second, 0, 0) // Default QPS and burst to Kube client defaults using 0 - if err != nil { - res[secretID] = secrets.SecretVal{Value: "", ErrorMsg: err.Error()} - } else { - res[secretID] = providers.ReadKubernetesSecret(kubeClient, id) - } + res[secretID] = providers.ReadKubernetesSecret(kubeSecretGetter, id) default: res[secretID] = secrets.SecretVal{Value: "", ErrorMsg: fmt.Sprintf("provider not supported: %s", prefix)} } diff --git a/cmd/secrethelper/secret_helper_test.go b/cmd/secrethelper/secret_helper_test.go index 3b76fa8d461cbe..9130d011a8e91b 100644 --- a/cmd/secrethelper/secret_helper_test.go +++ b/cmd/secrethelper/secret_helper_test.go @@ -7,29 +7,35 @@ package secrethelper import ( "bytes" + "context" "fmt" "path/filepath" "strings" "testing" - "time" - "github.com/DataDog/datadog-agent/pkg/util/fxutil" "github.com/stretchr/testify/assert" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" + + "github.com/DataDog/datadog-agent/pkg/util/fxutil" ) func TestReadSecrets(t *testing.T) { - newKubeClientFunc := func(_ time.Duration, _ float32, _ int) (kubernetes.Interface, error) { - return fake.NewSimpleClientset(&v1.Secret{ + newKubeClientFunc := func(namespace, name string) (map[string][]byte, error) { + kubeClient := fake.NewSimpleClientset(&v1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: "some_name", Namespace: "some_namespace", }, Data: map[string][]byte{"some_key": []byte("some_value")}, - }), nil + }) + + secret, err := kubeClient.CoreV1().Secrets(namespace).Get(context.TODO(), name, metav1.GetOptions{}) + if err != nil { + return nil, err + } + return secret.Data, nil } tests := []struct { diff --git a/cmd/system-probe/config/adjust_usm.go b/cmd/system-probe/config/adjust_usm.go index aa473538b50025..0cd888c87f37de 100644 --- a/cmd/system-probe/config/adjust_usm.go +++ b/cmd/system-probe/config/adjust_usm.go @@ -71,6 +71,15 @@ func adjustUSM(cfg model.Config) { applyDefault(cfg, smNS("max_postgres_stats_buffered"), 100000) applyDefault(cfg, smNS("max_redis_stats_buffered"), 100000) + // kernel_buffer_pages determines the number of pages allocated *per CPU* + // for buffering kernel data, whether using a perf buffer or a ring buffer. + applyDefault(cfg, smNS("kernel_buffer_pages"), 16) + + // data_channel_size defines the size of the Go channel that buffers events. + // Each event has a fixed size of approximately 4KB (sizeof(batch_data_t)). + // By setting this value to 100, the channel will buffer up to ~400KB of data in the Go heap memory. + applyDefault(cfg, smNS("data_channel_size"), 100) + validateInt(cfg, smNS("http_notification_threshold"), cfg.GetInt(smNS("max_tracked_http_connections"))/2, func(v int) error { limit := cfg.GetInt(smNS("max_tracked_http_connections")) if v >= limit { diff --git a/comp/api/api/def/go.mod b/comp/api/api/def/go.mod index 8a89ca045e6d60..62a39aa3a65f2e 100644 --- a/comp/api/api/def/go.mod +++ b/comp/api/api/def/go.mod @@ -11,5 +11,5 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect ) diff --git a/comp/api/api/def/go.sum b/comp/api/api/def/go.sum index 7b69276ecf542e..d7ce7d478b5364 100644 --- a/comp/api/api/def/go.sum +++ b/comp/api/api/def/go.sum @@ -14,7 +14,7 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/comp/api/authtoken/go.mod b/comp/api/authtoken/go.mod index e9cbd5bd39e9a1..692fd75a5a99ba 100644 --- a/comp/api/authtoken/go.mod +++ b/comp/api/authtoken/go.mod @@ -107,8 +107,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/api/authtoken/go.sum b/comp/api/authtoken/go.sum index c9a6a060385650..d5ae5023651652 100644 --- a/comp/api/authtoken/go.sum +++ b/comp/api/authtoken/go.sum @@ -238,8 +238,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -276,8 +276,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/core/agenttelemetry/impl/agenttelemetry.go b/comp/core/agenttelemetry/impl/agenttelemetry.go index e9362829179009..0109e4445a35b6 100644 --- a/comp/core/agenttelemetry/impl/agenttelemetry.go +++ b/comp/core/agenttelemetry/impl/agenttelemetry.go @@ -454,13 +454,21 @@ func (a *atel) reportAgentMetrics(session *senderSession, pms []*telemetry.Metri func (a *atel) loadPayloads(profiles []*Profile) (*senderSession, error) { // Gather all prom metrics. Currently Gather() does not allow filtering by // metric name, so we need to gather all metrics and filter them on our own. - // pms, err := a.telemetry.Gather(false) pms, err := a.telComp.Gather(false) if err != nil { a.logComp.Errorf("failed to get filtered telemetry metrics: %v", err) return nil, err } + // Ensure that metrics from the default Prometheus registry are also collected. + pmsDefault, errDefault := a.telComp.Gather(true) + if errDefault == nil { + pms = append(pms, pmsDefault...) + } else { + // Not a fatal error, just log it + a.logComp.Errorf("failed to get filtered telemetry metrics: %v", err) + } + session := a.sender.startSession(a.cancelCtx) for _, p := range profiles { a.reportAgentMetrics(session, pms, p) diff --git a/comp/core/agenttelemetry/impl/agenttelemetry_test.go b/comp/core/agenttelemetry/impl/agenttelemetry_test.go index d982800caddd5c..ddd1edfb1c7519 100644 --- a/comp/core/agenttelemetry/impl/agenttelemetry_test.go +++ b/comp/core/agenttelemetry/impl/agenttelemetry_test.go @@ -343,7 +343,8 @@ func getPayloadMetric(a *atel, metricName string) (*MetricPayload, bool) { return nil, false } -func getPayloadMetrics(a *atel, metricName string) ([]*MetricPayload, bool) { +// If you have multiple metrics with the same name (timeseries) and filtered by a metric, use getPayloadFilteredMetricList +func getPayloadFilteredMetricList(a *atel, metricName string) ([]*MetricPayload, bool) { payload, err := getPayload(a) if err != nil { return nil, false @@ -361,6 +362,39 @@ func getPayloadMetrics(a *atel, metricName string) ([]*MetricPayload, bool) { return payloads, true } +// If you have multiple metrics with different name (timeseries), meaning no multiple tags use getPayloadMetricMap +func getPayloadMetricMap(a *atel) map[string]*MetricPayload { + payload, err := getPayload(a) + if err != nil { + return nil + } + + payloads := make(map[string]*MetricPayload) + + if mm, ok := payload.Payload.([]Payload); ok { + for _, payload := range mm { + metrics := payload.Payload.(AgentMetricsPayload).Metrics + for metricName, metricItf := range metrics { + metric := metricItf.(MetricPayload) + payloads[metricName] = &metric + } + } + return payloads + } + + if m, ok := payload.Payload.(AgentMetricsPayload); ok { + metrics := m.Metrics + for metricName, metricItf := range metrics { + if metric, ok2 := metricItf.(MetricPayload); ok2 { + payloads[metricName] = &metric + } + } + return payloads + } + + return nil +} + func getPayloadMetricByTagValues(metrics []*MetricPayload, tags map[string]interface{}) (*MetricPayload, bool) { for _, m := range metrics { if maps.Equal(m.Tags, tags) { @@ -500,7 +534,7 @@ func TestNoTagSpecifiedAggregationCounter(t *testing.T) { assert.Nil(t, m.GetLabel()) } -func TestNoTagSpecifiedAggregationGauge(t *testing.T) { +func TestNoTagSpecifiedExplicitAggregationGauge(t *testing.T) { var c = ` agent_telemetry: enabled: true @@ -540,6 +574,45 @@ func TestNoTagSpecifiedAggregationGauge(t *testing.T) { assert.Nil(t, m.GetLabel()) } +func TestNoTagSpecifiedImplicitAggregationGauge(t *testing.T) { + var c = ` + agent_telemetry: + enabled: true + profiles: + - name: foo + metric: + metrics: + - name: bar.zoo + ` + + // setup and initiate atel + tel := makeTelMock(t) + gauge := tel.NewGauge("bar", "zoo", []string{"tag1", "tag2", "tag3"}, "") + gauge.WithTags(map[string]string{"tag1": "a1", "tag2": "b1", "tag3": "c1"}).Set(10) + gauge.WithTags(map[string]string{"tag1": "a2", "tag2": "b2", "tag3": "c2"}).Set(20) + gauge.WithTags(map[string]string{"tag1": "a3", "tag2": "b3", "tag3": "c3"}).Set(30) + + o := convertYamlStrToMap(t, c) + s := &senderMock{} + r := newRunnerMock() + a := getTestAtel(t, tel, o, s, nil, r) + require.True(t, a.enabled) + + // run the runner to trigger the telemetry report + a.start() + r.(*runnerMock).run() + + // 1 metric sent + assert.Equal(t, 1, len(s.sentMetrics)) + + // aggregated to 10 + 20 + 30 = 60 + m := s.sentMetrics[0].metrics[0] + assert.Equal(t, float64(60), m.Gauge.GetValue()) + + // no tags + assert.Nil(t, m.GetLabel()) +} + func TestNoTagSpecifiedAggregationHistogram(t *testing.T) { var c = ` agent_telemetry: @@ -1183,7 +1256,7 @@ func TestAdjustPrometheusCounterValueMultipleTagValues(t *testing.T) { counter.AddWithTags(1, map[string]string{"tag": "val1"}) counter.AddWithTags(2, map[string]string{"tag": "val2"}) - ms, ok := getPayloadMetrics(a, "foo.bar") + ms, ok := getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) m1, ok1 := getPayloadMetricByTagValues(ms, map[string]interface{}{"tag": "val1"}) require.True(t, ok1) @@ -1195,7 +1268,7 @@ func TestAdjustPrometheusCounterValueMultipleTagValues(t *testing.T) { // Second addition (expected values should be the same as the added values) counter.AddWithTags(10, map[string]string{"tag": "val1"}) counter.AddWithTags(20, map[string]string{"tag": "val2"}) - ms, ok = getPayloadMetrics(a, "foo.bar") + ms, ok = getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) m1, ok1 = getPayloadMetricByTagValues(ms, map[string]interface{}{"tag": "val1"}) require.True(t, ok1) @@ -1207,7 +1280,7 @@ func TestAdjustPrometheusCounterValueMultipleTagValues(t *testing.T) { // Third and fourth addition (expected values should be the sum of 3rd and 4th values) counter.AddWithTags(100, map[string]string{"tag": "val1"}) counter.AddWithTags(200, map[string]string{"tag": "val2"}) - ms, ok = getPayloadMetrics(a, "foo.bar") + ms, ok = getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) m1, ok1 = getPayloadMetricByTagValues(ms, map[string]interface{}{"tag": "val1"}) require.True(t, ok1) @@ -1217,7 +1290,7 @@ func TestAdjustPrometheusCounterValueMultipleTagValues(t *testing.T) { assert.Equal(t, m2.Value, 200.0) // No addition (expected values should be zero) - ms, ok = getPayloadMetrics(a, "foo.bar") + ms, ok = getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) m1, ok1 = getPayloadMetricByTagValues(ms, map[string]interface{}{"tag": "val1"}) require.True(t, ok1) @@ -1669,7 +1742,7 @@ func TestHistogramFloatUpperBoundNormalizationWithMultivalueTags(t *testing.T) { hist.Observe(2000, "val2") // Test payload1 - metrics1, ok := getPayloadMetrics(a, "foo.bar") + metrics1, ok := getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) require.Len(t, metrics1, 2) require.Len(t, metrics1[0].Buckets, 5) @@ -1695,7 +1768,7 @@ func TestHistogramFloatUpperBoundNormalizationWithMultivalueTags(t *testing.T) { } // Test payload2 (no new observations, everything is reset) - metrics2, ok := getPayloadMetrics(a, "foo.bar") + metrics2, ok := getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) require.Len(t, metrics2, 2) require.Len(t, metrics2[0].Buckets, 5) @@ -1789,7 +1862,7 @@ func TestHistogramFloatUpperBoundNormalizationWithMultivalueTags(t *testing.T) { hist.Observe(2000, "val2") // Test payload3 - metrics3, ok := getPayloadMetrics(a, "foo.bar") + metrics3, ok := getPayloadFilteredMetricList(a, "foo.bar") require.True(t, ok) require.Len(t, metrics3, 2) require.Len(t, metrics3[0].Buckets, 5) @@ -1967,3 +2040,39 @@ func TestUsingPayloadCompressionInAgentTelemetrySender(t *testing.T) { nonCompressBodyLen := len(cl2.(*clientMock).body) assert.True(t, float64(nonCompressBodyLen)/float64(compressBodyLen) > 1.5) } + +func TestDefaultAndNoDefaultPromRegistries(t *testing.T) { + var c = ` + agent_telemetry: + enabled: true + profiles: + - name: xxx + metric: + metrics: + - name: foo.bar + - name: bar.foo + ` + + // setup and initiate atel + tel := makeTelMock(t) + o := convertYamlStrToMap(t, c) + s := makeSenderImpl(t, nil, c) + r := newRunnerMock() + a := getTestAtel(t, tel, o, s, nil, r) + require.True(t, a.enabled) + + gaugeFooBar := tel.NewGaugeWithOpts("foo", "bar", nil, "", telemetry.Options{DefaultMetric: false}) + gaugeBarFoo := tel.NewGaugeWithOpts("bar", "foo", nil, "", telemetry.Options{DefaultMetric: true}) + gaugeFooBar.Set(10) + gaugeBarFoo.Set(20) + + // Test payload + metrics := getPayloadMetricMap(a) + require.Len(t, metrics, 2) + m1, ok1 := metrics["foo.bar"] + require.True(t, ok1) + assert.Equal(t, 10.0, m1.Value) + m2, ok2 := metrics["bar.foo"] + require.True(t, ok2) + assert.Equal(t, 20.0, m2.Value) +} diff --git a/comp/core/config/go.mod b/comp/core/config/go.mod index 04aeb869e4b79c..5f12e7600784e4 100644 --- a/comp/core/config/go.mod +++ b/comp/core/config/go.mod @@ -103,8 +103,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/comp/core/config/go.sum b/comp/core/config/go.sum index dd0adad1e4800b..5d76db5c2a7500 100644 --- a/comp/core/config/go.sum +++ b/comp/core/config/go.sum @@ -241,8 +241,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -279,8 +279,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/core/flare/types/go.mod b/comp/core/flare/types/go.mod index a3526c64a15dc4..349bb3423a2a23 100644 --- a/comp/core/flare/types/go.mod +++ b/comp/core/flare/types/go.mod @@ -16,5 +16,5 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect ) diff --git a/comp/core/flare/types/go.sum b/comp/core/flare/types/go.sum index 7b69276ecf542e..d7ce7d478b5364 100644 --- a/comp/core/flare/types/go.sum +++ b/comp/core/flare/types/go.sum @@ -14,7 +14,7 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/comp/core/hostname/hostnameinterface/go.mod b/comp/core/hostname/hostnameinterface/go.mod index 2c6743cd8c6011..8153709f1b8217 100644 --- a/comp/core/hostname/hostnameinterface/go.mod +++ b/comp/core/hostname/hostnameinterface/go.mod @@ -25,6 +25,6 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/comp/core/hostname/hostnameinterface/go.sum b/comp/core/hostname/hostnameinterface/go.sum index 3dcc180d9ba1c4..66bf0027fa26bb 100644 --- a/comp/core/hostname/hostnameinterface/go.sum +++ b/comp/core/hostname/hostnameinterface/go.sum @@ -28,8 +28,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/comp/core/log/impl-trace/go.mod b/comp/core/log/impl-trace/go.mod index d2e3fe8085de0b..9da7eaed4328ce 100644 --- a/comp/core/log/impl-trace/go.mod +++ b/comp/core/log/impl-trace/go.mod @@ -107,8 +107,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/core/log/impl-trace/go.sum b/comp/core/log/impl-trace/go.sum index c9a6a060385650..d5ae5023651652 100644 --- a/comp/core/log/impl-trace/go.sum +++ b/comp/core/log/impl-trace/go.sum @@ -238,8 +238,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -276,8 +276,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/core/log/impl/go.mod b/comp/core/log/impl/go.mod index 68943cfd931901..11736e49c9a8e8 100644 --- a/comp/core/log/impl/go.mod +++ b/comp/core/log/impl/go.mod @@ -98,8 +98,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/core/log/impl/go.sum b/comp/core/log/impl/go.sum index c9a6a060385650..d5ae5023651652 100644 --- a/comp/core/log/impl/go.sum +++ b/comp/core/log/impl/go.sum @@ -238,8 +238,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -276,8 +276,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/core/log/mock/go.mod b/comp/core/log/mock/go.mod index 90af96c49175a5..806ac2a0cf0100 100644 --- a/comp/core/log/mock/go.mod +++ b/comp/core/log/mock/go.mod @@ -54,7 +54,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/core/log/mock/go.sum b/comp/core/log/mock/go.sum index 9d4a16833aae57..778ede4b349730 100644 --- a/comp/core/log/mock/go.sum +++ b/comp/core/log/mock/go.sum @@ -207,8 +207,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -241,8 +241,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/core/secrets/go.mod b/comp/core/secrets/go.mod index 4a30602e3f1b94..1ce0d3e60925a7 100644 --- a/comp/core/secrets/go.mod +++ b/comp/core/secrets/go.mod @@ -27,8 +27,8 @@ require ( github.com/benbjohnson/clock v1.3.5 github.com/stretchr/testify v1.10.0 go.uber.org/fx v1.23.0 - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 - golang.org/x/sys v0.28.0 + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 + golang.org/x/sys v0.29.0 gopkg.in/yaml.v2 v2.4.0 ) diff --git a/comp/core/secrets/go.sum b/comp/core/secrets/go.sum index b8d972a62c2708..8415efdc313b3e 100644 --- a/comp/core/secrets/go.sum +++ b/comp/core/secrets/go.sum @@ -54,10 +54,10 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/comp/core/status/go.mod b/comp/core/status/go.mod index 0f43b017d8c0b1..53ec63c72737da 100644 --- a/comp/core/status/go.mod +++ b/comp/core/status/go.mod @@ -21,7 +21,7 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/comp/core/status/go.sum b/comp/core/status/go.sum index e2f8cd3f4a24ba..deb52d76e2dfe1 100644 --- a/comp/core/status/go.sum +++ b/comp/core/status/go.sum @@ -40,8 +40,8 @@ go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/comp/core/status/statusimpl/go.mod b/comp/core/status/statusimpl/go.mod index c69a29f1f81aa2..95a89f26d371ce 100644 --- a/comp/core/status/statusimpl/go.mod +++ b/comp/core/status/statusimpl/go.mod @@ -113,8 +113,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/comp/core/status/statusimpl/go.sum b/comp/core/status/statusimpl/go.sum index ffb05837776711..cf0486f2f3fb54 100644 --- a/comp/core/status/statusimpl/go.sum +++ b/comp/core/status/statusimpl/go.sum @@ -249,8 +249,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -289,8 +289,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/core/tagger/README.md b/comp/core/tagger/README.md index 774a2fcaeecf21..060a3e5680cf34 100644 --- a/comp/core/tagger/README.md +++ b/comp/core/tagger/README.md @@ -57,6 +57,7 @@ Tagger entities are identified by a string-typed ID, with one of the following f | workloadmeta.KindKubernetesMetadata | `kubernetes_metadata://///` (`` is empty in cluster-scoped objects) | | workloadmeta.KindKubernetesPod | `kubernetes_pod_uid://` | | workloadmeta.KindProcess | `process://` | +| workloadmeta.KindGPU | `gpu://` | ## Tagger diff --git a/comp/core/tagger/collectors/workloadmeta_extract.go b/comp/core/tagger/collectors/workloadmeta_extract.go index eee5f075d1a2b9..b19b534856e009 100644 --- a/comp/core/tagger/collectors/workloadmeta_extract.go +++ b/comp/core/tagger/collectors/workloadmeta_extract.go @@ -150,7 +150,7 @@ func (c *WorkloadMetaCollector) processEvents(evBundle workloadmeta.EventBundle) case workloadmeta.KindKubernetesDeployment: tagInfos = append(tagInfos, c.handleKubeDeployment(ev)...) case workloadmeta.KindGPU: - // tagInfos = append(tagInfos, c.handleGPU(ev)...) No tags for now + tagInfos = append(tagInfos, c.handleGPU(ev)...) default: log.Errorf("cannot handle event for entity %q with kind %q", entityID.ID, entityID.Kind) } @@ -615,6 +615,35 @@ func (c *WorkloadMetaCollector) handleKubeMetadata(ev workloadmeta.Event) []*typ return tagInfos } +func (c *WorkloadMetaCollector) handleGPU(ev workloadmeta.Event) []*types.TagInfo { + gpu := ev.Entity.(*workloadmeta.GPU) + + tagList := taglist.NewTagList() + + tagList.AddLow(tags.KubeGPUVendor, gpu.Vendor) + tagList.AddLow(tags.KubeGPUDevice, gpu.Device) + tagList.AddLow(tags.KubeGPUUUID, gpu.ID) + + low, orch, high, standard := tagList.Compute() + + if len(low)+len(orch)+len(high)+len(standard) == 0 { + return nil + } + + tagInfos := []*types.TagInfo{ + { + Source: gpuSource, + EntityID: common.BuildTaggerEntityID(gpu.EntityID), + HighCardTags: high, + OrchestratorCardTags: orch, + LowCardTags: low, + StandardTags: standard, + }, + } + + return tagInfos +} + func (c *WorkloadMetaCollector) extractTagsFromPodLabels(pod *workloadmeta.KubernetesPod, tagList *taglist.TagList) { for name, value := range pod.Labels { switch name { diff --git a/comp/core/tagger/collectors/workloadmeta_main.go b/comp/core/tagger/collectors/workloadmeta_main.go index 527b35b0ece0f2..c3dfc7cfd6d8c7 100644 --- a/comp/core/tagger/collectors/workloadmeta_main.go +++ b/comp/core/tagger/collectors/workloadmeta_main.go @@ -35,6 +35,7 @@ const ( processSource = workloadmetaCollectorName + "-" + string(workloadmeta.KindProcess) kubeMetadataSource = workloadmetaCollectorName + "-" + string(workloadmeta.KindKubernetesMetadata) deploymentSource = workloadmetaCollectorName + "-" + string(workloadmeta.KindKubernetesDeployment) + gpuSource = workloadmetaCollectorName + "-" + string(workloadmeta.KindGPU) clusterTagNamePrefix = "kube_cluster_name" ) diff --git a/comp/core/tagger/collectors/workloadmeta_test.go b/comp/core/tagger/collectors/workloadmeta_test.go index a15d7e674f41e5..5837cbfbaf2602 100644 --- a/comp/core/tagger/collectors/workloadmeta_test.go +++ b/comp/core/tagger/collectors/workloadmeta_test.go @@ -2253,6 +2253,61 @@ func TestHandleContainerImage(t *testing.T) { } } +func TestHandleGPU(t *testing.T) { + entityID := workloadmeta.EntityID{ + Kind: workloadmeta.KindGPU, + ID: "gpu-1234", + } + + taggerEntityID := types.NewEntityID(types.GPU, entityID.ID) + + tests := []struct { + name string + gpu workloadmeta.GPU + expected []*types.TagInfo + }{ + { + name: "basic", + gpu: workloadmeta.GPU{ + EntityID: entityID, + EntityMeta: workloadmeta.EntityMeta{ + Name: entityID.ID, + }, + Vendor: "nvidia", + Device: "tesla-v100", + }, + expected: []*types.TagInfo{ + { + Source: gpuSource, + EntityID: taggerEntityID, + HighCardTags: []string{}, + OrchestratorCardTags: []string{}, + LowCardTags: []string{ + "gpu_vendor:nvidia", + "gpu_device:tesla-v100", + "gpu_uuid:gpu-1234", + }, + StandardTags: []string{}, + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + cfg := configmock.New(t) + collector := NewWorkloadMetaCollector(context.Background(), cfg, nil, nil) + + actual := collector.handleGPU(workloadmeta.Event{ + Type: workloadmeta.EventTypeSet, + Entity: &tt.gpu, + }) + + assertTagInfoListEqual(t, tt.expected, actual) + }) + } +} + func TestHandleDelete(t *testing.T) { const ( podName = "datadog-agent-foobar" diff --git a/comp/core/tagger/common/entity_id_builder.go b/comp/core/tagger/common/entity_id_builder.go index 054a0b4493ba60..108f440e0cf3ff 100644 --- a/comp/core/tagger/common/entity_id_builder.go +++ b/comp/core/tagger/common/entity_id_builder.go @@ -29,6 +29,8 @@ func BuildTaggerEntityID(entityID workloadmeta.EntityID) types.EntityID { return types.NewEntityID(types.KubernetesDeployment, entityID.ID) case workloadmeta.KindKubernetesMetadata: return types.NewEntityID(types.KubernetesMetadata, entityID.ID) + case workloadmeta.KindGPU: + return types.NewEntityID(types.GPU, entityID.ID) default: log.Errorf("can't recognize entity %q with kind %q; trying %s://%s as tagger entity", entityID.ID, entityID.Kind, entityID.ID, entityID.Kind) diff --git a/comp/core/tagger/impl/tagger.go b/comp/core/tagger/impl/tagger.go index 17a184d4f990cb..55de1d1c62b5f4 100644 --- a/comp/core/tagger/impl/tagger.go +++ b/comp/core/tagger/impl/tagger.go @@ -416,7 +416,7 @@ func (t *TaggerWrapper) EnrichTags(tb tagset.TagsAccumulator, originInfo taggert // | none | not empty || container prefix + originFromMsg | if t.datadogConfig.dogstatsdOptOutEnabled && originInfo.Cardinality == types.NoneCardinalityString { originInfo.ContainerIDFromSocket = packets.NoOrigin - originInfo.PodUID = "" + originInfo.LocalData.PodUID = "" originInfo.LocalData.ContainerID = "" return } @@ -424,7 +424,7 @@ func (t *TaggerWrapper) EnrichTags(tb tagset.TagsAccumulator, originInfo taggert // We use the UDS socket origin if no origin ID was specify in the tags // or 'dogstatsd_entity_id_precedence' is set to False (default false). if originInfo.ContainerIDFromSocket != packets.NoOrigin && - (originInfo.PodUID == "" || !t.datadogConfig.dogstatsdEntityIDPrecedenceEnabled) && + (originInfo.LocalData.PodUID == "" || !t.datadogConfig.dogstatsdEntityIDPrecedenceEnabled) && len(originInfo.ContainerIDFromSocket) > containerIDFromSocketCutIndex { containerID := originInfo.ContainerIDFromSocket[containerIDFromSocketCutIndex:] originFromClient := types.NewEntityID(types.ContainerID, containerID) @@ -435,11 +435,11 @@ func (t *TaggerWrapper) EnrichTags(tb tagset.TagsAccumulator, originInfo taggert // originFromClient can either be originInfo.FromTag or originInfo.FromMsg var originFromClient types.EntityID - if originInfo.PodUID != "" && originInfo.PodUID != "none" { + if originInfo.LocalData.PodUID != "" && originInfo.LocalData.PodUID != "none" { // Check if the value is not "none" in order to avoid calling the tagger for entity that doesn't exist. // Currently only supported for pods - originFromClient = types.NewEntityID(types.KubernetesPodUID, originInfo.PodUID) - } else if originInfo.PodUID == "" && len(originInfo.LocalData.ContainerID) > 0 { + originFromClient = types.NewEntityID(types.KubernetesPodUID, originInfo.LocalData.PodUID) + } else if originInfo.LocalData.PodUID == "" && len(originInfo.LocalData.ContainerID) > 0 { // originInfo.FromMsg is the container ID sent by the newer clients. originFromClient = types.NewEntityID(types.ContainerID, originInfo.LocalData.ContainerID) } @@ -454,7 +454,7 @@ func (t *TaggerWrapper) EnrichTags(tb tagset.TagsAccumulator, originInfo taggert // Disable origin detection if cardinality is none if originInfo.Cardinality == types.NoneCardinalityString { originInfo.ContainerIDFromSocket = packets.NoOrigin - originInfo.PodUID = "" + originInfo.LocalData.PodUID = "" originInfo.LocalData.ContainerID = "" return } @@ -472,8 +472,8 @@ func (t *TaggerWrapper) EnrichTags(tb tagset.TagsAccumulator, originInfo taggert t.log.Tracef("Cannot get tags for entity %s: %s", originInfo.LocalData.ContainerID, err) } - if err := t.AccumulateTagsFor(types.NewEntityID(types.KubernetesPodUID, originInfo.PodUID), cardinality, tb); err != nil { - t.log.Tracef("Cannot get tags for entity %s: %s", originInfo.PodUID, err) + if err := t.AccumulateTagsFor(types.NewEntityID(types.KubernetesPodUID, originInfo.LocalData.PodUID), cardinality, tb); err != nil { + t.log.Tracef("Cannot get tags for entity %s: %s", originInfo.LocalData.PodUID, err) } // Accumulate tags for pod UID diff --git a/comp/core/tagger/impl/tagger_test.go b/comp/core/tagger/impl/tagger_test.go index 5e55df78d0b99c..ed2cb328a02d8e 100644 --- a/comp/core/tagger/impl/tagger_test.go +++ b/comp/core/tagger/impl/tagger_test.go @@ -109,18 +109,34 @@ func TestEnrichTags(t *testing.T) { }, expectedTags: []string{"container-low", "container-orch", "container-high"}, }, { - name: "with local data (podUID) and low cardinality", - originInfo: taggertypes.OriginInfo{PodUID: podUID, Cardinality: "low"}, + name: "with local data (podUID) and low cardinality", + originInfo: taggertypes.OriginInfo{ + LocalData: origindetection.LocalData{ + PodUID: podUID, + }, + Cardinality: "low", + }, expectedTags: []string{"pod-low"}, }, { - name: "with local data (podUID) and high cardinality", - originInfo: taggertypes.OriginInfo{PodUID: podUID, Cardinality: "high"}, + name: "with local data (podUID) and high cardinality", + originInfo: taggertypes.OriginInfo{ + LocalData: origindetection.LocalData{ + PodUID: podUID, + }, + Cardinality: "high", + }, expectedTags: []string{"pod-low", "pod-orch", "pod-high"}, }, { - name: "with local data (podUID, containerIDFromSocket) and high cardinality, APM origin", - originInfo: taggertypes.OriginInfo{PodUID: podUID, Cardinality: "high", ContainerIDFromSocket: fmt.Sprintf("container_id://%s", containerID), ProductOrigin: origindetection.ProductOriginAPM}, + name: "with local data (podUID, containerIDFromSocket) and high cardinality, APM origin", + originInfo: taggertypes.OriginInfo{ + ContainerIDFromSocket: fmt.Sprintf("container_id://%s", containerID), + LocalData: origindetection.LocalData{ + PodUID: podUID, + }, + Cardinality: "high", + ProductOrigin: origindetection.ProductOriginAPM}, expectedTags: []string{"container-low", "container-orch", "container-high", "pod-low", "pod-orch", "pod-high"}, }, } { @@ -284,9 +300,9 @@ func TestEnrichTagsOptOut(t *testing.T) { // Test without none cardinality tagger.EnrichTags(tb, taggertypes.OriginInfo{ ContainerIDFromSocket: "container_id://bar", - PodUID: "pod-uid", LocalData: origindetection.LocalData{ ContainerID: "container-id", + PodUID: "pod-uid", }, Cardinality: "low", ProductOrigin: origindetection.ProductOriginDogStatsD, diff --git a/comp/core/tagger/tags/tags.go b/comp/core/tagger/tags/tags.go index 818ab9a7576cb1..8b4517f96e3710 100644 --- a/comp/core/tagger/tags/tags.go +++ b/comp/core/tagger/tags/tags.go @@ -91,9 +91,18 @@ const ( // GPU related tags - // KubeGPUVendor the tag for the Kubernetes Resource GPU vendor + // KubeGPUVendor the tag for the Kubernetes Resource GPU vendor (e.g., NVIDIA). KubeGPUVendor = "gpu_vendor" + // KubeGPUDevice is the tag for the Kubernetes Resource GPU device. This is + // the commercial name of the device (e.g., Tesla T4). See + // comp/core/workloadmeta/def/types.go:GPU.Device for more detail on this + // field. + KubeGPUDevice = "gpu_device" + + // KubeGPUUUID is the tag for the Kubernetes Resource GPU UUID + KubeGPUUUID = "gpu_uuid" + // OpenshiftDeploymentConfig is the tag for the OpenShift deployment config name OpenshiftDeploymentConfig = "oshift_deployment_config" diff --git a/comp/core/tagger/types/entity_id.go b/comp/core/tagger/types/entity_id.go index c598c13fcf43d8..8fb3969e007c25 100644 --- a/comp/core/tagger/types/entity_id.go +++ b/comp/core/tagger/types/entity_id.go @@ -71,6 +71,8 @@ const ( Process EntityIDPrefix = "process" // InternalID is the prefix `internal` InternalID EntityIDPrefix = "internal" + // GPU is the prefix `gpu` + GPU EntityIDPrefix = "gpu" ) // AllPrefixesSet returns a set of all possible entity id prefixes that can be used in the tagger @@ -85,6 +87,7 @@ func AllPrefixesSet() map[EntityIDPrefix]struct{} { KubernetesPodUID: {}, Process: {}, InternalID: {}, + GPU: {}, } } diff --git a/comp/core/tagger/types/filter_builder_test.go b/comp/core/tagger/types/filter_builder_test.go index 72beadbf339101..4c05a49452ec1a 100644 --- a/comp/core/tagger/types/filter_builder_test.go +++ b/comp/core/tagger/types/filter_builder_test.go @@ -59,6 +59,7 @@ func TestFilterBuilderOps(t *testing.T) { KubernetesPodUID: {}, Process: {}, InternalID: {}, + GPU: {}, }, cardinality: HighCardinality, }, diff --git a/comp/core/telemetry/go.mod b/comp/core/telemetry/go.mod index 31f465e17680b7..230cb476e883b0 100644 --- a/comp/core/telemetry/go.mod +++ b/comp/core/telemetry/go.mod @@ -33,7 +33,7 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/comp/core/telemetry/go.sum b/comp/core/telemetry/go.sum index 9671abc8688711..bbe1dba4f7d9a9 100644 --- a/comp/core/telemetry/go.sum +++ b/comp/core/telemetry/go.sum @@ -48,8 +48,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/comp/dogstatsd/server/batch.go b/comp/dogstatsd/server/batch.go index 3a7a2b42588bef..f36ea92cc9eb38 100644 --- a/comp/dogstatsd/server/batch.go +++ b/comp/dogstatsd/server/batch.go @@ -103,13 +103,13 @@ func (s *shardKeyGeneratorPerOrigin) Generate(sample metrics.MetricSample, shard // We fall back on the generic sharding if: // - the sample has a custom cardinality // - we don't have the origin - if sample.OriginInfo.Cardinality != "" || (sample.OriginInfo.ContainerIDFromSocket == "" && sample.OriginInfo.PodUID == "" && sample.OriginInfo.LocalData.ContainerID == "") { + if sample.OriginInfo.Cardinality != "" || (sample.OriginInfo.ContainerIDFromSocket == "" && sample.OriginInfo.LocalData.PodUID == "" && sample.OriginInfo.LocalData.ContainerID == "") { return s.shardKeyGeneratorBase.Generate(sample, shards) } // Otherwise, we isolate the samples based on the origin. i, j := uint64(0), uint64(0) - i, j = murmur3.SeedStringSum128(i, j, sample.OriginInfo.PodUID) + i, j = murmur3.SeedStringSum128(i, j, sample.OriginInfo.LocalData.PodUID) i, j = murmur3.SeedStringSum128(i, j, sample.OriginInfo.LocalData.ContainerID) i, _ = murmur3.SeedStringSum128(i, j, sample.OriginInfo.ContainerIDFromSocket) diff --git a/comp/dogstatsd/server/component.go b/comp/dogstatsd/server/component.go index b1c86c69521a63..6871739c87c196 100644 --- a/comp/dogstatsd/server/component.go +++ b/comp/dogstatsd/server/component.go @@ -20,9 +20,6 @@ type Component interface { // IsRunning returns true if the server is running IsRunning() bool - // UdsListenerRunning returns true if the uds listener is running - UdsListenerRunning() bool - // ServerlessFlush flushes all the data to the aggregator to them send it to the Datadog intake. ServerlessFlush(time.Duration) diff --git a/comp/dogstatsd/server/enrich.go b/comp/dogstatsd/server/enrich.go index 4ae4bab5c063f7..df4d16fef553c6 100644 --- a/comp/dogstatsd/server/enrich.go +++ b/comp/dogstatsd/server/enrich.go @@ -53,7 +53,7 @@ func extractTagsMetadata(tags []string, originFromUDS string, localData originde host = tag[len(hostTagPrefix):] continue } else if strings.HasPrefix(tag, entityIDTagPrefix) { - origin.PodUID = tag[len(entityIDTagPrefix):] + origin.LocalData.PodUID = tag[len(entityIDTagPrefix):] continue } else if strings.HasPrefix(tag, CardinalityTagPrefix) { origin.Cardinality = tag[len(CardinalityTagPrefix):] diff --git a/comp/dogstatsd/server/enrich_test.go b/comp/dogstatsd/server/enrich_test.go index ba43b317fe3d97..13952d769428a9 100644 --- a/comp/dogstatsd/server/enrich_test.go +++ b/comp/dogstatsd/server/enrich_test.go @@ -100,7 +100,7 @@ func TestConvertParseMultiple(t *testing.T) { assert.Equal(t, 0, len(parsed[0].Tags)) assert.Equal(t, "default-hostname", parsed[0].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed[0].SampleRate, epsilon) @@ -110,7 +110,7 @@ func TestConvertParseMultiple(t *testing.T) { assert.Equal(t, 0, len(parsed[1].Tags)) assert.Equal(t, "default-hostname", parsed[1].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed[1].SampleRate, epsilon) } @@ -134,7 +134,7 @@ func TestConvertParseSingle(t *testing.T) { assert.Equal(t, 0, len(parsed[0].Tags)) assert.Equal(t, "default-hostname", parsed[0].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed[0].SampleRate, epsilon) } @@ -160,7 +160,7 @@ func TestConvertParseSingleWithTags(t *testing.T) { assert.Equal(t, "bench", parsed[0].Tags[1]) assert.Equal(t, "default-hostname", parsed[0].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed[0].SampleRate, epsilon) } @@ -186,7 +186,7 @@ func TestConvertParseSingleWithHostTags(t *testing.T) { assert.Equal(t, "bench", parsed[0].Tags[1]) assert.Equal(t, "custom-host", parsed[0].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed[0].SampleRate, epsilon) } @@ -212,7 +212,7 @@ func TestConvertParseSingleWithEmptyHostTags(t *testing.T) { assert.Equal(t, "bench", parsed[0].Tags[1]) assert.Equal(t, "", parsed[0].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed[0].SampleRate, epsilon) } @@ -236,7 +236,7 @@ func TestConvertParseSingleWithSampleRate(t *testing.T) { assert.Equal(t, 0, len(parsed[0].Tags)) assert.Equal(t, "default-hostname", parsed[0].Host) assert.Equal(t, "", parsed[0].OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed[0].OriginInfo.PodUID) + assert.Equal(t, "", parsed[0].OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed[0].OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 0.21, parsed[0].SampleRate, epsilon) } @@ -257,7 +257,7 @@ func TestConvertParseSet(t *testing.T) { assert.Equal(t, 0, len(parsed.Tags)) assert.Equal(t, "default-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed.OriginInfo.PodUID) + assert.Equal(t, "", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -277,7 +277,7 @@ func TestConvertParseSetUnicode(t *testing.T) { assert.Equal(t, 0, len(parsed.Tags)) assert.Equal(t, "default-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed.OriginInfo.PodUID) + assert.Equal(t, "", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -297,7 +297,7 @@ func TestConvertParseGaugeWithPoundOnly(t *testing.T) { assert.Equal(t, 0, len(parsed.Tags)) assert.Equal(t, "default-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed.OriginInfo.PodUID) + assert.Equal(t, "", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -318,7 +318,7 @@ func TestConvertParseGaugeWithUnicode(t *testing.T) { assert.Equal(t, "intitulé:T0µ", parsed.Tags[0]) assert.Equal(t, "default-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", parsed.OriginInfo.PodUID) + assert.Equal(t, "", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -394,7 +394,7 @@ func TestConvertServiceCheckMinimal(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string(nil), sc.Tags) } @@ -441,7 +441,7 @@ func TestConvertServiceCheckMetadataTimestamp(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string(nil), sc.Tags) } @@ -459,7 +459,7 @@ func TestConvertServiceCheckMetadataHostname(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string(nil), sc.Tags) } @@ -477,7 +477,7 @@ func TestConvertServiceCheckMetadataHostnameInTag(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string{}, sc.Tags) } @@ -495,7 +495,7 @@ func TestConvertServiceCheckMetadataEmptyHostTag(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string{"other:tag"}, sc.Tags) } @@ -513,7 +513,7 @@ func TestConvertServiceCheckMetadataTags(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string{"tag1", "tag2:test", "tag3"}, sc.Tags) } @@ -531,7 +531,7 @@ func TestConvertServiceCheckMetadataMessage(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "this is fine", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string(nil), sc.Tags) } @@ -549,7 +549,7 @@ func TestConvertServiceCheckMetadataMultiple(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "this is fine", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string{"tag1:test", "tag2"}, sc.Tags) @@ -562,7 +562,7 @@ func TestConvertServiceCheckMetadataMultiple(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", sc.OriginInfo.PodUID) + assert.Equal(t, "", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string(nil), sc.Tags) } @@ -579,7 +579,7 @@ func TestServiceCheckOriginTag(t *testing.T) { assert.Equal(t, servicecheck.ServiceCheckOK, sc.Status) assert.Equal(t, "this is fine", sc.Message) assert.Equal(t, "", sc.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "testID", sc.OriginInfo.PodUID) + assert.Equal(t, "testID", sc.OriginInfo.LocalData.PodUID) assert.Equal(t, "", sc.OriginInfo.LocalData.ContainerID) assert.Equal(t, []string{"tag1:test", "tag2"}, sc.Tags) } @@ -602,7 +602,7 @@ func TestConvertEventMinimal(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -624,7 +624,7 @@ func TestConvertEventMultilinesText(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -646,7 +646,7 @@ func TestConvertEventPipeInTitle(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -736,7 +736,7 @@ func TestConvertEventMetadataTimestamp(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -758,7 +758,7 @@ func TestConvertEventMetadataPriority(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -780,7 +780,7 @@ func TestConvertEventMetadataHostname(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -802,7 +802,7 @@ func TestConvertEventMetadataHostnameInTag(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -824,7 +824,7 @@ func TestConvertEventMetadataEmptyHostTag(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -846,7 +846,7 @@ func TestConvertEventMetadataAlertType(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -868,7 +868,7 @@ func TestConvertEventMetadataAggregatioKey(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -890,7 +890,7 @@ func TestConvertEventMetadataSourceType(t *testing.T) { assert.Equal(t, "this is the source", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -912,7 +912,7 @@ func TestConvertEventMetadataTags(t *testing.T) { assert.Equal(t, "", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -934,7 +934,7 @@ func TestConvertEventMetadataMultiple(t *testing.T) { assert.Equal(t, "source test", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "", e.OriginInfo.PodUID) + assert.Equal(t, "", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -956,7 +956,7 @@ func TestEventOriginTag(t *testing.T) { assert.Equal(t, "source test", e.SourceTypeName) assert.Equal(t, "", e.EventType) assert.Equal(t, "", e.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "testID", e.OriginInfo.PodUID) + assert.Equal(t, "testID", e.OriginInfo.LocalData.PodUID) assert.Equal(t, "", e.OriginInfo.LocalData.ContainerID) } @@ -1064,7 +1064,7 @@ func TestConvertEntityOriginDetectionNoTags(t *testing.T) { assert.Equal(t, "sometag2:somevalue2", parsed.Tags[1]) assert.Equal(t, "my-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "foo", parsed.OriginInfo.PodUID) + assert.Equal(t, "foo", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -1083,7 +1083,7 @@ func TestConvertEntityOriginDetectionTags(t *testing.T) { assert.ElementsMatch(t, []string{"sometag1:somevalue1", "sometag2:somevalue2"}, parsed.Tags) assert.Equal(t, "my-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "foo", parsed.OriginInfo.PodUID) + assert.Equal(t, "foo", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -1103,7 +1103,7 @@ func TestConvertEntityOriginDetectionTagsError(t *testing.T) { assert.Equal(t, "sometag2:somevalue2", parsed.Tags[1]) assert.Equal(t, "my-hostname", parsed.Host) assert.Equal(t, "", parsed.OriginInfo.ContainerIDFromSocket) - assert.Equal(t, "foo", parsed.OriginInfo.PodUID) + assert.Equal(t, "foo", parsed.OriginInfo.LocalData.PodUID) assert.Equal(t, "", parsed.OriginInfo.LocalData.ContainerID) assert.InEpsilon(t, 1.0, parsed.SampleRate, epsilon) } @@ -1187,9 +1187,14 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: true, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "my-id"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "my-id", + }, + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1204,9 +1209,14 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: true, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "none"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "none", + }, + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1221,9 +1231,14 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: false, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "42"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "42", + }, + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1238,9 +1253,15 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: false, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "42", Cardinality: "high"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "42", + }, + Cardinality: "high", + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1255,9 +1276,15 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: false, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "42", Cardinality: "orchestrator"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "42", + }, + Cardinality: "orchestrator", + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1272,9 +1299,15 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: false, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "42", Cardinality: "low"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "42", + }, + Cardinality: "low", + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1289,9 +1322,15 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: false, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "42", Cardinality: "unknown"}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "42", + }, + Cardinality: "unknown", + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1306,9 +1345,15 @@ func TestEnrichTags(t *testing.T) { entityIDPrecedenceEnabled: false, }, }, - wantedTags: []string{"env:prod"}, - wantedHost: "foo", - wantedOrigin: taggertypes.OriginInfo{ContainerIDFromSocket: "originID", PodUID: "42", Cardinality: ""}, + wantedTags: []string{"env:prod"}, + wantedHost: "foo", + wantedOrigin: taggertypes.OriginInfo{ + ContainerIDFromSocket: "originID", + LocalData: origindetection.LocalData{ + PodUID: "42", + }, + Cardinality: "", + }, wantedMetricSource: metrics.MetricSourceDogstatsd, }, { @@ -1329,9 +1374,9 @@ func TestEnrichTags(t *testing.T) { wantedHost: "foo", wantedOrigin: taggertypes.OriginInfo{ ContainerIDFromSocket: "originID", - PodUID: "pod-uid", LocalData: origindetection.LocalData{ ContainerID: "container-id", + PodUID: "pod-uid", }, }, wantedMetricSource: metrics.MetricSourceDogstatsd, @@ -1406,9 +1451,9 @@ func TestEnrichTags(t *testing.T) { wantedHost: "foo", wantedOrigin: taggertypes.OriginInfo{ ContainerIDFromSocket: "originID", - PodUID: "pod-uid", LocalData: origindetection.LocalData{ ContainerID: "container-id", + PodUID: "pod-uid", }, ExternalData: origindetection.ExternalData{ Init: false, diff --git a/comp/dogstatsd/server/server.go b/comp/dogstatsd/server/server.go index bd0f0f08b585f5..bba75e1db614a4 100644 --- a/comp/dogstatsd/server/server.go +++ b/comp/dogstatsd/server/server.go @@ -150,9 +150,8 @@ type server struct { cachedOrder []cachedOriginCounter // for cache eviction // ServerlessMode is set to true if we're running in a serverless environment. - ServerlessMode bool - udsListenerRunning bool - udpLocalAddr string + ServerlessMode bool + udpLocalAddr string // originTelemetry is true if we want to report telemetry per origin. originTelemetry bool @@ -291,7 +290,6 @@ func newServerCompat(cfg model.Reader, log log.Component, capture replay.Compone cfg.GetBool("telemetry.dogstatsd_origin"), tCapture: capture, pidMap: pidMap, - udsListenerRunning: false, cachedOriginCounters: make(map[string]cachedOriginCounter), ServerlessMode: serverless, enrichConfig: enrichConfig{ @@ -351,8 +349,6 @@ func (s *server) start(context.Context) error { sharedPacketPool := packets.NewPool(s.config.GetInt("dogstatsd_buffer_size"), s.packetsTelemetry) sharedPacketPoolManager := packets.NewPoolManager[packets.Packet](sharedPacketPool) - udsListenerRunning := false - socketPath := s.config.GetString("dogstatsd_socket") socketStreamPath := s.config.GetString("dogstatsd_stream_socket") originDetection := s.config.GetBool("dogstatsd_origin_detection") @@ -378,7 +374,6 @@ func (s *server) start(context.Context) error { s.log.Errorf("Can't init UDS listener on path %s: %s", socketPath, err.Error()) } else { tmpListeners = append(tmpListeners, unixListener) - udsListenerRunning = true } } @@ -416,7 +411,6 @@ func (s *server) start(context.Context) error { return fmt.Errorf("listening on neither udp nor socket, please check your configuration") } - s.udsListenerRunning = udsListenerRunning s.packetsIn = packetsChannel s.captureChan = packetsChannel s.sharedPacketPool = sharedPacketPool @@ -610,10 +604,6 @@ func nextMessage(packet *[]byte, eolTermination bool) (message []byte) { return message } -func (s *server) UdsListenerRunning() bool { - return s.udsListenerRunning -} - func (s *server) eolEnabled(sourceType packets.SourceType) bool { switch sourceType { case packets.UDS: diff --git a/comp/dogstatsd/server/server_integration_test.go b/comp/dogstatsd/server/server_integration_test.go index ab693b7462f13f..12e4c7a19cf5f5 100644 --- a/comp/dogstatsd/server/server_integration_test.go +++ b/comp/dogstatsd/server/server_integration_test.go @@ -136,7 +136,6 @@ func TestUDSConn(t *testing.T) { cfg["dogstatsd_socket"] = socketPath deps := fulfillDepsWithConfigOverride(t, cfg) - require.True(t, deps.Server.UdsListenerRunning()) conn, err := net.Dial("unixgram", socketPath) require.NoError(t, err, "cannot connect to DSD socket") @@ -195,9 +194,7 @@ func TestUDSReceiverNoDir(t *testing.T) { cfg["dogstatsd_no_aggregation_pipeline"] = true // another test may have turned it off cfg["dogstatsd_socket"] = socketPath - deps := fulfillDepsWithConfigOverride(t, cfg) - require.False(t, deps.Server.UdsListenerRunning()) - + _ = fulfillDepsWithConfigOverride(t, cfg) _, err := net.Dial("unixgram", socketPath) require.Error(t, err, "UDS listener should be closed") } diff --git a/comp/dogstatsd/server/server_mock.go b/comp/dogstatsd/server/server_mock.go index 20892752c44a77..cac2a9cc567d31 100644 --- a/comp/dogstatsd/server/server_mock.go +++ b/comp/dogstatsd/server/server_mock.go @@ -54,11 +54,6 @@ func (s *serverMock) Capture(_ string, _ time.Duration, _ bool) (string, error) return "", nil } -// UdsListenerRunning is a mocked function that returns false -func (s *serverMock) UdsListenerRunning() bool { - return false -} - // UDPLocalAddr is a mocked function but UDP isn't enabled on the mock func (s *serverMock) UDPLocalAddr() string { return "" diff --git a/comp/dogstatsd/server/server_test.go b/comp/dogstatsd/server/server_test.go index 1d20f61d0f07a7..efeb24b928cf64 100644 --- a/comp/dogstatsd/server/server_test.go +++ b/comp/dogstatsd/server/server_test.go @@ -9,7 +9,6 @@ package server import ( "fmt" - "runtime" "testing" "github.com/stretchr/testify/assert" @@ -32,19 +31,6 @@ func TestNewServer(t *testing.T) { } -func TestUDSReceiverDisabled(t *testing.T) { - if runtime.GOOS == "windows" { - t.Skip("UDS isn't supported on windows") - } - cfg := make(map[string]interface{}) - cfg["dogstatsd_port"] = listeners.RandomPortName - cfg["dogstatsd_no_aggregation_pipeline"] = true // another test may have turned it off - cfg["dogstatsd_socket"] = "" // disabled - - deps := fulfillDepsWithConfigOverride(t, cfg) - require.False(t, deps.Server.UdsListenerRunning()) -} - // This test is proving that no data race occurred on the `cachedTlmOriginIds` map. // It should not fail since `cachedTlmOriginIds` and `cachedOrder` should be // properly protected from multiple accesses by `cachedTlmLock`. diff --git a/comp/forwarder/defaultforwarder/go.mod b/comp/forwarder/defaultforwarder/go.mod index ac2fd25fd306f5..b8dfe1557887ec 100644 --- a/comp/forwarder/defaultforwarder/go.mod +++ b/comp/forwarder/defaultforwarder/go.mod @@ -144,9 +144,9 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/comp/forwarder/defaultforwarder/go.sum b/comp/forwarder/defaultforwarder/go.sum index e74de63f9f7e18..aac188affbd0d6 100644 --- a/comp/forwarder/defaultforwarder/go.sum +++ b/comp/forwarder/defaultforwarder/go.sum @@ -261,8 +261,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -280,8 +280,8 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -303,8 +303,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/forwarder/orchestrator/orchestratorinterface/go.mod b/comp/forwarder/orchestrator/orchestratorinterface/go.mod index fe055c7500c10a..71948459efc153 100644 --- a/comp/forwarder/orchestrator/orchestratorinterface/go.mod +++ b/comp/forwarder/orchestrator/orchestratorinterface/go.mod @@ -151,9 +151,9 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/comp/forwarder/orchestrator/orchestratorinterface/go.sum b/comp/forwarder/orchestrator/orchestratorinterface/go.sum index fec6d359072645..46a7295ba30386 100644 --- a/comp/forwarder/orchestrator/orchestratorinterface/go.sum +++ b/comp/forwarder/orchestrator/orchestratorinterface/go.sum @@ -264,8 +264,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -283,8 +283,8 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -306,8 +306,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/logs/agent/config/go.mod b/comp/logs/agent/config/go.mod index 710cfa4154f810..aae1341b12d072 100644 --- a/comp/logs/agent/config/go.mod +++ b/comp/logs/agent/config/go.mod @@ -99,8 +99,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/logs/agent/config/go.sum b/comp/logs/agent/config/go.sum index c9a6a060385650..d5ae5023651652 100644 --- a/comp/logs/agent/config/go.sum +++ b/comp/logs/agent/config/go.sum @@ -238,8 +238,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -276,8 +276,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/otelcol/converter/impl/autoconfigure.go b/comp/otelcol/converter/impl/autoconfigure.go index b2c5a287c51bc7..adfa9f72bb2cbd 100644 --- a/comp/otelcol/converter/impl/autoconfigure.go +++ b/comp/otelcol/converter/impl/autoconfigure.go @@ -165,6 +165,11 @@ func addCoreAgentConfig(conf *confmap.Conf, coreCfg config.Component) { apiSite := apiMap["site"] if (apiSite == nil || apiSite == "") && coreCfg.Get("site") != nil { apiMap["site"] = coreCfg.Get("site") + } else if (apiSite == nil || apiSite == "") && coreCfg.Get("site") == nil { + // if site is nil or empty string, and core config site is unset, set default + // site. Site defaults to an empty string in helm chart: + // https://github.com/DataDog/helm-charts/blob/datadog-3.86.0/charts/datadog/templates/_otel_agent_config.yaml#L24. + apiMap["site"] = "datadoghq.com" } // api::key diff --git a/comp/otelcol/converter/impl/converter_test.go b/comp/otelcol/converter/impl/converter_test.go index 3c3ed5c0159323..ae5814004a6842 100644 --- a/comp/otelcol/converter/impl/converter_test.go +++ b/comp/otelcol/converter/impl/converter_test.go @@ -229,6 +229,12 @@ func TestConvert(t *testing.T) { expectedResult: "dd-core-cfg/site/unset/config-result.yaml", agentConfig: "dd-core-cfg/site/unset/acfg.yaml", }, + { + name: "dd-core-cfg/site/unset-core-mptystr-col", + provided: "dd-core-cfg/site/unset-core-mptystr-col/config.yaml", + expectedResult: "dd-core-cfg/site/unset-core-mptystr-col/config-result.yaml", + agentConfig: "dd-core-cfg/site/unset-core-mptystr-col/acfg.yaml", + }, { name: "dd-core-cfg/site/api-set-no-site", provided: "dd-core-cfg/site/api-set-no-site/config.yaml", diff --git a/comp/otelcol/converter/impl/go.mod b/comp/otelcol/converter/impl/go.mod index 2b1ce529f546a8..f3312ddbbb4a04 100644 --- a/comp/otelcol/converter/impl/go.mod +++ b/comp/otelcol/converter/impl/go.mod @@ -114,8 +114,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/otelcol/converter/impl/go.sum b/comp/otelcol/converter/impl/go.sum index 9db04dfb61075a..3004ec00f54072 100644 --- a/comp/otelcol/converter/impl/go.sum +++ b/comp/otelcol/converter/impl/go.sum @@ -262,8 +262,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -300,8 +300,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config-result.yaml index 0f4753e0690e5a..e43ecf79adc7bd 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config-result.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config-result.yaml @@ -15,6 +15,7 @@ exporters: datadog: api: key: ggggg77777 + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config.yaml index f31a6089fe2406..3c69b1d8e16832 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/empty-string/config.yaml @@ -15,6 +15,7 @@ exporters: datadog: api: key: "" + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config-result.yaml index 38413568a08485..3279246588d2ad 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config-result.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config-result.yaml @@ -14,9 +14,11 @@ exporters: datadog: api: key: ggggg77777 + site: datadoghq.com datadog/2: api: key: ggggg77777 + site: datadoghq.com extensions: pprof/user-defined: health_check/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config.yaml index e1a8d16c5ada3a..13107c2732d1ab 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/multiple-dd-exporter/config.yaml @@ -15,9 +15,11 @@ exporters: datadog: api: key: + site: datadoghq.com datadog/2: api: key: + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/no-api-key-section/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/no-api-key-section/config-result.yaml index 0f4753e0690e5a..e43ecf79adc7bd 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/no-api-key-section/config-result.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/no-api-key-section/config-result.yaml @@ -15,6 +15,7 @@ exporters: datadog: api: key: ggggg77777 + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config-result.yaml index 0f4753e0690e5a..e43ecf79adc7bd 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config-result.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config-result.yaml @@ -15,6 +15,7 @@ exporters: datadog: api: key: ggggg77777 + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config.yaml index 7d51de23ea7670..c7caf0e8f26ee4 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/secret/config.yaml @@ -15,6 +15,7 @@ exporters: datadog: api: key: "ENC[my-secret]" + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/unset/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/unset/config-result.yaml index 0f4753e0690e5a..e43ecf79adc7bd 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/unset/config-result.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/apikey/unset/config-result.yaml @@ -15,6 +15,7 @@ exporters: datadog: api: key: ggggg77777 + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/none/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/none/config-result.yaml index f9d9173c1238ab..904c8474c0e539 100644 --- a/comp/otelcol/converter/impl/testdata/dd-core-cfg/none/config-result.yaml +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/none/config-result.yaml @@ -15,7 +15,7 @@ exporters: datadog: api: key: - site: + site: datadoghq.com extensions: pprof/user-defined: diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/acfg.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/acfg.yaml new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/config-result.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/config-result.yaml new file mode 100644 index 00000000000000..eee38549dd7e0d --- /dev/null +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/config-result.yaml @@ -0,0 +1,41 @@ +receivers: + otlp: + prometheus/user-defined: + config: + scrape_configs: + - job_name: 'datadog-agent' + scrape_interval: 10s + static_configs: + - targets: ['0.0.0.0:8888'] + +processors: + infraattributes/user-defined: + +exporters: + datadog: + api: + key: abcde12345 + site: datadoghq.com + +extensions: + pprof/user-defined: + health_check/user-defined: + zpages/user-defined: + endpoint: "localhost:55679" + ddflare/user-defined: + +service: + extensions: [pprof/user-defined, zpages/user-defined, health_check/user-defined, ddflare/user-defined] + pipelines: + traces: + receivers: [otlp] + processors: [infraattributes/user-defined] + exporters: [datadog] + metrics: + receivers: [prometheus/user-defined] + processors: [infraattributes/user-defined] + exporters: [datadog] + logs: + receivers: [otlp] + processors: [infraattributes/user-defined] + exporters: [datadog] diff --git a/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/config.yaml b/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/config.yaml new file mode 100644 index 00000000000000..5de3ea2b69b9b6 --- /dev/null +++ b/comp/otelcol/converter/impl/testdata/dd-core-cfg/site/unset-core-mptystr-col/config.yaml @@ -0,0 +1,41 @@ +receivers: + otlp: + prometheus/user-defined: + config: + scrape_configs: + - job_name: 'datadog-agent' + scrape_interval: 10s + static_configs: + - targets: ['0.0.0.0:8888'] + +processors: + infraattributes/user-defined: + +exporters: + datadog: + api: + key: abcde12345 + site: "" + +extensions: + pprof/user-defined: + health_check/user-defined: + zpages/user-defined: + endpoint: "localhost:55679" + ddflare/user-defined: + +service: + extensions: [pprof/user-defined, zpages/user-defined, health_check/user-defined, ddflare/user-defined] + pipelines: + traces: + receivers: [otlp] + processors: [infraattributes/user-defined] + exporters: [datadog] + metrics: + receivers: [prometheus/user-defined] + processors: [infraattributes/user-defined] + exporters: [datadog] + logs: + receivers: [otlp] + processors: [infraattributes/user-defined] + exporters: [datadog] diff --git a/comp/otelcol/ddflareextension/def/go.mod b/comp/otelcol/ddflareextension/def/go.mod index 722e1fc4352278..5cac9d79b14f12 100644 --- a/comp/otelcol/ddflareextension/def/go.mod +++ b/comp/otelcol/ddflareextension/def/go.mod @@ -18,8 +18,8 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/grpc v1.69.2 // indirect diff --git a/comp/otelcol/ddflareextension/def/go.sum b/comp/otelcol/ddflareextension/def/go.sum index 560a08ae6afba7..b33e53ff050a38 100644 --- a/comp/otelcol/ddflareextension/def/go.sum +++ b/comp/otelcol/ddflareextension/def/go.sum @@ -55,16 +55,16 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/otelcol/ddflareextension/impl/go.mod b/comp/otelcol/ddflareextension/impl/go.mod index 3d8e0322951f6c..5ce10dd69255ef 100644 --- a/comp/otelcol/ddflareextension/impl/go.mod +++ b/comp/otelcol/ddflareextension/impl/go.mod @@ -508,17 +508,17 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect + golang.org/x/crypto v0.32.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.8.0 // indirect - golang.org/x/tools v0.28.0 // indirect + golang.org/x/tools v0.29.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.199.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect diff --git a/comp/otelcol/ddflareextension/impl/go.sum b/comp/otelcol/ddflareextension/impl/go.sum index 5f817636ac1751..682520eefbadcb 100644 --- a/comp/otelcol/ddflareextension/impl/go.sum +++ b/comp/otelcol/ddflareextension/impl/go.sum @@ -1050,8 +1050,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1062,8 +1062,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1134,8 +1134,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1225,16 +1225,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -1303,8 +1303,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/comp/otelcol/logsagentpipeline/go.mod b/comp/otelcol/logsagentpipeline/go.mod index 25ed0f1c09bd84..38f8c438b1b4ad 100644 --- a/comp/otelcol/logsagentpipeline/go.mod +++ b/comp/otelcol/logsagentpipeline/go.mod @@ -152,9 +152,9 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/comp/otelcol/logsagentpipeline/go.sum b/comp/otelcol/logsagentpipeline/go.sum index 92e54297dcb447..b5b2cf34b4eaf1 100644 --- a/comp/otelcol/logsagentpipeline/go.sum +++ b/comp/otelcol/logsagentpipeline/go.sum @@ -259,8 +259,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -281,8 +281,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -304,8 +304,8 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.mod b/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.mod index 40f16feadb57ac..41166e534eb157 100644 --- a/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.mod +++ b/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.mod @@ -164,9 +164,9 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.sum b/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.sum index 92e54297dcb447..b5b2cf34b4eaf1 100644 --- a/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.sum +++ b/comp/otelcol/logsagentpipeline/logsagentpipelineimpl/go.sum @@ -259,8 +259,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -281,8 +281,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -304,8 +304,8 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/otelcol/otlp/components/exporter/datadogexporter/go.mod b/comp/otelcol/otlp/components/exporter/datadogexporter/go.mod index 066299982f8928..4b812e26191a2a 100644 --- a/comp/otelcol/otlp/components/exporter/datadogexporter/go.mod +++ b/comp/otelcol/otlp/components/exporter/datadogexporter/go.mod @@ -324,11 +324,11 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.8.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect diff --git a/comp/otelcol/otlp/components/exporter/datadogexporter/go.sum b/comp/otelcol/otlp/components/exporter/datadogexporter/go.sum index 21b4dc69b00afa..7f0c6e0c9c682a 100644 --- a/comp/otelcol/otlp/components/exporter/datadogexporter/go.sum +++ b/comp/otelcol/otlp/components/exporter/datadogexporter/go.sum @@ -507,11 +507,11 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -534,8 +534,8 @@ golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -568,11 +568,11 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/otelcol/otlp/components/exporter/logsagentexporter/go.mod b/comp/otelcol/otlp/components/exporter/logsagentexporter/go.mod index aeb68f693e3ffd..c67221a1ae7d1b 100644 --- a/comp/otelcol/otlp/components/exporter/logsagentexporter/go.mod +++ b/comp/otelcol/otlp/components/exporter/logsagentexporter/go.mod @@ -160,11 +160,11 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/grpc v1.69.2 // indirect diff --git a/comp/otelcol/otlp/components/exporter/logsagentexporter/go.sum b/comp/otelcol/otlp/components/exporter/logsagentexporter/go.sum index 6ddb7faad1ff21..4d7ff3894abba9 100644 --- a/comp/otelcol/otlp/components/exporter/logsagentexporter/go.sum +++ b/comp/otelcol/otlp/components/exporter/logsagentexporter/go.sum @@ -356,8 +356,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -378,8 +378,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -405,10 +405,10 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/otelcol/otlp/components/exporter/serializerexporter/go.mod b/comp/otelcol/otlp/components/exporter/serializerexporter/go.mod index 128166d51faa39..7187d40303c670 100644 --- a/comp/otelcol/otlp/components/exporter/serializerexporter/go.mod +++ b/comp/otelcol/otlp/components/exporter/serializerexporter/go.mod @@ -212,9 +212,9 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/fx v1.23.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/grpc v1.69.2 // indirect diff --git a/comp/otelcol/otlp/components/exporter/serializerexporter/go.sum b/comp/otelcol/otlp/components/exporter/serializerexporter/go.sum index 86589bf14db291..757ebc9e23c291 100644 --- a/comp/otelcol/otlp/components/exporter/serializerexporter/go.sum +++ b/comp/otelcol/otlp/components/exporter/serializerexporter/go.sum @@ -439,8 +439,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -461,8 +461,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -486,8 +486,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/otelcol/otlp/components/metricsclient/go.mod b/comp/otelcol/otlp/components/metricsclient/go.mod index 6e77e173c08e02..589e141d865a19 100644 --- a/comp/otelcol/otlp/components/metricsclient/go.mod +++ b/comp/otelcol/otlp/components/metricsclient/go.mod @@ -24,6 +24,6 @@ require ( go.opentelemetry.io/otel/sdk v1.33.0 // indirect go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/comp/otelcol/otlp/components/metricsclient/go.sum b/comp/otelcol/otlp/components/metricsclient/go.sum index 432ddec1064d30..839dbb4500ed62 100644 --- a/comp/otelcol/otlp/components/metricsclient/go.sum +++ b/comp/otelcol/otlp/components/metricsclient/go.sum @@ -60,8 +60,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -71,8 +71,8 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/comp/otelcol/otlp/components/statsprocessor/go.mod b/comp/otelcol/otlp/components/statsprocessor/go.mod index 285a9af1cffbe6..4e9c5acd51af4c 100644 --- a/comp/otelcol/otlp/components/statsprocessor/go.mod +++ b/comp/otelcol/otlp/components/statsprocessor/go.mod @@ -92,8 +92,8 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.8.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect diff --git a/comp/otelcol/otlp/components/statsprocessor/go.sum b/comp/otelcol/otlp/components/statsprocessor/go.sum index 2c90acfe2d1d45..5a66da74a59599 100644 --- a/comp/otelcol/otlp/components/statsprocessor/go.sum +++ b/comp/otelcol/otlp/components/statsprocessor/go.sum @@ -188,8 +188,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -198,8 +198,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -216,8 +216,8 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/comp/otelcol/otlp/testutil/go.mod b/comp/otelcol/otlp/testutil/go.mod index d070a9c25b2216..2adbdacc9efd72 100644 --- a/comp/otelcol/otlp/testutil/go.mod +++ b/comp/otelcol/otlp/testutil/go.mod @@ -99,9 +99,9 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/grpc v1.69.2 // indirect diff --git a/comp/otelcol/otlp/testutil/go.sum b/comp/otelcol/otlp/testutil/go.sum index b236c96f0cb38e..6b0d5e2b67b860 100644 --- a/comp/otelcol/otlp/testutil/go.sum +++ b/comp/otelcol/otlp/testutil/go.sum @@ -288,8 +288,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -310,8 +310,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -333,8 +333,8 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/comp/serializer/compression/go.mod b/comp/serializer/compression/go.mod index 85f4a32dbb5f60..bc763234b050d9 100644 --- a/comp/serializer/compression/go.mod +++ b/comp/serializer/compression/go.mod @@ -96,8 +96,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/comp/serializer/compression/go.sum b/comp/serializer/compression/go.sum index be9af36c63be6c..132d89ed98cccf 100644 --- a/comp/serializer/compression/go.sum +++ b/comp/serializer/compression/go.sum @@ -240,8 +240,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -278,8 +278,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/comp/trace/agent/def/go.mod b/comp/trace/agent/def/go.mod index d37ec0ee686bc9..5ebd3a178a1782 100644 --- a/comp/trace/agent/def/go.mod +++ b/comp/trace/agent/def/go.mod @@ -28,8 +28,8 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/grpc v1.69.2 // indirect diff --git a/comp/trace/agent/def/go.sum b/comp/trace/agent/def/go.sum index 0fbb70f68d0ec3..fce49c1d5be5fc 100644 --- a/comp/trace/agent/def/go.sum +++ b/comp/trace/agent/def/go.sum @@ -84,16 +84,16 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/go.mod b/go.mod index 863c25dbb7cdbd..b31e391b05c3ca 100644 --- a/go.mod +++ b/go.mod @@ -307,14 +307,14 @@ require ( go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 go4.org/netipx v0.0.0-20220812043211-3cc044ffd68d - golang.org/x/arch v0.12.0 - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 - golang.org/x/net v0.33.0 + golang.org/x/arch v0.13.0 + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 + golang.org/x/net v0.34.0 golang.org/x/sync v0.10.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 golang.org/x/text v0.21.0 - golang.org/x/time v0.8.0 - golang.org/x/tools v0.28.0 + golang.org/x/time v0.9.0 + golang.org/x/tools v0.29.0 golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/grpc v1.69.2 @@ -411,7 +411,7 @@ require ( github.com/go-openapi/swag v0.23.0 // indirect github.com/go-redis/redis/v8 v8.11.5 // indirect github.com/godbus/dbus/v5 v5.1.0 - github.com/golang/glog v1.2.2 // indirect + github.com/golang/glog v1.2.4 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/uuid v1.6.0 github.com/google/wire v0.6.0 // indirect @@ -535,10 +535,10 @@ require ( go.opentelemetry.io/otel/sdk/metric v1.32.0 // indirect go.opentelemetry.io/otel/trace v1.33.0 go.opentelemetry.io/proto/otlp v1.4.0 // indirect - golang.org/x/crypto v0.31.0 // indirect + golang.org/x/crypto v0.32.0 // indirect golang.org/x/mod v0.22.0 golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/term v0.28.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.199.0 // indirect google.golang.org/appengine v1.6.8 // indirect diff --git a/go.sum b/go.sum index 771ee11abdafa3..e7728c0c5e8f84 100644 --- a/go.sum +++ b/go.sum @@ -877,8 +877,8 @@ github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= +github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -2313,8 +2313,8 @@ go4.org/netipx v0.0.0-20220812043211-3cc044ffd68d/go.mod h1:tgPU4N2u9RByaTN3NC2p go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= go4.org/unsafe/assume-no-moving-gc v0.0.0-20231121144256-b99613f794b6 h1:lGdhQUN/cnWdSH3291CUuxSEqc+AsGTiDxPP3r2J0l4= go4.org/unsafe/assume-no-moving-gc v0.0.0-20231121144256-b99613f794b6/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= -golang.org/x/arch v0.12.0 h1:UsYJhbzPYGsT0HbEdmYcqtCv8UNGvnaL561NnIUvaKg= -golang.org/x/arch v0.12.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= +golang.org/x/arch v0.13.0 h1:KCkqVVV1kGg0X87TFysjCJ8MxtZEIU4Ja/yXGeoECdA= +golang.org/x/arch v0.13.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -2338,8 +2338,8 @@ golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -2350,8 +2350,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8= golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -2448,8 +2448,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190130055435-99b60b757ec1/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2569,8 +2569,8 @@ golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2583,8 +2583,8 @@ golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -2608,8 +2608,8 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= -golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= +golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -2669,8 +2669,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/internal/tools/go.mod b/internal/tools/go.mod index 86bb4ce392086b..1f64abb64428e3 100644 --- a/internal/tools/go.mod +++ b/internal/tools/go.mod @@ -224,16 +224,16 @@ require ( go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect + golang.org/x/crypto v0.32.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect - golang.org/x/tools v0.28.0 // indirect + golang.org/x/tools v0.29.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/internal/tools/go.sum b/internal/tools/go.sum index 92449b3d5f2a31..d9898edc79b58c 100644 --- a/internal/tools/go.sum +++ b/internal/tools/go.sum @@ -591,14 +591,14 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8= @@ -645,8 +645,8 @@ golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/perf v0.0.0-20210220033136-40a54f11e909 h1:rWw0Gj4DMl/2otJ8CnfTcwOWkpROAc6qhXXoMrYOCgo= golang.org/x/perf v0.0.0-20210220033136-40a54f11e909/go.mod h1:KRSrLY7jerMEa0Ih7gBheQ3FYDiSx6liMnniX1o3j2g= @@ -691,8 +691,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -701,8 +701,8 @@ golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -742,8 +742,8 @@ golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/internal/tools/proto/go.mod b/internal/tools/proto/go.mod index cb5f28fa863dbb..760722f9e65650 100644 --- a/internal/tools/proto/go.mod +++ b/internal/tools/proto/go.mod @@ -14,7 +14,7 @@ require ( require ( github.com/ghodss/yaml v1.0.0 // indirect - github.com/golang/glog v1.2.3 // indirect + github.com/golang/glog v1.2.4 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect @@ -22,11 +22,11 @@ require ( go.opentelemetry.io/otel/sdk v1.33.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.32.0 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect - golang.org/x/tools v0.28.0 // indirect + golang.org/x/tools v0.29.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/protobuf v1.36.1 // indirect diff --git a/internal/tools/proto/go.sum b/internal/tools/proto/go.sum index 4969c55670d887..5b42148ebcc0a9 100644 --- a/internal/tools/proto/go.sum +++ b/internal/tools/proto/go.sum @@ -19,8 +19,8 @@ github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.3 h1:oDTdz9f5VGVVNGu/Q7UXKWYsD0873HXLHdJUNBsSEKM= -github.com/golang/glog v1.2.3/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= +github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -88,8 +88,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -106,8 +106,8 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -120,8 +120,8 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/pkg/api/go.mod b/pkg/api/go.mod index ba9d17217ecfe3..f5c74d8a9d18bc 100644 --- a/pkg/api/go.mod +++ b/pkg/api/go.mod @@ -100,8 +100,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/api/go.sum b/pkg/api/go.sum index c9a6a060385650..d5ae5023651652 100644 --- a/pkg/api/go.sum +++ b/pkg/api/go.sum @@ -238,8 +238,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -276,8 +276,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/env/go.mod b/pkg/config/env/go.mod index 18f83e0d21227a..14bdcd74d1a31f 100644 --- a/pkg/config/env/go.mod +++ b/pkg/config/env/go.mod @@ -45,7 +45,7 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/env/go.sum b/pkg/config/env/go.sum index e46d6a8ae7563a..e35ea74083bfe0 100644 --- a/pkg/config/env/go.sum +++ b/pkg/config/env/go.sum @@ -236,8 +236,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/mock/go.mod b/pkg/config/mock/go.mod index 5f58a46520b963..6ae52d1b4145b1 100644 --- a/pkg/config/mock/go.mod +++ b/pkg/config/mock/go.mod @@ -79,8 +79,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/mock/go.sum b/pkg/config/mock/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/config/mock/go.sum +++ b/pkg/config/mock/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/model/go.mod b/pkg/config/model/go.mod index 76aac4418be0ec..98ed7d7d6beb94 100644 --- a/pkg/config/model/go.mod +++ b/pkg/config/model/go.mod @@ -33,7 +33,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/model/go.sum b/pkg/config/model/go.sum index 2984889251fd08..5f700e05d94a8e 100644 --- a/pkg/config/model/go.sum +++ b/pkg/config/model/go.sum @@ -217,8 +217,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/nodetreemodel/go.mod b/pkg/config/nodetreemodel/go.mod index 88599271a9ad5e..212446ff458901 100644 --- a/pkg/config/nodetreemodel/go.mod +++ b/pkg/config/nodetreemodel/go.mod @@ -19,7 +19,7 @@ require ( github.com/spf13/cast v1.7.1 github.com/stretchr/testify v1.10.0 go.uber.org/atomic v1.11.0 - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 gopkg.in/yaml.v2 v2.4.0 ) @@ -37,7 +37,7 @@ require ( github.com/spf13/afero v1.11.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/config/nodetreemodel/go.sum b/pkg/config/nodetreemodel/go.sum index 76061ed57b51d5..a7916d2899ef1d 100644 --- a/pkg/config/nodetreemodel/go.sum +++ b/pkg/config/nodetreemodel/go.sum @@ -188,8 +188,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -222,8 +222,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/remote/go.mod b/pkg/config/remote/go.mod index 7e205ca1ab9cbf..6ee7fa66674e99 100644 --- a/pkg/config/remote/go.mod +++ b/pkg/config/remote/go.mod @@ -113,9 +113,9 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/time v0.8.0 // indirect + golang.org/x/time v0.9.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect modernc.org/sqlite v1.34.1 // indirect ) @@ -142,8 +142,8 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/tinylib/msgp v1.2.5 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect diff --git a/pkg/config/remote/go.sum b/pkg/config/remote/go.sum index 0d71f6d03c3aac..a6ff7caa42158f 100644 --- a/pkg/config/remote/go.sum +++ b/pkg/config/remote/go.sum @@ -362,11 +362,11 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -393,8 +393,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= @@ -430,8 +430,8 @@ golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -439,8 +439,8 @@ golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= -golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= +golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/pkg/config/setup/config.go b/pkg/config/setup/config.go index 3c3b2a2922aafd..fb7c911c342a71 100644 --- a/pkg/config/setup/config.go +++ b/pkg/config/setup/config.go @@ -1937,6 +1937,8 @@ func findUnknownEnvVars(config pkgconfigmodel.Config, environ []string, addition // these variables are used by source code integration "DD_GIT_COMMIT_SHA": {}, "DD_GIT_REPOSITORY_URL": {}, + // signals whether or not ADP is enabled + "DD_ADP_ENABLED": {}, } for _, key := range config.GetEnvVars() { knownVars[key] = struct{}{} diff --git a/pkg/config/setup/go.mod b/pkg/config/setup/go.mod index 86344c91383f43..75ebc105301910 100644 --- a/pkg/config/setup/go.mod +++ b/pkg/config/setup/go.mod @@ -101,8 +101,8 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/setup/go.sum b/pkg/config/setup/go.sum index 7c06a3fc23441c..d5db9529e58cfe 100644 --- a/pkg/config/setup/go.sum +++ b/pkg/config/setup/go.sum @@ -244,8 +244,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -282,8 +282,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/setup/process.go b/pkg/config/setup/process.go index 088dadaf90376a..1375cfe53e48ed 100644 --- a/pkg/config/setup/process.go +++ b/pkg/config/setup/process.go @@ -224,7 +224,7 @@ func overrideRunInCoreAgentConfig(config pkgconfigmodel.Config) { // loadProcessTransforms loads transforms associated with process config settings. func loadProcessTransforms(config pkgconfigmodel.Config) { if config.IsSet("process_config.enabled") { - log.Info("process_config.enabled is deprecated, use process_config.container_collection.enabled " + + log.Warn("process_config.enabled is deprecated, use process_config.container_collection.enabled " + "and process_config.process_collection.enabled instead, " + "see https://docs.datadoghq.com/infrastructure/process#installation for more information") procConfigEnabled := strings.ToLower(config.GetString("process_config.enabled")) diff --git a/pkg/config/setup/system_probe.go b/pkg/config/setup/system_probe.go index 0b99070c96ccf3..7d9b223044104e 100644 --- a/pkg/config/setup/system_probe.go +++ b/pkg/config/setup/system_probe.go @@ -280,6 +280,8 @@ func InitSystemProbeConfig(cfg pkgconfigmodel.Config) { cfg.BindEnv(join(smNS, "enable_connection_rollup")) cfg.BindEnv(join(smNS, "enable_ring_buffers")) cfg.BindEnvAndSetDefault(join(smNS, "enable_event_stream"), true) + cfg.BindEnv(join(smNS, "kernel_buffer_pages")) + cfg.BindEnv(join(smNS, "data_channel_size")) oldHTTPRules := join(netNS, "http_replace_rules") newHTTPRules := join(smNS, "http_replace_rules") diff --git a/pkg/config/structure/go.mod b/pkg/config/structure/go.mod index 093def076acbe2..633a81236769a9 100644 --- a/pkg/config/structure/go.mod +++ b/pkg/config/structure/go.mod @@ -58,8 +58,8 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/structure/go.sum b/pkg/config/structure/go.sum index 76061ed57b51d5..a7916d2899ef1d 100644 --- a/pkg/config/structure/go.sum +++ b/pkg/config/structure/go.sum @@ -188,8 +188,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -222,8 +222,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/teeconfig/go.mod b/pkg/config/teeconfig/go.mod index dc2dcbb8690acd..17f51424c3ebcb 100644 --- a/pkg/config/teeconfig/go.mod +++ b/pkg/config/teeconfig/go.mod @@ -29,7 +29,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/teeconfig/go.sum b/pkg/config/teeconfig/go.sum index 2984889251fd08..5f700e05d94a8e 100644 --- a/pkg/config/teeconfig/go.sum +++ b/pkg/config/teeconfig/go.sum @@ -217,8 +217,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/config/utils/go.mod b/pkg/config/utils/go.mod index 07fe3da24ccb33..c004b3e0a267e4 100644 --- a/pkg/config/utils/go.mod +++ b/pkg/config/utils/go.mod @@ -84,8 +84,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/config/utils/go.sum b/pkg/config/utils/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/config/utils/go.sum +++ b/pkg/config/utils/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/fleet/installer/setup/djm/dataproc_test.go b/pkg/fleet/installer/setup/djm/dataproc_test.go new file mode 100644 index 00000000000000..808dd95c437b5d --- /dev/null +++ b/pkg/fleet/installer/setup/djm/dataproc_test.go @@ -0,0 +1,88 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2016-present Datadog, Inc. + +// Package djm contains data-jobs-monitoring installation logic +package djm + +import ( + "cloud.google.com/go/compute/metadata" + "context" + "github.com/DataDog/datadog-agent/pkg/fleet/telemetry" + "io" + "net/http" + "strings" + "testing" + + "github.com/DataDog/datadog-agent/pkg/fleet/installer/setup/common" + "github.com/stretchr/testify/assert" +) + +type DynamicRoundTripper struct { + Handler func(req *http.Request) (*http.Response, error) +} + +func (d *DynamicRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + return d.Handler(req) +} + +func TestSetupDataproc(t *testing.T) { + + mockResponses := map[string]string{ + "/computeMetadata/v1/instance/attributes/dataproc-cluster-uuid": "test-cluster-uuid", + "/computeMetadata/v1/instance/attributes/dataproc-role": "Master", + "/computeMetadata/v1/instance/attributes/dataproc-cluster-name": "test-cluster-name", + } + + mockRoundTripper := &DynamicRoundTripper{ + Handler: func(req *http.Request) (*http.Response, error) { + if value, found := mockResponses[req.URL.Path]; found { + return &http.Response{ + StatusCode: 200, + Body: io.NopCloser(strings.NewReader(value)), + Header: make(http.Header), + }, nil + } + return &http.Response{ + StatusCode: 404, + Body: io.NopCloser(strings.NewReader("")), + Header: make(http.Header), + }, nil + }, + } + + mockHTTPClient := &http.Client{Transport: mockRoundTripper} + + // Create a metadata client with the mocked HTTP client + mockMetadataClient := metadata.NewClient(mockHTTPClient) + + tests := []struct { + name string + wantTags []string + }{ + { + name: "master node", + wantTags: []string{ + "cluster_id:test-cluster-uuid", + "dataproc_cluster_id:test-cluster-uuid", + "cluster_name:test-cluster-name", + "is_master_node:true", + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + span, _ := telemetry.StartSpanFromContext(context.Background(), "test") + s := &common.Setup{ + Span: span, + Ctx: context.Background(), + } + + _, _, err := setupCommonDataprocHostTags(s, mockMetadataClient) + assert.Nil(t, err) + assert.ElementsMatch(t, tt.wantTags, s.Config.DatadogYAML.Tags) + }) + } +} diff --git a/pkg/gohai/go.mod b/pkg/gohai/go.mod index 61a9d4274f3c5c..33576b2b66ecfc 100644 --- a/pkg/gohai/go.mod +++ b/pkg/gohai/go.mod @@ -9,7 +9,7 @@ require ( github.com/moby/sys/mountinfo v0.7.2 github.com/shirou/gopsutil/v4 v4.24.11 github.com/stretchr/testify v1.10.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/pkg/gohai/go.sum b/pkg/gohai/go.sum index e168179638c6ed..9a359b6ac693d8 100644 --- a/pkg/gohai/go.sum +++ b/pkg/gohai/go.sum @@ -38,8 +38,8 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/jmxfetch/jmxfetch.go b/pkg/jmxfetch/jmxfetch.go index 11d8bdfc2a12ba..852ff8ef20a045 100644 --- a/pkg/jmxfetch/jmxfetch.go +++ b/pkg/jmxfetch/jmxfetch.go @@ -44,6 +44,14 @@ const ( jmxAllowAttachSelf = " -Djdk.attach.allowAttachSelf=true" ) +type DSDStatus int + +const ( + DSDStatusRunningUDSDatagram DSDStatus = iota + 1 + DSDStatusRunningUDP + DSDStatusUnknown +) + var ( jmxLogLevelMap = map[string]string{ "trace": "TRACE", @@ -208,9 +216,16 @@ func (j *JMXFetch) Start(manage bool) error { case ReporterJSON: reporter = "json" default: - if j.DSD != nil && j.DSD.UdsListenerRunning() { + dsdStatus := j.getDSDStatus() + if dsdStatus == DSDStatusRunningUDSDatagram { reporter = fmt.Sprintf("statsd:unix://%s", pkgconfigsetup.Datadog().GetString("dogstatsd_socket")) } else { + // We always use UDP if we don't definitively detect UDS running, but we want to let the user know if we + // actually detected that UDP should be running, or if we're just in fallback mode. + if dsdStatus == DSDStatusUnknown { + log.Warnf("DogStatsD status is unknown, falling back to UDP. JMXFetch may not be able to report metrics.") + } + bindHost := pkgconfigsetup.GetBindHost(pkgconfigsetup.Datadog()) if bindHost == "" || bindHost == "0.0.0.0" { bindHost = "localhost" @@ -496,3 +511,24 @@ func (j *JMXFetch) ConfigureFromInstance(instance integration.Data) error { return nil } + +func (j *JMXFetch) getDSDStatus() DSDStatus { + // Three possible states: DSD is running in the Core Agent, DSD is running via ADP, or the DSD status is unknown. + // + // We detect these through the `use_dogstatsd` configuration and the `DD_ADP_ENABLED` environment variable, and we + // detect whether or not we're listening on UDS or UDP via the configuration settings that define their listening + // address. + dsdEnabledInternally := pkgconfigsetup.Datadog().GetBool("use_dogstatsd") + adpEnabled := os.Getenv("DD_ADP_ENABLED") == "true" + dsdEnabled := dsdEnabledInternally || adpEnabled + udsEnabled := pkgconfigsetup.Datadog().GetString("dogstatsd_socket") != "" + udpEnabled := pkgconfigsetup.Datadog().GetInt("dogstatsd_port") != 0 + + if dsdEnabled && udsEnabled { + return DSDStatusRunningUDSDatagram + } else if dsdEnabled && udpEnabled { + return DSDStatusRunningUDP + } else { + return DSDStatusUnknown + } +} diff --git a/pkg/linters/components/pkgconfigusage/go.mod b/pkg/linters/components/pkgconfigusage/go.mod index 9b24d1e11940e4..019a468ac9f26d 100644 --- a/pkg/linters/components/pkgconfigusage/go.mod +++ b/pkg/linters/components/pkgconfigusage/go.mod @@ -5,7 +5,7 @@ go 1.23.0 require ( github.com/golangci/plugin-module-register v0.1.1 github.com/stretchr/testify v1.10.0 - golang.org/x/tools v0.28.0 + golang.org/x/tools v0.29.0 ) require ( diff --git a/pkg/linters/components/pkgconfigusage/go.sum b/pkg/linters/components/pkgconfigusage/go.sum index 11aca8345b9718..b3a551976d8aba 100644 --- a/pkg/linters/components/pkgconfigusage/go.sum +++ b/pkg/linters/components/pkgconfigusage/go.sum @@ -24,8 +24,8 @@ golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/logs/auditor/go.mod b/pkg/logs/auditor/go.mod index d5f522f1d90d73..fe619764653de0 100644 --- a/pkg/logs/auditor/go.mod +++ b/pkg/logs/auditor/go.mod @@ -98,8 +98,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/logs/auditor/go.sum b/pkg/logs/auditor/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/logs/auditor/go.sum +++ b/pkg/logs/auditor/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/client/go.mod b/pkg/logs/client/go.mod index 8c8359b2870191..8ed35c60d65b90 100644 --- a/pkg/logs/client/go.mod +++ b/pkg/logs/client/go.mod @@ -63,7 +63,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/log v0.59.1 github.com/DataDog/datadog-agent/pkg/version v0.59.1 github.com/stretchr/testify v1.10.0 - golang.org/x/net v0.33.0 + golang.org/x/net v0.34.0 ) require ( @@ -130,8 +130,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/pkg/logs/client/go.sum b/pkg/logs/client/go.sum index d91021870350fe..4d3eda7ff6f6f9 100644 --- a/pkg/logs/client/go.sum +++ b/pkg/logs/client/go.sum @@ -243,8 +243,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -262,8 +262,8 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -283,8 +283,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/diagnostic/go.mod b/pkg/logs/diagnostic/go.mod index 74f31b2f1da5b5..c7a129a64d2139 100644 --- a/pkg/logs/diagnostic/go.mod +++ b/pkg/logs/diagnostic/go.mod @@ -108,8 +108,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/logs/diagnostic/go.sum b/pkg/logs/diagnostic/go.sum index c9a6a060385650..d5ae5023651652 100644 --- a/pkg/logs/diagnostic/go.sum +++ b/pkg/logs/diagnostic/go.sum @@ -238,8 +238,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -276,8 +276,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/message/go.mod b/pkg/logs/message/go.mod index 01e05a3490dc29..b4cab778ea0407 100644 --- a/pkg/logs/message/go.mod +++ b/pkg/logs/message/go.mod @@ -94,8 +94,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/logs/message/go.sum b/pkg/logs/message/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/logs/message/go.sum +++ b/pkg/logs/message/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/metrics/go.mod b/pkg/logs/metrics/go.mod index 088a2a09043502..5078d677ec1c16 100644 --- a/pkg/logs/metrics/go.mod +++ b/pkg/logs/metrics/go.mod @@ -40,7 +40,7 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/logs/metrics/go.sum b/pkg/logs/metrics/go.sum index 8a1f9557865350..c5306f2822e39f 100644 --- a/pkg/logs/metrics/go.sum +++ b/pkg/logs/metrics/go.sum @@ -52,8 +52,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/logs/pipeline/go.mod b/pkg/logs/pipeline/go.mod index 5e815e7ad16496..8fa1e035e419c9 100644 --- a/pkg/logs/pipeline/go.mod +++ b/pkg/logs/pipeline/go.mod @@ -149,9 +149,9 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/pkg/logs/pipeline/go.sum b/pkg/logs/pipeline/go.sum index 92e54297dcb447..b5b2cf34b4eaf1 100644 --- a/pkg/logs/pipeline/go.sum +++ b/pkg/logs/pipeline/go.sum @@ -259,8 +259,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -281,8 +281,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -304,8 +304,8 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/pkg/logs/processor/go.mod b/pkg/logs/processor/go.mod index 2b5bf2b81a14d3..280fb195c3456b 100644 --- a/pkg/logs/processor/go.mod +++ b/pkg/logs/processor/go.mod @@ -129,8 +129,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/pkg/logs/processor/go.sum b/pkg/logs/processor/go.sum index 52a535df4e06f9..402283b7bb3fbb 100644 --- a/pkg/logs/processor/go.sum +++ b/pkg/logs/processor/go.sum @@ -254,8 +254,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -297,8 +297,8 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/pkg/logs/sds/go.mod b/pkg/logs/sds/go.mod index 1d42f4bb526aba..e78e3c4ce466c9 100644 --- a/pkg/logs/sds/go.mod +++ b/pkg/logs/sds/go.mod @@ -123,8 +123,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/pkg/logs/sds/go.sum b/pkg/logs/sds/go.sum index 390f17d069a56f..1d484c60c9d8d5 100644 --- a/pkg/logs/sds/go.sum +++ b/pkg/logs/sds/go.sum @@ -243,8 +243,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -281,8 +281,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/sender/go.mod b/pkg/logs/sender/go.mod index 33460983fb0cfc..4959d17e7e1627 100644 --- a/pkg/logs/sender/go.mod +++ b/pkg/logs/sender/go.mod @@ -130,9 +130,9 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/pkg/logs/sender/go.sum b/pkg/logs/sender/go.sum index d91021870350fe..4d3eda7ff6f6f9 100644 --- a/pkg/logs/sender/go.sum +++ b/pkg/logs/sender/go.sum @@ -243,8 +243,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -262,8 +262,8 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -283,8 +283,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/sources/go.mod b/pkg/logs/sources/go.mod index 8f84a04bc02473..f4dd05570d0ee9 100644 --- a/pkg/logs/sources/go.mod +++ b/pkg/logs/sources/go.mod @@ -92,8 +92,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/logs/sources/go.sum b/pkg/logs/sources/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/logs/sources/go.sum +++ b/pkg/logs/sources/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/logs/util/testutils/go.mod b/pkg/logs/util/testutils/go.mod index 4f9d1bd528a4af..2bc57124e0f833 100644 --- a/pkg/logs/util/testutils/go.mod +++ b/pkg/logs/util/testutils/go.mod @@ -91,8 +91,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/logs/util/testutils/go.sum b/pkg/logs/util/testutils/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/logs/util/testutils/go.sum +++ b/pkg/logs/util/testutils/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/metrics/go.mod b/pkg/metrics/go.mod index d0d157c656fcd8..867d03928fc3e1 100644 --- a/pkg/metrics/go.mod +++ b/pkg/metrics/go.mod @@ -117,8 +117,8 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/pkg/metrics/go.sum b/pkg/metrics/go.sum index 180b1bb859caae..7c82ebed702218 100644 --- a/pkg/metrics/go.sum +++ b/pkg/metrics/go.sum @@ -253,8 +253,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -291,8 +291,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/network/config/config.go b/pkg/network/config/config.go index 126745eeba0ce0..dc1de944ab076d 100644 --- a/pkg/network/config/config.go +++ b/pkg/network/config/config.go @@ -294,6 +294,12 @@ type Config struct { // CustomBatchingEnabled enables the use of custom batching for eBPF perf events with perf buffers CustomBatchingEnabled bool + + // USMKernelBufferPages defines the number of pages to allocate for the USM kernel buffer, used for either ring buffers or perf maps. + USMKernelBufferPages int + + // USMDataChannelSize specifies the size of the data channel for USM, used to temporarily store data from the kernel in user mode before processing. + USMDataChannelSize int } // New creates a config for the network tracer @@ -400,6 +406,8 @@ func New() *Config { EnableUSMConnectionRollup: cfg.GetBool(sysconfig.FullKeyPath(smNS, "enable_connection_rollup")), EnableUSMRingBuffers: cfg.GetBool(sysconfig.FullKeyPath(smNS, "enable_ring_buffers")), EnableUSMEventStream: cfg.GetBool(sysconfig.FullKeyPath(smNS, "enable_event_stream")), + USMKernelBufferPages: cfg.GetInt(sysconfig.FullKeyPath(smNS, "kernel_buffer_pages")), + USMDataChannelSize: cfg.GetInt(sysconfig.FullKeyPath(smNS, "data_channel_size")), } httpRRKey := sysconfig.FullKeyPath(smNS, "http_replace_rules") diff --git a/pkg/network/config/config_test.go b/pkg/network/config/config_test.go index b2f8929608cb52..4d59ddc984375d 100644 --- a/pkg/network/config/config_test.go +++ b/pkg/network/config/config_test.go @@ -1365,6 +1365,56 @@ func TestUSMEventStream(t *testing.T) { }) } +func TestUSMKernelBufferPages(t *testing.T) { + t.Run("default value", func(t *testing.T) { + mock.NewSystemProbe(t) + cfg := New() + + assert.Equal(t, cfg.USMKernelBufferPages, 16) + }) + + t.Run("via yaml", func(t *testing.T) { + mockSystemProbe := mock.NewSystemProbe(t) + mockSystemProbe.SetWithoutSource("service_monitoring_config.kernel_buffer_pages", 109) + cfg := New() + + assert.Equal(t, cfg.USMKernelBufferPages, 109) + }) + + t.Run("via ENV variable", func(t *testing.T) { + mock.NewSystemProbe(t) + t.Setenv("DD_SERVICE_MONITORING_CONFIG_KERNEL_BUFFER_PAGES", "109") + cfg := New() + + assert.Equal(t, cfg.USMKernelBufferPages, 109) + }) +} + +func TestUSMDataChannelSize(t *testing.T) { + t.Run("default value", func(t *testing.T) { + mock.NewSystemProbe(t) + cfg := New() + + assert.Equal(t, cfg.USMDataChannelSize, 100) + }) + + t.Run("via yaml", func(t *testing.T) { + mockSystemProbe := mock.NewSystemProbe(t) + mockSystemProbe.SetWithoutSource("service_monitoring_config.data_channel_size", 109) + cfg := New() + + assert.Equal(t, cfg.USMDataChannelSize, 109) + }) + + t.Run("via ENV variable", func(t *testing.T) { + mock.NewSystemProbe(t) + t.Setenv("DD_SERVICE_MONITORING_CONFIG_DATA_CHANNEL_SIZE", "109") + cfg := New() + + assert.Equal(t, cfg.USMDataChannelSize, 109) + }) +} + func TestMaxUSMConcurrentRequests(t *testing.T) { t.Run("default value", func(t *testing.T) { mock.NewSystemProbe(t) diff --git a/pkg/network/ebpf/c/protocols/tls/https.h b/pkg/network/ebpf/c/protocols/tls/https.h index ac3c509daaeb35..fb10d6496e6af1 100644 --- a/pkg/network/ebpf/c/protocols/tls/https.h +++ b/pkg/network/ebpf/c/protocols/tls/https.h @@ -77,6 +77,7 @@ static __always_inline void tls_process(struct pt_regs *ctx, conn_tuple_t *t, vo // we're in the context of TLS hookpoints, thus the protocol is TLS. set_protocol(stack, PROTOCOL_TLS); + set_protocol_flag(stack, FLAG_USM_ENABLED); const __u32 zero = 0; protocol_t protocol = get_protocol_from_stack(stack, LAYER_APPLICATION); diff --git a/pkg/network/protocols/events/configuration.go b/pkg/network/protocols/events/configuration.go index 2d85791bf820b0..1b2421312f7322 100644 --- a/pkg/network/protocols/events/configuration.go +++ b/pkg/network/protocols/events/configuration.go @@ -26,16 +26,6 @@ import ( "github.com/DataDog/datadog-agent/pkg/util/log" ) -// defaultPerfBufferSize controls the amount of memory in bytes used *per CPU* -// allocated for buffering perf event data -var defaultPerfEventBufferSize = 16 * os.Getpagesize() - -// defaultPerfHandlerSize controls the size of the go channel that buffers perf -// events (*ddebpf.PerfHandler). All perf events handled by this library have -// fixed size (sizeof(batch_data_t)) which is ~4KB, so by choosing a value of -// 100 we'll be buffering up to ~400KB of data in *Go* heap memory. -const defaultPerfHandlerSize = 100 - // Configure a given `*manager.Manager` for event processing // This essentially instantiates the perf map/ring buffers and configure the // eBPF maps where events are enqueued. @@ -56,20 +46,22 @@ func Configure(cfg *config.Config, proto string, m *manager.Manager, o *manager. useRingBuffer := cfg.EnableUSMRingBuffers && features.HaveMapType(ebpf.RingBuf) == nil utils.AddBoolConst(o, useRingBuffer, "use_ring_buffer") + bufferSize := cfg.USMKernelBufferPages * os.Getpagesize() + if useRingBuffer { - setupPerfRing(proto, m, o, numCPUs) + setupPerfRing(proto, m, o, numCPUs, cfg.USMDataChannelSize, bufferSize) } else { - setupPerfMap(proto, m) + setupPerfMap(proto, m, cfg.USMDataChannelSize, bufferSize) } } -func setupPerfMap(proto string, m *manager.Manager) { - handler := ddebpf.NewPerfHandler(defaultPerfHandlerSize) +func setupPerfMap(proto string, m *manager.Manager, dataChannelSize, perfEventBufferSize int) { + handler := ddebpf.NewPerfHandler(dataChannelSize) mapName := eventMapName(proto) pm := &manager.PerfMap{ Map: manager.Map{Name: mapName}, PerfMapOptions: manager.PerfMapOptions{ - PerfRingBufferSize: defaultPerfEventBufferSize, + PerfRingBufferSize: perfEventBufferSize, // Our events are already batched on the kernel side, so it's // desirable to have Watermark set to 1 @@ -90,10 +82,11 @@ func setupPerfMap(proto string, m *manager.Manager) { setHandler(proto, handler) } -func setupPerfRing(proto string, m *manager.Manager, o *manager.Options, numCPUs int) { - handler := ddebpf.NewRingBufferHandler(defaultPerfHandlerSize) +func setupPerfRing(proto string, m *manager.Manager, o *manager.Options, numCPUs int, dataChannelSize, ringBufferSize int) { + handler := ddebpf.NewRingBufferHandler(dataChannelSize) mapName := eventMapName(proto) - ringBufferSize := toPowerOf2(numCPUs * defaultPerfEventBufferSize) + // Adjusting ring buffer size with the number of CPUs and rounding it to the nearest power of 2 + ringBufferSize = toPowerOf2(numCPUs * ringBufferSize) rb := &manager.RingBuffer{ Map: manager.Map{Name: mapName}, RingBufferOptions: manager.RingBufferOptions{ diff --git a/pkg/network/protocols/events/helpers.go b/pkg/network/protocols/events/test_helpers.go similarity index 98% rename from pkg/network/protocols/events/helpers.go rename to pkg/network/protocols/events/test_helpers.go index 08c411e2a70bbf..2e68e7cb59bff0 100644 --- a/pkg/network/protocols/events/helpers.go +++ b/pkg/network/protocols/events/test_helpers.go @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2024-present Datadog, Inc. -//go:build linux_bpf +//go:build linux_bpf && test package events diff --git a/pkg/obfuscate/go.mod b/pkg/obfuscate/go.mod index 603fd5f5d5c7b6..8abb2a0e0441f8 100644 --- a/pkg/obfuscate/go.mod +++ b/pkg/obfuscate/go.mod @@ -20,8 +20,8 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/obfuscate/go.sum b/pkg/obfuscate/go.sum index 7d007f48621f5f..dd74e852c628ad 100644 --- a/pkg/obfuscate/go.sum +++ b/pkg/obfuscate/go.sum @@ -62,8 +62,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -74,8 +74,8 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/pkg/process/events/consumer/event_copy_linux.go b/pkg/process/events/consumer/event_copy_linux.go index db91b9e37c25ee..f4acf4a5181758 100644 --- a/pkg/process/events/consumer/event_copy_linux.go +++ b/pkg/process/events/consumer/event_copy_linux.go @@ -33,7 +33,7 @@ func (p *ProcessConsumer) Copy(event *smodel.Event) any { valueUID := event.GetProcessUid() result.UID = valueUID - valueGID := event.GetProcessUid() + valueGID := event.GetProcessGid() result.GID = valueGID valueUsername := event.GetProcessUser() @@ -51,7 +51,7 @@ func (p *ProcessConsumer) Copy(event *smodel.Event) any { } if event.GetEventType() == smodel.ForkEventType { - valueForkTime := event.GetProcessExecTime() + valueForkTime := event.GetProcessForkTime() result.ForkTime = valueForkTime } diff --git a/pkg/process/events/model/model_common.go b/pkg/process/events/model/model_common.go index 1c4c8f7db405b6..ccd34452dbd0ff 100644 --- a/pkg/process/events/model/model_common.go +++ b/pkg/process/events/model/model_common.go @@ -61,12 +61,12 @@ type ProcessEvent struct { ContainerID string `json:"container_id" msg:"container_id" copy:"GetContainerId;event:*"` Ppid uint32 `json:"ppid" msg:"ppid" copy:"GetProcessPpid;event:*"` UID uint32 `json:"uid" msg:"uid" copy_linux:"GetProcessUid;event:*"` - GID uint32 `json:"gid" msg:"gid" copy_linux:"GetProcessUid;event:*"` + GID uint32 `json:"gid" msg:"gid" copy_linux:"GetProcessGid;event:*"` Username string `json:"username" msg:"username" copy_linux:"GetProcessUser;event:*"` Group string `json:"group" msg:"group" copy_linux:"GetProcessGroup;event:*"` Exe string `json:"exe" msg:"exe" copy_linux:"GetExecFilePath;event:*"` Cmdline []string `json:"cmdline" msg:"cmdline" copy_linux:"GetExecCmdargv;event:ExecEventType"` - ForkTime time.Time `json:"fork_time,omitempty" msg:"fork_time,omitempty" copy_linux:"GetProcessExecTime;event:ForkEventType"` + ForkTime time.Time `json:"fork_time,omitempty" msg:"fork_time,omitempty" copy_linux:"GetProcessForkTime;event:ForkEventType"` ExecTime time.Time `json:"exec_time,omitempty" msg:"exec_time,omitempty" copy:"GetProcessExecTime;event:ExecEventType"` ExitTime time.Time `json:"exit_time,omitempty" msg:"exit_time,omitempty" copy:"GetProcessExitTime;event:ExitEventType"` ExitCode uint32 `json:"exit_code,omitempty" msg:"exit_code,omitempty" copy:"GetExitCode;event:ExitEventType"` diff --git a/pkg/process/util/api/go.mod b/pkg/process/util/api/go.mod index e37fb97deecbe9..de9c2ec457ad1c 100644 --- a/pkg/process/util/api/go.mod +++ b/pkg/process/util/api/go.mod @@ -43,7 +43,7 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/process/util/api/go.sum b/pkg/process/util/api/go.sum index abda993f227d04..db085d36a3c9f6 100644 --- a/pkg/process/util/api/go.sum +++ b/pkg/process/util/api/go.sum @@ -79,8 +79,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/pkg/proto/go.mod b/pkg/proto/go.mod index a3dff0eefd6663..4afc9a2c505b8b 100644 --- a/pkg/proto/go.mod +++ b/pkg/proto/go.mod @@ -28,8 +28,8 @@ require ( go.opentelemetry.io/otel v1.33.0 // indirect go.opentelemetry.io/otel/sdk v1.33.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.32.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect diff --git a/pkg/proto/go.sum b/pkg/proto/go.sum index d5a0d65fe4af30..9e90968ee96299 100644 --- a/pkg/proto/go.sum +++ b/pkg/proto/go.sum @@ -109,8 +109,8 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -129,8 +129,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/pkg/remoteconfig/state/go.mod b/pkg/remoteconfig/state/go.mod index d9fead6f8ede88..fc5c091a508e2f 100644 --- a/pkg/remoteconfig/state/go.mod +++ b/pkg/remoteconfig/state/go.mod @@ -14,6 +14,6 @@ require ( github.com/kr/pretty v0.3.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect - golang.org/x/crypto v0.31.0 // indirect + golang.org/x/crypto v0.32.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/remoteconfig/state/go.sum b/pkg/remoteconfig/state/go.sum index d86844e767b4e4..0cb8bc80d1c480 100644 --- a/pkg/remoteconfig/state/go.sum +++ b/pkg/remoteconfig/state/go.sum @@ -21,10 +21,10 @@ github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbm github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/security/config/config.go b/pkg/security/config/config.go index 9d165a4ae19009..db1c9823cb8371 100644 --- a/pkg/security/config/config.go +++ b/pkg/security/config/config.go @@ -274,6 +274,9 @@ type RuntimeSecurityConfig struct { // IMDSIPv4 is used to provide a custom IP address for the IMDS endpoint IMDSIPv4 uint32 + + // SendEventFromSystemProbe defines when the event are sent directly from system-probe + SendEventFromSystemProbe bool } // Config defines a security config @@ -458,6 +461,9 @@ func NewRuntimeSecurityConfig() (*RuntimeSecurityConfig, error) { // IMDS IMDSIPv4: parseIMDSIPv4(), + + // direct sender + SendEventFromSystemProbe: pkgconfigsetup.SystemProbe().GetBool("runtime_security_config.direct_send_from_system_probe"), } if err := rsConfig.sanitize(); err != nil { diff --git a/pkg/security/module/cws.go b/pkg/security/module/cws.go index bfbfd0c4095017..3c1baa99828aa2 100644 --- a/pkg/security/module/cws.go +++ b/pkg/security/module/cws.go @@ -150,6 +150,20 @@ func NewCWSConsumer(evm *eventmonitor.EventMonitor, cfg *config.RuntimeSecurityC return c, nil } +func (c *CWSConsumer) onAPIConnectionEstablished() { + seclog.Infof("api client connected, starts sending events") + c.startRunningMetrics() +} + +func (c *CWSConsumer) startRunningMetrics() { + c.ruleEngine.StartRunningMetrics(c.ctx) + + if c.crtelemetry != nil { + // Send containers running telemetry + go c.crtelemetry.Run(c.ctx) + } +} + // ID returns id for CWS func (c *CWSConsumer) ID() string { return "CWS" @@ -168,18 +182,13 @@ func (c *CWSConsumer) Start() error { // start api server c.apiServer.Start(c.ctx) - if err := c.ruleEngine.Start(c.ctx, c.reloader.Chan(), &c.wg); err != nil { + if err := c.ruleEngine.Start(c.ctx, c.reloader.Chan()); err != nil { return err } c.wg.Add(1) go c.statsSender() - if c.crtelemetry != nil { - // Send containers running telemetry - go c.crtelemetry.Run(c.ctx) - } - seclog.Infof("runtime security started") // we can now wait for self test events @@ -205,6 +214,11 @@ func (c *CWSConsumer) Start() error { go c.selfTester.WaitForResult(cb) } + // do not wait external api connection, send directly running metrics + if c.config.SendEventFromSystemProbe { + c.startRunningMetrics() + } + return nil } @@ -272,9 +286,10 @@ func (c *CWSConsumer) Stop() { c.apiServer.Stop() } + c.cancelFnc() + c.ruleEngine.Stop() - c.cancelFnc() c.wg.Wait() c.grpcServer.Stop() diff --git a/pkg/security/module/server.go b/pkg/security/module/server.go index 10e24dabfcf56b..2bb7dffdf4249b 100644 --- a/pkg/security/module/server.go +++ b/pkg/security/module/server.go @@ -22,7 +22,6 @@ import ( "go.uber.org/atomic" "github.com/DataDog/datadog-agent/comp/core/tagger/types" - pkgconfigsetup "github.com/DataDog/datadog-agent/pkg/config/setup" "github.com/DataDog/datadog-agent/pkg/security/common" "github.com/DataDog/datadog-agent/pkg/security/config" "github.com/DataDog/datadog-agent/pkg/security/events" @@ -127,6 +126,7 @@ type APIServer struct { policiesStatusLock sync.RWMutex policiesStatus []*api.PolicyStatus msgSender MsgSender + connEstablished *atomic.Bool // os release data kernelVersion string @@ -177,6 +177,13 @@ func (a *APIServer) SendActivityDump(dump *api.ActivityDumpStreamMessage) { // GetEvents waits for security events func (a *APIServer) GetEvents(_ *api.GetEventParams, stream api.SecurityModule_GetEventsServer) error { + if prev := a.connEstablished.Swap(true); !prev { + // should always be non nil + if a.cwsConsumer != nil { + a.cwsConsumer.onAPIConnectionEstablished() + } + } + for { select { case <-stream.Context().Done(): @@ -567,24 +574,25 @@ func NewAPIServer(cfg *config.RuntimeSecurityConfig, probe *sprobe.Probe, msgSen stopper := startstop.NewSerialStopper() as := &APIServer{ - msgs: make(chan *api.SecurityEventMessage, cfg.EventServerBurst*3), - activityDumps: make(chan *api.ActivityDumpStreamMessage, model.MaxTracedCgroupsCount*2), - expiredEvents: make(map[rules.RuleID]*atomic.Int64), - expiredDumps: atomic.NewInt64(0), - statsdClient: client, - probe: probe, - retention: cfg.EventServerRetention, - cfg: cfg, - stopper: stopper, - selfTester: selfTester, - stopChan: make(chan struct{}), - msgSender: msgSender, + msgs: make(chan *api.SecurityEventMessage, cfg.EventServerBurst*3), + activityDumps: make(chan *api.ActivityDumpStreamMessage, model.MaxTracedCgroupsCount*2), + expiredEvents: make(map[rules.RuleID]*atomic.Int64), + expiredDumps: atomic.NewInt64(0), + statsdClient: client, + probe: probe, + retention: cfg.EventServerRetention, + cfg: cfg, + stopper: stopper, + selfTester: selfTester, + stopChan: make(chan struct{}), + msgSender: msgSender, + connEstablished: atomic.NewBool(false), } as.collectOSReleaseData() if as.msgSender == nil { - if pkgconfigsetup.SystemProbe().GetBool("runtime_security_config.direct_send_from_system_probe") { + if cfg.SendEventFromSystemProbe { msgSender, err := NewDirectMsgSender(stopper) if err != nil { log.Errorf("failed to setup direct reporter: %v", err) diff --git a/pkg/security/rules/engine.go b/pkg/security/rules/engine.go index 0cf305e3c65b98..36b32f609709d0 100644 --- a/pkg/security/rules/engine.go +++ b/pkg/security/rules/engine.go @@ -65,6 +65,7 @@ type RuleEngine struct { rulesetListeners []rules.RuleSetListener AutoSuppression autosuppression.AutoSuppression pid uint32 + wg sync.WaitGroup } // APIServer defines the API server @@ -109,7 +110,7 @@ func NewRuleEngine(evm *eventmonitor.EventMonitor, config *config.RuntimeSecurit } // Start the rule engine -func (e *RuleEngine) Start(ctx context.Context, reloadChan <-chan struct{}, wg *sync.WaitGroup) error { +func (e *RuleEngine) Start(ctx context.Context, reloadChan <-chan struct{}) error { // monitor policies if e.config.PolicyMonitorEnabled { e.policyMonitor.Start(ctx) @@ -154,9 +155,9 @@ func (e *RuleEngine) Start(ctx context.Context, reloadChan <-chan struct{}, wg * return fmt.Errorf("failed to load policies: %w", err) } - wg.Add(1) + e.wg.Add(1) go func() { - defer wg.Done() + defer e.wg.Done() for range reloadChan { if err := e.ReloadPolicies(); err != nil { @@ -165,9 +166,9 @@ func (e *RuleEngine) Start(ctx context.Context, reloadChan <-chan struct{}, wg * } }() - wg.Add(1) + e.wg.Add(1) go func() { - defer wg.Done() + defer e.wg.Done() for range e.policyLoader.NewPolicyReady() { if err := e.ReloadPolicies(); err != nil { @@ -180,9 +181,52 @@ func (e *RuleEngine) Start(ctx context.Context, reloadChan <-chan struct{}, wg * provider.Start() } - wg.Add(1) + e.startSendHeartbeatEvents(ctx) + + return nil +} + +func (e *RuleEngine) startSendHeartbeatEvents(ctx context.Context) { + // Sending an heartbeat event every minute + e.wg.Add(1) go func() { - defer wg.Done() + defer e.wg.Done() + + // 5 heartbeats with a period of 1 min, after that we move the period to 10 min + // if the policies change we go back to 5 beats every 1 min + + heartbeatTicker := time.NewTicker(1 * time.Minute) + defer heartbeatTicker.Stop() + + heartBeatCounter := 5 + + for { + select { + case <-ctx.Done(): + return + case <-e.policyLoader.NewPolicyReady(): + heartBeatCounter = 5 + heartbeatTicker.Reset(1 * time.Minute) + // we report a heartbeat anyway + e.policyMonitor.ReportHeartbeatEvent(e.probe.GetAgentContainerContext(), e.eventSender) + case <-heartbeatTicker.C: + e.policyMonitor.ReportHeartbeatEvent(e.probe.GetAgentContainerContext(), e.eventSender) + if heartBeatCounter > 0 { + heartBeatCounter-- + if heartBeatCounter == 0 { + heartbeatTicker.Reset(10 * time.Minute) + } + } + } + } + }() +} + +// StartRunningMetrics starts sending the running metrics +func (e *RuleEngine) StartRunningMetrics(ctx context.Context) { + e.wg.Add(1) + go func() { + defer e.wg.Done() heartbeatTicker := time.NewTicker(15 * time.Second) defer heartbeatTicker.Stop() @@ -235,41 +279,6 @@ func (e *RuleEngine) Start(ctx context.Context, reloadChan <-chan struct{}, wg * } } }() - - // Sending an heartbeat event every minute - wg.Add(1) - go func() { - defer wg.Done() - - // 5 heartbeats with a period of 1 min, after that we move the period to 10 min - // if the policies change we go back to 5 beats every 1 min - - heartbeatTicker := time.NewTicker(1 * time.Minute) - defer heartbeatTicker.Stop() - - heartBeatCounter := 5 - - for { - select { - case <-ctx.Done(): - return - case <-e.policyLoader.NewPolicyReady(): - heartBeatCounter = 5 - heartbeatTicker.Reset(1 * time.Minute) - // we report a heartbeat anyway - e.policyMonitor.ReportHeartbeatEvent(e.probe.GetAgentContainerContext(), e.eventSender) - case <-heartbeatTicker.C: - e.policyMonitor.ReportHeartbeatEvent(e.probe.GetAgentContainerContext(), e.eventSender) - if heartBeatCounter > 0 { - heartBeatCounter-- - if heartBeatCounter == 0 { - heartbeatTicker.Reset(10 * time.Minute) - } - } - } - } - }() - return nil } // ReloadPolicies reloads the policies @@ -470,6 +479,8 @@ func (e *RuleEngine) Stop() { if e.policyLoader != nil { e.policyLoader.Close() } + + e.wg.Wait() } func (e *RuleEngine) getEventTypeEnabled() map[eval.EventType]bool { diff --git a/pkg/security/secl/compiler/generators/accessors/accessors.go b/pkg/security/secl/compiler/generators/accessors/accessors.go index 3dd50b0a3f58b6..3db7ae165cf4e9 100644 --- a/pkg/security/secl/compiler/generators/accessors/accessors.go +++ b/pkg/security/secl/compiler/generators/accessors/accessors.go @@ -18,7 +18,6 @@ import ( "os/exec" "path" "reflect" - "slices" "strconv" "strings" "text/template" @@ -106,10 +105,6 @@ func origTypeToBasicType(kind string) string { return kind } -func isNetType(kind string) bool { - return kind == "net.IPNet" -} - func isBasicType(kind string) bool { switch kind { case "string", "bool", "int", "int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "net.IPNet": @@ -168,6 +163,7 @@ func handleBasic(module *common.Module, field seclField, name, alias, aliasPrefi Alias: alias, AliasPrefix: aliasPrefix, GettersOnly: field.gettersOnly, + GenGetters: field.genGetters, Ref: field.ref, RestrictedTo: restrictedTo, } @@ -198,6 +194,7 @@ func handleBasic(module *common.Module, field seclField, name, alias, aliasPrefi Alias: alias, AliasPrefix: aliasPrefix, GettersOnly: field.gettersOnly, + GenGetters: field.genGetters, Ref: field.ref, RestrictedTo: restrictedTo, } @@ -329,6 +326,7 @@ func handleFieldWithHandler(module *common.Module, field seclField, aliasPrefix, Alias: alias, AliasPrefix: aliasPrefix, GettersOnly: field.gettersOnly, + GenGetters: field.genGetters, Ref: field.ref, RestrictedTo: restrictedTo, } @@ -383,6 +381,7 @@ type seclField struct { exposedAtEventRootOnly bool // fields that should only be exposed at the root of an event, i.e. `parent` should not be exposed for an `ancestor` of a process containerStructName string gettersOnly bool // a field that is not exposed via SECL, but still has an accessor generated + genGetters bool ref string } @@ -432,6 +431,8 @@ func parseFieldDef(def string) (seclField, error) { case "getters_only": field.gettersOnly = true field.exposedAtEventRootOnly = true + case "gen_getters": + field.genGetters = true } } } @@ -562,12 +563,6 @@ func handleSpecRecursive(module *common.Module, astFiles *AstFiles, spec interfa continue } - if isNetType((fieldType)) { - if !slices.Contains(module.Imports, "net") { - module.Imports = append(module.Imports, "net") - } - } - alias := seclField.name if isBasicType(fieldType) { handleBasic(module, seclField, fieldBasename, alias, aliasPrefix, prefix, fieldType, event, restrictedTo, opOverrides, fieldCommentText, seclField.containerStructName, fieldIterator, isArray) diff --git a/pkg/security/secl/compiler/generators/accessors/accessors.tmpl b/pkg/security/secl/compiler/generators/accessors/accessors.tmpl index 6056e31a86cee7..477a9687ded94a 100644 --- a/pkg/security/secl/compiler/generators/accessors/accessors.tmpl +++ b/pkg/security/secl/compiler/generators/accessors/accessors.tmpl @@ -9,9 +9,7 @@ package {{.Name}} import ( - {{range .Imports }} - "{{.}}" - {{end}} + "net" "reflect" "math" @@ -22,6 +20,7 @@ import ( // to always require the math package var _ = math.MaxUint16 +var _ = net.IP{} func (m *Model) GetEventTypes() []eval.EventType { return []eval.EventType{ diff --git a/pkg/security/secl/compiler/generators/accessors/common/types.go b/pkg/security/secl/compiler/generators/accessors/common/types.go index 3e9f3ebef05f68..7b6f345b80fb9e 100644 --- a/pkg/security/secl/compiler/generators/accessors/common/types.go +++ b/pkg/security/secl/compiler/generators/accessors/common/types.go @@ -43,7 +43,6 @@ type Module struct { Iterators map[string]*StructField EventTypes map[string]*EventTypeMetadata Mock bool - Imports []string } // StructField represents a structure field for which an accessor will be generated @@ -69,6 +68,7 @@ type StructField struct { Alias string AliasPrefix string GettersOnly bool + GenGetters bool Ref string RestrictedTo []string IsIterator bool diff --git a/pkg/security/secl/compiler/generators/accessors/field_accessors.tmpl b/pkg/security/secl/compiler/generators/accessors/field_accessors.tmpl index 02eff112541d77..2841a396fe6c3b 100644 --- a/pkg/security/secl/compiler/generators/accessors/field_accessors.tmpl +++ b/pkg/security/secl/compiler/generators/accessors/field_accessors.tmpl @@ -9,16 +9,22 @@ package {{.Name}} import ( - {{range .Imports }} - "{{.}}" - {{end}} + "net" "time" "github.com/DataDog/datadog-agent/pkg/security/secl/compiler/eval" ) +var _ = time.Time{} +var _ = net.IP{} +var _ = eval.NewContext + {{range $Name, $Field := .Fields}} +{{if not $Field.GenGetters }} +{{continue}} +{{end}} + {{if $Field.Ref}} {{$Ref := index $.Fields $Field.Ref}} {{if $Ref}} diff --git a/pkg/security/secl/go.mod b/pkg/security/secl/go.mod index 751b663bb4d97b..2ca4d7426b573d 100644 --- a/pkg/security/secl/go.mod +++ b/pkg/security/secl/go.mod @@ -17,9 +17,9 @@ require ( github.com/spf13/cast v1.7.1 github.com/stretchr/testify v1.10.0 github.com/xeipuuv/gojsonschema v1.2.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 golang.org/x/text v0.21.0 - golang.org/x/tools v0.28.0 + golang.org/x/tools v0.29.0 gopkg.in/yaml.v3 v3.0.1 modernc.org/mathutil v1.6.0 sigs.k8s.io/yaml v1.4.0 @@ -39,9 +39,8 @@ require ( github.com/shopspring/decimal v1.4.0 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - golang.org/x/crypto v0.31.0 // indirect + golang.org/x/crypto v0.32.0 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.33.0 // indirect golang.org/x/sync v0.10.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/pkg/security/secl/go.sum b/pkg/security/secl/go.sum index e7403fb180cd7d..5d11b0755168bc 100644 --- a/pkg/security/secl/go.sum +++ b/pkg/security/secl/go.sum @@ -75,29 +75,29 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/pkg/security/secl/model/accessors_unix.go b/pkg/security/secl/model/accessors_unix.go index b6a13c6ca1c4a0..23ba88d41595dd 100644 --- a/pkg/security/secl/model/accessors_unix.go +++ b/pkg/security/secl/model/accessors_unix.go @@ -18,6 +18,7 @@ import ( // to always require the math package var _ = math.MaxUint16 +var _ = net.IP{} func (m *Model) GetEventTypes() []eval.EventType { return []eval.EventType{ diff --git a/pkg/security/secl/model/accessors_windows.go b/pkg/security/secl/model/accessors_windows.go index 780c756eaae5c7..6304411ddba684 100644 --- a/pkg/security/secl/model/accessors_windows.go +++ b/pkg/security/secl/model/accessors_windows.go @@ -12,11 +12,13 @@ import ( "github.com/DataDog/datadog-agent/pkg/security/secl/compiler/eval" "github.com/DataDog/datadog-agent/pkg/security/secl/containerutils" "math" + "net" "reflect" ) // to always require the math package var _ = math.MaxUint16 +var _ = net.IP{} func (m *Model) GetEventTypes() []eval.EventType { return []eval.EventType{ diff --git a/pkg/security/secl/model/field_accessors_unix.go b/pkg/security/secl/model/field_accessors_unix.go index ca9e532a79f374..57df10c1f1b0aa 100644 --- a/pkg/security/secl/model/field_accessors_unix.go +++ b/pkg/security/secl/model/field_accessors_unix.go @@ -14,20114 +14,2542 @@ import ( "time" ) -// GetAcceptAddrFamily returns the value of the field, resolving if necessary -func (ev *Event) GetAcceptAddrFamily() uint16 { - if ev.GetEventType().String() != "accept" { - return uint16(0) - } - return ev.Accept.AddrFamily -} - -// GetAcceptAddrIp returns the value of the field, resolving if necessary -func (ev *Event) GetAcceptAddrIp() net.IPNet { - if ev.GetEventType().String() != "accept" { - return net.IPNet{} - } - return ev.Accept.Addr.IPNet -} - -// GetAcceptAddrIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetAcceptAddrIsPublic() bool { - if ev.GetEventType().String() != "accept" { - return false - } - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.Accept.Addr) -} +var _ = time.Time{} +var _ = net.IP{} +var _ = eval.NewContext -// GetAcceptAddrPort returns the value of the field, resolving if necessary -func (ev *Event) GetAcceptAddrPort() uint16 { - if ev.GetEventType().String() != "accept" { - return uint16(0) - } - return ev.Accept.Addr.Port -} - -// GetAcceptRetval returns the value of the field, resolving if necessary -func (ev *Event) GetAcceptRetval() int64 { - if ev.GetEventType().String() != "accept" { - return int64(0) - } - return ev.Accept.SyscallEvent.Retval -} - -// GetBindAddrFamily returns the value of the field, resolving if necessary -func (ev *Event) GetBindAddrFamily() uint16 { - if ev.GetEventType().String() != "bind" { - return uint16(0) +// GetChdirFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetChdirFilePath() string { + if ev.GetEventType().String() != "chdir" { + return "" } - return ev.Bind.AddrFamily + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Chdir.File) } -// GetBindAddrIp returns the value of the field, resolving if necessary -func (ev *Event) GetBindAddrIp() net.IPNet { - if ev.GetEventType().String() != "bind" { - return net.IPNet{} +// GetChdirFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetChdirFilePathLength() int { + if ev.GetEventType().String() != "chdir" { + return 0 } - return ev.Bind.Addr.IPNet + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Chdir.File)) } -// GetBindAddrIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetBindAddrIsPublic() bool { - if ev.GetEventType().String() != "bind" { - return false +// GetChmodFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetChmodFilePath() string { + if ev.GetEventType().String() != "chmod" { + return "" } - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.Bind.Addr) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Chmod.File) } -// GetBindAddrPort returns the value of the field, resolving if necessary -func (ev *Event) GetBindAddrPort() uint16 { - if ev.GetEventType().String() != "bind" { - return uint16(0) +// GetChmodFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetChmodFilePathLength() int { + if ev.GetEventType().String() != "chmod" { + return 0 } - return ev.Bind.Addr.Port + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Chmod.File)) } -// GetBindProtocol returns the value of the field, resolving if necessary -func (ev *Event) GetBindProtocol() uint16 { - if ev.GetEventType().String() != "bind" { - return uint16(0) +// GetChownFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetChownFilePath() string { + if ev.GetEventType().String() != "chown" { + return "" } - return ev.Bind.Protocol + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Chown.File) } -// GetBindRetval returns the value of the field, resolving if necessary -func (ev *Event) GetBindRetval() int64 { - if ev.GetEventType().String() != "bind" { - return int64(0) +// GetChownFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetChownFilePathLength() int { + if ev.GetEventType().String() != "chown" { + return 0 } - return ev.Bind.SyscallEvent.Retval + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Chown.File)) } -// GetBpfCmd returns the value of the field, resolving if necessary -func (ev *Event) GetBpfCmd() uint32 { - if ev.GetEventType().String() != "bpf" { - return uint32(0) +// GetContainerCreatedAt returns the value of the field, resolving if necessary +func (ev *Event) GetContainerCreatedAt() int { + if ev.BaseEvent.ContainerContext == nil { + return 0 } - return ev.BPF.Cmd + return ev.FieldHandlers.ResolveContainerCreatedAt(ev, ev.BaseEvent.ContainerContext) } -// GetBpfMapName returns the value of the field, resolving if necessary -func (ev *Event) GetBpfMapName() string { - if ev.GetEventType().String() != "bpf" { +// GetContainerId returns the value of the field, resolving if necessary +func (ev *Event) GetContainerId() string { + if ev.BaseEvent.ContainerContext == nil { return "" } - return ev.BPF.Map.Name -} - -// GetBpfMapType returns the value of the field, resolving if necessary -func (ev *Event) GetBpfMapType() uint32 { - if ev.GetEventType().String() != "bpf" { - return uint32(0) - } - return ev.BPF.Map.Type + return ev.FieldHandlers.ResolveContainerID(ev, ev.BaseEvent.ContainerContext) } -// GetBpfProgAttachType returns the value of the field, resolving if necessary -func (ev *Event) GetBpfProgAttachType() uint32 { - if ev.GetEventType().String() != "bpf" { - return uint32(0) - } - return ev.BPF.Program.AttachType +// GetEventService returns the value of the field, resolving if necessary +func (ev *Event) GetEventService() string { + return ev.FieldHandlers.ResolveService(ev, &ev.BaseEvent) } -// GetBpfProgHelpers returns the value of the field, resolving if necessary -func (ev *Event) GetBpfProgHelpers() []uint32 { - if ev.GetEventType().String() != "bpf" { - return []uint32{} +// GetExecCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetExecCmdargv() []string { + if ev.GetEventType().String() != "exec" { + return []string{} } - return ev.BPF.Program.Helpers -} - -// GetBpfProgName returns the value of the field, resolving if necessary -func (ev *Event) GetBpfProgName() string { - if ev.GetEventType().String() != "bpf" { - return "" + if ev.Exec.Process == nil { + return []string{} } - return ev.BPF.Program.Name + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.Exec.Process) } -// GetBpfProgTag returns the value of the field, resolving if necessary -func (ev *Event) GetBpfProgTag() string { - if ev.GetEventType().String() != "bpf" { - return "" +// GetExecEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetExecEnvp() []string { + if ev.GetEventType().String() != "exec" { + return []string{} } - return ev.BPF.Program.Tag -} - -// GetBpfProgType returns the value of the field, resolving if necessary -func (ev *Event) GetBpfProgType() uint32 { - if ev.GetEventType().String() != "bpf" { - return uint32(0) + if ev.Exec.Process == nil { + return []string{} } - return ev.BPF.Program.Type + return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Exec.Process) } -// GetBpfRetval returns the value of the field, resolving if necessary -func (ev *Event) GetBpfRetval() int64 { - if ev.GetEventType().String() != "bpf" { - return int64(0) +// GetExecExecTime returns the value of the field, resolving if necessary +func (ev *Event) GetExecExecTime() time.Time { + if ev.GetEventType().String() != "exec" { + return time.Time{} } - return ev.BPF.SyscallEvent.Retval -} - -// GetCapsetCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetCapsetCapEffective() uint64 { - if ev.GetEventType().String() != "capset" { - return uint64(0) + if ev.Exec.Process == nil { + return time.Time{} } - return ev.Capset.CapEffective + return ev.Exec.Process.ExecTime } -// GetCapsetCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetCapsetCapPermitted() uint64 { - if ev.GetEventType().String() != "capset" { - return uint64(0) +// GetExecExitTime returns the value of the field, resolving if necessary +func (ev *Event) GetExecExitTime() time.Time { + if ev.GetEventType().String() != "exec" { + return time.Time{} } - return ev.Capset.CapPermitted -} - -// GetCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetCgroupFileInode() uint64 { - return ev.CGroupContext.CGroupFile.Inode -} - -// GetCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetCgroupFileMountId() uint32 { - return ev.CGroupContext.CGroupFile.MountID -} - -// GetCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetCgroupId() string { - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.CGroupContext) -} - -// GetCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetCgroupManager() string { - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.CGroupContext) -} - -// GetCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetCgroupVersion() int { - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.CGroupContext) -} - -// GetChdirFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileChangeTime() uint64 { - if ev.GetEventType().String() != "chdir" { - return uint64(0) + if ev.Exec.Process == nil { + return time.Time{} } - return ev.Chdir.File.FileFields.CTime + return ev.Exec.Process.ExitTime } -// GetChdirFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileFilesystem() string { - if ev.GetEventType().String() != "chdir" { +// GetExecFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetExecFilePath() string { + if ev.GetEventType().String() != "exec" { return "" } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Chdir.File) -} - -// GetChdirFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileGid() uint32 { - if ev.GetEventType().String() != "chdir" { - return uint32(0) + if ev.Exec.Process == nil { + return "" } - return ev.Chdir.File.FileFields.GID -} - -// GetChdirFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileGroup() string { - if ev.GetEventType().String() != "chdir" { + if !ev.Exec.Process.IsNotKworker() { return "" } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Chdir.File.FileFields) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.FileEvent) } -// GetChdirFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileHashes() []string { - if ev.GetEventType().String() != "chdir" { - return []string{} +// GetExecFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetExecFilePathLength() int { + if ev.GetEventType().String() != "exec" { + return 0 } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Chdir.File) -} - -// GetChdirFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileInUpperLayer() bool { - if ev.GetEventType().String() != "chdir" { - return false + if ev.Exec.Process == nil { + return 0 } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Chdir.File.FileFields) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.FileEvent)) } -// GetChdirFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileInode() uint64 { - if ev.GetEventType().String() != "chdir" { - return uint64(0) +// GetExecForkTime returns the value of the field, resolving if necessary +func (ev *Event) GetExecForkTime() time.Time { + if ev.GetEventType().String() != "exec" { + return time.Time{} } - return ev.Chdir.File.FileFields.PathKey.Inode -} - -// GetChdirFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileMode() uint16 { - if ev.GetEventType().String() != "chdir" { - return uint16(0) + if ev.Exec.Process == nil { + return time.Time{} } - return ev.Chdir.File.FileFields.Mode + return ev.Exec.Process.ForkTime } -// GetChdirFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileModificationTime() uint64 { - if ev.GetEventType().String() != "chdir" { - return uint64(0) +// GetExecGid returns the value of the field, resolving if necessary +func (ev *Event) GetExecGid() uint32 { + if ev.GetEventType().String() != "exec" { + return uint32(0) } - return ev.Chdir.File.FileFields.MTime -} - -// GetChdirFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileMountId() uint32 { - if ev.GetEventType().String() != "chdir" { + if ev.Exec.Process == nil { return uint32(0) } - return ev.Chdir.File.FileFields.PathKey.MountID + return ev.Exec.Process.Credentials.GID } -// GetChdirFileName returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileName() string { - if ev.GetEventType().String() != "chdir" { +// GetExecGroup returns the value of the field, resolving if necessary +func (ev *Event) GetExecGroup() string { + if ev.GetEventType().String() != "exec" { return "" } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Chdir.File) -} - -// GetChdirFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileNameLength() int { - if ev.GetEventType().String() != "chdir" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Chdir.File)) -} - -// GetChdirFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFilePackageName() string { - if ev.GetEventType().String() != "chdir" { + if ev.Exec.Process == nil { return "" } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Chdir.File) + return ev.Exec.Process.Credentials.Group } -// GetChdirFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFilePackageSourceVersion() string { - if ev.GetEventType().String() != "chdir" { +// GetExecInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetExecInterpreterFilePath() string { + if ev.GetEventType().String() != "exec" { return "" } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Chdir.File) -} - -// GetChdirFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFilePackageVersion() string { - if ev.GetEventType().String() != "chdir" { + if ev.Exec.Process == nil { return "" } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Chdir.File) -} - -// GetChdirFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFilePath() string { - if ev.GetEventType().String() != "chdir" { + if !ev.Exec.Process.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Chdir.File) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) } -// GetChdirFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFilePathLength() int { - if ev.GetEventType().String() != "chdir" { +// GetExecInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetExecInterpreterFilePathLength() int { + if ev.GetEventType().String() != "exec" { return 0 } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Chdir.File)) -} - -// GetChdirFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileRights() int { - if ev.GetEventType().String() != "chdir" { + if ev.Exec.Process == nil { return 0 } - return ev.FieldHandlers.ResolveRights(ev, &ev.Chdir.File.FileFields) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.LinuxBinprm.FileEvent)) } -// GetChdirFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileUid() uint32 { - if ev.GetEventType().String() != "chdir" { +// GetExecPid returns the value of the field, resolving if necessary +func (ev *Event) GetExecPid() uint32 { + if ev.GetEventType().String() != "exec" { return uint32(0) } - return ev.Chdir.File.FileFields.UID -} - -// GetChdirFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetChdirFileUser() string { - if ev.GetEventType().String() != "chdir" { - return "" + if ev.Exec.Process == nil { + return uint32(0) } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Chdir.File.FileFields) + return ev.Exec.Process.PIDContext.Pid } -// GetChdirRetval returns the value of the field, resolving if necessary -func (ev *Event) GetChdirRetval() int64 { - if ev.GetEventType().String() != "chdir" { - return int64(0) +// GetExecPpid returns the value of the field, resolving if necessary +func (ev *Event) GetExecPpid() uint32 { + if ev.GetEventType().String() != "exec" { + return uint32(0) } - return ev.Chdir.SyscallEvent.Retval -} - -// GetChdirSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallInt1() int { - if ev.GetEventType().String() != "chdir" { - return 0 + if ev.Exec.Process == nil { + return uint32(0) } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Chdir.SyscallContext) + return ev.Exec.Process.PPid } -// GetChdirSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallInt2() int { - if ev.GetEventType().String() != "chdir" { - return 0 +// GetExecUid returns the value of the field, resolving if necessary +func (ev *Event) GetExecUid() uint32 { + if ev.GetEventType().String() != "exec" { + return uint32(0) } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Chdir.SyscallContext) -} - -// GetChdirSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallInt3() int { - if ev.GetEventType().String() != "chdir" { - return 0 + if ev.Exec.Process == nil { + return uint32(0) } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Chdir.SyscallContext) + return ev.Exec.Process.Credentials.UID } -// GetChdirSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallPath() string { - if ev.GetEventType().String() != "chdir" { +// GetExecUser returns the value of the field, resolving if necessary +func (ev *Event) GetExecUser() string { + if ev.GetEventType().String() != "exec" { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Chdir.SyscallContext) -} - -// GetChdirSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallStr1() string { - if ev.GetEventType().String() != "chdir" { + if ev.Exec.Process == nil { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Chdir.SyscallContext) + return ev.Exec.Process.Credentials.User } -// GetChdirSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallStr2() string { - if ev.GetEventType().String() != "chdir" { - return "" +// GetExitCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetExitCmdargv() []string { + if ev.GetEventType().String() != "exit" { + return []string{} } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Chdir.SyscallContext) -} - -// GetChdirSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetChdirSyscallStr3() string { - if ev.GetEventType().String() != "chdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Chdir.SyscallContext) -} - -// GetChmodFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileChangeTime() uint64 { - if ev.GetEventType().String() != "chmod" { - return uint64(0) + if ev.Exit.Process == nil { + return []string{} } - return ev.Chmod.File.FileFields.CTime + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.Exit.Process) } -// GetChmodFileDestinationMode returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileDestinationMode() uint32 { - if ev.GetEventType().String() != "chmod" { +// GetExitCode returns the value of the field, resolving if necessary +func (ev *Event) GetExitCode() uint32 { + if ev.GetEventType().String() != "exit" { return uint32(0) } - return ev.Chmod.Mode + return ev.Exit.Code } -// GetChmodFileDestinationRights returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileDestinationRights() uint32 { - if ev.GetEventType().String() != "chmod" { - return uint32(0) +// GetExitEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetExitEnvp() []string { + if ev.GetEventType().String() != "exit" { + return []string{} + } + if ev.Exit.Process == nil { + return []string{} } - return ev.Chmod.Mode + return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Exit.Process) } -// GetChmodFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileFilesystem() string { - if ev.GetEventType().String() != "chmod" { - return "" +// GetExitExecTime returns the value of the field, resolving if necessary +func (ev *Event) GetExitExecTime() time.Time { + if ev.GetEventType().String() != "exit" { + return time.Time{} + } + if ev.Exit.Process == nil { + return time.Time{} } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Chmod.File) + return ev.Exit.Process.ExecTime } -// GetChmodFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileGid() uint32 { - if ev.GetEventType().String() != "chmod" { - return uint32(0) +// GetExitExitTime returns the value of the field, resolving if necessary +func (ev *Event) GetExitExitTime() time.Time { + if ev.GetEventType().String() != "exit" { + return time.Time{} + } + if ev.Exit.Process == nil { + return time.Time{} } - return ev.Chmod.File.FileFields.GID + return ev.Exit.Process.ExitTime } -// GetChmodFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileGroup() string { - if ev.GetEventType().String() != "chmod" { +// GetExitFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetExitFilePath() string { + if ev.GetEventType().String() != "exit" { return "" } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Chmod.File.FileFields) -} - -// GetChmodFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileHashes() []string { - if ev.GetEventType().String() != "chmod" { - return []string{} + if ev.Exit.Process == nil { + return "" } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Chmod.File) -} - -// GetChmodFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileInUpperLayer() bool { - if ev.GetEventType().String() != "chmod" { - return false + if !ev.Exit.Process.IsNotKworker() { + return "" } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Chmod.File.FileFields) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.FileEvent) } -// GetChmodFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileInode() uint64 { - if ev.GetEventType().String() != "chmod" { - return uint64(0) +// GetExitFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetExitFilePathLength() int { + if ev.GetEventType().String() != "exit" { + return 0 } - return ev.Chmod.File.FileFields.PathKey.Inode -} - -// GetChmodFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileMode() uint16 { - if ev.GetEventType().String() != "chmod" { - return uint16(0) + if ev.Exit.Process == nil { + return 0 } - return ev.Chmod.File.FileFields.Mode + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.FileEvent)) } -// GetChmodFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileModificationTime() uint64 { - if ev.GetEventType().String() != "chmod" { - return uint64(0) +// GetExitForkTime returns the value of the field, resolving if necessary +func (ev *Event) GetExitForkTime() time.Time { + if ev.GetEventType().String() != "exit" { + return time.Time{} + } + if ev.Exit.Process == nil { + return time.Time{} } - return ev.Chmod.File.FileFields.MTime + return ev.Exit.Process.ForkTime } -// GetChmodFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileMountId() uint32 { - if ev.GetEventType().String() != "chmod" { +// GetExitGid returns the value of the field, resolving if necessary +func (ev *Event) GetExitGid() uint32 { + if ev.GetEventType().String() != "exit" { return uint32(0) } - return ev.Chmod.File.FileFields.PathKey.MountID -} - -// GetChmodFileName returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileName() string { - if ev.GetEventType().String() != "chmod" { - return "" + if ev.Exit.Process == nil { + return uint32(0) } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Chmod.File) + return ev.Exit.Process.Credentials.GID } -// GetChmodFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileNameLength() int { - if ev.GetEventType().String() != "chmod" { - return 0 +// GetExitGroup returns the value of the field, resolving if necessary +func (ev *Event) GetExitGroup() string { + if ev.GetEventType().String() != "exit" { + return "" } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Chmod.File)) -} - -// GetChmodFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFilePackageName() string { - if ev.GetEventType().String() != "chmod" { + if ev.Exit.Process == nil { return "" } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Chmod.File) + return ev.Exit.Process.Credentials.Group } -// GetChmodFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFilePackageSourceVersion() string { - if ev.GetEventType().String() != "chmod" { +// GetExitInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetExitInterpreterFilePath() string { + if ev.GetEventType().String() != "exit" { return "" } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Chmod.File) -} - -// GetChmodFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFilePackageVersion() string { - if ev.GetEventType().String() != "chmod" { + if ev.Exit.Process == nil { return "" } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Chmod.File) -} - -// GetChmodFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFilePath() string { - if ev.GetEventType().String() != "chmod" { + if !ev.Exit.Process.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Chmod.File) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) } -// GetChmodFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFilePathLength() int { - if ev.GetEventType().String() != "chmod" { +// GetExitInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetExitInterpreterFilePathLength() int { + if ev.GetEventType().String() != "exit" { return 0 } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Chmod.File)) -} - -// GetChmodFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileRights() int { - if ev.GetEventType().String() != "chmod" { + if ev.Exit.Process == nil { return 0 } - return ev.FieldHandlers.ResolveRights(ev, &ev.Chmod.File.FileFields) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.LinuxBinprm.FileEvent)) } -// GetChmodFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileUid() uint32 { - if ev.GetEventType().String() != "chmod" { +// GetExitPid returns the value of the field, resolving if necessary +func (ev *Event) GetExitPid() uint32 { + if ev.GetEventType().String() != "exit" { return uint32(0) } - return ev.Chmod.File.FileFields.UID -} - -// GetChmodFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetChmodFileUser() string { - if ev.GetEventType().String() != "chmod" { - return "" + if ev.Exit.Process == nil { + return uint32(0) } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Chmod.File.FileFields) + return ev.Exit.Process.PIDContext.Pid } -// GetChmodRetval returns the value of the field, resolving if necessary -func (ev *Event) GetChmodRetval() int64 { - if ev.GetEventType().String() != "chmod" { - return int64(0) +// GetExitPpid returns the value of the field, resolving if necessary +func (ev *Event) GetExitPpid() uint32 { + if ev.GetEventType().String() != "exit" { + return uint32(0) + } + if ev.Exit.Process == nil { + return uint32(0) } - return ev.Chmod.SyscallEvent.Retval + return ev.Exit.Process.PPid } -// GetChmodSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallInt1() int { - if ev.GetEventType().String() != "chmod" { - return 0 +// GetExitUid returns the value of the field, resolving if necessary +func (ev *Event) GetExitUid() uint32 { + if ev.GetEventType().String() != "exit" { + return uint32(0) + } + if ev.Exit.Process == nil { + return uint32(0) } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Chmod.SyscallContext) + return ev.Exit.Process.Credentials.UID } -// GetChmodSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallInt2() int { - if ev.GetEventType().String() != "chmod" { - return 0 +// GetExitUser returns the value of the field, resolving if necessary +func (ev *Event) GetExitUser() string { + if ev.GetEventType().String() != "exit" { + return "" + } + if ev.Exit.Process == nil { + return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Chmod.SyscallContext) + return ev.Exit.Process.Credentials.User } -// GetChmodSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallInt3() int { - if ev.GetEventType().String() != "chmod" { - return 0 +// GetLinkFileDestinationPath returns the value of the field, resolving if necessary +func (ev *Event) GetLinkFileDestinationPath() string { + if ev.GetEventType().String() != "link" { + return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Chmod.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Target) } -// GetChmodSyscallMode returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallMode() int { - if ev.GetEventType().String() != "chmod" { +// GetLinkFileDestinationPathLength returns the value of the field, resolving if necessary +func (ev *Event) GetLinkFileDestinationPathLength() int { + if ev.GetEventType().String() != "link" { return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Chmod.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Target)) } -// GetChmodSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallPath() string { - if ev.GetEventType().String() != "chmod" { +// GetLinkFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetLinkFilePath() string { + if ev.GetEventType().String() != "link" { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Chmod.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Source) } -// GetChmodSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallStr1() string { - if ev.GetEventType().String() != "chmod" { - return "" +// GetLinkFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetLinkFilePathLength() int { + if ev.GetEventType().String() != "link" { + return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Chmod.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Source)) } -// GetChmodSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallStr2() string { - if ev.GetEventType().String() != "chmod" { +// GetLoadModuleFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetLoadModuleFilePath() string { + if ev.GetEventType().String() != "load_module" { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Chmod.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.LoadModule.File) } -// GetChmodSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetChmodSyscallStr3() string { - if ev.GetEventType().String() != "chmod" { - return "" +// GetLoadModuleFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetLoadModuleFilePathLength() int { + if ev.GetEventType().String() != "load_module" { + return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Chmod.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.LoadModule.File)) } -// GetChownFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileChangeTime() uint64 { - if ev.GetEventType().String() != "chown" { - return uint64(0) +// GetMkdirFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetMkdirFilePath() string { + if ev.GetEventType().String() != "mkdir" { + return "" } - return ev.Chown.File.FileFields.CTime + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Mkdir.File) } -// GetChownFileDestinationGid returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileDestinationGid() int64 { - if ev.GetEventType().String() != "chown" { - return int64(0) +// GetMkdirFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetMkdirFilePathLength() int { + if ev.GetEventType().String() != "mkdir" { + return 0 } - return ev.Chown.GID + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Mkdir.File)) } -// GetChownFileDestinationGroup returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileDestinationGroup() string { - if ev.GetEventType().String() != "chown" { +// GetMmapFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetMmapFilePath() string { + if ev.GetEventType().String() != "mmap" { return "" } - return ev.FieldHandlers.ResolveChownGID(ev, &ev.Chown) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.MMap.File) } -// GetChownFileDestinationUid returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileDestinationUid() int64 { - if ev.GetEventType().String() != "chown" { - return int64(0) +// GetMmapFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetMmapFilePathLength() int { + if ev.GetEventType().String() != "mmap" { + return 0 } - return ev.Chown.UID + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.MMap.File)) } -// GetChownFileDestinationUser returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileDestinationUser() string { - if ev.GetEventType().String() != "chown" { +// GetMountMountpointPath returns the value of the field, resolving if necessary +func (ev *Event) GetMountMountpointPath() string { + if ev.GetEventType().String() != "mount" { return "" } - return ev.FieldHandlers.ResolveChownUID(ev, &ev.Chown) + return ev.FieldHandlers.ResolveMountPointPath(ev, &ev.Mount) } -// GetChownFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileFilesystem() string { - if ev.GetEventType().String() != "chown" { +// GetMountRootPath returns the value of the field, resolving if necessary +func (ev *Event) GetMountRootPath() string { + if ev.GetEventType().String() != "mount" { return "" } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Chown.File) + return ev.FieldHandlers.ResolveMountRootPath(ev, &ev.Mount) } -// GetChownFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileGid() uint32 { - if ev.GetEventType().String() != "chown" { - return uint32(0) +// GetOpenFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetOpenFilePath() string { + if ev.GetEventType().String() != "open" { + return "" } - return ev.Chown.File.FileFields.GID + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Open.File) } -// GetChownFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileGroup() string { - if ev.GetEventType().String() != "chown" { - return "" +// GetOpenFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetOpenFilePathLength() int { + if ev.GetEventType().String() != "open" { + return 0 } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Chown.File.FileFields) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Open.File)) } -// GetChownFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileHashes() []string { - if ev.GetEventType().String() != "chown" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Chown.File) -} - -// GetChownFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileInUpperLayer() bool { - if ev.GetEventType().String() != "chown" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Chown.File.FileFields) -} - -// GetChownFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileInode() uint64 { - if ev.GetEventType().String() != "chown" { - return uint64(0) - } - return ev.Chown.File.FileFields.PathKey.Inode -} - -// GetChownFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileMode() uint16 { - if ev.GetEventType().String() != "chown" { - return uint16(0) - } - return ev.Chown.File.FileFields.Mode -} - -// GetChownFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileModificationTime() uint64 { - if ev.GetEventType().String() != "chown" { - return uint64(0) - } - return ev.Chown.File.FileFields.MTime -} - -// GetChownFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileMountId() uint32 { - if ev.GetEventType().String() != "chown" { - return uint32(0) - } - return ev.Chown.File.FileFields.PathKey.MountID -} - -// GetChownFileName returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileName() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Chown.File) -} - -// GetChownFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileNameLength() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Chown.File)) -} - -// GetChownFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetChownFilePackageName() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Chown.File) -} - -// GetChownFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetChownFilePackageSourceVersion() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Chown.File) -} - -// GetChownFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetChownFilePackageVersion() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Chown.File) -} - -// GetChownFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetChownFilePath() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Chown.File) -} - -// GetChownFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetChownFilePathLength() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Chown.File)) -} - -// GetChownFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileRights() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Chown.File.FileFields) -} - -// GetChownFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileUid() uint32 { - if ev.GetEventType().String() != "chown" { - return uint32(0) - } - return ev.Chown.File.FileFields.UID -} - -// GetChownFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetChownFileUser() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Chown.File.FileFields) -} - -// GetChownRetval returns the value of the field, resolving if necessary -func (ev *Event) GetChownRetval() int64 { - if ev.GetEventType().String() != "chown" { - return int64(0) - } - return ev.Chown.SyscallEvent.Retval -} - -// GetChownSyscallGid returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallGid() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallInt1() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallInt2() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallInt3() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallPath() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallStr1() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallStr2() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallStr3() string { - if ev.GetEventType().String() != "chown" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Chown.SyscallContext) -} - -// GetChownSyscallUid returns the value of the field, resolving if necessary -func (ev *Event) GetChownSyscallUid() int { - if ev.GetEventType().String() != "chown" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Chown.SyscallContext) -} - -// GetConnectAddrFamily returns the value of the field, resolving if necessary -func (ev *Event) GetConnectAddrFamily() uint16 { - if ev.GetEventType().String() != "connect" { - return uint16(0) - } - return ev.Connect.AddrFamily -} - -// GetConnectAddrIp returns the value of the field, resolving if necessary -func (ev *Event) GetConnectAddrIp() net.IPNet { - if ev.GetEventType().String() != "connect" { - return net.IPNet{} - } - return ev.Connect.Addr.IPNet -} - -// GetConnectAddrIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetConnectAddrIsPublic() bool { - if ev.GetEventType().String() != "connect" { - return false - } - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.Connect.Addr) -} - -// GetConnectAddrPort returns the value of the field, resolving if necessary -func (ev *Event) GetConnectAddrPort() uint16 { - if ev.GetEventType().String() != "connect" { - return uint16(0) - } - return ev.Connect.Addr.Port -} - -// GetConnectProtocol returns the value of the field, resolving if necessary -func (ev *Event) GetConnectProtocol() uint16 { - if ev.GetEventType().String() != "connect" { - return uint16(0) - } - return ev.Connect.Protocol -} - -// GetConnectRetval returns the value of the field, resolving if necessary -func (ev *Event) GetConnectRetval() int64 { - if ev.GetEventType().String() != "connect" { - return int64(0) - } - return ev.Connect.SyscallEvent.Retval -} - -// GetContainerCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetContainerCreatedAt() int { - if ev.BaseEvent.ContainerContext == nil { - return 0 - } - return ev.FieldHandlers.ResolveContainerCreatedAt(ev, ev.BaseEvent.ContainerContext) -} - -// GetContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetContainerId() string { - if ev.BaseEvent.ContainerContext == nil { - return "" - } - return ev.FieldHandlers.ResolveContainerID(ev, ev.BaseEvent.ContainerContext) -} - -// GetContainerRuntime returns the value of the field, resolving if necessary -func (ev *Event) GetContainerRuntime() string { - if ev.BaseEvent.ContainerContext == nil { - return "" - } - return ev.FieldHandlers.ResolveContainerRuntime(ev, ev.BaseEvent.ContainerContext) -} - -// GetContainerTags returns the value of the field, resolving if necessary -func (ev *Event) GetContainerTags() []string { - if ev.BaseEvent.ContainerContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveContainerTags(ev, ev.BaseEvent.ContainerContext) -} - -// GetDnsId returns the value of the field, resolving if necessary -func (ev *Event) GetDnsId() uint16 { - if ev.GetEventType().String() != "dns" { - return uint16(0) - } - return ev.DNS.ID -} - -// GetDnsQuestionClass returns the value of the field, resolving if necessary -func (ev *Event) GetDnsQuestionClass() uint16 { - if ev.GetEventType().String() != "dns" { - return uint16(0) - } - return ev.DNS.Class -} - -// GetDnsQuestionCount returns the value of the field, resolving if necessary -func (ev *Event) GetDnsQuestionCount() uint16 { - if ev.GetEventType().String() != "dns" { - return uint16(0) - } - return ev.DNS.Count -} - -// GetDnsQuestionLength returns the value of the field, resolving if necessary -func (ev *Event) GetDnsQuestionLength() uint16 { - if ev.GetEventType().String() != "dns" { - return uint16(0) - } - return ev.DNS.Size -} - -// GetDnsQuestionName returns the value of the field, resolving if necessary -func (ev *Event) GetDnsQuestionName() string { - if ev.GetEventType().String() != "dns" { - return "" - } - return ev.DNS.Name -} - -// GetDnsQuestionNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetDnsQuestionNameLength() int { - if ev.GetEventType().String() != "dns" { - return 0 - } - return len(ev.DNS.Name) -} - -// GetDnsQuestionType returns the value of the field, resolving if necessary -func (ev *Event) GetDnsQuestionType() uint16 { - if ev.GetEventType().String() != "dns" { - return uint16(0) - } - return ev.DNS.Type -} - -// GetEventAsync returns the value of the field, resolving if necessary -func (ev *Event) GetEventAsync() bool { - return ev.FieldHandlers.ResolveAsync(ev) -} - -// GetEventHostname returns the value of the field, resolving if necessary -func (ev *Event) GetEventHostname() string { - return ev.FieldHandlers.ResolveHostname(ev, &ev.BaseEvent) -} - -// GetEventOrigin returns the value of the field, resolving if necessary -func (ev *Event) GetEventOrigin() string { - return ev.BaseEvent.Origin -} - -// GetEventOs returns the value of the field, resolving if necessary -func (ev *Event) GetEventOs() string { - return ev.BaseEvent.Os -} - -// GetEventService returns the value of the field, resolving if necessary -func (ev *Event) GetEventService() string { - return ev.FieldHandlers.ResolveService(ev, &ev.BaseEvent) -} - -// GetEventTimestamp returns the value of the field, resolving if necessary -func (ev *Event) GetEventTimestamp() int { - return ev.FieldHandlers.ResolveEventTimestamp(ev, &ev.BaseEvent) -} - -// GetExecArgs returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgs() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, ev.Exec.Process) -} - -// GetExecArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgsFlags() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, ev.Exec.Process) -} - -// GetExecArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgsOptions() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, ev.Exec.Process) -} - -// GetExecArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgsScrubbed() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, ev.Exec.Process) -} - -// GetExecArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgsTruncated() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, ev.Exec.Process) -} - -// GetExecArgv returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgv() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, ev.Exec.Process) -} - -// GetExecArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgv0() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, ev.Exec.Process) -} - -// GetExecArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetExecArgvScrubbed() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, ev.Exec.Process) -} - -// GetExecAuid returns the value of the field, resolving if necessary -func (ev *Event) GetExecAuid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.AUID -} - -// GetExecCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetExecCapEffective() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - return ev.Exec.Process.Credentials.CapEffective -} - -// GetExecCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetExecCapPermitted() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - return ev.Exec.Process.Credentials.CapPermitted -} - -// GetExecCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetExecCgroupFileInode() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - return ev.Exec.Process.CGroup.CGroupFile.Inode -} - -// GetExecCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetExecCgroupFileMountId() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.CGroup.CGroupFile.MountID -} - -// GetExecCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetExecCgroupId() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.Exec.Process.CGroup) -} - -// GetExecCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetExecCgroupManager() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.Exec.Process.CGroup) -} - -// GetExecCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExecCgroupVersion() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.Exec.Process.CGroup) -} - -// GetExecCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetExecCmdargv() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.Exec.Process) -} - -// GetExecComm returns the value of the field, resolving if necessary -func (ev *Event) GetExecComm() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Comm -} - -// GetExecContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetExecContainerId() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, ev.Exec.Process) -} - -// GetExecCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetExecCreatedAt() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.Exec.Process) -} - -// GetExecEgid returns the value of the field, resolving if necessary -func (ev *Event) GetExecEgid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.EGID -} - -// GetExecEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetExecEgroup() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Credentials.EGroup -} - -// GetExecEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetExecEnvp() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Exec.Process) -} - -// GetExecEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetExecEnvs() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.Exec.Process) -} - -// GetExecEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetExecEnvsTruncated() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, ev.Exec.Process) -} - -// GetExecEuid returns the value of the field, resolving if necessary -func (ev *Event) GetExecEuid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.EUID -} - -// GetExecEuser returns the value of the field, resolving if necessary -func (ev *Event) GetExecEuser() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Credentials.EUser -} - -// GetExecExecTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecExecTime() time.Time { - if ev.GetEventType().String() != "exec" { - return time.Time{} - } - if ev.Exec.Process == nil { - return time.Time{} - } - return ev.Exec.Process.ExecTime -} - -// GetExecExitTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecExitTime() time.Time { - if ev.GetEventType().String() != "exec" { - return time.Time{} - } - if ev.Exec.Process == nil { - return time.Time{} - } - return ev.Exec.Process.ExitTime -} - -// GetExecFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileChangeTime() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint64(0) - } - return ev.Exec.Process.FileEvent.FileFields.CTime -} - -// GetExecFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileFilesystem() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileGid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint32(0) - } - return ev.Exec.Process.FileEvent.FileFields.GID -} - -// GetExecFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileGroup() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Exec.Process.FileEvent.FileFields) -} - -// GetExecFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileHashes() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - if !ev.Exec.Process.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileInUpperLayer() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - if !ev.Exec.Process.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Exec.Process.FileEvent.FileFields) -} - -// GetExecFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileInode() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint64(0) - } - return ev.Exec.Process.FileEvent.FileFields.PathKey.Inode -} - -// GetExecFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileMode() uint16 { - if ev.GetEventType().String() != "exec" { - return uint16(0) - } - if ev.Exec.Process == nil { - return uint16(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint16(0) - } - return ev.Exec.Process.FileEvent.FileFields.Mode -} - -// GetExecFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileModificationTime() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint64(0) - } - return ev.Exec.Process.FileEvent.FileFields.MTime -} - -// GetExecFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileMountId() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint32(0) - } - return ev.Exec.Process.FileEvent.FileFields.PathKey.MountID -} - -// GetExecFileName returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileName() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileNameLength() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exec.Process.FileEvent)) -} - -// GetExecFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetExecFilePackageName() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExecFilePackageSourceVersion() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExecFilePackageVersion() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetExecFilePath() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetExecFilePathLength() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.FileEvent)) -} - -// GetExecFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileRights() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - if !ev.Exec.Process.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Exec.Process.FileEvent.FileFields) -} - -// GetExecFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileUid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - if !ev.Exec.Process.IsNotKworker() { - return uint32(0) - } - return ev.Exec.Process.FileEvent.FileFields.UID -} - -// GetExecFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileUser() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Exec.Process.FileEvent.FileFields) -} - -// GetExecForkTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecForkTime() time.Time { - if ev.GetEventType().String() != "exec" { - return time.Time{} - } - if ev.Exec.Process == nil { - return time.Time{} - } - return ev.Exec.Process.ForkTime -} - -// GetExecFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetExecFsgid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.FSGID -} - -// GetExecFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetExecFsgroup() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Credentials.FSGroup -} - -// GetExecFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetExecFsuid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.FSUID -} - -// GetExecFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetExecFsuser() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Credentials.FSUser -} - -// GetExecGid returns the value of the field, resolving if necessary -func (ev *Event) GetExecGid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.GID -} - -// GetExecGroup returns the value of the field, resolving if necessary -func (ev *Event) GetExecGroup() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Credentials.Group -} - -// GetExecInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileChangeTime() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint64(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetExecInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileFilesystem() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileGid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint32(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetExecInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileGroup() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Exec.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExecInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileHashes() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - if !ev.Exec.Process.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileInUpperLayer() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - if !ev.Exec.Process.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Exec.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExecInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileInode() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint64(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetExecInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileMode() uint16 { - if ev.GetEventType().String() != "exec" { - return uint16(0) - } - if ev.Exec.Process == nil { - return uint16(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint16(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetExecInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileModificationTime() uint64 { - if ev.GetEventType().String() != "exec" { - return uint64(0) - } - if ev.Exec.Process == nil { - return uint64(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint64(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetExecInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileMountId() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint32(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetExecInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileName() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileNameLength() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exec.Process.LinuxBinprm.FileEvent)) -} - -// GetExecInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFilePackageName() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFilePackageSourceVersion() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFilePackageVersion() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFilePath() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.LinuxBinprm.FileEvent) -} - -// GetExecInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFilePathLength() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exec.Process.LinuxBinprm.FileEvent)) -} - -// GetExecInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileRights() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - if !ev.Exec.Process.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Exec.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExecInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileUid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - if !ev.Exec.Process.HasInterpreter() { - return uint32(0) - } - return ev.Exec.Process.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetExecInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetExecInterpreterFileUser() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - if !ev.Exec.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Exec.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExecIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetExecIsExec() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - return ev.Exec.Process.IsExec -} - -// GetExecIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetExecIsKworker() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - return ev.Exec.Process.PIDContext.IsKworker -} - -// GetExecIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetExecIsThread() bool { - if ev.GetEventType().String() != "exec" { - return false - } - if ev.Exec.Process == nil { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, ev.Exec.Process) -} - -// GetExecPid returns the value of the field, resolving if necessary -func (ev *Event) GetExecPid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.PIDContext.Pid -} - -// GetExecPpid returns the value of the field, resolving if necessary -func (ev *Event) GetExecPpid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.PPid -} - -// GetExecSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallInt1() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Exec.SyscallContext) -} - -// GetExecSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallInt2() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Exec.SyscallContext) -} - -// GetExecSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallInt3() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Exec.SyscallContext) -} - -// GetExecSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallPath() string { - if ev.GetEventType().String() != "exec" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Exec.SyscallContext) -} - -// GetExecSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallStr1() string { - if ev.GetEventType().String() != "exec" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Exec.SyscallContext) -} - -// GetExecSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallStr2() string { - if ev.GetEventType().String() != "exec" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Exec.SyscallContext) -} - -// GetExecSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetExecSyscallStr3() string { - if ev.GetEventType().String() != "exec" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Exec.SyscallContext) -} - -// GetExecTid returns the value of the field, resolving if necessary -func (ev *Event) GetExecTid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.PIDContext.Tid -} - -// GetExecTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetExecTtyName() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.TTYName -} - -// GetExecUid returns the value of the field, resolving if necessary -func (ev *Event) GetExecUid() uint32 { - if ev.GetEventType().String() != "exec" { - return uint32(0) - } - if ev.Exec.Process == nil { - return uint32(0) - } - return ev.Exec.Process.Credentials.UID -} - -// GetExecUser returns the value of the field, resolving if necessary -func (ev *Event) GetExecUser() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.Credentials.User -} - -// GetExecUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetExecUserSessionK8sGroups() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.Exec.Process.UserSession) -} - -// GetExecUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetExecUserSessionK8sUid() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.Exec.Process.UserSession) -} - -// GetExecUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetExecUserSessionK8sUsername() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.Exec.Process.UserSession) -} - -// GetExitArgs returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgs() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, ev.Exit.Process) -} - -// GetExitArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgsFlags() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, ev.Exit.Process) -} - -// GetExitArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgsOptions() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, ev.Exit.Process) -} - -// GetExitArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgsScrubbed() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, ev.Exit.Process) -} - -// GetExitArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgsTruncated() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, ev.Exit.Process) -} - -// GetExitArgv returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgv() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, ev.Exit.Process) -} - -// GetExitArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgv0() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, ev.Exit.Process) -} - -// GetExitArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetExitArgvScrubbed() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, ev.Exit.Process) -} - -// GetExitAuid returns the value of the field, resolving if necessary -func (ev *Event) GetExitAuid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.AUID -} - -// GetExitCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetExitCapEffective() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - return ev.Exit.Process.Credentials.CapEffective -} - -// GetExitCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetExitCapPermitted() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - return ev.Exit.Process.Credentials.CapPermitted -} - -// GetExitCause returns the value of the field, resolving if necessary -func (ev *Event) GetExitCause() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - return ev.Exit.Cause -} - -// GetExitCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetExitCgroupFileInode() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - return ev.Exit.Process.CGroup.CGroupFile.Inode -} - -// GetExitCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetExitCgroupFileMountId() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.CGroup.CGroupFile.MountID -} - -// GetExitCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetExitCgroupId() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.Exit.Process.CGroup) -} - -// GetExitCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetExitCgroupManager() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.Exit.Process.CGroup) -} - -// GetExitCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExitCgroupVersion() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.Exit.Process.CGroup) -} - -// GetExitCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetExitCmdargv() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.Exit.Process) -} - -// GetExitCode returns the value of the field, resolving if necessary -func (ev *Event) GetExitCode() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - return ev.Exit.Code -} - -// GetExitComm returns the value of the field, resolving if necessary -func (ev *Event) GetExitComm() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Comm -} - -// GetExitContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetExitContainerId() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, ev.Exit.Process) -} - -// GetExitCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetExitCreatedAt() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.Exit.Process) -} - -// GetExitEgid returns the value of the field, resolving if necessary -func (ev *Event) GetExitEgid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.EGID -} - -// GetExitEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetExitEgroup() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Credentials.EGroup -} - -// GetExitEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetExitEnvp() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Exit.Process) -} - -// GetExitEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetExitEnvs() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.Exit.Process) -} - -// GetExitEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetExitEnvsTruncated() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, ev.Exit.Process) -} - -// GetExitEuid returns the value of the field, resolving if necessary -func (ev *Event) GetExitEuid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.EUID -} - -// GetExitEuser returns the value of the field, resolving if necessary -func (ev *Event) GetExitEuser() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Credentials.EUser -} - -// GetExitExecTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitExecTime() time.Time { - if ev.GetEventType().String() != "exit" { - return time.Time{} - } - if ev.Exit.Process == nil { - return time.Time{} - } - return ev.Exit.Process.ExecTime -} - -// GetExitExitTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitExitTime() time.Time { - if ev.GetEventType().String() != "exit" { - return time.Time{} - } - if ev.Exit.Process == nil { - return time.Time{} - } - return ev.Exit.Process.ExitTime -} - -// GetExitFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileChangeTime() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint64(0) - } - return ev.Exit.Process.FileEvent.FileFields.CTime -} - -// GetExitFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileFilesystem() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileGid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint32(0) - } - return ev.Exit.Process.FileEvent.FileFields.GID -} - -// GetExitFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileGroup() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Exit.Process.FileEvent.FileFields) -} - -// GetExitFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileHashes() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - if !ev.Exit.Process.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileInUpperLayer() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - if !ev.Exit.Process.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Exit.Process.FileEvent.FileFields) -} - -// GetExitFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileInode() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint64(0) - } - return ev.Exit.Process.FileEvent.FileFields.PathKey.Inode -} - -// GetExitFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileMode() uint16 { - if ev.GetEventType().String() != "exit" { - return uint16(0) - } - if ev.Exit.Process == nil { - return uint16(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint16(0) - } - return ev.Exit.Process.FileEvent.FileFields.Mode -} - -// GetExitFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileModificationTime() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint64(0) - } - return ev.Exit.Process.FileEvent.FileFields.MTime -} - -// GetExitFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileMountId() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint32(0) - } - return ev.Exit.Process.FileEvent.FileFields.PathKey.MountID -} - -// GetExitFileName returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileName() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileNameLength() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exit.Process.FileEvent)) -} - -// GetExitFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetExitFilePackageName() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExitFilePackageSourceVersion() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExitFilePackageVersion() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetExitFilePath() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.FileEvent) -} - -// GetExitFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetExitFilePathLength() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.FileEvent)) -} - -// GetExitFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileRights() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - if !ev.Exit.Process.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Exit.Process.FileEvent.FileFields) -} - -// GetExitFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileUid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - if !ev.Exit.Process.IsNotKworker() { - return uint32(0) - } - return ev.Exit.Process.FileEvent.FileFields.UID -} - -// GetExitFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileUser() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Exit.Process.FileEvent.FileFields) -} - -// GetExitForkTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitForkTime() time.Time { - if ev.GetEventType().String() != "exit" { - return time.Time{} - } - if ev.Exit.Process == nil { - return time.Time{} - } - return ev.Exit.Process.ForkTime -} - -// GetExitFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetExitFsgid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.FSGID -} - -// GetExitFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetExitFsgroup() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Credentials.FSGroup -} - -// GetExitFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetExitFsuid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.FSUID -} - -// GetExitFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetExitFsuser() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Credentials.FSUser -} - -// GetExitGid returns the value of the field, resolving if necessary -func (ev *Event) GetExitGid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.GID -} - -// GetExitGroup returns the value of the field, resolving if necessary -func (ev *Event) GetExitGroup() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Credentials.Group -} - -// GetExitInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileChangeTime() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint64(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetExitInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileFilesystem() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileGid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint32(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetExitInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileGroup() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Exit.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExitInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileHashes() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - if !ev.Exit.Process.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileInUpperLayer() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - if !ev.Exit.Process.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Exit.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExitInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileInode() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint64(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetExitInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileMode() uint16 { - if ev.GetEventType().String() != "exit" { - return uint16(0) - } - if ev.Exit.Process == nil { - return uint16(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint16(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetExitInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileModificationTime() uint64 { - if ev.GetEventType().String() != "exit" { - return uint64(0) - } - if ev.Exit.Process == nil { - return uint64(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint64(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetExitInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileMountId() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint32(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetExitInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileName() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileNameLength() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exit.Process.LinuxBinprm.FileEvent)) -} - -// GetExitInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFilePackageName() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFilePackageSourceVersion() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFilePackageVersion() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFilePath() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.LinuxBinprm.FileEvent) -} - -// GetExitInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFilePathLength() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Exit.Process.LinuxBinprm.FileEvent)) -} - -// GetExitInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileRights() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - if !ev.Exit.Process.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Exit.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExitInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileUid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - if !ev.Exit.Process.HasInterpreter() { - return uint32(0) - } - return ev.Exit.Process.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetExitInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetExitInterpreterFileUser() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - if !ev.Exit.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Exit.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetExitIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetExitIsExec() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - return ev.Exit.Process.IsExec -} - -// GetExitIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetExitIsKworker() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - return ev.Exit.Process.PIDContext.IsKworker -} - -// GetExitIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetExitIsThread() bool { - if ev.GetEventType().String() != "exit" { - return false - } - if ev.Exit.Process == nil { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, ev.Exit.Process) -} - -// GetExitPid returns the value of the field, resolving if necessary -func (ev *Event) GetExitPid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.PIDContext.Pid -} - -// GetExitPpid returns the value of the field, resolving if necessary -func (ev *Event) GetExitPpid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.PPid -} - -// GetExitTid returns the value of the field, resolving if necessary -func (ev *Event) GetExitTid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.PIDContext.Tid -} - -// GetExitTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetExitTtyName() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.TTYName -} - -// GetExitUid returns the value of the field, resolving if necessary -func (ev *Event) GetExitUid() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - if ev.Exit.Process == nil { - return uint32(0) - } - return ev.Exit.Process.Credentials.UID -} - -// GetExitUser returns the value of the field, resolving if necessary -func (ev *Event) GetExitUser() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.Credentials.User -} - -// GetExitUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetExitUserSessionK8sGroups() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.Exit.Process.UserSession) -} - -// GetExitUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetExitUserSessionK8sUid() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.Exit.Process.UserSession) -} - -// GetExitUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetExitUserSessionK8sUsername() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.Exit.Process.UserSession) -} - -// GetImdsAwsIsImdsV2 returns the value of the field, resolving if necessary -func (ev *Event) GetImdsAwsIsImdsV2() bool { - if ev.GetEventType().String() != "imds" { - return false - } - return ev.IMDS.AWS.IsIMDSv2 -} - -// GetImdsAwsSecurityCredentialsType returns the value of the field, resolving if necessary -func (ev *Event) GetImdsAwsSecurityCredentialsType() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.AWS.SecurityCredentials.Type -} - -// GetImdsCloudProvider returns the value of the field, resolving if necessary -func (ev *Event) GetImdsCloudProvider() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.CloudProvider -} - -// GetImdsHost returns the value of the field, resolving if necessary -func (ev *Event) GetImdsHost() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.Host -} - -// GetImdsServer returns the value of the field, resolving if necessary -func (ev *Event) GetImdsServer() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.Server -} - -// GetImdsType returns the value of the field, resolving if necessary -func (ev *Event) GetImdsType() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.Type -} - -// GetImdsUrl returns the value of the field, resolving if necessary -func (ev *Event) GetImdsUrl() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.URL -} - -// GetImdsUserAgent returns the value of the field, resolving if necessary -func (ev *Event) GetImdsUserAgent() string { - if ev.GetEventType().String() != "imds" { - return "" - } - return ev.IMDS.UserAgent -} - -// GetLinkFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileChangeTime() uint64 { - if ev.GetEventType().String() != "link" { - return uint64(0) - } - return ev.Link.Source.FileFields.CTime -} - -// GetLinkFileDestinationChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationChangeTime() uint64 { - if ev.GetEventType().String() != "link" { - return uint64(0) - } - return ev.Link.Target.FileFields.CTime -} - -// GetLinkFileDestinationFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationFilesystem() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationGid returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationGid() uint32 { - if ev.GetEventType().String() != "link" { - return uint32(0) - } - return ev.Link.Target.FileFields.GID -} - -// GetLinkFileDestinationGroup returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationGroup() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Link.Target.FileFields) -} - -// GetLinkFileDestinationHashes returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationHashes() []string { - if ev.GetEventType().String() != "link" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationInUpperLayer() bool { - if ev.GetEventType().String() != "link" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Link.Target.FileFields) -} - -// GetLinkFileDestinationInode returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationInode() uint64 { - if ev.GetEventType().String() != "link" { - return uint64(0) - } - return ev.Link.Target.FileFields.PathKey.Inode -} - -// GetLinkFileDestinationMode returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationMode() uint16 { - if ev.GetEventType().String() != "link" { - return uint16(0) - } - return ev.Link.Target.FileFields.Mode -} - -// GetLinkFileDestinationModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationModificationTime() uint64 { - if ev.GetEventType().String() != "link" { - return uint64(0) - } - return ev.Link.Target.FileFields.MTime -} - -// GetLinkFileDestinationMountId returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationMountId() uint32 { - if ev.GetEventType().String() != "link" { - return uint32(0) - } - return ev.Link.Target.FileFields.PathKey.MountID -} - -// GetLinkFileDestinationName returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationName() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationNameLength() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Link.Target)) -} - -// GetLinkFileDestinationPackageName returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationPackageName() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationPackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationPackageSourceVersion() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationPackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationPackageVersion() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationPath returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationPath() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Target) -} - -// GetLinkFileDestinationPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationPathLength() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Target)) -} - -// GetLinkFileDestinationRights returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationRights() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Link.Target.FileFields) -} - -// GetLinkFileDestinationUid returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationUid() uint32 { - if ev.GetEventType().String() != "link" { - return uint32(0) - } - return ev.Link.Target.FileFields.UID -} - -// GetLinkFileDestinationUser returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileDestinationUser() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Link.Target.FileFields) -} - -// GetLinkFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileFilesystem() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Link.Source) -} - -// GetLinkFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileGid() uint32 { - if ev.GetEventType().String() != "link" { - return uint32(0) - } - return ev.Link.Source.FileFields.GID -} - -// GetLinkFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileGroup() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Link.Source.FileFields) -} - -// GetLinkFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileHashes() []string { - if ev.GetEventType().String() != "link" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Link.Source) -} - -// GetLinkFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileInUpperLayer() bool { - if ev.GetEventType().String() != "link" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Link.Source.FileFields) -} - -// GetLinkFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileInode() uint64 { - if ev.GetEventType().String() != "link" { - return uint64(0) - } - return ev.Link.Source.FileFields.PathKey.Inode -} - -// GetLinkFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileMode() uint16 { - if ev.GetEventType().String() != "link" { - return uint16(0) - } - return ev.Link.Source.FileFields.Mode -} - -// GetLinkFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileModificationTime() uint64 { - if ev.GetEventType().String() != "link" { - return uint64(0) - } - return ev.Link.Source.FileFields.MTime -} - -// GetLinkFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileMountId() uint32 { - if ev.GetEventType().String() != "link" { - return uint32(0) - } - return ev.Link.Source.FileFields.PathKey.MountID -} - -// GetLinkFileName returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileName() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Link.Source) -} - -// GetLinkFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileNameLength() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Link.Source)) -} - -// GetLinkFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFilePackageName() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Link.Source) -} - -// GetLinkFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFilePackageSourceVersion() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Link.Source) -} - -// GetLinkFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFilePackageVersion() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Link.Source) -} - -// GetLinkFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFilePath() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Source) -} - -// GetLinkFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFilePathLength() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Link.Source)) -} - -// GetLinkFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileRights() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Link.Source.FileFields) -} - -// GetLinkFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileUid() uint32 { - if ev.GetEventType().String() != "link" { - return uint32(0) - } - return ev.Link.Source.FileFields.UID -} - -// GetLinkFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetLinkFileUser() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Link.Source.FileFields) -} - -// GetLinkRetval returns the value of the field, resolving if necessary -func (ev *Event) GetLinkRetval() int64 { - if ev.GetEventType().String() != "link" { - return int64(0) - } - return ev.Link.SyscallEvent.Retval -} - -// GetLinkSyscallDestinationPath returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallDestinationPath() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallInt1() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallInt2() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallInt3() int { - if ev.GetEventType().String() != "link" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallPath() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallStr1() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallStr2() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Link.SyscallContext) -} - -// GetLinkSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetLinkSyscallStr3() string { - if ev.GetEventType().String() != "link" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Link.SyscallContext) -} - -// GetLoadModuleArgs returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleArgs() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolveModuleArgs(ev, &ev.LoadModule) -} - -// GetLoadModuleArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleArgsTruncated() bool { - if ev.GetEventType().String() != "load_module" { - return false - } - return ev.LoadModule.ArgsTruncated -} - -// GetLoadModuleArgv returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleArgv() []string { - if ev.GetEventType().String() != "load_module" { - return []string{} - } - return ev.FieldHandlers.ResolveModuleArgv(ev, &ev.LoadModule) -} - -// GetLoadModuleFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileChangeTime() uint64 { - if ev.GetEventType().String() != "load_module" { - return uint64(0) - } - return ev.LoadModule.File.FileFields.CTime -} - -// GetLoadModuleFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileFilesystem() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileGid() uint32 { - if ev.GetEventType().String() != "load_module" { - return uint32(0) - } - return ev.LoadModule.File.FileFields.GID -} - -// GetLoadModuleFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileGroup() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.LoadModule.File.FileFields) -} - -// GetLoadModuleFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileHashes() []string { - if ev.GetEventType().String() != "load_module" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileInUpperLayer() bool { - if ev.GetEventType().String() != "load_module" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.LoadModule.File.FileFields) -} - -// GetLoadModuleFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileInode() uint64 { - if ev.GetEventType().String() != "load_module" { - return uint64(0) - } - return ev.LoadModule.File.FileFields.PathKey.Inode -} - -// GetLoadModuleFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileMode() uint16 { - if ev.GetEventType().String() != "load_module" { - return uint16(0) - } - return ev.LoadModule.File.FileFields.Mode -} - -// GetLoadModuleFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileModificationTime() uint64 { - if ev.GetEventType().String() != "load_module" { - return uint64(0) - } - return ev.LoadModule.File.FileFields.MTime -} - -// GetLoadModuleFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileMountId() uint32 { - if ev.GetEventType().String() != "load_module" { - return uint32(0) - } - return ev.LoadModule.File.FileFields.PathKey.MountID -} - -// GetLoadModuleFileName returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileName() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileNameLength() int { - if ev.GetEventType().String() != "load_module" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.LoadModule.File)) -} - -// GetLoadModuleFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFilePackageName() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFilePackageSourceVersion() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFilePackageVersion() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFilePath() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.LoadModule.File) -} - -// GetLoadModuleFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFilePathLength() int { - if ev.GetEventType().String() != "load_module" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.LoadModule.File)) -} - -// GetLoadModuleFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileRights() int { - if ev.GetEventType().String() != "load_module" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.LoadModule.File.FileFields) -} - -// GetLoadModuleFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileUid() uint32 { - if ev.GetEventType().String() != "load_module" { - return uint32(0) - } - return ev.LoadModule.File.FileFields.UID -} - -// GetLoadModuleFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleFileUser() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.LoadModule.File.FileFields) -} - -// GetLoadModuleLoadedFromMemory returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleLoadedFromMemory() bool { - if ev.GetEventType().String() != "load_module" { - return false - } - return ev.LoadModule.LoadedFromMemory -} - -// GetLoadModuleName returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleName() string { - if ev.GetEventType().String() != "load_module" { - return "" - } - return ev.LoadModule.Name -} - -// GetLoadModuleRetval returns the value of the field, resolving if necessary -func (ev *Event) GetLoadModuleRetval() int64 { - if ev.GetEventType().String() != "load_module" { - return int64(0) - } - return ev.LoadModule.SyscallEvent.Retval -} - -// GetMkdirFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileChangeTime() uint64 { - if ev.GetEventType().String() != "mkdir" { - return uint64(0) - } - return ev.Mkdir.File.FileFields.CTime -} - -// GetMkdirFileDestinationMode returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileDestinationMode() uint32 { - if ev.GetEventType().String() != "mkdir" { - return uint32(0) - } - return ev.Mkdir.Mode -} - -// GetMkdirFileDestinationRights returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileDestinationRights() uint32 { - if ev.GetEventType().String() != "mkdir" { - return uint32(0) - } - return ev.Mkdir.Mode -} - -// GetMkdirFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileFilesystem() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Mkdir.File) -} - -// GetMkdirFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileGid() uint32 { - if ev.GetEventType().String() != "mkdir" { - return uint32(0) - } - return ev.Mkdir.File.FileFields.GID -} - -// GetMkdirFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileGroup() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Mkdir.File.FileFields) -} - -// GetMkdirFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileHashes() []string { - if ev.GetEventType().String() != "mkdir" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Mkdir.File) -} - -// GetMkdirFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileInUpperLayer() bool { - if ev.GetEventType().String() != "mkdir" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Mkdir.File.FileFields) -} - -// GetMkdirFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileInode() uint64 { - if ev.GetEventType().String() != "mkdir" { - return uint64(0) - } - return ev.Mkdir.File.FileFields.PathKey.Inode -} - -// GetMkdirFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileMode() uint16 { - if ev.GetEventType().String() != "mkdir" { - return uint16(0) - } - return ev.Mkdir.File.FileFields.Mode -} - -// GetMkdirFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileModificationTime() uint64 { - if ev.GetEventType().String() != "mkdir" { - return uint64(0) - } - return ev.Mkdir.File.FileFields.MTime -} - -// GetMkdirFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileMountId() uint32 { - if ev.GetEventType().String() != "mkdir" { - return uint32(0) - } - return ev.Mkdir.File.FileFields.PathKey.MountID -} - -// GetMkdirFileName returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileName() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Mkdir.File) -} - -// GetMkdirFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileNameLength() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Mkdir.File)) -} - -// GetMkdirFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFilePackageName() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Mkdir.File) -} - -// GetMkdirFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFilePackageSourceVersion() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Mkdir.File) -} - -// GetMkdirFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFilePackageVersion() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Mkdir.File) -} - -// GetMkdirFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFilePath() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Mkdir.File) -} - -// GetMkdirFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFilePathLength() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Mkdir.File)) -} - -// GetMkdirFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileRights() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Mkdir.File.FileFields) -} - -// GetMkdirFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileUid() uint32 { - if ev.GetEventType().String() != "mkdir" { - return uint32(0) - } - return ev.Mkdir.File.FileFields.UID -} - -// GetMkdirFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirFileUser() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Mkdir.File.FileFields) -} - -// GetMkdirRetval returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirRetval() int64 { - if ev.GetEventType().String() != "mkdir" { - return int64(0) - } - return ev.Mkdir.SyscallEvent.Retval -} - -// GetMkdirSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallInt1() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallInt2() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallInt3() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallMode returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallMode() int { - if ev.GetEventType().String() != "mkdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallPath() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallStr1() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallStr2() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Mkdir.SyscallContext) -} - -// GetMkdirSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetMkdirSyscallStr3() string { - if ev.GetEventType().String() != "mkdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Mkdir.SyscallContext) -} - -// GetMmapFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileChangeTime() uint64 { - if ev.GetEventType().String() != "mmap" { - return uint64(0) - } - return ev.MMap.File.FileFields.CTime -} - -// GetMmapFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileFilesystem() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.MMap.File) -} - -// GetMmapFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileGid() uint32 { - if ev.GetEventType().String() != "mmap" { - return uint32(0) - } - return ev.MMap.File.FileFields.GID -} - -// GetMmapFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileGroup() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.MMap.File.FileFields) -} - -// GetMmapFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileHashes() []string { - if ev.GetEventType().String() != "mmap" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.MMap.File) -} - -// GetMmapFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileInUpperLayer() bool { - if ev.GetEventType().String() != "mmap" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.MMap.File.FileFields) -} - -// GetMmapFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileInode() uint64 { - if ev.GetEventType().String() != "mmap" { - return uint64(0) - } - return ev.MMap.File.FileFields.PathKey.Inode -} - -// GetMmapFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileMode() uint16 { - if ev.GetEventType().String() != "mmap" { - return uint16(0) - } - return ev.MMap.File.FileFields.Mode -} - -// GetMmapFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileModificationTime() uint64 { - if ev.GetEventType().String() != "mmap" { - return uint64(0) - } - return ev.MMap.File.FileFields.MTime -} - -// GetMmapFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileMountId() uint32 { - if ev.GetEventType().String() != "mmap" { - return uint32(0) - } - return ev.MMap.File.FileFields.PathKey.MountID -} - -// GetMmapFileName returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileName() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.MMap.File) -} - -// GetMmapFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileNameLength() int { - if ev.GetEventType().String() != "mmap" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.MMap.File)) -} - -// GetMmapFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFilePackageName() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.MMap.File) -} - -// GetMmapFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFilePackageSourceVersion() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.MMap.File) -} - -// GetMmapFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFilePackageVersion() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.MMap.File) -} - -// GetMmapFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFilePath() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.MMap.File) -} - -// GetMmapFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFilePathLength() int { - if ev.GetEventType().String() != "mmap" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.MMap.File)) -} - -// GetMmapFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileRights() int { - if ev.GetEventType().String() != "mmap" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.MMap.File.FileFields) -} - -// GetMmapFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileUid() uint32 { - if ev.GetEventType().String() != "mmap" { - return uint32(0) - } - return ev.MMap.File.FileFields.UID -} - -// GetMmapFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFileUser() string { - if ev.GetEventType().String() != "mmap" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.MMap.File.FileFields) -} - -// GetMmapFlags returns the value of the field, resolving if necessary -func (ev *Event) GetMmapFlags() uint64 { - if ev.GetEventType().String() != "mmap" { - return uint64(0) - } - return ev.MMap.Flags -} - -// GetMmapProtection returns the value of the field, resolving if necessary -func (ev *Event) GetMmapProtection() uint64 { - if ev.GetEventType().String() != "mmap" { - return uint64(0) - } - return ev.MMap.Protection -} - -// GetMmapRetval returns the value of the field, resolving if necessary -func (ev *Event) GetMmapRetval() int64 { - if ev.GetEventType().String() != "mmap" { - return int64(0) - } - return ev.MMap.SyscallEvent.Retval -} - -// GetMountFsType returns the value of the field, resolving if necessary -func (ev *Event) GetMountFsType() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.Mount.Mount.FSType -} - -// GetMountMountpointPath returns the value of the field, resolving if necessary -func (ev *Event) GetMountMountpointPath() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveMountPointPath(ev, &ev.Mount) -} - -// GetMountRetval returns the value of the field, resolving if necessary -func (ev *Event) GetMountRetval() int64 { - if ev.GetEventType().String() != "mount" { - return int64(0) - } - return ev.Mount.SyscallEvent.Retval -} - -// GetMountRootPath returns the value of the field, resolving if necessary -func (ev *Event) GetMountRootPath() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveMountRootPath(ev, &ev.Mount) -} - -// GetMountSourcePath returns the value of the field, resolving if necessary -func (ev *Event) GetMountSourcePath() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveMountSourcePath(ev, &ev.Mount) -} - -// GetMountSyscallFsType returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallFsType() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallInt1() int { - if ev.GetEventType().String() != "mount" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallInt2() int { - if ev.GetEventType().String() != "mount" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallInt3() int { - if ev.GetEventType().String() != "mount" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallMountpointPath returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallMountpointPath() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallSourcePath returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallSourcePath() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallStr1() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallStr2() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Mount.SyscallContext) -} - -// GetMountSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetMountSyscallStr3() string { - if ev.GetEventType().String() != "mount" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Mount.SyscallContext) -} - -// GetMprotectReqProtection returns the value of the field, resolving if necessary -func (ev *Event) GetMprotectReqProtection() int { - if ev.GetEventType().String() != "mprotect" { - return 0 - } - return ev.MProtect.ReqProtection -} - -// GetMprotectRetval returns the value of the field, resolving if necessary -func (ev *Event) GetMprotectRetval() int64 { - if ev.GetEventType().String() != "mprotect" { - return int64(0) - } - return ev.MProtect.SyscallEvent.Retval -} - -// GetMprotectVmProtection returns the value of the field, resolving if necessary -func (ev *Event) GetMprotectVmProtection() int { - if ev.GetEventType().String() != "mprotect" { - return 0 - } - return ev.MProtect.VMProtection -} - -// GetNetworkDestinationIp returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkDestinationIp() net.IPNet { - return ev.NetworkContext.Destination.IPNet -} - -// GetNetworkDestinationIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkDestinationIsPublic() bool { - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.NetworkContext.Destination) -} - -// GetNetworkDestinationPort returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkDestinationPort() uint16 { - return ev.NetworkContext.Destination.Port -} - -// GetNetworkDeviceIfname returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkDeviceIfname() string { - return ev.FieldHandlers.ResolveNetworkDeviceIfName(ev, &ev.NetworkContext.Device) -} - -// GetNetworkL3Protocol returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkL3Protocol() uint16 { - return ev.NetworkContext.L3Protocol -} - -// GetNetworkL4Protocol returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkL4Protocol() uint16 { - return ev.NetworkContext.L4Protocol -} - -// GetNetworkSize returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkSize() uint32 { - return ev.NetworkContext.Size -} - -// GetNetworkSourceIp returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkSourceIp() net.IPNet { - return ev.NetworkContext.Source.IPNet -} - -// GetNetworkSourceIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkSourceIsPublic() bool { - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.NetworkContext.Source) -} - -// GetNetworkSourcePort returns the value of the field, resolving if necessary -func (ev *Event) GetNetworkSourcePort() uint16 { - return ev.NetworkContext.Source.Port -} - -// GetOndemandArg1Str returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg1Str() string { - if ev.GetEventType().String() != "ondemand" { - return "" - } - return ev.FieldHandlers.ResolveOnDemandArg1Str(ev, &ev.OnDemand) -} - -// GetOndemandArg1Uint returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg1Uint() int { - if ev.GetEventType().String() != "ondemand" { - return 0 - } - return ev.FieldHandlers.ResolveOnDemandArg1Uint(ev, &ev.OnDemand) -} - -// GetOndemandArg2Str returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg2Str() string { - if ev.GetEventType().String() != "ondemand" { - return "" - } - return ev.FieldHandlers.ResolveOnDemandArg2Str(ev, &ev.OnDemand) -} - -// GetOndemandArg2Uint returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg2Uint() int { - if ev.GetEventType().String() != "ondemand" { - return 0 - } - return ev.FieldHandlers.ResolveOnDemandArg2Uint(ev, &ev.OnDemand) -} - -// GetOndemandArg3Str returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg3Str() string { - if ev.GetEventType().String() != "ondemand" { - return "" - } - return ev.FieldHandlers.ResolveOnDemandArg3Str(ev, &ev.OnDemand) -} - -// GetOndemandArg3Uint returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg3Uint() int { - if ev.GetEventType().String() != "ondemand" { - return 0 - } - return ev.FieldHandlers.ResolveOnDemandArg3Uint(ev, &ev.OnDemand) -} - -// GetOndemandArg4Str returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg4Str() string { - if ev.GetEventType().String() != "ondemand" { - return "" - } - return ev.FieldHandlers.ResolveOnDemandArg4Str(ev, &ev.OnDemand) -} - -// GetOndemandArg4Uint returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandArg4Uint() int { - if ev.GetEventType().String() != "ondemand" { - return 0 - } - return ev.FieldHandlers.ResolveOnDemandArg4Uint(ev, &ev.OnDemand) -} - -// GetOndemandName returns the value of the field, resolving if necessary -func (ev *Event) GetOndemandName() string { - if ev.GetEventType().String() != "ondemand" { - return "" - } - return ev.FieldHandlers.ResolveOnDemandName(ev, &ev.OnDemand) -} - -// GetOpenFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileChangeTime() uint64 { - if ev.GetEventType().String() != "open" { - return uint64(0) - } - return ev.Open.File.FileFields.CTime -} - -// GetOpenFileDestinationMode returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileDestinationMode() uint32 { - if ev.GetEventType().String() != "open" { - return uint32(0) - } - return ev.Open.Mode -} - -// GetOpenFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileFilesystem() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Open.File) -} - -// GetOpenFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileGid() uint32 { - if ev.GetEventType().String() != "open" { - return uint32(0) - } - return ev.Open.File.FileFields.GID -} - -// GetOpenFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileGroup() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Open.File.FileFields) -} - -// GetOpenFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileHashes() []string { - if ev.GetEventType().String() != "open" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Open.File) -} - -// GetOpenFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileInUpperLayer() bool { - if ev.GetEventType().String() != "open" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Open.File.FileFields) -} - -// GetOpenFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileInode() uint64 { - if ev.GetEventType().String() != "open" { - return uint64(0) - } - return ev.Open.File.FileFields.PathKey.Inode -} - -// GetOpenFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileMode() uint16 { - if ev.GetEventType().String() != "open" { - return uint16(0) - } - return ev.Open.File.FileFields.Mode -} - -// GetOpenFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileModificationTime() uint64 { - if ev.GetEventType().String() != "open" { - return uint64(0) - } - return ev.Open.File.FileFields.MTime -} - -// GetOpenFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileMountId() uint32 { - if ev.GetEventType().String() != "open" { - return uint32(0) - } - return ev.Open.File.FileFields.PathKey.MountID -} - -// GetOpenFileName returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileName() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Open.File) -} - -// GetOpenFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileNameLength() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Open.File)) -} - -// GetOpenFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFilePackageName() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Open.File) -} - -// GetOpenFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFilePackageSourceVersion() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Open.File) -} - -// GetOpenFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFilePackageVersion() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Open.File) -} - -// GetOpenFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFilePath() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Open.File) -} - -// GetOpenFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFilePathLength() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Open.File)) -} - -// GetOpenFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileRights() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Open.File.FileFields) -} - -// GetOpenFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileUid() uint32 { - if ev.GetEventType().String() != "open" { - return uint32(0) - } - return ev.Open.File.FileFields.UID -} - -// GetOpenFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFileUser() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Open.File.FileFields) -} - -// GetOpenFlags returns the value of the field, resolving if necessary -func (ev *Event) GetOpenFlags() uint32 { - if ev.GetEventType().String() != "open" { - return uint32(0) - } - return ev.Open.Flags -} - -// GetOpenRetval returns the value of the field, resolving if necessary -func (ev *Event) GetOpenRetval() int64 { - if ev.GetEventType().String() != "open" { - return int64(0) - } - return ev.Open.SyscallEvent.Retval -} - -// GetOpenSyscallFlags returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallFlags() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallInt1() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallInt2() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallInt3() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallMode returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallMode() int { - if ev.GetEventType().String() != "open" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallPath() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallStr1() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallStr2() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Open.SyscallContext) -} - -// GetOpenSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetOpenSyscallStr3() string { - if ev.GetEventType().String() != "open" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Open.SyscallContext) -} - -// GetPacketDestinationIp returns the value of the field, resolving if necessary -func (ev *Event) GetPacketDestinationIp() net.IPNet { - if ev.GetEventType().String() != "packet" { - return net.IPNet{} - } - return ev.RawPacket.NetworkContext.Destination.IPNet -} - -// GetPacketDestinationIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetPacketDestinationIsPublic() bool { - if ev.GetEventType().String() != "packet" { - return false - } - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.RawPacket.NetworkContext.Destination) -} - -// GetPacketDestinationPort returns the value of the field, resolving if necessary -func (ev *Event) GetPacketDestinationPort() uint16 { - if ev.GetEventType().String() != "packet" { - return uint16(0) - } - return ev.RawPacket.NetworkContext.Destination.Port -} - -// GetPacketDeviceIfname returns the value of the field, resolving if necessary -func (ev *Event) GetPacketDeviceIfname() string { - if ev.GetEventType().String() != "packet" { - return "" - } - return ev.FieldHandlers.ResolveNetworkDeviceIfName(ev, &ev.RawPacket.NetworkContext.Device) -} - -// GetPacketFilter returns the value of the field, resolving if necessary -func (ev *Event) GetPacketFilter() string { - if ev.GetEventType().String() != "packet" { - return "" - } - return ev.RawPacket.Filter -} - -// GetPacketL3Protocol returns the value of the field, resolving if necessary -func (ev *Event) GetPacketL3Protocol() uint16 { - if ev.GetEventType().String() != "packet" { - return uint16(0) - } - return ev.RawPacket.NetworkContext.L3Protocol -} - -// GetPacketL4Protocol returns the value of the field, resolving if necessary -func (ev *Event) GetPacketL4Protocol() uint16 { - if ev.GetEventType().String() != "packet" { - return uint16(0) - } - return ev.RawPacket.NetworkContext.L4Protocol -} - -// GetPacketSize returns the value of the field, resolving if necessary -func (ev *Event) GetPacketSize() uint32 { - if ev.GetEventType().String() != "packet" { - return uint32(0) - } - return ev.RawPacket.NetworkContext.Size -} - -// GetPacketSourceIp returns the value of the field, resolving if necessary -func (ev *Event) GetPacketSourceIp() net.IPNet { - if ev.GetEventType().String() != "packet" { - return net.IPNet{} - } - return ev.RawPacket.NetworkContext.Source.IPNet -} - -// GetPacketSourceIsPublic returns the value of the field, resolving if necessary -func (ev *Event) GetPacketSourceIsPublic() bool { - if ev.GetEventType().String() != "packet" { - return false - } - return ev.FieldHandlers.ResolveIsIPPublic(ev, &ev.RawPacket.NetworkContext.Source) -} - -// GetPacketSourcePort returns the value of the field, resolving if necessary -func (ev *Event) GetPacketSourcePort() uint16 { - if ev.GetEventType().String() != "packet" { - return uint16(0) - } - return ev.RawPacket.NetworkContext.Source.Port -} - -// GetPacketTlsVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPacketTlsVersion() uint16 { - if ev.GetEventType().String() != "packet" { - return uint16(0) - } - return ev.RawPacket.TLSContext.Version -} - -// GetProcessAncestorsArgs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgs(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgsFlags() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsFlags(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgsOptions() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsOptions(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgsScrubbed() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgsTruncated() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsTruncated(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgv returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgv() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgv(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgv0() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgv0(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsArgvScrubbed() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsAuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsAuid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.AUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCapEffective() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.CapEffective - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCapPermitted() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.CapPermitted - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCgroupFileInode() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.CGroup.CGroupFile.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCgroupFileMountId() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.CGroup.CGroupFile.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCgroupId() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupID(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCgroupManager() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupManager(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCgroupVersion() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupVersion(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCmdargv() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessCmdArgv(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsComm returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsComm() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Comm - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsContainerId() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessContainerID(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCreatedAt() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveProcessCreatedAt(ev, &element.ProcessContext.Process)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEgid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEgid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EGID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEgroup() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EGroup - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEnvp() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvp(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEnvs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvs(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEnvsTruncated() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEuid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsEuser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEuser() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EUser - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileChangeTime() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.CTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileFilesystem() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFilesystem(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileGid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileGroup() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsGroup(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileHashes() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveHashesFromEvent(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileInUpperLayer() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileInode() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.PathKey.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileMode() []uint16 { - if ev.BaseEvent.ProcessContext == nil { - return []uint16{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint16{} - } - var values []uint16 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.Mode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileModificationTime() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.MTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileMountId() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.PathKey.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileName() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileNameLength() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFilePackageName() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageName(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFilePackageSourceVersion() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageSourceVersion(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFilePackageVersion() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageVersion(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFilePath() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFilePathLength() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileRights() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveRights(ev, &element.ProcessContext.Process.FileEvent.FileFields)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileUid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileUser() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsUser(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFsgid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSGID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFsgroup() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSGroup - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFsuid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFsuser() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSUser - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsGid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsGroup() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.Group - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileChangeTime() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.CTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileFilesystem() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFilesystem(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileGid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileGroup() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsGroup(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileHashes() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveHashesFromEvent(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileInUpperLayer() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileInode() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileMode() []uint16 { - if ev.BaseEvent.ProcessContext == nil { - return []uint16{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint16{} - } - var values []uint16 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.Mode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileModificationTime() []uint64 { - if ev.BaseEvent.ProcessContext == nil { - return []uint64{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.MTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileMountId() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileName() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileNameLength() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFilePackageName() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageName(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFilePackageSourceVersion() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageSourceVersion(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFilePackageVersion() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageVersion(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFilePath() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFilePathLength() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileRights() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveRights(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileUid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsInterpreterFileUser() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsUser(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsIsExec() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.IsExec - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsIsKworker() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.IsKworker - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsIsThread() []bool { - if ev.BaseEvent.ProcessContext == nil { - return []bool{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessIsThread(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return 0 - } - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - return iterator.Len(ctx) -} - -// GetProcessAncestorsPid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsPid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.Pid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsPpid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsPpid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PPid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsTid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsTid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.Tid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsTtyName() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.TTYName - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUid() []uint32 { - if ev.BaseEvent.ProcessContext == nil { - return []uint32{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUser() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.User - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUserSessionK8sGroups() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SGroups(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUserSessionK8sUid() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SUID(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUserSessionK8sUsername() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SUsername(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessArgs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgs() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgsFlags() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgsOptions() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgsScrubbed() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgsTruncated() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgv returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgv() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgv0() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessArgvScrubbed() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessAuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAuid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.AUID -} - -// GetProcessCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCapEffective() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.CapEffective -} - -// GetProcessCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCapPermitted() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.CapPermitted -} - -// GetProcessCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCgroupFileInode() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.CGroup.CGroupFile.Inode -} - -// GetProcessCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCgroupFileMountId() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.CGroup.CGroupFile.MountID -} - -// GetProcessCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCgroupId() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.BaseEvent.ProcessContext.Process.CGroup) -} - -// GetProcessCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCgroupManager() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.BaseEvent.ProcessContext.Process.CGroup) -} - -// GetProcessCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCgroupVersion() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.BaseEvent.ProcessContext.Process.CGroup) -} - -// GetProcessCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCmdargv() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessComm returns the value of the field, resolving if necessary -func (ev *Event) GetProcessComm() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Comm -} - -// GetProcessContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessContainerId() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCreatedAt() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessEgid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEgid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.EGID -} - -// GetProcessEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEgroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Credentials.EGroup -} - -// GetProcessEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEnvp() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEnvs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEnvsTruncated() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessEuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEuid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.EUID -} - -// GetProcessEuser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEuser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Credentials.EUser -} - -// GetProcessExecTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessExecTime() time.Time { - if ev.BaseEvent.ProcessContext == nil { - return time.Time{} - } - return ev.BaseEvent.ProcessContext.Process.ExecTime -} - -// GetProcessExitTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessExitTime() time.Time { - if ev.BaseEvent.ProcessContext == nil { - return time.Time{} - } - return ev.BaseEvent.ProcessContext.Process.ExitTime -} - -// GetProcessFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileChangeTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.CTime -} - -// GetProcessFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileFilesystem() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileGid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.GID -} - -// GetProcessFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileGroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields) -} - -// GetProcessFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileHashes() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileInUpperLayer() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields) -} - -// GetProcessFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileInode() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.PathKey.Inode -} - -// GetProcessFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileMode() uint16 { - if ev.BaseEvent.ProcessContext == nil { - return uint16(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint16(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.Mode -} - -// GetProcessFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileModificationTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.MTime -} - -// GetProcessFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileMountId() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.PathKey.MountID -} - -// GetProcessFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileNameLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent)) -} - -// GetProcessFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFilePackageName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFilePackageSourceVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFilePackageVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFilePath() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFilePathLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent)) -} - -// GetProcessFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileRights() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields) -} - -// GetProcessFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileUid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields.UID -} - -// GetProcessFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent.FileFields) -} - -// GetProcessForkTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessForkTime() time.Time { - if ev.BaseEvent.ProcessContext == nil { - return time.Time{} - } - return ev.BaseEvent.ProcessContext.Process.ForkTime -} - -// GetProcessFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFsgid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.FSGID -} - -// GetProcessFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFsgroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Credentials.FSGroup -} - -// GetProcessFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFsuid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.FSUID -} - -// GetProcessFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFsuser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Credentials.FSUser -} - -// GetProcessGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessGid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.GID -} - -// GetProcessGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessGroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Credentials.Group -} - -// GetProcessInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileChangeTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetProcessInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileFilesystem() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileGid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetProcessInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileGroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileHashes() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileInUpperLayer() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileInode() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetProcessInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileMode() uint16 { - if ev.BaseEvent.ProcessContext == nil { - return uint16(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint16(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetProcessInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileModificationTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetProcessInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileMountId() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetProcessInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileNameLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent)) -} - -// GetProcessInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFilePackageName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFilePackageSourceVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFilePackageVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFilePath() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) -} - -// GetProcessInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFilePathLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent)) -} - -// GetProcessInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileRights() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileUid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetProcessInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessInterpreterFileUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetProcessIsExec() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - return ev.BaseEvent.ProcessContext.Process.IsExec -} - -// GetProcessIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetProcessIsKworker() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - return ev.BaseEvent.ProcessContext.Process.PIDContext.IsKworker -} - -// GetProcessIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetProcessIsThread() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessParentArgs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgs() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgsFlags() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgsOptions() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgsScrubbed() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgsTruncated() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgv returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgv() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgv0() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentArgvScrubbed() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentAuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentAuid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.AUID -} - -// GetProcessParentCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCapEffective() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.CapEffective -} - -// GetProcessParentCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCapPermitted() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.CapPermitted -} - -// GetProcessParentCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCgroupFileInode() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.CGroup.CGroupFile.Inode -} - -// GetProcessParentCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCgroupFileMountId() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.CGroup.CGroupFile.MountID -} - -// GetProcessParentCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCgroupId() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.BaseEvent.ProcessContext.Parent.CGroup) -} - -// GetProcessParentCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCgroupManager() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.BaseEvent.ProcessContext.Parent.CGroup) -} - -// GetProcessParentCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCgroupVersion() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.BaseEvent.ProcessContext.Parent.CGroup) -} - -// GetProcessParentCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCmdargv() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentComm returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentComm() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Comm -} - -// GetProcessParentContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentContainerId() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCreatedAt() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentEgid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEgid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.EGID -} - -// GetProcessParentEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEgroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.EGroup -} - -// GetProcessParentEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEnvp() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEnvs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEnvsTruncated() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentEuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEuid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.EUID -} - -// GetProcessParentEuser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEuser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.EUser -} - -// GetProcessParentFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileChangeTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.CTime -} - -// GetProcessParentFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileFilesystem() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileGid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.GID -} - -// GetProcessParentFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileGroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields) -} - -// GetProcessParentFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileHashes() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileInUpperLayer() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields) -} - -// GetProcessParentFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileInode() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.PathKey.Inode -} - -// GetProcessParentFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileMode() uint16 { - if ev.BaseEvent.ProcessContext == nil { - return uint16(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint16(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint16(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint16(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.Mode -} - -// GetProcessParentFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileModificationTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.MTime -} - -// GetProcessParentFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileMountId() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.PathKey.MountID -} - -// GetProcessParentFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileNameLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent)) -} - -// GetProcessParentFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFilePackageName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFilePackageSourceVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFilePackageVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFilePath() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFilePathLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent)) -} - -// GetProcessParentFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileRights() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return 0 - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields) -} - -// GetProcessParentFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileUid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields.UID -} - -// GetProcessParentFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent.FileFields) -} - -// GetProcessParentFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFsgid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.FSGID -} - -// GetProcessParentFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFsgroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.FSGroup -} - -// GetProcessParentFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFsuid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.FSUID -} - -// GetProcessParentFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFsuser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.FSUser -} - -// GetProcessParentGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentGid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.GID -} - -// GetProcessParentGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentGroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.Group -} - -// GetProcessParentInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileChangeTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetProcessParentInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileFilesystem() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileGid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetProcessParentInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileGroup() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessParentInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileHashes() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileInUpperLayer() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessParentInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileInode() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetProcessParentInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileMode() uint16 { - if ev.BaseEvent.ProcessContext == nil { - return uint16(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint16(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint16(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint16(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetProcessParentInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileModificationTime() uint64 { - if ev.BaseEvent.ProcessContext == nil { - return uint64(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint64(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint64(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetProcessParentInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileMountId() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetProcessParentInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileNameLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent)) -} - -// GetProcessParentInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFilePackageName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFilePackageSourceVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFilePackageVersion() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFilePath() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) -} - -// GetProcessParentInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFilePathLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent)) -} - -// GetProcessParentInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileRights() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return 0 - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessParentInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileUid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetProcessParentInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentInterpreterFileUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetProcessParentIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentIsExec() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - return ev.BaseEvent.ProcessContext.Parent.IsExec -} - -// GetProcessParentIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentIsKworker() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - return ev.BaseEvent.ProcessContext.Parent.PIDContext.IsKworker -} - -// GetProcessParentIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentIsThread() bool { - if ev.BaseEvent.ProcessContext == nil { - return false - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return false - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentPid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentPid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.PIDContext.Pid -} - -// GetProcessParentPpid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentPpid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.PPid -} - -// GetProcessParentTid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentTid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.PIDContext.Tid -} - -// GetProcessParentTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentTtyName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.TTYName -} - -// GetProcessParentUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return uint32(0) - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.UID -} - -// GetProcessParentUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.Credentials.User -} - -// GetProcessParentUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUserSessionK8sGroups() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.BaseEvent.ProcessContext.Parent.UserSession) -} - -// GetProcessParentUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUserSessionK8sUid() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.BaseEvent.ProcessContext.Parent.UserSession) -} - -// GetProcessParentUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUserSessionK8sUsername() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.BaseEvent.ProcessContext.Parent.UserSession) -} - -// GetProcessPid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessPid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.PIDContext.Pid -} - -// GetProcessPpid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessPpid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.PPid -} - -// GetProcessTid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessTid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.PIDContext.Tid -} - -// GetProcessTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessTtyName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.TTYName -} - -// GetProcessUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUid() uint32 { - if ev.BaseEvent.ProcessContext == nil { - return uint32(0) - } - return ev.BaseEvent.ProcessContext.Process.Credentials.UID -} - -// GetProcessUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.Credentials.User -} - -// GetProcessUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUserSessionK8sGroups() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.BaseEvent.ProcessContext.Process.UserSession) -} - -// GetProcessUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUserSessionK8sUid() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.BaseEvent.ProcessContext.Process.UserSession) -} - -// GetProcessUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUserSessionK8sUsername() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.BaseEvent.ProcessContext.Process.UserSession) -} - -// GetPtraceRequest returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceRequest() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - return ev.PTrace.Request -} - -// GetPtraceRetval returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceRetval() int64 { - if ev.GetEventType().String() != "ptrace" { - return int64(0) - } - return ev.PTrace.SyscallEvent.Retval -} - -// GetPtraceTraceeAncestorsArgs returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgs() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgs(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgsFlags() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsFlags(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgsOptions() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsOptions(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgsScrubbed() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgsTruncated() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsTruncated(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgv returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgv() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgv(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgv0() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgv0(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsArgvScrubbed() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsAuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsAuid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.AUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCapEffective() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.CapEffective - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCapPermitted() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.CapPermitted - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCgroupFileInode() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.CGroup.CGroupFile.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCgroupFileMountId() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.CGroup.CGroupFile.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCgroupId() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupID(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCgroupManager() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupManager(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCgroupVersion() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupVersion(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCmdargv() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessCmdArgv(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsComm returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsComm() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Comm - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsContainerId() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessContainerID(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsCreatedAt() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveProcessCreatedAt(ev, &element.ProcessContext.Process)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEgid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEgid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EGID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEgroup() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EGroup - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEnvp() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvp(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEnvs() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvs(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEnvsTruncated() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEuid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsEuser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsEuser() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EUser - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileChangeTime() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.CTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileFilesystem() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFilesystem(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileGid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileGroup() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsGroup(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileHashes() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveHashesFromEvent(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileInUpperLayer() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileInode() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.PathKey.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileMode() []uint16 { - if ev.GetEventType().String() != "ptrace" { - return []uint16{} - } - if ev.PTrace.Tracee == nil { - return []uint16{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint16{} - } - var values []uint16 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.Mode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileModificationTime() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.MTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileMountId() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.PathKey.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileName() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileNameLength() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFilePackageName() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageName(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFilePackageSourceVersion() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageSourceVersion(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFilePackageVersion() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageVersion(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFilePath() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFilePathLength() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileRights() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveRights(ev, &element.ProcessContext.Process.FileEvent.FileFields)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileUid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFileUser() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsUser(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFsgid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSGID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFsgroup() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSGroup - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFsuid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsFsuser() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSUser - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsGid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsGroup() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.Group - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileChangeTime() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.CTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileFilesystem() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFilesystem(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileGid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileGroup() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsGroup(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileHashes() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveHashesFromEvent(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileInUpperLayer() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileInode() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileMode() []uint16 { - if ev.GetEventType().String() != "ptrace" { - return []uint16{} - } - if ev.PTrace.Tracee == nil { - return []uint16{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint16{} - } - var values []uint16 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.Mode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileModificationTime() []uint64 { - if ev.GetEventType().String() != "ptrace" { - return []uint64{} - } - if ev.PTrace.Tracee == nil { - return []uint64{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.MTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileMountId() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileName() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileNameLength() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePackageName() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageName(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePackageSourceVersion() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageSourceVersion(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePackageVersion() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageVersion(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePath() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePathLength() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileRights() []int { - if ev.GetEventType().String() != "ptrace" { - return []int{} - } - if ev.PTrace.Tracee == nil { - return []int{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveRights(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileUid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsInterpreterFileUser() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsUser(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsIsExec() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.IsExec - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsIsKworker() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.IsKworker - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsIsThread() []bool { - if ev.GetEventType().String() != "ptrace" { - return []bool{} - } - if ev.PTrace.Tracee == nil { - return []bool{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessIsThread(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Ancestor == nil { - return 0 - } - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - return iterator.Len(ctx) -} - -// GetPtraceTraceeAncestorsPid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsPid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.Pid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsPpid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsPpid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PPid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsTid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsTid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.Tid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsTtyName() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.TTYName - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsUid() []uint32 { - if ev.GetEventType().String() != "ptrace" { - return []uint32{} - } - if ev.PTrace.Tracee == nil { - return []uint32{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsUser() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.User - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsUserSessionK8sGroups() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SGroups(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsUserSessionK8sUid() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SUID(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeAncestorsUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAncestorsUserSessionK8sUsername() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SUsername(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetPtraceTraceeArgs returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgs() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgsFlags() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgsOptions() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgsScrubbed() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgsTruncated() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgv returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgv() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgv0() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeArgvScrubbed() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeAuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeAuid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.AUID -} - -// GetPtraceTraceeCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCapEffective() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - return ev.PTrace.Tracee.Process.Credentials.CapEffective -} - -// GetPtraceTraceeCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCapPermitted() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - return ev.PTrace.Tracee.Process.Credentials.CapPermitted -} - -// GetPtraceTraceeCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCgroupFileInode() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - return ev.PTrace.Tracee.Process.CGroup.CGroupFile.Inode -} - -// GetPtraceTraceeCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCgroupFileMountId() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.CGroup.CGroupFile.MountID -} - -// GetPtraceTraceeCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCgroupId() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.PTrace.Tracee.Process.CGroup) -} - -// GetPtraceTraceeCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCgroupManager() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.PTrace.Tracee.Process.CGroup) -} - -// GetPtraceTraceeCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCgroupVersion() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.PTrace.Tracee.Process.CGroup) -} - -// GetPtraceTraceeCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCmdargv() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeComm returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeComm() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Comm -} - -// GetPtraceTraceeContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeContainerId() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeCreatedAt() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeEgid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEgid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.EGID -} - -// GetPtraceTraceeEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEgroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Credentials.EGroup -} - -// GetPtraceTraceeEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEnvp() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEnvs() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEnvsTruncated() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeEuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEuid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.EUID -} - -// GetPtraceTraceeEuser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeEuser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Credentials.EUser -} - -// GetPtraceTraceeExecTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeExecTime() time.Time { - if ev.GetEventType().String() != "ptrace" { - return time.Time{} - } - if ev.PTrace.Tracee == nil { - return time.Time{} - } - return ev.PTrace.Tracee.Process.ExecTime -} - -// GetPtraceTraceeExitTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeExitTime() time.Time { - if ev.GetEventType().String() != "ptrace" { - return time.Time{} - } - if ev.PTrace.Tracee == nil { - return time.Time{} - } - return ev.PTrace.Tracee.Process.ExitTime -} - -// GetPtraceTraceeFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileChangeTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint64(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.CTime -} - -// GetPtraceTraceeFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileFilesystem() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileGid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint32(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.GID -} - -// GetPtraceTraceeFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileGroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.PTrace.Tracee.Process.FileEvent.FileFields) -} - -// GetPtraceTraceeFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileHashes() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileInUpperLayer() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.PTrace.Tracee.Process.FileEvent.FileFields) -} - -// GetPtraceTraceeFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileInode() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint64(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.PathKey.Inode -} - -// GetPtraceTraceeFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileMode() uint16 { - if ev.GetEventType().String() != "ptrace" { - return uint16(0) - } - if ev.PTrace.Tracee == nil { - return uint16(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint16(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.Mode -} - -// GetPtraceTraceeFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileModificationTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint64(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.MTime -} - -// GetPtraceTraceeFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileMountId() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint32(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.PathKey.MountID -} - -// GetPtraceTraceeFileName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileNameLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Process.FileEvent)) -} - -// GetPtraceTraceeFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFilePackageName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFilePackageSourceVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFilePackageVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFilePath() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.FileEvent) -} - -// GetPtraceTraceeFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFilePathLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.FileEvent)) -} - -// GetPtraceTraceeFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileRights() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.PTrace.Tracee.Process.FileEvent.FileFields) -} - -// GetPtraceTraceeFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileUid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return uint32(0) - } - return ev.PTrace.Tracee.Process.FileEvent.FileFields.UID -} - -// GetPtraceTraceeFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFileUser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.PTrace.Tracee.Process.FileEvent.FileFields) -} - -// GetPtraceTraceeForkTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeForkTime() time.Time { - if ev.GetEventType().String() != "ptrace" { - return time.Time{} - } - if ev.PTrace.Tracee == nil { - return time.Time{} - } - return ev.PTrace.Tracee.Process.ForkTime -} - -// GetPtraceTraceeFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFsgid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.FSGID -} - -// GetPtraceTraceeFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFsgroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Credentials.FSGroup -} - -// GetPtraceTraceeFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFsuid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.FSUID -} - -// GetPtraceTraceeFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeFsuser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Credentials.FSUser -} - -// GetPtraceTraceeGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeGid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.GID -} - -// GetPtraceTraceeGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeGroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Credentials.Group -} - -// GetPtraceTraceeInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileChangeTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint64(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetPtraceTraceeInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileFilesystem() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileGid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint32(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetPtraceTraceeInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileGroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileHashes() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileInUpperLayer() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileInode() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint64(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetPtraceTraceeInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileMode() uint16 { - if ev.GetEventType().String() != "ptrace" { - return uint16(0) - } - if ev.PTrace.Tracee == nil { - return uint16(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint16(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetPtraceTraceeInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileModificationTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint64(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetPtraceTraceeInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileMountId() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint32(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetPtraceTraceeInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileNameLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent)) -} - -// GetPtraceTraceeInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFilePackageName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFilePackageSourceVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFilePackageVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFilePath() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFilePathLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent)) -} - -// GetPtraceTraceeInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileRights() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileUid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return uint32(0) - } - return ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetPtraceTraceeInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeInterpreterFileUser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if !ev.PTrace.Tracee.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeIsExec() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - return ev.PTrace.Tracee.Process.IsExec -} - -// GetPtraceTraceeIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeIsKworker() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - return ev.PTrace.Tracee.Process.PIDContext.IsKworker -} - -// GetPtraceTraceeIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeIsThread() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, &ev.PTrace.Tracee.Process) -} - -// GetPtraceTraceeParentArgs returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgs() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgsFlags() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgsOptions() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgsScrubbed() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgsTruncated() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgv returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgv() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgv0() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentArgvScrubbed() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentAuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentAuid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.AUID -} - -// GetPtraceTraceeParentCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCapEffective() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.Credentials.CapEffective -} - -// GetPtraceTraceeParentCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCapPermitted() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.Credentials.CapPermitted -} - -// GetPtraceTraceeParentCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCgroupFileInode() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.CGroup.CGroupFile.Inode -} - -// GetPtraceTraceeParentCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCgroupFileMountId() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.CGroup.CGroupFile.MountID -} - -// GetPtraceTraceeParentCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCgroupId() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.PTrace.Tracee.Parent.CGroup) -} - -// GetPtraceTraceeParentCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCgroupManager() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.PTrace.Tracee.Parent.CGroup) -} - -// GetPtraceTraceeParentCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCgroupVersion() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - if !ev.PTrace.Tracee.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.PTrace.Tracee.Parent.CGroup) -} - -// GetPtraceTraceeParentCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCmdargv() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentComm returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentComm() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Comm -} - -// GetPtraceTraceeParentContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentContainerId() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentCreatedAt() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - if !ev.PTrace.Tracee.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentEgid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEgid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.EGID -} - -// GetPtraceTraceeParentEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEgroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Credentials.EGroup -} - -// GetPtraceTraceeParentEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEnvp() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEnvs() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEnvsTruncated() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentEuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEuid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.EUID -} - -// GetPtraceTraceeParentEuser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentEuser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Credentials.EUser -} - -// GetPtraceTraceeParentFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileChangeTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.CTime -} - -// GetPtraceTraceeParentFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileFilesystem() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileGid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.GID -} - -// GetPtraceTraceeParentFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileGroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.PTrace.Tracee.Parent.FileEvent.FileFields) -} - -// GetPtraceTraceeParentFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileHashes() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileInUpperLayer() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.PTrace.Tracee.Parent.FileEvent.FileFields) -} - -// GetPtraceTraceeParentFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileInode() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.PathKey.Inode -} - -// GetPtraceTraceeParentFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileMode() uint16 { - if ev.GetEventType().String() != "ptrace" { - return uint16(0) - } - if ev.PTrace.Tracee == nil { - return uint16(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint16(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint16(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint16(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.Mode -} - -// GetPtraceTraceeParentFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileModificationTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.MTime -} - -// GetPtraceTraceeParentFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileMountId() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.PathKey.MountID -} - -// GetPtraceTraceeParentFileName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileNameLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Parent.FileEvent)) -} - -// GetPtraceTraceeParentFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFilePackageName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFilePackageSourceVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFilePackageVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFilePath() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.FileEvent) -} - -// GetPtraceTraceeParentFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFilePathLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.FileEvent)) -} - -// GetPtraceTraceeParentFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileRights() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - if !ev.PTrace.Tracee.HasParent() { - return 0 - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.PTrace.Tracee.Parent.FileEvent.FileFields) -} - -// GetPtraceTraceeParentFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileUid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.FileEvent.FileFields.UID -} - -// GetPtraceTraceeParentFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFileUser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.PTrace.Tracee.Parent.FileEvent.FileFields) -} - -// GetPtraceTraceeParentFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFsgid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.FSGID -} - -// GetPtraceTraceeParentFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFsgroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Credentials.FSGroup -} - -// GetPtraceTraceeParentFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFsuid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.FSUID -} - -// GetPtraceTraceeParentFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentFsuser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Credentials.FSUser -} - -// GetPtraceTraceeParentGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentGid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.GID -} - -// GetPtraceTraceeParentGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentGroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Credentials.Group -} - -// GetPtraceTraceeParentInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileChangeTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetPtraceTraceeParentInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileFilesystem() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileGid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetPtraceTraceeParentInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileGroup() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeParentInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileHashes() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileInUpperLayer() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeParentInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileInode() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetPtraceTraceeParentInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileMode() uint16 { - if ev.GetEventType().String() != "ptrace" { - return uint16(0) - } - if ev.PTrace.Tracee == nil { - return uint16(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint16(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint16(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint16(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetPtraceTraceeParentInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileModificationTime() uint64 { - if ev.GetEventType().String() != "ptrace" { - return uint64(0) - } - if ev.PTrace.Tracee == nil { - return uint64(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint64(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint64(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint64(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetPtraceTraceeParentInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileMountId() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetPtraceTraceeParentInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileNameLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent)) -} - -// GetPtraceTraceeParentInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFilePackageName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFilePackageSourceVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFilePackageVersion() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFilePath() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) -} - -// GetPtraceTraceeParentInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFilePathLength() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent)) -} - -// GetPtraceTraceeParentInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileRights() int { - if ev.GetEventType().String() != "ptrace" { - return 0 - } - if ev.PTrace.Tracee == nil { - return 0 - } - if ev.PTrace.Tracee.Parent == nil { - return 0 - } - if !ev.PTrace.Tracee.HasParent() { - return 0 - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeParentInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileUid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetPtraceTraceeParentInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentInterpreterFileUser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - if !ev.PTrace.Tracee.Parent.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent.FileFields) -} - -// GetPtraceTraceeParentIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentIsExec() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - return ev.PTrace.Tracee.Parent.IsExec -} - -// GetPtraceTraceeParentIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentIsKworker() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - return ev.PTrace.Tracee.Parent.PIDContext.IsKworker -} - -// GetPtraceTraceeParentIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentIsThread() bool { - if ev.GetEventType().String() != "ptrace" { - return false - } - if ev.PTrace.Tracee == nil { - return false - } - if ev.PTrace.Tracee.Parent == nil { - return false - } - if !ev.PTrace.Tracee.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, ev.PTrace.Tracee.Parent) -} - -// GetPtraceTraceeParentPid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentPid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.PIDContext.Pid -} - -// GetPtraceTraceeParentPpid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentPpid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.PPid -} - -// GetPtraceTraceeParentTid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentTid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.PIDContext.Tid -} - -// GetPtraceTraceeParentTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentTtyName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.TTYName -} - -// GetPtraceTraceeParentUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentUid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - if ev.PTrace.Tracee.Parent == nil { - return uint32(0) - } - if !ev.PTrace.Tracee.HasParent() { - return uint32(0) - } - return ev.PTrace.Tracee.Parent.Credentials.UID -} - -// GetPtraceTraceeParentUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentUser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.PTrace.Tracee.Parent.Credentials.User -} - -// GetPtraceTraceeParentUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentUserSessionK8sGroups() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - if ev.PTrace.Tracee.Parent == nil { - return []string{} - } - if !ev.PTrace.Tracee.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.PTrace.Tracee.Parent.UserSession) -} - -// GetPtraceTraceeParentUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentUserSessionK8sUid() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.PTrace.Tracee.Parent.UserSession) -} - -// GetPtraceTraceeParentUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeParentUserSessionK8sUsername() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - if ev.PTrace.Tracee.Parent == nil { - return "" - } - if !ev.PTrace.Tracee.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.PTrace.Tracee.Parent.UserSession) -} - -// GetPtraceTraceePid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceePid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.PIDContext.Pid -} - -// GetPtraceTraceePpid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceePpid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.PPid -} - -// GetPtraceTraceeTid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeTid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.PIDContext.Tid -} - -// GetPtraceTraceeTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeTtyName() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.TTYName -} - -// GetPtraceTraceeUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeUid() uint32 { - if ev.GetEventType().String() != "ptrace" { - return uint32(0) - } - if ev.PTrace.Tracee == nil { - return uint32(0) - } - return ev.PTrace.Tracee.Process.Credentials.UID -} - -// GetPtraceTraceeUser returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeUser() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.PTrace.Tracee.Process.Credentials.User -} - -// GetPtraceTraceeUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeUserSessionK8sGroups() []string { - if ev.GetEventType().String() != "ptrace" { - return []string{} - } - if ev.PTrace.Tracee == nil { - return []string{} - } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.PTrace.Tracee.Process.UserSession) -} - -// GetPtraceTraceeUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeUserSessionK8sUid() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.PTrace.Tracee.Process.UserSession) -} - -// GetPtraceTraceeUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetPtraceTraceeUserSessionK8sUsername() string { - if ev.GetEventType().String() != "ptrace" { - return "" - } - if ev.PTrace.Tracee == nil { - return "" - } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.PTrace.Tracee.Process.UserSession) -} - -// GetRemovexattrFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileChangeTime() uint64 { - if ev.GetEventType().String() != "removexattr" { - return uint64(0) - } - return ev.RemoveXAttr.File.FileFields.CTime -} - -// GetRemovexattrFileDestinationName returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileDestinationName() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveXAttrName(ev, &ev.RemoveXAttr) -} - -// GetRemovexattrFileDestinationNamespace returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileDestinationNamespace() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveXAttrNamespace(ev, &ev.RemoveXAttr) -} - -// GetRemovexattrFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileFilesystem() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileGid() uint32 { - if ev.GetEventType().String() != "removexattr" { - return uint32(0) - } - return ev.RemoveXAttr.File.FileFields.GID -} - -// GetRemovexattrFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileGroup() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.RemoveXAttr.File.FileFields) -} - -// GetRemovexattrFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileHashes() []string { - if ev.GetEventType().String() != "removexattr" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileInUpperLayer() bool { - if ev.GetEventType().String() != "removexattr" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.RemoveXAttr.File.FileFields) -} - -// GetRemovexattrFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileInode() uint64 { - if ev.GetEventType().String() != "removexattr" { - return uint64(0) - } - return ev.RemoveXAttr.File.FileFields.PathKey.Inode -} - -// GetRemovexattrFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileMode() uint16 { - if ev.GetEventType().String() != "removexattr" { - return uint16(0) - } - return ev.RemoveXAttr.File.FileFields.Mode -} - -// GetRemovexattrFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileModificationTime() uint64 { - if ev.GetEventType().String() != "removexattr" { - return uint64(0) - } - return ev.RemoveXAttr.File.FileFields.MTime -} - -// GetRemovexattrFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileMountId() uint32 { - if ev.GetEventType().String() != "removexattr" { - return uint32(0) - } - return ev.RemoveXAttr.File.FileFields.PathKey.MountID -} - -// GetRemovexattrFileName returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileName() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileNameLength() int { - if ev.GetEventType().String() != "removexattr" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.RemoveXAttr.File)) -} - -// GetRemovexattrFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFilePackageName() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFilePackageSourceVersion() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFilePackageVersion() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFilePath() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.RemoveXAttr.File) -} - -// GetRemovexattrFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFilePathLength() int { - if ev.GetEventType().String() != "removexattr" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.RemoveXAttr.File)) -} - -// GetRemovexattrFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileRights() int { - if ev.GetEventType().String() != "removexattr" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.RemoveXAttr.File.FileFields) -} - -// GetRemovexattrFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileUid() uint32 { - if ev.GetEventType().String() != "removexattr" { - return uint32(0) - } - return ev.RemoveXAttr.File.FileFields.UID -} - -// GetRemovexattrFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrFileUser() string { - if ev.GetEventType().String() != "removexattr" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.RemoveXAttr.File.FileFields) -} - -// GetRemovexattrRetval returns the value of the field, resolving if necessary -func (ev *Event) GetRemovexattrRetval() int64 { - if ev.GetEventType().String() != "removexattr" { - return int64(0) - } - return ev.RemoveXAttr.SyscallEvent.Retval -} - -// GetRenameFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileChangeTime() uint64 { - if ev.GetEventType().String() != "rename" { - return uint64(0) - } - return ev.Rename.Old.FileFields.CTime -} - -// GetRenameFileDestinationChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationChangeTime() uint64 { - if ev.GetEventType().String() != "rename" { - return uint64(0) - } - return ev.Rename.New.FileFields.CTime -} - -// GetRenameFileDestinationFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationFilesystem() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationGid returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationGid() uint32 { - if ev.GetEventType().String() != "rename" { - return uint32(0) - } - return ev.Rename.New.FileFields.GID -} - -// GetRenameFileDestinationGroup returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationGroup() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Rename.New.FileFields) -} - -// GetRenameFileDestinationHashes returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationHashes() []string { - if ev.GetEventType().String() != "rename" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationInUpperLayer() bool { - if ev.GetEventType().String() != "rename" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Rename.New.FileFields) -} - -// GetRenameFileDestinationInode returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationInode() uint64 { - if ev.GetEventType().String() != "rename" { - return uint64(0) - } - return ev.Rename.New.FileFields.PathKey.Inode -} - -// GetRenameFileDestinationMode returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationMode() uint16 { - if ev.GetEventType().String() != "rename" { - return uint16(0) - } - return ev.Rename.New.FileFields.Mode -} - -// GetRenameFileDestinationModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationModificationTime() uint64 { - if ev.GetEventType().String() != "rename" { - return uint64(0) - } - return ev.Rename.New.FileFields.MTime -} - -// GetRenameFileDestinationMountId returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationMountId() uint32 { - if ev.GetEventType().String() != "rename" { - return uint32(0) - } - return ev.Rename.New.FileFields.PathKey.MountID -} - -// GetRenameFileDestinationName returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationName() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationNameLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Rename.New)) -} - -// GetRenameFileDestinationPackageName returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPackageName() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationPackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPackageSourceVersion() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationPackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPackageVersion() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationPath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.New) -} - -// GetRenameFileDestinationPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPathLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.New)) -} - -// GetRenameFileDestinationRights returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationRights() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Rename.New.FileFields) -} - -// GetRenameFileDestinationUid returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationUid() uint32 { - if ev.GetEventType().String() != "rename" { - return uint32(0) - } - return ev.Rename.New.FileFields.UID -} - -// GetRenameFileDestinationUser returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationUser() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Rename.New.FileFields) -} - -// GetRenameFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileFilesystem() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Rename.Old) -} - -// GetRenameFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileGid() uint32 { - if ev.GetEventType().String() != "rename" { - return uint32(0) - } - return ev.Rename.Old.FileFields.GID -} - -// GetRenameFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileGroup() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Rename.Old.FileFields) -} - -// GetRenameFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileHashes() []string { - if ev.GetEventType().String() != "rename" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Rename.Old) -} - -// GetRenameFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileInUpperLayer() bool { - if ev.GetEventType().String() != "rename" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Rename.Old.FileFields) -} - -// GetRenameFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileInode() uint64 { - if ev.GetEventType().String() != "rename" { - return uint64(0) - } - return ev.Rename.Old.FileFields.PathKey.Inode -} - -// GetRenameFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileMode() uint16 { - if ev.GetEventType().String() != "rename" { - return uint16(0) - } - return ev.Rename.Old.FileFields.Mode -} - -// GetRenameFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileModificationTime() uint64 { - if ev.GetEventType().String() != "rename" { - return uint64(0) - } - return ev.Rename.Old.FileFields.MTime -} - -// GetRenameFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileMountId() uint32 { - if ev.GetEventType().String() != "rename" { - return uint32(0) - } - return ev.Rename.Old.FileFields.PathKey.MountID -} - -// GetRenameFileName returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileName() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Rename.Old) -} - -// GetRenameFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileNameLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Rename.Old)) -} - -// GetRenameFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePackageName() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Rename.Old) -} - -// GetRenameFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePackageSourceVersion() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Rename.Old) -} - -// GetRenameFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePackageVersion() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Rename.Old) -} - -// GetRenameFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.Old) -} - -// GetRenameFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePathLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.Old)) -} - -// GetRenameFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileRights() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Rename.Old.FileFields) -} - -// GetRenameFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileUid() uint32 { - if ev.GetEventType().String() != "rename" { - return uint32(0) - } - return ev.Rename.Old.FileFields.UID -} - -// GetRenameFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileUser() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Rename.Old.FileFields) -} - -// GetRenameRetval returns the value of the field, resolving if necessary -func (ev *Event) GetRenameRetval() int64 { - if ev.GetEventType().String() != "rename" { - return int64(0) - } - return ev.Rename.SyscallEvent.Retval -} - -// GetRenameSyscallDestinationPath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallDestinationPath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallInt1() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallInt2() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallInt3() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallPath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallStr1() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallStr2() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Rename.SyscallContext) -} - -// GetRenameSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetRenameSyscallStr3() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Rename.SyscallContext) -} - -// GetRmdirFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileChangeTime() uint64 { - if ev.GetEventType().String() != "rmdir" { - return uint64(0) - } - return ev.Rmdir.File.FileFields.CTime -} - -// GetRmdirFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileFilesystem() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Rmdir.File) -} - -// GetRmdirFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileGid() uint32 { - if ev.GetEventType().String() != "rmdir" { - return uint32(0) - } - return ev.Rmdir.File.FileFields.GID -} - -// GetRmdirFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileGroup() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Rmdir.File.FileFields) -} - -// GetRmdirFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileHashes() []string { - if ev.GetEventType().String() != "rmdir" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Rmdir.File) -} - -// GetRmdirFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileInUpperLayer() bool { - if ev.GetEventType().String() != "rmdir" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Rmdir.File.FileFields) -} - -// GetRmdirFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileInode() uint64 { - if ev.GetEventType().String() != "rmdir" { - return uint64(0) - } - return ev.Rmdir.File.FileFields.PathKey.Inode -} - -// GetRmdirFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileMode() uint16 { - if ev.GetEventType().String() != "rmdir" { - return uint16(0) - } - return ev.Rmdir.File.FileFields.Mode -} - -// GetRmdirFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileModificationTime() uint64 { - if ev.GetEventType().String() != "rmdir" { - return uint64(0) - } - return ev.Rmdir.File.FileFields.MTime -} - -// GetRmdirFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileMountId() uint32 { - if ev.GetEventType().String() != "rmdir" { - return uint32(0) - } - return ev.Rmdir.File.FileFields.PathKey.MountID -} - -// GetRmdirFileName returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileName() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Rmdir.File) -} - -// GetRmdirFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileNameLength() int { - if ev.GetEventType().String() != "rmdir" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Rmdir.File)) -} - -// GetRmdirFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFilePackageName() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Rmdir.File) -} - -// GetRmdirFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFilePackageSourceVersion() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Rmdir.File) -} - -// GetRmdirFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFilePackageVersion() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Rmdir.File) -} - -// GetRmdirFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFilePath() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Rmdir.File) -} - -// GetRmdirFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFilePathLength() int { - if ev.GetEventType().String() != "rmdir" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Rmdir.File)) -} - -// GetRmdirFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileRights() int { - if ev.GetEventType().String() != "rmdir" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Rmdir.File.FileFields) -} - -// GetRmdirFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileUid() uint32 { - if ev.GetEventType().String() != "rmdir" { - return uint32(0) - } - return ev.Rmdir.File.FileFields.UID -} - -// GetRmdirFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirFileUser() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Rmdir.File.FileFields) -} - -// GetRmdirRetval returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirRetval() int64 { - if ev.GetEventType().String() != "rmdir" { - return int64(0) - } - return ev.Rmdir.SyscallEvent.Retval -} - -// GetRmdirSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallInt1() int { - if ev.GetEventType().String() != "rmdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Rmdir.SyscallContext) -} - -// GetRmdirSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallInt2() int { - if ev.GetEventType().String() != "rmdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Rmdir.SyscallContext) -} - -// GetRmdirSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallInt3() int { - if ev.GetEventType().String() != "rmdir" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Rmdir.SyscallContext) -} - -// GetRmdirSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallPath() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Rmdir.SyscallContext) -} - -// GetRmdirSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallStr1() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Rmdir.SyscallContext) -} - -// GetRmdirSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallStr2() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Rmdir.SyscallContext) -} - -// GetRmdirSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetRmdirSyscallStr3() string { - if ev.GetEventType().String() != "rmdir" { - return "" - } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Rmdir.SyscallContext) -} - -// GetSelinuxBoolName returns the value of the field, resolving if necessary -func (ev *Event) GetSelinuxBoolName() string { - if ev.GetEventType().String() != "selinux" { - return "" - } - return ev.FieldHandlers.ResolveSELinuxBoolName(ev, &ev.SELinux) -} - -// GetSelinuxBoolState returns the value of the field, resolving if necessary -func (ev *Event) GetSelinuxBoolState() string { - if ev.GetEventType().String() != "selinux" { - return "" - } - return ev.SELinux.BoolChangeValue -} - -// GetSelinuxBoolCommitState returns the value of the field, resolving if necessary -func (ev *Event) GetSelinuxBoolCommitState() bool { - if ev.GetEventType().String() != "selinux" { - return false - } - return ev.SELinux.BoolCommitValue -} - -// GetSelinuxEnforceStatus returns the value of the field, resolving if necessary -func (ev *Event) GetSelinuxEnforceStatus() string { - if ev.GetEventType().String() != "selinux" { - return "" - } - return ev.SELinux.EnforceStatus -} - -// GetSetgidEgid returns the value of the field, resolving if necessary -func (ev *Event) GetSetgidEgid() uint32 { - if ev.GetEventType().String() != "setgid" { - return uint32(0) - } - return ev.SetGID.EGID -} - -// GetSetgidEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSetgidEgroup() string { - if ev.GetEventType().String() != "setgid" { - return "" - } - return ev.FieldHandlers.ResolveSetgidEGroup(ev, &ev.SetGID) -} - -// GetSetgidFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetSetgidFsgid() uint32 { - if ev.GetEventType().String() != "setgid" { - return uint32(0) - } - return ev.SetGID.FSGID -} - -// GetSetgidFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSetgidFsgroup() string { - if ev.GetEventType().String() != "setgid" { - return "" - } - return ev.FieldHandlers.ResolveSetgidFSGroup(ev, &ev.SetGID) -} - -// GetSetgidGid returns the value of the field, resolving if necessary -func (ev *Event) GetSetgidGid() uint32 { - if ev.GetEventType().String() != "setgid" { - return uint32(0) - } - return ev.SetGID.GID -} - -// GetSetgidGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSetgidGroup() string { - if ev.GetEventType().String() != "setgid" { - return "" - } - return ev.FieldHandlers.ResolveSetgidGroup(ev, &ev.SetGID) -} - -// GetSetuidEuid returns the value of the field, resolving if necessary -func (ev *Event) GetSetuidEuid() uint32 { - if ev.GetEventType().String() != "setuid" { - return uint32(0) - } - return ev.SetUID.EUID -} - -// GetSetuidEuser returns the value of the field, resolving if necessary -func (ev *Event) GetSetuidEuser() string { - if ev.GetEventType().String() != "setuid" { - return "" - } - return ev.FieldHandlers.ResolveSetuidEUser(ev, &ev.SetUID) -} - -// GetSetuidFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetSetuidFsuid() uint32 { - if ev.GetEventType().String() != "setuid" { - return uint32(0) - } - return ev.SetUID.FSUID -} - -// GetSetuidFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetSetuidFsuser() string { - if ev.GetEventType().String() != "setuid" { - return "" - } - return ev.FieldHandlers.ResolveSetuidFSUser(ev, &ev.SetUID) -} - -// GetSetuidUid returns the value of the field, resolving if necessary -func (ev *Event) GetSetuidUid() uint32 { - if ev.GetEventType().String() != "setuid" { - return uint32(0) - } - return ev.SetUID.UID -} - -// GetSetuidUser returns the value of the field, resolving if necessary -func (ev *Event) GetSetuidUser() string { - if ev.GetEventType().String() != "setuid" { - return "" - } - return ev.FieldHandlers.ResolveSetuidUser(ev, &ev.SetUID) -} - -// GetSetxattrFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileChangeTime() uint64 { - if ev.GetEventType().String() != "setxattr" { - return uint64(0) - } - return ev.SetXAttr.File.FileFields.CTime -} - -// GetSetxattrFileDestinationName returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileDestinationName() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveXAttrName(ev, &ev.SetXAttr) -} - -// GetSetxattrFileDestinationNamespace returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileDestinationNamespace() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveXAttrNamespace(ev, &ev.SetXAttr) -} - -// GetSetxattrFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileFilesystem() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileGid() uint32 { - if ev.GetEventType().String() != "setxattr" { - return uint32(0) - } - return ev.SetXAttr.File.FileFields.GID -} - -// GetSetxattrFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileGroup() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.SetXAttr.File.FileFields) -} - -// GetSetxattrFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileHashes() []string { - if ev.GetEventType().String() != "setxattr" { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileInUpperLayer() bool { - if ev.GetEventType().String() != "setxattr" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.SetXAttr.File.FileFields) -} - -// GetSetxattrFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileInode() uint64 { - if ev.GetEventType().String() != "setxattr" { - return uint64(0) - } - return ev.SetXAttr.File.FileFields.PathKey.Inode -} - -// GetSetxattrFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileMode() uint16 { - if ev.GetEventType().String() != "setxattr" { - return uint16(0) - } - return ev.SetXAttr.File.FileFields.Mode -} - -// GetSetxattrFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileModificationTime() uint64 { - if ev.GetEventType().String() != "setxattr" { - return uint64(0) - } - return ev.SetXAttr.File.FileFields.MTime -} - -// GetSetxattrFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileMountId() uint32 { - if ev.GetEventType().String() != "setxattr" { - return uint32(0) - } - return ev.SetXAttr.File.FileFields.PathKey.MountID -} - -// GetSetxattrFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileName() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileNameLength() int { - if ev.GetEventType().String() != "setxattr" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.SetXAttr.File)) -} - -// GetSetxattrFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFilePackageName() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFilePackageSourceVersion() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFilePackageVersion() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFilePath() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.SetXAttr.File) -} - -// GetSetxattrFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFilePathLength() int { - if ev.GetEventType().String() != "setxattr" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.SetXAttr.File)) -} - -// GetSetxattrFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileRights() int { - if ev.GetEventType().String() != "setxattr" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.SetXAttr.File.FileFields) -} - -// GetSetxattrFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileUid() uint32 { - if ev.GetEventType().String() != "setxattr" { - return uint32(0) - } - return ev.SetXAttr.File.FileFields.UID -} - -// GetSetxattrFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrFileUser() string { - if ev.GetEventType().String() != "setxattr" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.SetXAttr.File.FileFields) -} - -// GetSetxattrRetval returns the value of the field, resolving if necessary -func (ev *Event) GetSetxattrRetval() int64 { - if ev.GetEventType().String() != "setxattr" { - return int64(0) - } - return ev.SetXAttr.SyscallEvent.Retval -} - -// GetSignalPid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalPid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - return ev.Signal.PID -} - -// GetSignalRetval returns the value of the field, resolving if necessary -func (ev *Event) GetSignalRetval() int64 { - if ev.GetEventType().String() != "signal" { - return int64(0) - } - return ev.Signal.SyscallEvent.Retval -} - -// GetSignalTargetAncestorsArgs returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgs() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgs(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgsFlags() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsFlags(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgsOptions() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsOptions(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgsScrubbed() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgsTruncated() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgsTruncated(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgv returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgv() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgv(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgv0() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgv0(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsArgvScrubbed() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsAuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsAuid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.AUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCapEffective() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.CapEffective - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCapPermitted() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.CapPermitted - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCgroupFileInode() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.CGroup.CGroupFile.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCgroupFileMountId() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.CGroup.CGroupFile.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCgroupId() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupID(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCgroupManager() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupManager(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCgroupVersion() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveCGroupVersion(ev, &element.ProcessContext.Process.CGroup) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCmdargv() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessCmdArgv(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsComm returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsComm() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Comm - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsContainerId() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessContainerID(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsCreatedAt() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveProcessCreatedAt(ev, &element.ProcessContext.Process)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEgid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEgid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EGID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEgroup() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EGroup - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEnvp() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvp(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEnvs() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvs(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEnvsTruncated() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEuid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsEuser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsEuser() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.EUser - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileChangeTime() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.CTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileFilesystem() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFilesystem(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileGid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileGroup() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsGroup(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileHashes() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveHashesFromEvent(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileInUpperLayer() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileInode() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.PathKey.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileMode() []uint16 { - if ev.GetEventType().String() != "signal" { - return []uint16{} - } - if ev.Signal.Target == nil { - return []uint16{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint16{} - } - var values []uint16 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.Mode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileModificationTime() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.MTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileMountId() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.PathKey.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileName() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileNameLength() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFilePackageName() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageName(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFilePackageSourceVersion() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageSourceVersion(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFilePackageVersion() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageVersion(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFilePath() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFilePathLength() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileRights() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveRights(ev, &element.ProcessContext.Process.FileEvent.FileFields)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileUid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.FileEvent.FileFields.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFileUser() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsUser(ev, &element.ProcessContext.Process.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFsgid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSGID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFsgroup() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSGroup - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFsuid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSUID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsFsuser() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.FSUser - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsGid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsGroup() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.Group - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileChangeTime() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.CTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileFilesystem() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFilesystem(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileGid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.GID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileGroup() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsGroup(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileHashes() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveHashesFromEvent(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileInUpperLayer() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileInode() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileMode() []uint16 { - if ev.GetEventType().String() != "signal" { - return []uint16{} - } - if ev.Signal.Target == nil { - return []uint16{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint16{} - } - var values []uint16 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.Mode - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileModificationTime() []uint64 { - if ev.GetEventType().String() != "signal" { - return []uint64{} - } - if ev.Signal.Target == nil { - return []uint64{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint64{} - } - var values []uint64 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.MTime - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileMountId() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileName() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileNameLength() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFilePackageName() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageName(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFilePackageSourceVersion() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageSourceVersion(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFilePackageVersion() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolvePackageVersion(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFilePath() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFilePathLength() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileRights() []int { - if ev.GetEventType().String() != "signal" { - return []int{} - } - if ev.Signal.Target == nil { - return []int{} - } - if ev.Signal.Target.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveRights(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileUid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsInterpreterFileUser() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileFieldsUser(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent.FileFields) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsIsExec() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.IsExec - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsIsKworker() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.IsKworker - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsIsThread() []bool { - if ev.GetEventType().String() != "signal" { - return []bool{} - } - if ev.Signal.Target == nil { - return []bool{} - } - if ev.Signal.Target.Ancestor == nil { - return []bool{} - } - var values []bool - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessIsThread(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if ev.Signal.Target.Ancestor == nil { - return 0 - } - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - return iterator.Len(ctx) -} - -// GetSignalTargetAncestorsPid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsPid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.Pid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsPpid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsPpid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PPid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsTid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsTid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PIDContext.Tid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsTtyName() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.TTYName - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsUid() []uint32 { - if ev.GetEventType().String() != "signal" { - return []uint32{} - } - if ev.Signal.Target == nil { - return []uint32{} - } - if ev.Signal.Target.Ancestor == nil { - return []uint32{} - } - var values []uint32 - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.UID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsUser() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.Credentials.User - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsUserSessionK8sGroups() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SGroups(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsUserSessionK8sUid() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SUID(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetAncestorsUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAncestorsUserSessionK8sUsername() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveK8SUsername(ev, &element.ProcessContext.Process.UserSession) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetSignalTargetArgs returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgs() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgsFlags() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgsOptions() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgsScrubbed() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgsTruncated() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgv returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgv() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgv0() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetArgvScrubbed() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetAuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetAuid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.Credentials.AUID -} - -// GetSignalTargetCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCapEffective() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - return ev.Signal.Target.Process.Credentials.CapEffective -} - -// GetSignalTargetCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCapPermitted() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - return ev.Signal.Target.Process.Credentials.CapPermitted -} - -// GetSignalTargetCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCgroupFileInode() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - return ev.Signal.Target.Process.CGroup.CGroupFile.Inode -} - -// GetSignalTargetCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCgroupFileMountId() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.CGroup.CGroupFile.MountID -} - -// GetSignalTargetCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCgroupId() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.Signal.Target.Process.CGroup) -} - -// GetSignalTargetCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCgroupManager() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.Signal.Target.Process.CGroup) -} - -// GetSignalTargetCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCgroupVersion() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.Signal.Target.Process.CGroup) -} - -// GetSignalTargetCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCmdargv() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetComm returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetComm() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.Signal.Target.Process.Comm -} - -// GetSignalTargetContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetContainerId() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetCreatedAt() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetEgid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEgid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.Credentials.EGID -} - -// GetSignalTargetEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEgroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.Signal.Target.Process.Credentials.EGroup -} - -// GetSignalTargetEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEnvp() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEnvs() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEnvsTruncated() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetEuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEuid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.Credentials.EUID -} - -// GetSignalTargetEuser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetEuser() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.Signal.Target.Process.Credentials.EUser -} - -// GetSignalTargetExecTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetExecTime() time.Time { - if ev.GetEventType().String() != "signal" { - return time.Time{} - } - if ev.Signal.Target == nil { - return time.Time{} - } - return ev.Signal.Target.Process.ExecTime -} - -// GetSignalTargetExitTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetExitTime() time.Time { - if ev.GetEventType().String() != "signal" { - return time.Time{} - } - if ev.Signal.Target == nil { - return time.Time{} - } - return ev.Signal.Target.Process.ExitTime -} - -// GetSignalTargetFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileChangeTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint64(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.CTime -} - -// GetSignalTargetFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileFilesystem() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileGid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint32(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.GID -} - -// GetSignalTargetFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileGroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Signal.Target.Process.FileEvent.FileFields) -} - -// GetSignalTargetFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileHashes() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if !ev.Signal.Target.Process.IsNotKworker() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileInUpperLayer() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - if !ev.Signal.Target.Process.IsNotKworker() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Signal.Target.Process.FileEvent.FileFields) -} - -// GetSignalTargetFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileInode() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint64(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.PathKey.Inode -} - -// GetSignalTargetFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileMode() uint16 { - if ev.GetEventType().String() != "signal" { - return uint16(0) - } - if ev.Signal.Target == nil { - return uint16(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint16(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.Mode -} - -// GetSignalTargetFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileModificationTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint64(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.MTime -} - -// GetSignalTargetFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileMountId() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint32(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.PathKey.MountID -} - -// GetSignalTargetFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileName() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileNameLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Process.FileEvent)) -} - -// GetSignalTargetFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFilePackageName() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFilePackageSourceVersion() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFilePackageVersion() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFilePath() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.FileEvent) -} - -// GetSignalTargetFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFilePathLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.FileEvent)) -} - -// GetSignalTargetFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileRights() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if !ev.Signal.Target.Process.IsNotKworker() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Signal.Target.Process.FileEvent.FileFields) -} - -// GetSignalTargetFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileUid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if !ev.Signal.Target.Process.IsNotKworker() { - return uint32(0) - } - return ev.Signal.Target.Process.FileEvent.FileFields.UID -} - -// GetSignalTargetFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFileUser() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.IsNotKworker() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Signal.Target.Process.FileEvent.FileFields) -} - -// GetSignalTargetForkTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetForkTime() time.Time { - if ev.GetEventType().String() != "signal" { - return time.Time{} - } - if ev.Signal.Target == nil { - return time.Time{} - } - return ev.Signal.Target.Process.ForkTime -} - -// GetSignalTargetFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFsgid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.Credentials.FSGID -} - -// GetSignalTargetFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFsgroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.Signal.Target.Process.Credentials.FSGroup -} - -// GetSignalTargetFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFsuid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.Credentials.FSUID -} - -// GetSignalTargetFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetFsuser() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.Signal.Target.Process.Credentials.FSUser -} - -// GetSignalTargetGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetGid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - return ev.Signal.Target.Process.Credentials.GID -} - -// GetSignalTargetGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetGroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - return ev.Signal.Target.Process.Credentials.Group -} - -// GetSignalTargetInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileChangeTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint64(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.CTime -} - -// GetSignalTargetInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileFilesystem() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileGid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint32(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.GID -} - -// GetSignalTargetInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileGroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetSignalTargetInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileHashes() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if !ev.Signal.Target.Process.HasInterpreter() { - return []string{} - } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileInUpperLayer() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - if !ev.Signal.Target.Process.HasInterpreter() { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetSignalTargetInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileInode() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint64(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.PathKey.Inode -} - -// GetSignalTargetInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileMode() uint16 { - if ev.GetEventType().String() != "signal" { - return uint16(0) - } - if ev.Signal.Target == nil { - return uint16(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint16(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.Mode -} - -// GetSignalTargetInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileModificationTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint64(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.MTime -} - -// GetSignalTargetInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileMountId() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint32(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.PathKey.MountID -} - -// GetSignalTargetInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileName() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileNameLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent)) -} - -// GetSignalTargetInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFilePackageName() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFilePackageSourceVersion() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFilePackageVersion() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFilePath() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) -} - -// GetSignalTargetInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFilePathLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent)) -} - -// GetSignalTargetInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileRights() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if !ev.Signal.Target.Process.HasInterpreter() { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetSignalTargetInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileUid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if !ev.Signal.Target.Process.HasInterpreter() { - return uint32(0) - } - return ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields.UID -} - -// GetSignalTargetInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetInterpreterFileUser() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if !ev.Signal.Target.Process.HasInterpreter() { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent.FileFields) -} - -// GetSignalTargetIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetIsExec() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - return ev.Signal.Target.Process.IsExec -} - -// GetSignalTargetIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetIsKworker() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - return ev.Signal.Target.Process.PIDContext.IsKworker -} - -// GetSignalTargetIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetIsThread() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - return ev.FieldHandlers.ResolveProcessIsThread(ev, &ev.Signal.Target.Process) -} - -// GetSignalTargetParentArgs returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgs() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgs(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgsFlags returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgsFlags() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Parent == nil { - return []string{} - } - if !ev.Signal.Target.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsFlags(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgsOptions returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgsOptions() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Parent == nil { - return []string{} - } - if !ev.Signal.Target.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgsOptions(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgsScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgsScrubbed() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgsScrubbed(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgsTruncated() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - if ev.Signal.Target.Parent == nil { - return false - } - if !ev.Signal.Target.HasParent() { - return false - } - return ev.FieldHandlers.ResolveProcessArgsTruncated(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgv returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgv() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Parent == nil { - return []string{} - } - if !ev.Signal.Target.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgv(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgv0 returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgv0() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessArgv0(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentArgvScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentArgvScrubbed() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Parent == nil { - return []string{} - } - if !ev.Signal.Target.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessArgvScrubbed(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentAuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentAuid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if ev.Signal.Target.Parent == nil { - return uint32(0) - } - if !ev.Signal.Target.HasParent() { - return uint32(0) - } - return ev.Signal.Target.Parent.Credentials.AUID -} - -// GetSignalTargetParentCapEffective returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCapEffective() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) - } - if !ev.Signal.Target.HasParent() { - return uint64(0) - } - return ev.Signal.Target.Parent.Credentials.CapEffective -} - -// GetSignalTargetParentCapPermitted returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCapPermitted() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) - } - if !ev.Signal.Target.HasParent() { - return uint64(0) - } - return ev.Signal.Target.Parent.Credentials.CapPermitted -} - -// GetSignalTargetParentCgroupFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCgroupFileInode() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) - } - if !ev.Signal.Target.HasParent() { - return uint64(0) - } - return ev.Signal.Target.Parent.CGroup.CGroupFile.Inode -} - -// GetSignalTargetParentCgroupFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCgroupFileMountId() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if ev.Signal.Target.Parent == nil { - return uint32(0) - } - if !ev.Signal.Target.HasParent() { - return uint32(0) - } - return ev.Signal.Target.Parent.CGroup.CGroupFile.MountID -} - -// GetSignalTargetParentCgroupId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCgroupId() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveCGroupID(ev, &ev.Signal.Target.Parent.CGroup) -} - -// GetSignalTargetParentCgroupManager returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCgroupManager() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveCGroupManager(ev, &ev.Signal.Target.Parent.CGroup) -} - -// GetSignalTargetParentCgroupVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCgroupVersion() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if ev.Signal.Target.Parent == nil { - return 0 - } - if !ev.Signal.Target.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveCGroupVersion(ev, &ev.Signal.Target.Parent.CGroup) -} - -// GetSignalTargetParentCmdargv returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCmdargv() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} - } - if ev.Signal.Target.Parent == nil { +// GetProcessAncestorsCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsCmdargv() []string { + if ev.BaseEvent.ProcessContext == nil { return []string{} } - if !ev.Signal.Target.HasParent() { + if ev.BaseEvent.ProcessContext.Ancestor == nil { return []string{} } - return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentComm returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentComm() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.Signal.Target.Parent.Comm -} - -// GetSignalTargetParentContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentContainerId() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" - } - if !ev.Signal.Target.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessContainerID(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentCreatedAt() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if ev.Signal.Target.Parent == nil { - return 0 - } - if !ev.Signal.Target.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.Signal.Target.Parent) -} - -// GetSignalTargetParentEgid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEgid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if ev.Signal.Target.Parent == nil { - return uint32(0) - } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveProcessCmdArgv(ev, &element.ProcessContext.Process) + values = append(values, result...) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.EGID + return values } -// GetSignalTargetParentEgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEgroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" +// GetProcessAncestorsEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsEnvp() []string { + if ev.BaseEvent.ProcessContext == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveProcessEnvp(ev, &element.ProcessContext.Process) + values = append(values, result...) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.EGroup + return values } -// GetSignalTargetParentEnvp returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEnvp() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { +// GetProcessAncestorsFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsFilePath() []string { + if ev.BaseEvent.ProcessContext == nil { return []string{} } - if ev.Signal.Target.Parent == nil { + if ev.BaseEvent.ProcessContext.Ancestor == nil { return []string{} } - if !ev.Signal.Target.HasParent() { - return []string{} + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent) + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Signal.Target.Parent) + return values } -// GetSignalTargetParentEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEnvs() []string { - if ev.GetEventType().String() != "signal" { - return []string{} - } - if ev.Signal.Target == nil { - return []string{} +// GetProcessAncestorsFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsFilePathLength() []int { + if ev.BaseEvent.ProcessContext == nil { + return []int{} } - if ev.Signal.Target.Parent == nil { - return []string{} + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []int{} } - if !ev.Signal.Target.HasParent() { - return []string{} + var values []int + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent)) + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.Signal.Target.Parent) + return values } -// GetSignalTargetParentEnvsTruncated returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEnvsTruncated() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false +// GetProcessAncestorsGid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsGid() []uint32 { + if ev.BaseEvent.ProcessContext == nil { + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return false + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return false + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.GID + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveProcessEnvsTruncated(ev, ev.Signal.Target.Parent) + return values } -// GetSignalTargetParentEuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEuid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) +// GetProcessAncestorsGroup returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsGroup() []string { + if ev.BaseEvent.ProcessContext == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.Group + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.EUID + return values } -// GetSignalTargetParentEuser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentEuser() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" +// GetProcessAncestorsInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsInterpreterFilePath() []string { + if ev.BaseEvent.ProcessContext == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.EUser + return values } -// GetSignalTargetParentFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileChangeTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) +// GetProcessAncestorsInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsInterpreterFilePathLength() []int { + if ev.BaseEvent.ProcessContext == nil { + return []int{} } - if !ev.Signal.Target.HasParent() { - return uint64(0) + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []int{} } - if !ev.Signal.Target.Parent.IsNotKworker() { - return uint64(0) + var values []int + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.FileEvent.FileFields.CTime + return values } -// GetSignalTargetParentFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileFilesystem() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" +// GetProcessAncestorsPid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsPid() []uint32 { + if ev.BaseEvent.ProcessContext == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return "" + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.Parent.IsNotKworker() { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PIDContext.Pid + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Signal.Target.Parent.FileEvent) + return values } -// GetSignalTargetParentFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileGid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if ev.Signal.Target.Parent == nil { - return uint32(0) +// GetProcessAncestorsPpid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsPpid() []uint32 { + if ev.BaseEvent.ProcessContext == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.Parent.IsNotKworker() { - return uint32(0) + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PPid + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.FileEvent.FileFields.GID + return values } -// GetSignalTargetParentFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileGroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { - return "" +// GetProcessAncestorsUid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsUid() []uint32 { + if ev.BaseEvent.ProcessContext == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return "" + if ev.BaseEvent.ProcessContext.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.Parent.IsNotKworker() { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.UID + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Signal.Target.Parent.FileEvent.FileFields) + return values } -// GetSignalTargetParentFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileHashes() []string { - if ev.GetEventType().String() != "signal" { +// GetProcessAncestorsUser returns the value of the field, resolving if necessary +func (ev *Event) GetProcessAncestorsUser() []string { + if ev.BaseEvent.ProcessContext == nil { return []string{} } - if ev.Signal.Target == nil { + if ev.BaseEvent.ProcessContext.Ancestor == nil { return []string{} } - if ev.Signal.Target.Parent == nil { - return []string{} + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.User + values = append(values, result) + ptr = iterator.Next() } - if !ev.Signal.Target.HasParent() { + return values +} + +// GetProcessCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetProcessCmdargv() []string { + if ev.BaseEvent.ProcessContext == nil { return []string{} } - if !ev.Signal.Target.Parent.IsNotKworker() { + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, &ev.BaseEvent.ProcessContext.Process) +} + +// GetProcessEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetProcessEnvp() []string { + if ev.BaseEvent.ProcessContext == nil { return []string{} } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Signal.Target.Parent.FileEvent) + return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.BaseEvent.ProcessContext.Process) } -// GetSignalTargetParentFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileInUpperLayer() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - if ev.Signal.Target.Parent == nil { - return false - } - if !ev.Signal.Target.HasParent() { - return false - } - if !ev.Signal.Target.Parent.IsNotKworker() { - return false +// GetProcessExecTime returns the value of the field, resolving if necessary +func (ev *Event) GetProcessExecTime() time.Time { + if ev.BaseEvent.ProcessContext == nil { + return time.Time{} } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Signal.Target.Parent.FileEvent.FileFields) + return ev.BaseEvent.ProcessContext.Process.ExecTime } -// GetSignalTargetParentFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileInode() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) - } - if !ev.Signal.Target.HasParent() { - return uint64(0) - } - if !ev.Signal.Target.Parent.IsNotKworker() { - return uint64(0) +// GetProcessExitTime returns the value of the field, resolving if necessary +func (ev *Event) GetProcessExitTime() time.Time { + if ev.BaseEvent.ProcessContext == nil { + return time.Time{} } - return ev.Signal.Target.Parent.FileEvent.FileFields.PathKey.Inode + return ev.BaseEvent.ProcessContext.Process.ExitTime } -// GetSignalTargetParentFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileMode() uint16 { - if ev.GetEventType().String() != "signal" { - return uint16(0) - } - if ev.Signal.Target == nil { - return uint16(0) - } - if ev.Signal.Target.Parent == nil { - return uint16(0) - } - if !ev.Signal.Target.HasParent() { - return uint16(0) +// GetProcessFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetProcessFilePath() string { + if ev.BaseEvent.ProcessContext == nil { + return "" } - if !ev.Signal.Target.Parent.IsNotKworker() { - return uint16(0) + if !ev.BaseEvent.ProcessContext.Process.IsNotKworker() { + return "" } - return ev.Signal.Target.Parent.FileEvent.FileFields.Mode + return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) } -// GetSignalTargetParentFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileModificationTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) - } - if !ev.Signal.Target.HasParent() { - return uint64(0) - } - if !ev.Signal.Target.Parent.IsNotKworker() { - return uint64(0) +// GetProcessFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetProcessFilePathLength() int { + if ev.BaseEvent.ProcessContext == nil { + return 0 } - return ev.Signal.Target.Parent.FileEvent.FileFields.MTime + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent)) } -// GetSignalTargetParentFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileMountId() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) - } - if ev.Signal.Target.Parent == nil { - return uint32(0) - } - if !ev.Signal.Target.HasParent() { - return uint32(0) +// GetProcessForkTime returns the value of the field, resolving if necessary +func (ev *Event) GetProcessForkTime() time.Time { + if ev.BaseEvent.ProcessContext == nil { + return time.Time{} } - if !ev.Signal.Target.Parent.IsNotKworker() { + return ev.BaseEvent.ProcessContext.Process.ForkTime +} + +// GetProcessGid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessGid() uint32 { + if ev.BaseEvent.ProcessContext == nil { return uint32(0) } - return ev.Signal.Target.Parent.FileEvent.FileFields.PathKey.MountID + return ev.BaseEvent.ProcessContext.Process.Credentials.GID } -// GetSignalTargetParentFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileName() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" - } - if ev.Signal.Target.Parent == nil { +// GetProcessGroup returns the value of the field, resolving if necessary +func (ev *Event) GetProcessGroup() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if !ev.Signal.Target.HasParent() { + return ev.BaseEvent.ProcessContext.Process.Credentials.Group +} + +// GetProcessInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetProcessInterpreterFilePath() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if !ev.Signal.Target.Parent.IsNotKworker() { + if !ev.BaseEvent.ProcessContext.Process.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Parent.FileEvent) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent) } -// GetSignalTargetParentFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileNameLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if ev.Signal.Target.Parent == nil { +// GetProcessInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetProcessInterpreterFilePathLength() int { + if ev.BaseEvent.ProcessContext == nil { return 0 } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Parent.FileEvent)) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.LinuxBinprm.FileEvent)) } -// GetSignalTargetParentFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFilePackageName() string { - if ev.GetEventType().String() != "signal" { - return "" +// GetProcessParentCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentCmdargv() []string { + if ev.BaseEvent.ProcessContext == nil { + return []string{} } - if ev.Signal.Target == nil { - return "" + if ev.BaseEvent.ProcessContext.Parent == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return "" + if !ev.BaseEvent.ProcessContext.HasParent() { + return []string{} } - if !ev.Signal.Target.HasParent() { - return "" + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.BaseEvent.ProcessContext.Parent) +} + +// GetProcessParentEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentEnvp() []string { + if ev.BaseEvent.ProcessContext == nil { + return []string{} } - if !ev.Signal.Target.Parent.IsNotKworker() { - return "" + if ev.BaseEvent.ProcessContext.Parent == nil { + return []string{} } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Signal.Target.Parent.FileEvent) + if !ev.BaseEvent.ProcessContext.HasParent() { + return []string{} + } + return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.BaseEvent.ProcessContext.Parent) } -// GetSignalTargetParentFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFilePackageSourceVersion() string { - if ev.GetEventType().String() != "signal" { +// GetProcessParentFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentFilePath() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if ev.Signal.Target == nil { + if ev.BaseEvent.ProcessContext.Parent == nil { return "" } - if ev.Signal.Target.Parent == nil { + if !ev.BaseEvent.ProcessContext.HasParent() { return "" } - if !ev.Signal.Target.HasParent() { + if !ev.BaseEvent.ProcessContext.Parent.IsNotKworker() { return "" } - if !ev.Signal.Target.Parent.IsNotKworker() { - return "" + return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) +} + +// GetProcessParentFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentFilePathLength() int { + if ev.BaseEvent.ProcessContext == nil { + return 0 + } + if ev.BaseEvent.ProcessContext.Parent == nil { + return 0 } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Signal.Target.Parent.FileEvent) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent)) } -// GetSignalTargetParentFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFilePackageVersion() string { - if ev.GetEventType().String() != "signal" { - return "" +// GetProcessParentGid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentGid() uint32 { + if ev.BaseEvent.ProcessContext == nil { + return uint32(0) } - if ev.Signal.Target == nil { - return "" + if ev.BaseEvent.ProcessContext.Parent == nil { + return uint32(0) } - if ev.Signal.Target.Parent == nil { + if !ev.BaseEvent.ProcessContext.HasParent() { + return uint32(0) + } + return ev.BaseEvent.ProcessContext.Parent.Credentials.GID +} + +// GetProcessParentGroup returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentGroup() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if !ev.Signal.Target.HasParent() { + if ev.BaseEvent.ProcessContext.Parent == nil { return "" } - if !ev.Signal.Target.Parent.IsNotKworker() { + if !ev.BaseEvent.ProcessContext.HasParent() { return "" } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Signal.Target.Parent.FileEvent) + return ev.BaseEvent.ProcessContext.Parent.Credentials.Group } -// GetSignalTargetParentFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFilePath() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { +// GetProcessParentInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentInterpreterFilePath() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if ev.Signal.Target.Parent == nil { + if ev.BaseEvent.ProcessContext.Parent == nil { return "" } - if !ev.Signal.Target.HasParent() { + if !ev.BaseEvent.ProcessContext.HasParent() { return "" } - if !ev.Signal.Target.Parent.IsNotKworker() { + if !ev.BaseEvent.ProcessContext.Parent.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.FileEvent) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent) } -// GetSignalTargetParentFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFilePathLength() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { +// GetProcessParentInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentInterpreterFilePathLength() int { + if ev.BaseEvent.ProcessContext == nil { return 0 } - if ev.Signal.Target.Parent == nil { + if ev.BaseEvent.ProcessContext.Parent == nil { return 0 } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.FileEvent)) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Parent.LinuxBinprm.FileEvent)) } -// GetSignalTargetParentFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileRights() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 - } - if ev.Signal.Target.Parent == nil { - return 0 +// GetProcessParentPid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentPid() uint32 { + if ev.BaseEvent.ProcessContext == nil { + return uint32(0) } - if !ev.Signal.Target.HasParent() { - return 0 + if ev.BaseEvent.ProcessContext.Parent == nil { + return uint32(0) } - if !ev.Signal.Target.Parent.IsNotKworker() { - return 0 + if !ev.BaseEvent.ProcessContext.HasParent() { + return uint32(0) } - return ev.FieldHandlers.ResolveRights(ev, &ev.Signal.Target.Parent.FileEvent.FileFields) + return ev.BaseEvent.ProcessContext.Parent.PIDContext.Pid } -// GetSignalTargetParentFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileUid() uint32 { - if ev.GetEventType().String() != "signal" { +// GetProcessParentPpid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentPpid() uint32 { + if ev.BaseEvent.ProcessContext == nil { return uint32(0) } - if ev.Signal.Target == nil { + if ev.BaseEvent.ProcessContext.Parent == nil { return uint32(0) } - if ev.Signal.Target.Parent == nil { + if !ev.BaseEvent.ProcessContext.HasParent() { return uint32(0) } - if !ev.Signal.Target.HasParent() { + return ev.BaseEvent.ProcessContext.Parent.PPid +} + +// GetProcessParentUid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentUid() uint32 { + if ev.BaseEvent.ProcessContext == nil { return uint32(0) } - if !ev.Signal.Target.Parent.IsNotKworker() { + if ev.BaseEvent.ProcessContext.Parent == nil { return uint32(0) } - return ev.Signal.Target.Parent.FileEvent.FileFields.UID + if !ev.BaseEvent.ProcessContext.HasParent() { + return uint32(0) + } + return ev.BaseEvent.ProcessContext.Parent.Credentials.UID } -// GetSignalTargetParentFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFileUser() string { - if ev.GetEventType().String() != "signal" { +// GetProcessParentUser returns the value of the field, resolving if necessary +func (ev *Event) GetProcessParentUser() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if ev.Signal.Target == nil { + if ev.BaseEvent.ProcessContext.Parent == nil { return "" } - if ev.Signal.Target.Parent == nil { + if !ev.BaseEvent.ProcessContext.HasParent() { + return "" + } + return ev.BaseEvent.ProcessContext.Parent.Credentials.User +} + +// GetProcessPid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessPid() uint32 { + if ev.BaseEvent.ProcessContext == nil { + return uint32(0) + } + return ev.BaseEvent.ProcessContext.Process.PIDContext.Pid +} + +// GetProcessPpid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessPpid() uint32 { + if ev.BaseEvent.ProcessContext == nil { + return uint32(0) + } + return ev.BaseEvent.ProcessContext.Process.PPid +} + +// GetProcessUid returns the value of the field, resolving if necessary +func (ev *Event) GetProcessUid() uint32 { + if ev.BaseEvent.ProcessContext == nil { + return uint32(0) + } + return ev.BaseEvent.ProcessContext.Process.Credentials.UID +} + +// GetProcessUser returns the value of the field, resolving if necessary +func (ev *Event) GetProcessUser() string { + if ev.BaseEvent.ProcessContext == nil { return "" } - if !ev.Signal.Target.HasParent() { - return "" + return ev.BaseEvent.ProcessContext.Process.Credentials.User +} + +// GetPtraceTraceeAncestorsCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsCmdargv() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} + } + if ev.PTrace.Tracee == nil { + return []string{} } - if !ev.Signal.Target.Parent.IsNotKworker() { - return "" + if ev.PTrace.Tracee.Ancestor == nil { + return []string{} + } + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveProcessCmdArgv(ev, &element.ProcessContext.Process) + values = append(values, result...) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Signal.Target.Parent.FileEvent.FileFields) + return values } -// GetSignalTargetParentFsgid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFsgid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) +// GetPtraceTraceeAncestorsEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsEnvp() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} } - if ev.Signal.Target == nil { - return uint32(0) + if ev.PTrace.Tracee == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.PTrace.Tracee.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveProcessEnvp(ev, &element.ProcessContext.Process) + values = append(values, result...) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.FSGID + return values } -// GetSignalTargetParentFsgroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFsgroup() string { - if ev.GetEventType().String() != "signal" { - return "" +// GetPtraceTraceeAncestorsFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsFilePath() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} } - if ev.Signal.Target == nil { - return "" + if ev.PTrace.Tracee == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.PTrace.Tracee.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.FSGroup + return values } -// GetSignalTargetParentFsuid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFsuid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) +// GetPtraceTraceeAncestorsFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsFilePathLength() []int { + if ev.GetEventType().String() != "ptrace" { + return []int{} } - if ev.Signal.Target == nil { - return uint32(0) + if ev.PTrace.Tracee == nil { + return []int{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.PTrace.Tracee.Ancestor == nil { + return []int{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []int + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent)) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.FSUID + return values } -// GetSignalTargetParentFsuser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentFsuser() string { - if ev.GetEventType().String() != "signal" { - return "" +// GetPtraceTraceeAncestorsGid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsGid() []uint32 { + if ev.GetEventType().String() != "ptrace" { + return []uint32{} } - if ev.Signal.Target == nil { - return "" + if ev.PTrace.Tracee == nil { + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.PTrace.Tracee.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.GID + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.FSUser + return values } -// GetSignalTargetParentGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentGid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) +// GetPtraceTraceeAncestorsGroup returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsGroup() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} } - if ev.Signal.Target == nil { - return uint32(0) + if ev.PTrace.Tracee == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.PTrace.Tracee.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.Group + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.GID + return values } -// GetSignalTargetParentGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentGroup() string { - if ev.GetEventType().String() != "signal" { - return "" +// GetPtraceTraceeAncestorsInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePath() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} } - if ev.Signal.Target == nil { - return "" + if ev.PTrace.Tracee == nil { + return []string{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.PTrace.Tracee.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.Group + return values } -// GetSignalTargetParentInterpreterFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileChangeTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) +// GetPtraceTraceeAncestorsInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsInterpreterFilePathLength() []int { + if ev.GetEventType().String() != "ptrace" { + return []int{} } - if ev.Signal.Target.Parent == nil { - return uint64(0) + if ev.PTrace.Tracee == nil { + return []int{} } - if !ev.Signal.Target.HasParent() { - return uint64(0) + if ev.PTrace.Tracee.Ancestor == nil { + return []int{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return uint64(0) + var values []int + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.CTime + return values } -// GetSignalTargetParentInterpreterFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileFilesystem() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" +// GetPtraceTraceeAncestorsPid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsPid() []uint32 { + if ev.GetEventType().String() != "ptrace" { + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.PTrace.Tracee == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return "" + if ev.PTrace.Tracee.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PIDContext.Pid + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return values } -// GetSignalTargetParentInterpreterFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileGid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) +// GetPtraceTraceeAncestorsPpid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsPpid() []uint32 { + if ev.GetEventType().String() != "ptrace" { + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.PTrace.Tracee == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + if ev.PTrace.Tracee.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return uint32(0) + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PPid + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.GID + return values } -// GetSignalTargetParentInterpreterFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileGroup() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { - return "" +// GetPtraceTraceeAncestorsUid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsUid() []uint32 { + if ev.GetEventType().String() != "ptrace" { + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.PTrace.Tracee == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return "" + if ev.PTrace.Tracee.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.UID + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields) + return values } -// GetSignalTargetParentInterpreterFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileHashes() []string { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeAncestorsUser returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeAncestorsUser() []string { + if ev.GetEventType().String() != "ptrace" { return []string{} } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return []string{} } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee.Ancestor == nil { return []string{} } - if !ev.Signal.Target.HasParent() { + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.User + values = append(values, result) + ptr = iterator.Next() + } + return values +} + +// GetPtraceTraceeCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeCmdargv() []string { + if ev.GetEventType().String() != "ptrace" { return []string{} } - if !ev.Signal.Target.Parent.HasInterpreter() { + if ev.PTrace.Tracee == nil { return []string{} } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, &ev.PTrace.Tracee.Process) } -// GetSignalTargetParentInterpreterFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileInUpperLayer() bool { - if ev.GetEventType().String() != "signal" { - return false - } - if ev.Signal.Target == nil { - return false - } - if ev.Signal.Target.Parent == nil { - return false - } - if !ev.Signal.Target.HasParent() { - return false +// GetPtraceTraceeEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeEnvp() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return false + if ev.PTrace.Tracee == nil { + return []string{} } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields) + return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.PTrace.Tracee.Process) } -// GetSignalTargetParentInterpreterFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileInode() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) - } - if ev.Signal.Target == nil { - return uint64(0) - } - if ev.Signal.Target.Parent == nil { - return uint64(0) - } - if !ev.Signal.Target.HasParent() { - return uint64(0) +// GetPtraceTraceeExecTime returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeExecTime() time.Time { + if ev.GetEventType().String() != "ptrace" { + return time.Time{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return uint64(0) + if ev.PTrace.Tracee == nil { + return time.Time{} } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.PathKey.Inode + return ev.PTrace.Tracee.Process.ExecTime } -// GetSignalTargetParentInterpreterFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileMode() uint16 { - if ev.GetEventType().String() != "signal" { - return uint16(0) - } - if ev.Signal.Target == nil { - return uint16(0) - } - if ev.Signal.Target.Parent == nil { - return uint16(0) - } - if !ev.Signal.Target.HasParent() { - return uint16(0) +// GetPtraceTraceeExitTime returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeExitTime() time.Time { + if ev.GetEventType().String() != "ptrace" { + return time.Time{} } - if !ev.Signal.Target.Parent.HasInterpreter() { - return uint16(0) + if ev.PTrace.Tracee == nil { + return time.Time{} } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.Mode + return ev.PTrace.Tracee.Process.ExitTime } -// GetSignalTargetParentInterpreterFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileModificationTime() uint64 { - if ev.GetEventType().String() != "signal" { - return uint64(0) +// GetPtraceTraceeFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeFilePath() string { + if ev.GetEventType().String() != "ptrace" { + return "" } - if ev.Signal.Target == nil { - return uint64(0) + if ev.PTrace.Tracee == nil { + return "" } - if ev.Signal.Target.Parent == nil { - return uint64(0) + if !ev.PTrace.Tracee.Process.IsNotKworker() { + return "" } - if !ev.Signal.Target.HasParent() { - return uint64(0) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.FileEvent) +} + +// GetPtraceTraceeFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeFilePathLength() int { + if ev.GetEventType().String() != "ptrace" { + return 0 } - if !ev.Signal.Target.Parent.HasInterpreter() { - return uint64(0) + if ev.PTrace.Tracee == nil { + return 0 } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.MTime + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.FileEvent)) } -// GetSignalTargetParentInterpreterFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileMountId() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) - } - if ev.Signal.Target == nil { - return uint32(0) +// GetPtraceTraceeForkTime returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeForkTime() time.Time { + if ev.GetEventType().String() != "ptrace" { + return time.Time{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.PTrace.Tracee == nil { + return time.Time{} } - if !ev.Signal.Target.HasParent() { + return ev.PTrace.Tracee.Process.ForkTime +} + +// GetPtraceTraceeGid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeGid() uint32 { + if ev.GetEventType().String() != "ptrace" { return uint32(0) } - if !ev.Signal.Target.Parent.HasInterpreter() { + if ev.PTrace.Tracee == nil { return uint32(0) } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.PathKey.MountID + return ev.PTrace.Tracee.Process.Credentials.GID } -// GetSignalTargetParentInterpreterFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileName() string { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeGroup returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeGroup() string { + if ev.GetEventType().String() != "ptrace" { return "" } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return "" } - if ev.Signal.Target.Parent == nil { + return ev.PTrace.Tracee.Process.Credentials.Group +} + +// GetPtraceTraceeInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeInterpreterFilePath() string { + if ev.GetEventType().String() != "ptrace" { return "" } - if !ev.Signal.Target.HasParent() { + if ev.PTrace.Tracee == nil { return "" } - if !ev.Signal.Target.Parent.HasInterpreter() { + if !ev.PTrace.Tracee.Process.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent) } -// GetSignalTargetParentInterpreterFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileNameLength() int { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeInterpreterFilePathLength() int { + if ev.GetEventType().String() != "ptrace" { return 0 } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return 0 } - if ev.Signal.Target.Parent == nil { - return 0 + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Process.LinuxBinprm.FileEvent)) +} + +// GetPtraceTraceeParentCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentCmdargv() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} + } + if ev.PTrace.Tracee == nil { + return []string{} + } + if ev.PTrace.Tracee.Parent == nil { + return []string{} + } + if !ev.PTrace.Tracee.HasParent() { + return []string{} } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent)) + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.PTrace.Tracee.Parent) } -// GetSignalTargetParentInterpreterFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFilePackageName() string { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeParentEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentEnvp() []string { + if ev.GetEventType().String() != "ptrace" { + return []string{} + } + if ev.PTrace.Tracee == nil { + return []string{} + } + if ev.PTrace.Tracee.Parent == nil { + return []string{} + } + if !ev.PTrace.Tracee.HasParent() { + return []string{} + } + return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.PTrace.Tracee.Parent) +} + +// GetPtraceTraceeParentFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentFilePath() string { + if ev.GetEventType().String() != "ptrace" { return "" } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return "" } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee.Parent == nil { return "" } - if !ev.Signal.Target.HasParent() { + if !ev.PTrace.Tracee.HasParent() { return "" } - if !ev.Signal.Target.Parent.HasInterpreter() { + if !ev.PTrace.Tracee.Parent.IsNotKworker() { return "" } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.FileEvent) } -// GetSignalTargetParentInterpreterFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFilePackageSourceVersion() string { - if ev.GetEventType().String() != "signal" { - return "" +// GetPtraceTraceeParentFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentFilePathLength() int { + if ev.GetEventType().String() != "ptrace" { + return 0 } - if ev.Signal.Target == nil { - return "" + if ev.PTrace.Tracee == nil { + return 0 } - if ev.Signal.Target.Parent == nil { - return "" + if ev.PTrace.Tracee.Parent == nil { + return 0 } - if !ev.Signal.Target.HasParent() { - return "" + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.FileEvent)) +} + +// GetPtraceTraceeParentGid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentGid() uint32 { + if ev.GetEventType().String() != "ptrace" { + return uint32(0) + } + if ev.PTrace.Tracee == nil { + return uint32(0) + } + if ev.PTrace.Tracee.Parent == nil { + return uint32(0) } - if !ev.Signal.Target.Parent.HasInterpreter() { - return "" + if !ev.PTrace.Tracee.HasParent() { + return uint32(0) } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return ev.PTrace.Tracee.Parent.Credentials.GID } -// GetSignalTargetParentInterpreterFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFilePackageVersion() string { - if ev.GetEventType().String() != "signal" { - return "" - } - if ev.Signal.Target == nil { +// GetPtraceTraceeParentGroup returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentGroup() string { + if ev.GetEventType().String() != "ptrace" { return "" } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee == nil { return "" } - if !ev.Signal.Target.HasParent() { + if ev.PTrace.Tracee.Parent == nil { return "" } - if !ev.Signal.Target.Parent.HasInterpreter() { + if !ev.PTrace.Tracee.HasParent() { return "" } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return ev.PTrace.Tracee.Parent.Credentials.Group } -// GetSignalTargetParentInterpreterFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFilePath() string { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeParentInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentInterpreterFilePath() string { + if ev.GetEventType().String() != "ptrace" { return "" } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return "" } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee.Parent == nil { return "" } - if !ev.Signal.Target.HasParent() { + if !ev.PTrace.Tracee.HasParent() { return "" } - if !ev.Signal.Target.Parent.HasInterpreter() { + if !ev.PTrace.Tracee.Parent.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent) } -// GetSignalTargetParentInterpreterFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFilePathLength() int { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeParentInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentInterpreterFilePathLength() int { + if ev.GetEventType().String() != "ptrace" { return 0 } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return 0 } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee.Parent == nil { return 0 } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent)) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.PTrace.Tracee.Parent.LinuxBinprm.FileEvent)) } -// GetSignalTargetParentInterpreterFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileRights() int { - if ev.GetEventType().String() != "signal" { - return 0 - } - if ev.Signal.Target == nil { - return 0 +// GetPtraceTraceeParentPid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentPid() uint32 { + if ev.GetEventType().String() != "ptrace" { + return uint32(0) } - if ev.Signal.Target.Parent == nil { - return 0 + if ev.PTrace.Tracee == nil { + return uint32(0) } - if !ev.Signal.Target.HasParent() { - return 0 + if ev.PTrace.Tracee.Parent == nil { + return uint32(0) } - if !ev.Signal.Target.Parent.HasInterpreter() { - return 0 + if !ev.PTrace.Tracee.HasParent() { + return uint32(0) } - return ev.FieldHandlers.ResolveRights(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields) + return ev.PTrace.Tracee.Parent.PIDContext.Pid } -// GetSignalTargetParentInterpreterFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileUid() uint32 { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeParentPpid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentPpid() uint32 { + if ev.GetEventType().String() != "ptrace" { return uint32(0) } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return uint32(0) } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee.Parent == nil { return uint32(0) } - if !ev.Signal.Target.HasParent() { + if !ev.PTrace.Tracee.HasParent() { return uint32(0) } - if !ev.Signal.Target.Parent.HasInterpreter() { + return ev.PTrace.Tracee.Parent.PPid +} + +// GetPtraceTraceeParentUid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentUid() uint32 { + if ev.GetEventType().String() != "ptrace" { + return uint32(0) + } + if ev.PTrace.Tracee == nil { + return uint32(0) + } + if ev.PTrace.Tracee.Parent == nil { + return uint32(0) + } + if !ev.PTrace.Tracee.HasParent() { return uint32(0) } - return ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields.UID + return ev.PTrace.Tracee.Parent.Credentials.UID } -// GetSignalTargetParentInterpreterFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentInterpreterFileUser() string { - if ev.GetEventType().String() != "signal" { +// GetPtraceTraceeParentUser returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeParentUser() string { + if ev.GetEventType().String() != "ptrace" { return "" } - if ev.Signal.Target == nil { + if ev.PTrace.Tracee == nil { return "" } - if ev.Signal.Target.Parent == nil { + if ev.PTrace.Tracee.Parent == nil { return "" } - if !ev.Signal.Target.HasParent() { + if !ev.PTrace.Tracee.HasParent() { return "" } - if !ev.Signal.Target.Parent.HasInterpreter() { - return "" + return ev.PTrace.Tracee.Parent.Credentials.User +} + +// GetPtraceTraceePid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceePid() uint32 { + if ev.GetEventType().String() != "ptrace" { + return uint32(0) } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent.FileFields) + if ev.PTrace.Tracee == nil { + return uint32(0) + } + return ev.PTrace.Tracee.Process.PIDContext.Pid } -// GetSignalTargetParentIsExec returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentIsExec() bool { - if ev.GetEventType().String() != "signal" { - return false +// GetPtraceTraceePpid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceePpid() uint32 { + if ev.GetEventType().String() != "ptrace" { + return uint32(0) } - if ev.Signal.Target == nil { - return false + if ev.PTrace.Tracee == nil { + return uint32(0) } - if ev.Signal.Target.Parent == nil { - return false + return ev.PTrace.Tracee.Process.PPid +} + +// GetPtraceTraceeUid returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeUid() uint32 { + if ev.GetEventType().String() != "ptrace" { + return uint32(0) } - if !ev.Signal.Target.HasParent() { - return false + if ev.PTrace.Tracee == nil { + return uint32(0) } - return ev.Signal.Target.Parent.IsExec + return ev.PTrace.Tracee.Process.Credentials.UID } -// GetSignalTargetParentIsKworker returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentIsKworker() bool { - if ev.GetEventType().String() != "signal" { - return false +// GetPtraceTraceeUser returns the value of the field, resolving if necessary +func (ev *Event) GetPtraceTraceeUser() string { + if ev.GetEventType().String() != "ptrace" { + return "" } - if ev.Signal.Target == nil { - return false + if ev.PTrace.Tracee == nil { + return "" } - if ev.Signal.Target.Parent == nil { - return false + return ev.PTrace.Tracee.Process.Credentials.User +} + +// GetRemovexattrFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetRemovexattrFilePath() string { + if ev.GetEventType().String() != "removexattr" { + return "" } - if !ev.Signal.Target.HasParent() { - return false + return ev.FieldHandlers.ResolveFilePath(ev, &ev.RemoveXAttr.File) +} + +// GetRemovexattrFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetRemovexattrFilePathLength() int { + if ev.GetEventType().String() != "removexattr" { + return 0 } - return ev.Signal.Target.Parent.PIDContext.IsKworker + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.RemoveXAttr.File)) } -// GetSignalTargetParentIsThread returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentIsThread() bool { - if ev.GetEventType().String() != "signal" { - return false +// GetRenameFileDestinationPath returns the value of the field, resolving if necessary +func (ev *Event) GetRenameFileDestinationPath() string { + if ev.GetEventType().String() != "rename" { + return "" } - if ev.Signal.Target == nil { - return false + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.New) +} + +// GetRenameFileDestinationPathLength returns the value of the field, resolving if necessary +func (ev *Event) GetRenameFileDestinationPathLength() int { + if ev.GetEventType().String() != "rename" { + return 0 } - if ev.Signal.Target.Parent == nil { - return false + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.New)) +} + +// GetRenameFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetRenameFilePath() string { + if ev.GetEventType().String() != "rename" { + return "" } - if !ev.Signal.Target.HasParent() { - return false + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.Old) +} + +// GetRenameFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetRenameFilePathLength() int { + if ev.GetEventType().String() != "rename" { + return 0 } - return ev.FieldHandlers.ResolveProcessIsThread(ev, ev.Signal.Target.Parent) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Rename.Old)) } -// GetSignalTargetParentPid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentPid() uint32 { +// GetRmdirFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetRmdirFilePath() string { + if ev.GetEventType().String() != "rmdir" { + return "" + } + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Rmdir.File) +} + +// GetRmdirFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetRmdirFilePathLength() int { + if ev.GetEventType().String() != "rmdir" { + return 0 + } + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Rmdir.File)) +} + +// GetSetxattrFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSetxattrFilePath() string { + if ev.GetEventType().String() != "setxattr" { + return "" + } + return ev.FieldHandlers.ResolveFilePath(ev, &ev.SetXAttr.File) +} + +// GetSetxattrFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSetxattrFilePathLength() int { + if ev.GetEventType().String() != "setxattr" { + return 0 + } + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.SetXAttr.File)) +} + +// GetSignalTargetAncestorsCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsCmdargv() []string { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []string{} } if ev.Signal.Target == nil { - return uint32(0) + return []string{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.Signal.Target.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveProcessCmdArgv(ev, &element.ProcessContext.Process) + values = append(values, result...) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.PIDContext.Pid + return values } -// GetSignalTargetParentPpid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentPpid() uint32 { +// GetSignalTargetAncestorsEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsEnvp() []string { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []string{} } if ev.Signal.Target == nil { - return uint32(0) + return []string{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.Signal.Target.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveProcessEnvp(ev, &element.ProcessContext.Process) + values = append(values, result...) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.PPid + return values } -// GetSignalTargetParentTid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentTid() uint32 { +// GetSignalTargetAncestorsFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsFilePath() []string { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []string{} } if ev.Signal.Target == nil { - return uint32(0) + return []string{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.Signal.Target.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.PIDContext.Tid + return values } -// GetSignalTargetParentTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentTtyName() string { +// GetSignalTargetAncestorsFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsFilePathLength() []int { if ev.GetEventType().String() != "signal" { - return "" + return []int{} } if ev.Signal.Target == nil { - return "" + return []int{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.Signal.Target.Ancestor == nil { + return []int{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []int + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.FileEvent)) + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.TTYName + return values } -// GetSignalTargetParentUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentUid() uint32 { +// GetSignalTargetAncestorsGid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsGid() []uint32 { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []uint32{} } if ev.Signal.Target == nil { - return uint32(0) + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return uint32(0) + if ev.Signal.Target.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return uint32(0) + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.GID + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.UID + return values } -// GetSignalTargetParentUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentUser() string { +// GetSignalTargetAncestorsGroup returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsGroup() []string { if ev.GetEventType().String() != "signal" { - return "" + return []string{} } if ev.Signal.Target == nil { - return "" + return []string{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.Signal.Target.Ancestor == nil { + return []string{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.Group + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Parent.Credentials.User + return values } -// GetSignalTargetParentUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentUserSessionK8sGroups() []string { +// GetSignalTargetAncestorsInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsInterpreterFilePath() []string { if ev.GetEventType().String() != "signal" { return []string{} } if ev.Signal.Target == nil { return []string{} } - if ev.Signal.Target.Parent == nil { + if ev.Signal.Target.Ancestor == nil { return []string{} } - if !ev.Signal.Target.HasParent() { - return []string{} + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent) + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.Signal.Target.Parent.UserSession) + return values } -// GetSignalTargetParentUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentUserSessionK8sUid() string { +// GetSignalTargetAncestorsInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsInterpreterFilePathLength() []int { if ev.GetEventType().String() != "signal" { - return "" + return []int{} } if ev.Signal.Target == nil { - return "" + return []int{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.Signal.Target.Ancestor == nil { + return []int{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []int + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := len(ev.FieldHandlers.ResolveFilePath(ev, &element.ProcessContext.Process.LinuxBinprm.FileEvent)) + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.Signal.Target.Parent.UserSession) + return values } -// GetSignalTargetParentUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetParentUserSessionK8sUsername() string { +// GetSignalTargetAncestorsPid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsPid() []uint32 { if ev.GetEventType().String() != "signal" { - return "" + return []uint32{} } if ev.Signal.Target == nil { - return "" + return []uint32{} } - if ev.Signal.Target.Parent == nil { - return "" + if ev.Signal.Target.Ancestor == nil { + return []uint32{} } - if !ev.Signal.Target.HasParent() { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PIDContext.Pid + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.Signal.Target.Parent.UserSession) + return values } -// GetSignalTargetPid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetPid() uint32 { +// GetSignalTargetAncestorsPpid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsPpid() []uint32 { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []uint32{} } if ev.Signal.Target == nil { - return uint32(0) + return []uint32{} } - return ev.Signal.Target.Process.PIDContext.Pid -} - -// GetSignalTargetPpid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetPpid() uint32 { - if ev.GetEventType().String() != "signal" { - return uint32(0) + if ev.Signal.Target.Ancestor == nil { + return []uint32{} } - if ev.Signal.Target == nil { - return uint32(0) + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PPid + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Process.PPid + return values } -// GetSignalTargetTid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetTid() uint32 { +// GetSignalTargetAncestorsUid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsUid() []uint32 { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []uint32{} } if ev.Signal.Target == nil { - return uint32(0) + return []uint32{} } - return ev.Signal.Target.Process.PIDContext.Tid -} - -// GetSignalTargetTtyName returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetTtyName() string { - if ev.GetEventType().String() != "signal" { - return "" + if ev.Signal.Target.Ancestor == nil { + return []uint32{} } - if ev.Signal.Target == nil { - return "" + var values []uint32 + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.UID + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Process.TTYName + return values } -// GetSignalTargetUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetUid() uint32 { +// GetSignalTargetAncestorsUser returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetAncestorsUser() []string { if ev.GetEventType().String() != "signal" { - return uint32(0) + return []string{} } if ev.Signal.Target == nil { - return uint32(0) + return []string{} } - return ev.Signal.Target.Process.Credentials.UID -} - -// GetSignalTargetUser returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetUser() string { - if ev.GetEventType().String() != "signal" { - return "" + if ev.Signal.Target.Ancestor == nil { + return []string{} } - if ev.Signal.Target == nil { - return "" + var values []string + ctx := eval.NewContext(ev) + iterator := &ProcessAncestorsIterator{} + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.Credentials.User + values = append(values, result) + ptr = iterator.Next() } - return ev.Signal.Target.Process.Credentials.User + return values } -// GetSignalTargetUserSessionK8sGroups returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetUserSessionK8sGroups() []string { +// GetSignalTargetCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetCmdargv() []string { if ev.GetEventType().String() != "signal" { return []string{} } if ev.Signal.Target == nil { return []string{} } - return ev.FieldHandlers.ResolveK8SGroups(ev, &ev.Signal.Target.Process.UserSession) + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, &ev.Signal.Target.Process) } -// GetSignalTargetUserSessionK8sUid returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetUserSessionK8sUid() string { +// GetSignalTargetEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetEnvp() []string { if ev.GetEventType().String() != "signal" { - return "" + return []string{} } if ev.Signal.Target == nil { - return "" + return []string{} } - return ev.FieldHandlers.ResolveK8SUID(ev, &ev.Signal.Target.Process.UserSession) + return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.Signal.Target.Process) } -// GetSignalTargetUserSessionK8sUsername returns the value of the field, resolving if necessary -func (ev *Event) GetSignalTargetUserSessionK8sUsername() string { +// GetSignalTargetExecTime returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetExecTime() time.Time { if ev.GetEventType().String() != "signal" { - return "" + return time.Time{} } if ev.Signal.Target == nil { - return "" + return time.Time{} } - return ev.FieldHandlers.ResolveK8SUsername(ev, &ev.Signal.Target.Process.UserSession) + return ev.Signal.Target.Process.ExecTime } -// GetSignalType returns the value of the field, resolving if necessary -func (ev *Event) GetSignalType() uint32 { +// GetSignalTargetExitTime returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetExitTime() time.Time { if ev.GetEventType().String() != "signal" { - return uint32(0) + return time.Time{} } - return ev.Signal.Type -} - -// GetSpliceFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileChangeTime() uint64 { - if ev.GetEventType().String() != "splice" { - return uint64(0) + if ev.Signal.Target == nil { + return time.Time{} } - return ev.Splice.File.FileFields.CTime + return ev.Signal.Target.Process.ExitTime } -// GetSpliceFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileFilesystem() string { - if ev.GetEventType().String() != "splice" { +// GetSignalTargetFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetFilePath() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Splice.File) -} - -// GetSpliceFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileGid() uint32 { - if ev.GetEventType().String() != "splice" { - return uint32(0) + if ev.Signal.Target == nil { + return "" } - return ev.Splice.File.FileFields.GID -} - -// GetSpliceFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileGroup() string { - if ev.GetEventType().String() != "splice" { + if !ev.Signal.Target.Process.IsNotKworker() { return "" } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Splice.File.FileFields) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.FileEvent) } -// GetSpliceFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileHashes() []string { - if ev.GetEventType().String() != "splice" { - return []string{} +// GetSignalTargetFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetFilePathLength() int { + if ev.GetEventType().String() != "signal" { + return 0 } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Splice.File) -} - -// GetSpliceFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileInUpperLayer() bool { - if ev.GetEventType().String() != "splice" { - return false + if ev.Signal.Target == nil { + return 0 } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Splice.File.FileFields) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.FileEvent)) } -// GetSpliceFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileInode() uint64 { - if ev.GetEventType().String() != "splice" { - return uint64(0) +// GetSignalTargetForkTime returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetForkTime() time.Time { + if ev.GetEventType().String() != "signal" { + return time.Time{} } - return ev.Splice.File.FileFields.PathKey.Inode -} - -// GetSpliceFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileMode() uint16 { - if ev.GetEventType().String() != "splice" { - return uint16(0) + if ev.Signal.Target == nil { + return time.Time{} } - return ev.Splice.File.FileFields.Mode + return ev.Signal.Target.Process.ForkTime } -// GetSpliceFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileModificationTime() uint64 { - if ev.GetEventType().String() != "splice" { - return uint64(0) +// GetSignalTargetGid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetGid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) } - return ev.Splice.File.FileFields.MTime -} - -// GetSpliceFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileMountId() uint32 { - if ev.GetEventType().String() != "splice" { + if ev.Signal.Target == nil { return uint32(0) } - return ev.Splice.File.FileFields.PathKey.MountID + return ev.Signal.Target.Process.Credentials.GID } -// GetSpliceFileName returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileName() string { - if ev.GetEventType().String() != "splice" { +// GetSignalTargetGroup returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetGroup() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Splice.File) -} - -// GetSpliceFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileNameLength() int { - if ev.GetEventType().String() != "splice" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Splice.File)) -} - -// GetSpliceFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFilePackageName() string { - if ev.GetEventType().String() != "splice" { + if ev.Signal.Target == nil { return "" } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Splice.File) + return ev.Signal.Target.Process.Credentials.Group } -// GetSpliceFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFilePackageSourceVersion() string { - if ev.GetEventType().String() != "splice" { +// GetSignalTargetInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetInterpreterFilePath() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Splice.File) -} - -// GetSpliceFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFilePackageVersion() string { - if ev.GetEventType().String() != "splice" { + if ev.Signal.Target == nil { return "" } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Splice.File) -} - -// GetSpliceFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFilePath() string { - if ev.GetEventType().String() != "splice" { + if !ev.Signal.Target.Process.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Splice.File) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent) } -// GetSpliceFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFilePathLength() int { - if ev.GetEventType().String() != "splice" { +// GetSignalTargetInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetInterpreterFilePathLength() int { + if ev.GetEventType().String() != "signal" { return 0 } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Splice.File)) -} - -// GetSpliceFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileRights() int { - if ev.GetEventType().String() != "splice" { + if ev.Signal.Target == nil { return 0 } - return ev.FieldHandlers.ResolveRights(ev, &ev.Splice.File.FileFields) -} - -// GetSpliceFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileUid() uint32 { - if ev.GetEventType().String() != "splice" { - return uint32(0) - } - return ev.Splice.File.FileFields.UID -} - -// GetSpliceFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceFileUser() string { - if ev.GetEventType().String() != "splice" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Splice.File.FileFields) -} - -// GetSplicePipeEntryFlag returns the value of the field, resolving if necessary -func (ev *Event) GetSplicePipeEntryFlag() uint32 { - if ev.GetEventType().String() != "splice" { - return uint32(0) - } - return ev.Splice.PipeEntryFlag -} - -// GetSplicePipeExitFlag returns the value of the field, resolving if necessary -func (ev *Event) GetSplicePipeExitFlag() uint32 { - if ev.GetEventType().String() != "splice" { - return uint32(0) - } - return ev.Splice.PipeExitFlag -} - -// GetSpliceRetval returns the value of the field, resolving if necessary -func (ev *Event) GetSpliceRetval() int64 { - if ev.GetEventType().String() != "splice" { - return int64(0) - } - return ev.Splice.SyscallEvent.Retval -} - -// GetTimestamp returns the value of the field, resolving if necessary -func (ev *Event) GetTimestamp() time.Time { - return ev.FieldHandlers.ResolveEventTime(ev, &ev.BaseEvent) -} - -// GetUnlinkFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileChangeTime() uint64 { - if ev.GetEventType().String() != "unlink" { - return uint64(0) - } - return ev.Unlink.File.FileFields.CTime -} - -// GetUnlinkFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileFilesystem() string { - if ev.GetEventType().String() != "unlink" { - return "" - } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Unlink.File) -} - -// GetUnlinkFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileGid() uint32 { - if ev.GetEventType().String() != "unlink" { - return uint32(0) - } - return ev.Unlink.File.FileFields.GID -} - -// GetUnlinkFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileGroup() string { - if ev.GetEventType().String() != "unlink" { - return "" - } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Unlink.File.FileFields) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Process.LinuxBinprm.FileEvent)) } -// GetUnlinkFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileHashes() []string { - if ev.GetEventType().String() != "unlink" { +// GetSignalTargetParentCmdargv returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentCmdargv() []string { + if ev.GetEventType().String() != "signal" { return []string{} } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Unlink.File) -} - -// GetUnlinkFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileInUpperLayer() bool { - if ev.GetEventType().String() != "unlink" { - return false - } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Unlink.File.FileFields) -} - -// GetUnlinkFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileInode() uint64 { - if ev.GetEventType().String() != "unlink" { - return uint64(0) - } - return ev.Unlink.File.FileFields.PathKey.Inode -} - -// GetUnlinkFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileMode() uint16 { - if ev.GetEventType().String() != "unlink" { - return uint16(0) - } - return ev.Unlink.File.FileFields.Mode -} - -// GetUnlinkFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileModificationTime() uint64 { - if ev.GetEventType().String() != "unlink" { - return uint64(0) + if ev.Signal.Target == nil { + return []string{} } - return ev.Unlink.File.FileFields.MTime -} - -// GetUnlinkFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileMountId() uint32 { - if ev.GetEventType().String() != "unlink" { - return uint32(0) + if ev.Signal.Target.Parent == nil { + return []string{} } - return ev.Unlink.File.FileFields.PathKey.MountID -} - -// GetUnlinkFileName returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileName() string { - if ev.GetEventType().String() != "unlink" { - return "" + if !ev.Signal.Target.HasParent() { + return []string{} } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Unlink.File) + return ev.FieldHandlers.ResolveProcessCmdArgv(ev, ev.Signal.Target.Parent) } -// GetUnlinkFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileNameLength() int { - if ev.GetEventType().String() != "unlink" { - return 0 +// GetSignalTargetParentEnvp returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentEnvp() []string { + if ev.GetEventType().String() != "signal" { + return []string{} } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Unlink.File)) -} - -// GetUnlinkFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFilePackageName() string { - if ev.GetEventType().String() != "unlink" { - return "" + if ev.Signal.Target == nil { + return []string{} } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Unlink.File) -} - -// GetUnlinkFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFilePackageSourceVersion() string { - if ev.GetEventType().String() != "unlink" { - return "" + if ev.Signal.Target.Parent == nil { + return []string{} } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Unlink.File) -} - -// GetUnlinkFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFilePackageVersion() string { - if ev.GetEventType().String() != "unlink" { - return "" + if !ev.Signal.Target.HasParent() { + return []string{} } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Unlink.File) + return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Signal.Target.Parent) } -// GetUnlinkFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFilePath() string { - if ev.GetEventType().String() != "unlink" { +// GetSignalTargetParentFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentFilePath() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Unlink.File) -} - -// GetUnlinkFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFilePathLength() int { - if ev.GetEventType().String() != "unlink" { - return 0 - } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Unlink.File)) -} - -// GetUnlinkFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileRights() int { - if ev.GetEventType().String() != "unlink" { - return 0 - } - return ev.FieldHandlers.ResolveRights(ev, &ev.Unlink.File.FileFields) -} - -// GetUnlinkFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileUid() uint32 { - if ev.GetEventType().String() != "unlink" { - return uint32(0) - } - return ev.Unlink.File.FileFields.UID -} - -// GetUnlinkFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFileUser() string { - if ev.GetEventType().String() != "unlink" { + if ev.Signal.Target == nil { return "" } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Unlink.File.FileFields) -} - -// GetUnlinkFlags returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkFlags() uint32 { - if ev.GetEventType().String() != "unlink" { - return uint32(0) + if ev.Signal.Target.Parent == nil { + return "" } - return ev.Unlink.Flags -} - -// GetUnlinkRetval returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkRetval() int64 { - if ev.GetEventType().String() != "unlink" { - return int64(0) + if !ev.Signal.Target.HasParent() { + return "" } - return ev.Unlink.SyscallEvent.Retval -} - -// GetUnlinkSyscallDirfd returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallDirfd() int { - if ev.GetEventType().String() != "unlink" { - return 0 + if !ev.Signal.Target.Parent.IsNotKworker() { + return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Unlink.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.FileEvent) } -// GetUnlinkSyscallFlags returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallFlags() int { - if ev.GetEventType().String() != "unlink" { +// GetSignalTargetParentFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentFilePathLength() int { + if ev.GetEventType().String() != "signal" { return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Unlink.SyscallContext) -} - -// GetUnlinkSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallInt1() int { - if ev.GetEventType().String() != "unlink" { + if ev.Signal.Target == nil { return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Unlink.SyscallContext) -} - -// GetUnlinkSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallInt2() int { - if ev.GetEventType().String() != "unlink" { + if ev.Signal.Target.Parent == nil { return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Unlink.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.FileEvent)) } -// GetUnlinkSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallInt3() int { - if ev.GetEventType().String() != "unlink" { - return 0 +// GetSignalTargetParentGid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentGid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Unlink.SyscallContext) -} - -// GetUnlinkSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallPath() string { - if ev.GetEventType().String() != "unlink" { - return "" + if ev.Signal.Target == nil { + return uint32(0) + } + if ev.Signal.Target.Parent == nil { + return uint32(0) + } + if !ev.Signal.Target.HasParent() { + return uint32(0) } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Unlink.SyscallContext) + return ev.Signal.Target.Parent.Credentials.GID } -// GetUnlinkSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallStr1() string { - if ev.GetEventType().String() != "unlink" { +// GetSignalTargetParentGroup returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentGroup() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Unlink.SyscallContext) -} - -// GetUnlinkSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallStr2() string { - if ev.GetEventType().String() != "unlink" { + if ev.Signal.Target == nil { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Unlink.SyscallContext) -} - -// GetUnlinkSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetUnlinkSyscallStr3() string { - if ev.GetEventType().String() != "unlink" { + if ev.Signal.Target.Parent == nil { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Unlink.SyscallContext) -} - -// GetUnloadModuleName returns the value of the field, resolving if necessary -func (ev *Event) GetUnloadModuleName() string { - if ev.GetEventType().String() != "unload_module" { + if !ev.Signal.Target.HasParent() { return "" } - return ev.UnloadModule.Name + return ev.Signal.Target.Parent.Credentials.Group } -// GetUnloadModuleRetval returns the value of the field, resolving if necessary -func (ev *Event) GetUnloadModuleRetval() int64 { - if ev.GetEventType().String() != "unload_module" { - return int64(0) +// GetSignalTargetParentInterpreterFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentInterpreterFilePath() string { + if ev.GetEventType().String() != "signal" { + return "" } - return ev.UnloadModule.SyscallEvent.Retval -} - -// GetUtimesFileChangeTime returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileChangeTime() uint64 { - if ev.GetEventType().String() != "utimes" { - return uint64(0) + if ev.Signal.Target == nil { + return "" } - return ev.Utimes.File.FileFields.CTime -} - -// GetUtimesFileFilesystem returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileFilesystem() string { - if ev.GetEventType().String() != "utimes" { + if ev.Signal.Target.Parent == nil { return "" } - return ev.FieldHandlers.ResolveFileFilesystem(ev, &ev.Utimes.File) -} - -// GetUtimesFileGid returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileGid() uint32 { - if ev.GetEventType().String() != "utimes" { - return uint32(0) + if !ev.Signal.Target.HasParent() { + return "" } - return ev.Utimes.File.FileFields.GID -} - -// GetUtimesFileGroup returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileGroup() string { - if ev.GetEventType().String() != "utimes" { + if !ev.Signal.Target.Parent.HasInterpreter() { return "" } - return ev.FieldHandlers.ResolveFileFieldsGroup(ev, &ev.Utimes.File.FileFields) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent) } -// GetUtimesFileHashes returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileHashes() []string { - if ev.GetEventType().String() != "utimes" { - return []string{} +// GetSignalTargetParentInterpreterFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentInterpreterFilePathLength() int { + if ev.GetEventType().String() != "signal" { + return 0 } - return ev.FieldHandlers.ResolveHashesFromEvent(ev, &ev.Utimes.File) -} - -// GetUtimesFileInUpperLayer returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileInUpperLayer() bool { - if ev.GetEventType().String() != "utimes" { - return false + if ev.Signal.Target == nil { + return 0 } - return ev.FieldHandlers.ResolveFileFieldsInUpperLayer(ev, &ev.Utimes.File.FileFields) -} - -// GetUtimesFileInode returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileInode() uint64 { - if ev.GetEventType().String() != "utimes" { - return uint64(0) + if ev.Signal.Target.Parent == nil { + return 0 } - return ev.Utimes.File.FileFields.PathKey.Inode + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Signal.Target.Parent.LinuxBinprm.FileEvent)) } -// GetUtimesFileMode returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileMode() uint16 { - if ev.GetEventType().String() != "utimes" { - return uint16(0) +// GetSignalTargetParentPid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentPid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) } - return ev.Utimes.File.FileFields.Mode -} - -// GetUtimesFileModificationTime returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileModificationTime() uint64 { - if ev.GetEventType().String() != "utimes" { - return uint64(0) + if ev.Signal.Target == nil { + return uint32(0) } - return ev.Utimes.File.FileFields.MTime -} - -// GetUtimesFileMountId returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileMountId() uint32 { - if ev.GetEventType().String() != "utimes" { + if ev.Signal.Target.Parent == nil { + return uint32(0) + } + if !ev.Signal.Target.HasParent() { return uint32(0) } - return ev.Utimes.File.FileFields.PathKey.MountID + return ev.Signal.Target.Parent.PIDContext.Pid } -// GetUtimesFileName returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileName() string { - if ev.GetEventType().String() != "utimes" { - return "" +// GetSignalTargetParentPpid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentPpid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) + } + if ev.Signal.Target == nil { + return uint32(0) + } + if ev.Signal.Target.Parent == nil { + return uint32(0) + } + if !ev.Signal.Target.HasParent() { + return uint32(0) } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Utimes.File) + return ev.Signal.Target.Parent.PPid } -// GetUtimesFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileNameLength() int { - if ev.GetEventType().String() != "utimes" { - return 0 +// GetSignalTargetParentUid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentUid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) + } + if ev.Signal.Target == nil { + return uint32(0) + } + if ev.Signal.Target.Parent == nil { + return uint32(0) + } + if !ev.Signal.Target.HasParent() { + return uint32(0) } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Utimes.File)) + return ev.Signal.Target.Parent.Credentials.UID } -// GetUtimesFilePackageName returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFilePackageName() string { - if ev.GetEventType().String() != "utimes" { +// GetSignalTargetParentUser returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetParentUser() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolvePackageName(ev, &ev.Utimes.File) -} - -// GetUtimesFilePackageSourceVersion returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFilePackageSourceVersion() string { - if ev.GetEventType().String() != "utimes" { + if ev.Signal.Target == nil { return "" } - return ev.FieldHandlers.ResolvePackageSourceVersion(ev, &ev.Utimes.File) -} - -// GetUtimesFilePackageVersion returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFilePackageVersion() string { - if ev.GetEventType().String() != "utimes" { + if ev.Signal.Target.Parent == nil { return "" } - return ev.FieldHandlers.ResolvePackageVersion(ev, &ev.Utimes.File) -} - -// GetUtimesFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFilePath() string { - if ev.GetEventType().String() != "utimes" { + if !ev.Signal.Target.HasParent() { return "" } - return ev.FieldHandlers.ResolveFilePath(ev, &ev.Utimes.File) + return ev.Signal.Target.Parent.Credentials.User } -// GetUtimesFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFilePathLength() int { - if ev.GetEventType().String() != "utimes" { - return 0 +// GetSignalTargetPid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetPid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) } - return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Utimes.File)) + if ev.Signal.Target == nil { + return uint32(0) + } + return ev.Signal.Target.Process.PIDContext.Pid } -// GetUtimesFileRights returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileRights() int { - if ev.GetEventType().String() != "utimes" { - return 0 +// GetSignalTargetPpid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetPpid() uint32 { + if ev.GetEventType().String() != "signal" { + return uint32(0) } - return ev.FieldHandlers.ResolveRights(ev, &ev.Utimes.File.FileFields) + if ev.Signal.Target == nil { + return uint32(0) + } + return ev.Signal.Target.Process.PPid } -// GetUtimesFileUid returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileUid() uint32 { - if ev.GetEventType().String() != "utimes" { +// GetSignalTargetUid returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetUid() uint32 { + if ev.GetEventType().String() != "signal" { return uint32(0) } - return ev.Utimes.File.FileFields.UID + if ev.Signal.Target == nil { + return uint32(0) + } + return ev.Signal.Target.Process.Credentials.UID } -// GetUtimesFileUser returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesFileUser() string { - if ev.GetEventType().String() != "utimes" { +// GetSignalTargetUser returns the value of the field, resolving if necessary +func (ev *Event) GetSignalTargetUser() string { + if ev.GetEventType().String() != "signal" { return "" } - return ev.FieldHandlers.ResolveFileFieldsUser(ev, &ev.Utimes.File.FileFields) -} - -// GetUtimesRetval returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesRetval() int64 { - if ev.GetEventType().String() != "utimes" { - return int64(0) + if ev.Signal.Target == nil { + return "" } - return ev.Utimes.SyscallEvent.Retval + return ev.Signal.Target.Process.Credentials.User } -// GetUtimesSyscallInt1 returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallInt1() int { - if ev.GetEventType().String() != "utimes" { - return 0 +// GetSpliceFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetSpliceFilePath() string { + if ev.GetEventType().String() != "splice" { + return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt1(ev, &ev.Utimes.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Splice.File) } -// GetUtimesSyscallInt2 returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallInt2() int { - if ev.GetEventType().String() != "utimes" { +// GetSpliceFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetSpliceFilePathLength() int { + if ev.GetEventType().String() != "splice" { return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt2(ev, &ev.Utimes.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Splice.File)) } -// GetUtimesSyscallInt3 returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallInt3() int { - if ev.GetEventType().String() != "utimes" { - return 0 - } - return ev.FieldHandlers.ResolveSyscallCtxArgsInt3(ev, &ev.Utimes.SyscallContext) +// GetTimestamp returns the value of the field, resolving if necessary +func (ev *Event) GetTimestamp() time.Time { + return ev.FieldHandlers.ResolveEventTime(ev, &ev.BaseEvent) } -// GetUtimesSyscallPath returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallPath() string { - if ev.GetEventType().String() != "utimes" { +// GetUnlinkFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetUnlinkFilePath() string { + if ev.GetEventType().String() != "unlink" { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Utimes.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Unlink.File) } -// GetUtimesSyscallStr1 returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallStr1() string { - if ev.GetEventType().String() != "utimes" { - return "" +// GetUnlinkFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetUnlinkFilePathLength() int { + if ev.GetEventType().String() != "unlink" { + return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr1(ev, &ev.Utimes.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Unlink.File)) } -// GetUtimesSyscallStr2 returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallStr2() string { +// GetUtimesFilePath returns the value of the field, resolving if necessary +func (ev *Event) GetUtimesFilePath() string { if ev.GetEventType().String() != "utimes" { return "" } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr2(ev, &ev.Utimes.SyscallContext) + return ev.FieldHandlers.ResolveFilePath(ev, &ev.Utimes.File) } -// GetUtimesSyscallStr3 returns the value of the field, resolving if necessary -func (ev *Event) GetUtimesSyscallStr3() string { +// GetUtimesFilePathLength returns the value of the field, resolving if necessary +func (ev *Event) GetUtimesFilePathLength() int { if ev.GetEventType().String() != "utimes" { - return "" + return 0 } - return ev.FieldHandlers.ResolveSyscallCtxArgsStr3(ev, &ev.Utimes.SyscallContext) + return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.Utimes.File)) } diff --git a/pkg/security/secl/model/field_accessors_windows.go b/pkg/security/secl/model/field_accessors_windows.go index 1ed3130e6951e3..af9aa75693ad50 100644 --- a/pkg/security/secl/model/field_accessors_windows.go +++ b/pkg/security/secl/model/field_accessors_windows.go @@ -10,56 +10,13 @@ package model import ( "github.com/DataDog/datadog-agent/pkg/security/secl/compiler/eval" + "net" "time" ) -// GetChangePermissionNewSd returns the value of the field, resolving if necessary -func (ev *Event) GetChangePermissionNewSd() string { - if ev.GetEventType().String() != "change_permission" { - return "" - } - return ev.FieldHandlers.ResolveNewSecurityDescriptor(ev, &ev.ChangePermission) -} - -// GetChangePermissionOldSd returns the value of the field, resolving if necessary -func (ev *Event) GetChangePermissionOldSd() string { - if ev.GetEventType().String() != "change_permission" { - return "" - } - return ev.FieldHandlers.ResolveOldSecurityDescriptor(ev, &ev.ChangePermission) -} - -// GetChangePermissionPath returns the value of the field, resolving if necessary -func (ev *Event) GetChangePermissionPath() string { - if ev.GetEventType().String() != "change_permission" { - return "" - } - return ev.ChangePermission.ObjectName -} - -// GetChangePermissionType returns the value of the field, resolving if necessary -func (ev *Event) GetChangePermissionType() string { - if ev.GetEventType().String() != "change_permission" { - return "" - } - return ev.ChangePermission.ObjectType -} - -// GetChangePermissionUserDomain returns the value of the field, resolving if necessary -func (ev *Event) GetChangePermissionUserDomain() string { - if ev.GetEventType().String() != "change_permission" { - return "" - } - return ev.ChangePermission.UserDomain -} - -// GetChangePermissionUsername returns the value of the field, resolving if necessary -func (ev *Event) GetChangePermissionUsername() string { - if ev.GetEventType().String() != "change_permission" { - return "" - } - return ev.ChangePermission.UserName -} +var _ = time.Time{} +var _ = net.IP{} +var _ = eval.NewContext // GetContainerCreatedAt returns the value of the field, resolving if necessary func (ev *Event) GetContainerCreatedAt() int { @@ -77,315 +34,11 @@ func (ev *Event) GetContainerId() string { return ev.FieldHandlers.ResolveContainerID(ev, ev.BaseEvent.ContainerContext) } -// GetContainerRuntime returns the value of the field, resolving if necessary -func (ev *Event) GetContainerRuntime() string { - if ev.BaseEvent.ContainerContext == nil { - return "" - } - return ev.FieldHandlers.ResolveContainerRuntime(ev, ev.BaseEvent.ContainerContext) -} - -// GetContainerTags returns the value of the field, resolving if necessary -func (ev *Event) GetContainerTags() []string { - if ev.BaseEvent.ContainerContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveContainerTags(ev, ev.BaseEvent.ContainerContext) -} - -// GetCreateFileDevicePath returns the value of the field, resolving if necessary -func (ev *Event) GetCreateFileDevicePath() string { - if ev.GetEventType().String() != "create" { - return "" - } - return ev.FieldHandlers.ResolveFimFilePath(ev, &ev.CreateNewFile.File) -} - -// GetCreateFileDevicePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateFileDevicePathLength() int { - if ev.GetEventType().String() != "create" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFilePath(ev, &ev.CreateNewFile.File)) -} - -// GetCreateFileName returns the value of the field, resolving if necessary -func (ev *Event) GetCreateFileName() string { - if ev.GetEventType().String() != "create" { - return "" - } - return ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.CreateNewFile.File) -} - -// GetCreateFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateFileNameLength() int { - if ev.GetEventType().String() != "create" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.CreateNewFile.File)) -} - -// GetCreateFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetCreateFilePath() string { - if ev.GetEventType().String() != "create" { - return "" - } - return ev.FieldHandlers.ResolveFileUserPath(ev, &ev.CreateNewFile.File) -} - -// GetCreateFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateFilePathLength() int { - if ev.GetEventType().String() != "create" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileUserPath(ev, &ev.CreateNewFile.File)) -} - -// GetCreateRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetCreateRegistryKeyName() string { - if ev.GetEventType().String() != "create_key" { - return "" - } - return ev.CreateRegistryKey.Registry.KeyName -} - -// GetCreateRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateRegistryKeyNameLength() int { - if ev.GetEventType().String() != "create_key" { - return 0 - } - return len(ev.CreateRegistryKey.Registry.KeyName) -} - -// GetCreateRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetCreateRegistryKeyPath() string { - if ev.GetEventType().String() != "create_key" { - return "" - } - return ev.CreateRegistryKey.Registry.KeyPath -} - -// GetCreateRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateRegistryKeyPathLength() int { - if ev.GetEventType().String() != "create_key" { - return 0 - } - return len(ev.CreateRegistryKey.Registry.KeyPath) -} - -// GetCreateKeyRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetCreateKeyRegistryKeyName() string { - if ev.GetEventType().String() != "create_key" { - return "" - } - return ev.CreateRegistryKey.Registry.KeyName -} - -// GetCreateKeyRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateKeyRegistryKeyNameLength() int { - if ev.GetEventType().String() != "create_key" { - return 0 - } - return len(ev.CreateRegistryKey.Registry.KeyName) -} - -// GetCreateKeyRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetCreateKeyRegistryKeyPath() string { - if ev.GetEventType().String() != "create_key" { - return "" - } - return ev.CreateRegistryKey.Registry.KeyPath -} - -// GetCreateKeyRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetCreateKeyRegistryKeyPathLength() int { - if ev.GetEventType().String() != "create_key" { - return 0 - } - return len(ev.CreateRegistryKey.Registry.KeyPath) -} - -// GetDeleteFileDevicePath returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteFileDevicePath() string { - if ev.GetEventType().String() != "delete" { - return "" - } - return ev.FieldHandlers.ResolveFimFilePath(ev, &ev.DeleteFile.File) -} - -// GetDeleteFileDevicePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteFileDevicePathLength() int { - if ev.GetEventType().String() != "delete" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFilePath(ev, &ev.DeleteFile.File)) -} - -// GetDeleteFileName returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteFileName() string { - if ev.GetEventType().String() != "delete" { - return "" - } - return ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.DeleteFile.File) -} - -// GetDeleteFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteFileNameLength() int { - if ev.GetEventType().String() != "delete" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.DeleteFile.File)) -} - -// GetDeleteFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteFilePath() string { - if ev.GetEventType().String() != "delete" { - return "" - } - return ev.FieldHandlers.ResolveFileUserPath(ev, &ev.DeleteFile.File) -} - -// GetDeleteFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteFilePathLength() int { - if ev.GetEventType().String() != "delete" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileUserPath(ev, &ev.DeleteFile.File)) -} - -// GetDeleteRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteRegistryKeyName() string { - if ev.GetEventType().String() != "delete_key" { - return "" - } - return ev.DeleteRegistryKey.Registry.KeyName -} - -// GetDeleteRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteRegistryKeyNameLength() int { - if ev.GetEventType().String() != "delete_key" { - return 0 - } - return len(ev.DeleteRegistryKey.Registry.KeyName) -} - -// GetDeleteRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteRegistryKeyPath() string { - if ev.GetEventType().String() != "delete_key" { - return "" - } - return ev.DeleteRegistryKey.Registry.KeyPath -} - -// GetDeleteRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteRegistryKeyPathLength() int { - if ev.GetEventType().String() != "delete_key" { - return 0 - } - return len(ev.DeleteRegistryKey.Registry.KeyPath) -} - -// GetDeleteKeyRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteKeyRegistryKeyName() string { - if ev.GetEventType().String() != "delete_key" { - return "" - } - return ev.DeleteRegistryKey.Registry.KeyName -} - -// GetDeleteKeyRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteKeyRegistryKeyNameLength() int { - if ev.GetEventType().String() != "delete_key" { - return 0 - } - return len(ev.DeleteRegistryKey.Registry.KeyName) -} - -// GetDeleteKeyRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteKeyRegistryKeyPath() string { - if ev.GetEventType().String() != "delete_key" { - return "" - } - return ev.DeleteRegistryKey.Registry.KeyPath -} - -// GetDeleteKeyRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetDeleteKeyRegistryKeyPathLength() int { - if ev.GetEventType().String() != "delete_key" { - return 0 - } - return len(ev.DeleteRegistryKey.Registry.KeyPath) -} - -// GetEventHostname returns the value of the field, resolving if necessary -func (ev *Event) GetEventHostname() string { - return ev.FieldHandlers.ResolveHostname(ev, &ev.BaseEvent) -} - -// GetEventOrigin returns the value of the field, resolving if necessary -func (ev *Event) GetEventOrigin() string { - return ev.BaseEvent.Origin -} - -// GetEventOs returns the value of the field, resolving if necessary -func (ev *Event) GetEventOs() string { - return ev.BaseEvent.Os -} - // GetEventService returns the value of the field, resolving if necessary func (ev *Event) GetEventService() string { return ev.FieldHandlers.ResolveService(ev, &ev.BaseEvent) } -// GetEventTimestamp returns the value of the field, resolving if necessary -func (ev *Event) GetEventTimestamp() int { - return ev.FieldHandlers.ResolveEventTimestamp(ev, &ev.BaseEvent) -} - -// GetExecCmdline returns the value of the field, resolving if necessary -func (ev *Event) GetExecCmdline() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLine(ev, ev.Exec.Process) -} - -// GetExecCmdlineScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetExecCmdlineScrubbed() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLineScrubbed(ev, ev.Exec.Process) -} - -// GetExecContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetExecContainerId() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.ContainerID -} - -// GetExecCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetExecCreatedAt() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.Exec.Process) -} - // GetExecEnvp returns the value of the field, resolving if necessary func (ev *Event) GetExecEnvp() []string { if ev.GetEventType().String() != "exec" { @@ -397,17 +50,6 @@ func (ev *Event) GetExecEnvp() []string { return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Exec.Process) } -// GetExecEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetExecEnvs() []string { - if ev.GetEventType().String() != "exec" { - return []string{} - } - if ev.Exec.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.Exec.Process) -} - // GetExecExecTime returns the value of the field, resolving if necessary func (ev *Event) GetExecExecTime() time.Time { if ev.GetEventType().String() != "exec" { @@ -430,28 +72,6 @@ func (ev *Event) GetExecExitTime() time.Time { return ev.Exec.Process.ExitTime } -// GetExecFileName returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileName() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exec.Process.FileEvent) -} - -// GetExecFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetExecFileNameLength() int { - if ev.GetEventType().String() != "exec" { - return 0 - } - if ev.Exec.Process == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exec.Process.FileEvent)) -} - // GetExecFilePath returns the value of the field, resolving if necessary func (ev *Event) GetExecFilePath() string { if ev.GetEventType().String() != "exec" { @@ -496,58 +116,6 @@ func (ev *Event) GetExecPpid() uint32 { return ev.Exec.Process.PPid } -// GetExecUser returns the value of the field, resolving if necessary -func (ev *Event) GetExecUser() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveUser(ev, ev.Exec.Process) -} - -// GetExecUserSid returns the value of the field, resolving if necessary -func (ev *Event) GetExecUserSid() string { - if ev.GetEventType().String() != "exec" { - return "" - } - if ev.Exec.Process == nil { - return "" - } - return ev.Exec.Process.OwnerSidString -} - -// GetExitCause returns the value of the field, resolving if necessary -func (ev *Event) GetExitCause() uint32 { - if ev.GetEventType().String() != "exit" { - return uint32(0) - } - return ev.Exit.Cause -} - -// GetExitCmdline returns the value of the field, resolving if necessary -func (ev *Event) GetExitCmdline() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLine(ev, ev.Exit.Process) -} - -// GetExitCmdlineScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetExitCmdlineScrubbed() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLineScrubbed(ev, ev.Exit.Process) -} - // GetExitCode returns the value of the field, resolving if necessary func (ev *Event) GetExitCode() uint32 { if ev.GetEventType().String() != "exit" { @@ -556,28 +124,6 @@ func (ev *Event) GetExitCode() uint32 { return ev.Exit.Code } -// GetExitContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetExitContainerId() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.ContainerID -} - -// GetExitCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetExitCreatedAt() int { - if ev.GetEventType().String() != "exit" { - return 0 - } - if ev.Exit.Process == nil { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.Exit.Process) -} - // GetExitEnvp returns the value of the field, resolving if necessary func (ev *Event) GetExitEnvp() []string { if ev.GetEventType().String() != "exit" { @@ -589,59 +135,26 @@ func (ev *Event) GetExitEnvp() []string { return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.Exit.Process) } -// GetExitEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetExitEnvs() []string { - if ev.GetEventType().String() != "exit" { - return []string{} - } - if ev.Exit.Process == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.Exit.Process) -} - // GetExitExecTime returns the value of the field, resolving if necessary func (ev *Event) GetExitExecTime() time.Time { if ev.GetEventType().String() != "exit" { return time.Time{} } if ev.Exit.Process == nil { - return time.Time{} - } - return ev.Exit.Process.ExecTime -} - -// GetExitExitTime returns the value of the field, resolving if necessary -func (ev *Event) GetExitExitTime() time.Time { - if ev.GetEventType().String() != "exit" { - return time.Time{} - } - if ev.Exit.Process == nil { - return time.Time{} - } - return ev.Exit.Process.ExitTime -} - -// GetExitFileName returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileName() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" + return time.Time{} } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exit.Process.FileEvent) + return ev.Exit.Process.ExecTime } -// GetExitFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetExitFileNameLength() int { +// GetExitExitTime returns the value of the field, resolving if necessary +func (ev *Event) GetExitExitTime() time.Time { if ev.GetEventType().String() != "exit" { - return 0 + return time.Time{} } if ev.Exit.Process == nil { - return 0 + return time.Time{} } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.Exit.Process.FileEvent)) + return ev.Exit.Process.ExitTime } // GetExitFilePath returns the value of the field, resolving if necessary @@ -688,176 +201,6 @@ func (ev *Event) GetExitPpid() uint32 { return ev.Exit.Process.PPid } -// GetExitUser returns the value of the field, resolving if necessary -func (ev *Event) GetExitUser() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.FieldHandlers.ResolveUser(ev, ev.Exit.Process) -} - -// GetExitUserSid returns the value of the field, resolving if necessary -func (ev *Event) GetExitUserSid() string { - if ev.GetEventType().String() != "exit" { - return "" - } - if ev.Exit.Process == nil { - return "" - } - return ev.Exit.Process.OwnerSidString -} - -// GetOpenRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetOpenRegistryKeyName() string { - if ev.GetEventType().String() != "open_key" { - return "" - } - return ev.OpenRegistryKey.Registry.KeyName -} - -// GetOpenRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetOpenRegistryKeyNameLength() int { - if ev.GetEventType().String() != "open_key" { - return 0 - } - return len(ev.OpenRegistryKey.Registry.KeyName) -} - -// GetOpenRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetOpenRegistryKeyPath() string { - if ev.GetEventType().String() != "open_key" { - return "" - } - return ev.OpenRegistryKey.Registry.KeyPath -} - -// GetOpenRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetOpenRegistryKeyPathLength() int { - if ev.GetEventType().String() != "open_key" { - return 0 - } - return len(ev.OpenRegistryKey.Registry.KeyPath) -} - -// GetOpenKeyRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetOpenKeyRegistryKeyName() string { - if ev.GetEventType().String() != "open_key" { - return "" - } - return ev.OpenRegistryKey.Registry.KeyName -} - -// GetOpenKeyRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetOpenKeyRegistryKeyNameLength() int { - if ev.GetEventType().String() != "open_key" { - return 0 - } - return len(ev.OpenRegistryKey.Registry.KeyName) -} - -// GetOpenKeyRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetOpenKeyRegistryKeyPath() string { - if ev.GetEventType().String() != "open_key" { - return "" - } - return ev.OpenRegistryKey.Registry.KeyPath -} - -// GetOpenKeyRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetOpenKeyRegistryKeyPathLength() int { - if ev.GetEventType().String() != "open_key" { - return 0 - } - return len(ev.OpenRegistryKey.Registry.KeyPath) -} - -// GetProcessAncestorsCmdline returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCmdline() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessCmdLine(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCmdlineScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCmdlineScrubbed() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessCmdLineScrubbed(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsContainerId() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.ContainerID - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsCreatedAt() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := int(ev.FieldHandlers.ResolveProcessCreatedAt(ev, &element.ProcessContext.Process)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - // GetProcessAncestorsEnvp returns the value of the field, resolving if necessary func (ev *Event) GetProcessAncestorsEnvp() []string { if ev.BaseEvent.ProcessContext == nil { @@ -879,69 +222,6 @@ func (ev *Event) GetProcessAncestorsEnvp() []string { return values } -// GetProcessAncestorsEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsEnvs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveProcessEnvs(ev, &element.ProcessContext.Process) - values = append(values, result...) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileName() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsFileNameLength() []int { - if ev.BaseEvent.ProcessContext == nil { - return []int{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []int{} - } - var values []int - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := len(ev.FieldHandlers.ResolveFileBasename(ev, &element.ProcessContext.Process.FileEvent)) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - // GetProcessAncestorsFilePath returns the value of the field, resolving if necessary func (ev *Event) GetProcessAncestorsFilePath() []string { if ev.BaseEvent.ProcessContext == nil { @@ -984,19 +264,6 @@ func (ev *Event) GetProcessAncestorsFilePathLength() []int { return values } -// GetProcessAncestorsLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return 0 - } - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - return iterator.Len(ctx) -} - // GetProcessAncestorsPid returns the value of the field, resolving if necessary func (ev *Event) GetProcessAncestorsPid() []uint32 { if ev.BaseEvent.ProcessContext == nil { @@ -1029,88 +296,14 @@ func (ev *Event) GetProcessAncestorsPpid() []uint32 { var values []uint32 ctx := eval.NewContext(ev) iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.PPid - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUser() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := ev.FieldHandlers.ResolveUser(ev, &element.ProcessContext.Process) - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessAncestorsUserSid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessAncestorsUserSid() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Ancestor == nil { - return []string{} - } - var values []string - ctx := eval.NewContext(ev) - iterator := &ProcessAncestorsIterator{} - ptr := iterator.Front(ctx) - for ptr != nil { - element := (*ProcessCacheEntry)(ptr) - result := element.ProcessContext.Process.OwnerSidString - values = append(values, result) - ptr = iterator.Next() - } - return values -} - -// GetProcessCmdline returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCmdline() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLine(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessCmdlineScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCmdlineScrubbed() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLineScrubbed(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessContainerId() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.ContainerID -} - -// GetProcessCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetProcessCreatedAt() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 + ptr := iterator.Front(ctx) + for ptr != nil { + element := (*ProcessCacheEntry)(ptr) + result := element.ProcessContext.Process.PPid + values = append(values, result) + ptr = iterator.Next() } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, &ev.BaseEvent.ProcessContext.Process) + return values } // GetProcessEnvp returns the value of the field, resolving if necessary @@ -1121,14 +314,6 @@ func (ev *Event) GetProcessEnvp() []string { return ev.FieldHandlers.ResolveProcessEnvp(ev, &ev.BaseEvent.ProcessContext.Process) } -// GetProcessEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessEnvs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, &ev.BaseEvent.ProcessContext.Process) -} - // GetProcessExecTime returns the value of the field, resolving if necessary func (ev *Event) GetProcessExecTime() time.Time { if ev.BaseEvent.ProcessContext == nil { @@ -1145,22 +330,6 @@ func (ev *Event) GetProcessExitTime() time.Time { return ev.BaseEvent.ProcessContext.Process.ExitTime } -// GetProcessFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent) -} - -// GetProcessFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessFileNameLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent)) -} - // GetProcessFilePath returns the value of the field, resolving if necessary func (ev *Event) GetProcessFilePath() string { if ev.BaseEvent.ProcessContext == nil { @@ -1177,62 +346,6 @@ func (ev *Event) GetProcessFilePathLength() int { return len(ev.FieldHandlers.ResolveFilePath(ev, &ev.BaseEvent.ProcessContext.Process.FileEvent)) } -// GetProcessParentCmdline returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCmdline() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLine(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentCmdlineScrubbed returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCmdlineScrubbed() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveProcessCmdLineScrubbed(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentContainerId returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentContainerId() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.ContainerID -} - -// GetProcessParentCreatedAt returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentCreatedAt() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return 0 - } - return ev.FieldHandlers.ResolveProcessCreatedAt(ev, ev.BaseEvent.ProcessContext.Parent) -} - // GetProcessParentEnvp returns the value of the field, resolving if necessary func (ev *Event) GetProcessParentEnvp() []string { if ev.BaseEvent.ProcessContext == nil { @@ -1247,45 +360,6 @@ func (ev *Event) GetProcessParentEnvp() []string { return ev.FieldHandlers.ResolveProcessEnvp(ev, ev.BaseEvent.ProcessContext.Parent) } -// GetProcessParentEnvs returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentEnvs() []string { - if ev.BaseEvent.ProcessContext == nil { - return []string{} - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return []string{} - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return []string{} - } - return ev.FieldHandlers.ResolveProcessEnvs(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentFileName returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileName() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent) -} - -// GetProcessParentFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentFileNameLength() int { - if ev.BaseEvent.ProcessContext == nil { - return 0 - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return 0 - } - return len(ev.FieldHandlers.ResolveFileBasename(ev, &ev.BaseEvent.ProcessContext.Parent.FileEvent)) -} - // GetProcessParentFilePath returns the value of the field, resolving if necessary func (ev *Event) GetProcessParentFilePath() string { if ev.BaseEvent.ProcessContext == nil { @@ -1339,34 +413,6 @@ func (ev *Event) GetProcessParentPpid() uint32 { return ev.BaseEvent.ProcessContext.Parent.PPid } -// GetProcessParentUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.FieldHandlers.ResolveUser(ev, ev.BaseEvent.ProcessContext.Parent) -} - -// GetProcessParentUserSid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessParentUserSid() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - if ev.BaseEvent.ProcessContext.Parent == nil { - return "" - } - if !ev.BaseEvent.ProcessContext.HasParent() { - return "" - } - return ev.BaseEvent.ProcessContext.Parent.OwnerSidString -} - // GetProcessPid returns the value of the field, resolving if necessary func (ev *Event) GetProcessPid() uint32 { if ev.BaseEvent.ProcessContext == nil { @@ -1383,279 +429,7 @@ func (ev *Event) GetProcessPpid() uint32 { return ev.BaseEvent.ProcessContext.Process.PPid } -// GetProcessUser returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUser() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.FieldHandlers.ResolveUser(ev, &ev.BaseEvent.ProcessContext.Process) -} - -// GetProcessUserSid returns the value of the field, resolving if necessary -func (ev *Event) GetProcessUserSid() string { - if ev.BaseEvent.ProcessContext == nil { - return "" - } - return ev.BaseEvent.ProcessContext.Process.OwnerSidString -} - -// GetRenameFileDestinationDevicePath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationDevicePath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFimFilePath(ev, &ev.RenameFile.New) -} - -// GetRenameFileDestinationDevicePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationDevicePathLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFilePath(ev, &ev.RenameFile.New)) -} - -// GetRenameFileDestinationName returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationName() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.RenameFile.New) -} - -// GetRenameFileDestinationNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationNameLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.RenameFile.New)) -} - -// GetRenameFileDestinationPath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileUserPath(ev, &ev.RenameFile.New) -} - -// GetRenameFileDestinationPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDestinationPathLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileUserPath(ev, &ev.RenameFile.New)) -} - -// GetRenameFileDevicePath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDevicePath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFimFilePath(ev, &ev.RenameFile.Old) -} - -// GetRenameFileDevicePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileDevicePathLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFilePath(ev, &ev.RenameFile.Old)) -} - -// GetRenameFileName returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileName() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.RenameFile.Old) -} - -// GetRenameFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFileNameLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.RenameFile.Old)) -} - -// GetRenameFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePath() string { - if ev.GetEventType().String() != "rename" { - return "" - } - return ev.FieldHandlers.ResolveFileUserPath(ev, &ev.RenameFile.Old) -} - -// GetRenameFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetRenameFilePathLength() int { - if ev.GetEventType().String() != "rename" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileUserPath(ev, &ev.RenameFile.Old)) -} - -// GetSetRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetSetRegistryKeyName() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.Registry.KeyName -} - -// GetSetRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetRegistryKeyNameLength() int { - if ev.GetEventType().String() != "set_key_value" { - return 0 - } - return len(ev.SetRegistryKeyValue.Registry.KeyName) -} - -// GetSetRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetSetRegistryKeyPath() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.Registry.KeyPath -} - -// GetSetRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetRegistryKeyPathLength() int { - if ev.GetEventType().String() != "set_key_value" { - return 0 - } - return len(ev.SetRegistryKeyValue.Registry.KeyPath) -} - -// GetSetRegistryValueName returns the value of the field, resolving if necessary -func (ev *Event) GetSetRegistryValueName() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.ValueName -} - -// GetSetRegistryValueNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetRegistryValueNameLength() int { - if ev.GetEventType().String() != "set_key_value" { - return 0 - } - return len(ev.SetRegistryKeyValue.ValueName) -} - -// GetSetValueName returns the value of the field, resolving if necessary -func (ev *Event) GetSetValueName() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.ValueName -} - -// GetSetKeyValueRegistryKeyName returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueRegistryKeyName() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.Registry.KeyName -} - -// GetSetKeyValueRegistryKeyNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueRegistryKeyNameLength() int { - if ev.GetEventType().String() != "set_key_value" { - return 0 - } - return len(ev.SetRegistryKeyValue.Registry.KeyName) -} - -// GetSetKeyValueRegistryKeyPath returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueRegistryKeyPath() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.Registry.KeyPath -} - -// GetSetKeyValueRegistryKeyPathLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueRegistryKeyPathLength() int { - if ev.GetEventType().String() != "set_key_value" { - return 0 - } - return len(ev.SetRegistryKeyValue.Registry.KeyPath) -} - -// GetSetKeyValueRegistryValueName returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueRegistryValueName() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.ValueName -} - -// GetSetKeyValueRegistryValueNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueRegistryValueNameLength() int { - if ev.GetEventType().String() != "set_key_value" { - return 0 - } - return len(ev.SetRegistryKeyValue.ValueName) -} - -// GetSetKeyValueValueName returns the value of the field, resolving if necessary -func (ev *Event) GetSetKeyValueValueName() string { - if ev.GetEventType().String() != "set_key_value" { - return "" - } - return ev.SetRegistryKeyValue.ValueName -} - // GetTimestamp returns the value of the field, resolving if necessary func (ev *Event) GetTimestamp() time.Time { return ev.FieldHandlers.ResolveEventTime(ev, &ev.BaseEvent) } - -// GetWriteFileDevicePath returns the value of the field, resolving if necessary -func (ev *Event) GetWriteFileDevicePath() string { - if ev.GetEventType().String() != "write" { - return "" - } - return ev.FieldHandlers.ResolveFimFilePath(ev, &ev.WriteFile.File) -} - -// GetWriteFileDevicePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetWriteFileDevicePathLength() int { - if ev.GetEventType().String() != "write" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFilePath(ev, &ev.WriteFile.File)) -} - -// GetWriteFileName returns the value of the field, resolving if necessary -func (ev *Event) GetWriteFileName() string { - if ev.GetEventType().String() != "write" { - return "" - } - return ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.WriteFile.File) -} - -// GetWriteFileNameLength returns the value of the field, resolving if necessary -func (ev *Event) GetWriteFileNameLength() int { - if ev.GetEventType().String() != "write" { - return 0 - } - return len(ev.FieldHandlers.ResolveFimFileBasename(ev, &ev.WriteFile.File)) -} - -// GetWriteFilePath returns the value of the field, resolving if necessary -func (ev *Event) GetWriteFilePath() string { - if ev.GetEventType().String() != "write" { - return "" - } - return ev.FieldHandlers.ResolveFileUserPath(ev, &ev.WriteFile.File) -} - -// GetWriteFilePathLength returns the value of the field, resolving if necessary -func (ev *Event) GetWriteFilePathLength() int { - if ev.GetEventType().String() != "write" { - return 0 - } - return len(ev.FieldHandlers.ResolveFileUserPath(ev, &ev.WriteFile.File)) -} diff --git a/pkg/security/secl/model/model.go b/pkg/security/secl/model/model.go index 9a6ae500f2d6fa..5669d3d60fb225 100644 --- a/pkg/security/secl/model/model.go +++ b/pkg/security/secl/model/model.go @@ -72,9 +72,9 @@ func (r *Releasable) AppendReleaseCallback(callback func()) { // ContainerContext holds the container context of an event type ContainerContext struct { Releasable - ContainerID containerutils.ContainerID `field:"id,handler:ResolveContainerID"` // SECLDoc[id] Definition:`ID of the container` - CreatedAt uint64 `field:"created_at,handler:ResolveContainerCreatedAt"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the container`` - Tags []string `field:"tags,handler:ResolveContainerTags,opts:skip_ad,weight:9999"` // SECLDoc[tags] Definition:`Tags of the container` + ContainerID containerutils.ContainerID `field:"id,handler:ResolveContainerID,opts:gen_getters"` // SECLDoc[id] Definition:`ID of the container` + CreatedAt uint64 `field:"created_at,handler:ResolveContainerCreatedAt,opts:gen_getters"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the container`` + Tags []string `field:"tags,handler:ResolveContainerTags,opts:skip_ad,weight:9999"` // SECLDoc[tags] Definition:`Tags of the container` Resolved bool `field:"-"` Runtime string `field:"runtime,handler:ResolveContainerRuntime"` // SECLDoc[runtime] Definition:`Runtime managing the container` } @@ -124,13 +124,13 @@ type BaseEvent struct { Type uint32 `field:"-"` Flags uint32 `field:"-"` TimestampRaw uint64 `field:"event.timestamp,handler:ResolveEventTimestamp"` // SECLDoc[event.timestamp] Definition:`Timestamp of the event` - Timestamp time.Time `field:"timestamp,opts:getters_only,handler:ResolveEventTime"` + Timestamp time.Time `field:"timestamp,opts:getters_only|gen_getters,handler:ResolveEventTime"` Rules []*MatchedRule `field:"-"` ActionReports []ActionReport `field:"-"` - Os string `field:"event.os"` // SECLDoc[event.os] Definition:`Operating system of the event` - Origin string `field:"event.origin"` // SECLDoc[event.origin] Definition:`Origin of the event` - Service string `field:"event.service,handler:ResolveService,opts:skip_ad"` // SECLDoc[event.service] Definition:`Service associated with the event` - Hostname string `field:"event.hostname,handler:ResolveHostname"` // SECLDoc[event.hostname] Definition:`Hostname associated with the event` + Os string `field:"event.os"` // SECLDoc[event.os] Definition:`Operating system of the event` + Origin string `field:"event.origin"` // SECLDoc[event.origin] Definition:`Origin of the event` + Service string `field:"event.service,handler:ResolveService,opts:skip_ad|gen_getters"` // SECLDoc[event.service] Definition:`Service associated with the event` + Hostname string `field:"event.hostname,handler:ResolveHostname"` // SECLDoc[event.hostname] Definition:`Hostname associated with the event` // context shared with all events ProcessContext *ProcessContext `field:"process"` @@ -570,8 +570,8 @@ type ProcessContext struct { // ExitEvent represents a process exit event type ExitEvent struct { *Process - Cause uint32 `field:"cause"` // SECLDoc[cause] Definition:`Cause of the process termination (one of EXITED, SIGNALED, COREDUMPED)` - Code uint32 `field:"code"` // SECLDoc[code] Definition:`Exit code of the process or number of the signal that caused the process to terminate` + Cause uint32 `field:"cause"` // SECLDoc[cause] Definition:`Cause of the process termination (one of EXITED, SIGNALED, COREDUMPED)` + Code uint32 `field:"code,opts:gen_getters"` // SECLDoc[code] Definition:`Exit code of the process or number of the signal that caused the process to terminate` } // DNSEvent represents a DNS event diff --git a/pkg/security/secl/model/model_unix.go b/pkg/security/secl/model/model_unix.go index c717d0b472e339..11c116ff6ae619 100644 --- a/pkg/security/secl/model/model_unix.go +++ b/pkg/security/secl/model/model_unix.go @@ -195,10 +195,10 @@ type CapsetEvent struct { // Credentials represents the kernel credentials of a process type Credentials struct { - UID uint32 `field:"uid"` // SECLDoc[uid] Definition:`UID of the process` - GID uint32 `field:"gid"` // SECLDoc[gid] Definition:`GID of the process` - User string `field:"user"` // SECLDoc[user] Definition:`User of the process` Example:`process.user == "root"` Description:`Constrain an event to be triggered by a process running as the root user.` - Group string `field:"group"` // SECLDoc[group] Definition:`Group of the process` + UID uint32 `field:"uid,opts:gen_getters"` // SECLDoc[uid] Definition:`UID of the process` + GID uint32 `field:"gid,opts:gen_getters"` // SECLDoc[gid] Definition:`GID of the process` + User string `field:"user,opts:gen_getters"` // SECLDoc[user] Definition:`User of the process` Example:`process.user == "root"` Description:`Constrain an event to be triggered by a process running as the root user.` + Group string `field:"group,opts:gen_getters"` // SECLDoc[group] Definition:`Group of the process` EUID uint32 `field:"euid"` // SECLDoc[euid] Definition:`Effective UID of the process` EGID uint32 `field:"egid"` // SECLDoc[egid] Definition:`Effective GID of the process` @@ -238,15 +238,15 @@ type Process struct { LinuxBinprm LinuxBinprm `field:"interpreter,check:HasInterpreter"` // Script interpreter as identified by the shebang // pid_cache_t - ForkTime time.Time `field:"fork_time,opts:getters_only"` - ExitTime time.Time `field:"exit_time,opts:getters_only"` - ExecTime time.Time `field:"exec_time,opts:getters_only"` + ForkTime time.Time `field:"fork_time,opts:getters_only|gen_getters"` + ExitTime time.Time `field:"exit_time,opts:getters_only|gen_getters"` + ExecTime time.Time `field:"exec_time,opts:getters_only|gen_getters"` // TODO: merge with ExecTime CreatedAt uint64 `field:"created_at,handler:ResolveProcessCreatedAt"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the process` Cookie uint64 `field:"-"` - PPid uint32 `field:"ppid"` // SECLDoc[ppid] Definition:`Parent process ID` + PPid uint32 `field:"ppid,opts:gen_getters"` // SECLDoc[ppid] Definition:`Parent process ID` // credentials_t section of pid_cache_t Credentials @@ -262,13 +262,13 @@ type Process struct { EnvsEntry *EnvsEntry `field:"-"` // defined to generate accessors, ArgsTruncated and EnvsTruncated are used during by unmarshaller - Argv0 string `field:"argv0,handler:ResolveProcessArgv0,weight:100"` // SECLDoc[argv0] Definition:`First argument of the process` - Args string `field:"args,handler:ResolveProcessArgs,weight:500,opts:skip_ad"` // SECLDoc[args] Definition:`Arguments of the process (as a string, excluding argv0)` Example:`exec.args == "-sV -p 22,53,110,143,4564 198.116.0-255.1-127"` Description:`Matches any process with these exact arguments.` Example:`exec.args =~ "* -F * http*"` Description:`Matches any process that has the "-F" argument anywhere before an argument starting with "http".` - Argv []string `field:"argv,handler:ResolveProcessArgv,weight:500; cmdargv,handler:ResolveProcessCmdArgv,opts:getters_only; args_flags,handler:ResolveProcessArgsFlags,opts:helper; args_options,handler:ResolveProcessArgsOptions,opts:helper"` // SECLDoc[argv] Definition:`Arguments of the process (as an array, excluding argv0)` Example:`exec.argv in ["127.0.0.1"]` Description:`Matches any process that has this IP address as one of its arguments.` SECLDoc[args_flags] Definition:`Flags in the process arguments` Example:`exec.args_flags in ["s"] && exec.args_flags in ["V"]` Description:`Matches any process with both "-s" and "-V" flags in its arguments. Also matches "-sV".` SECLDoc[args_options] Definition:`Argument of the process as options` Example:`exec.args_options in ["p=0-1024"]` Description:`Matches any process that has either "-p 0-1024" or "--p=0-1024" in its arguments.` - ArgsTruncated bool `field:"args_truncated,handler:ResolveProcessArgsTruncated"` // SECLDoc[args_truncated] Definition:`Indicator of arguments truncation` - Envs []string `field:"envs,handler:ResolveProcessEnvs,weight:100"` // SECLDoc[envs] Definition:`Environment variable names of the process` - Envp []string `field:"envp,handler:ResolveProcessEnvp,weight:100"` // SECLDoc[envp] Definition:`Environment variables of the process` - EnvsTruncated bool `field:"envs_truncated,handler:ResolveProcessEnvsTruncated"` // SECLDoc[envs_truncated] Definition:`Indicator of environment variables truncation` + Argv0 string `field:"argv0,handler:ResolveProcessArgv0,weight:100"` // SECLDoc[argv0] Definition:`First argument of the process` + Args string `field:"args,handler:ResolveProcessArgs,weight:500,opts:skip_ad"` // SECLDoc[args] Definition:`Arguments of the process (as a string, excluding argv0)` Example:`exec.args == "-sV -p 22,53,110,143,4564 198.116.0-255.1-127"` Description:`Matches any process with these exact arguments.` Example:`exec.args =~ "* -F * http*"` Description:`Matches any process that has the "-F" argument anywhere before an argument starting with "http".` + Argv []string `field:"argv,handler:ResolveProcessArgv,weight:500; cmdargv,handler:ResolveProcessCmdArgv,opts:getters_only|gen_getters; args_flags,handler:ResolveProcessArgsFlags,opts:helper; args_options,handler:ResolveProcessArgsOptions,opts:helper"` // SECLDoc[argv] Definition:`Arguments of the process (as an array, excluding argv0)` Example:`exec.argv in ["127.0.0.1"]` Description:`Matches any process that has this IP address as one of its arguments.` SECLDoc[args_flags] Definition:`Flags in the process arguments` Example:`exec.args_flags in ["s"] && exec.args_flags in ["V"]` Description:`Matches any process with both "-s" and "-V" flags in its arguments. Also matches "-sV".` SECLDoc[args_options] Definition:`Argument of the process as options` Example:`exec.args_options in ["p=0-1024"]` Description:`Matches any process that has either "-p 0-1024" or "--p=0-1024" in its arguments.` + ArgsTruncated bool `field:"args_truncated,handler:ResolveProcessArgsTruncated"` // SECLDoc[args_truncated] Definition:`Indicator of arguments truncation` + Envs []string `field:"envs,handler:ResolveProcessEnvs,weight:100"` // SECLDoc[envs] Definition:`Environment variable names of the process` + Envp []string `field:"envp,handler:ResolveProcessEnvp,weight:100,opts:gen_getters"` // SECLDoc[envp] Definition:`Environment variables of the process` + EnvsTruncated bool `field:"envs_truncated,handler:ResolveProcessEnvsTruncated"` // SECLDoc[envs_truncated] Definition:`Indicator of environment variables truncation` ArgsScrubbed string `field:"args_scrubbed,handler:ResolveProcessArgsScrubbed,opts:getters_only"` ArgvScrubbed []string `field:"argv_scrubbed,handler:ResolveProcessArgvScrubbed,opts:getters_only"` @@ -326,9 +326,9 @@ type FileFields struct { type FileEvent struct { FileFields - PathnameStr string `field:"path,handler:ResolveFilePath,opts:length" op_override:"ProcessSymlinkPathname"` // SECLDoc[path] Definition:`File's path` Example:`exec.file.path == "/usr/bin/apt"` Description:`Matches the execution of the file located at /usr/bin/apt` Example:`open.file.path == "/etc/passwd"` Description:`Matches any process opening the /etc/passwd file.` - BasenameStr string `field:"name,handler:ResolveFileBasename,opts:length" op_override:"ProcessSymlinkBasename"` // SECLDoc[name] Definition:`File's basename` Example:`exec.file.name == "apt"` Description:`Matches the execution of any file named apt.` - Filesystem string `field:"filesystem,handler:ResolveFileFilesystem"` // SECLDoc[filesystem] Definition:`File's filesystem` + PathnameStr string `field:"path,handler:ResolveFilePath,opts:length|gen_getters" op_override:"ProcessSymlinkPathname"` // SECLDoc[path] Definition:`File's path` Example:`exec.file.path == "/usr/bin/apt"` Description:`Matches the execution of the file located at /usr/bin/apt` Example:`open.file.path == "/etc/passwd"` Description:`Matches any process opening the /etc/passwd file.` + BasenameStr string `field:"name,handler:ResolveFileBasename,opts:length" op_override:"ProcessSymlinkBasename"` // SECLDoc[name] Definition:`File's basename` Example:`exec.file.name == "apt"` Description:`Matches the execution of any file named apt.` + Filesystem string `field:"filesystem,handler:ResolveFileFilesystem"` // SECLDoc[filesystem] Definition:`File's filesystem` MountPath string `field:"-"` MountSource uint32 `field:"-"` @@ -407,9 +407,9 @@ type MountEvent struct { SyscallEvent SyscallContext Mount - MountPointPath string `field:"mountpoint.path,handler:ResolveMountPointPath"` // SECLDoc[mountpoint.path] Definition:`Path of the mount point` - MountSourcePath string `field:"source.path,handler:ResolveMountSourcePath"` // SECLDoc[source.path] Definition:`Source path of a bind mount` - MountRootPath string `field:"root.path,handler:ResolveMountRootPath"` // SECLDoc[root.path] Definition:`Root path of the mount` + MountPointPath string `field:"mountpoint.path,handler:ResolveMountPointPath,opts:gen_getters"` // SECLDoc[mountpoint.path] Definition:`Path of the mount point` + MountSourcePath string `field:"source.path,handler:ResolveMountSourcePath"` // SECLDoc[source.path] Definition:`Source path of a bind mount` + MountRootPath string `field:"root.path,handler:ResolveMountRootPath,opts:gen_getters"` // SECLDoc[root.path] Definition:`Root path of the mount` MountPointPathResolutionError error `field:"-"` MountSourcePathResolutionError error `field:"-"` MountRootPathResolutionError error `field:"-"` @@ -461,8 +461,8 @@ type SELinuxEvent struct { // PIDContext holds the process context of a kernel event type PIDContext struct { - Pid uint32 `field:"pid"` // SECLDoc[pid] Definition:`Process ID of the process (also called thread group ID)` - Tid uint32 `field:"tid"` // SECLDoc[tid] Definition:`Thread ID of the thread` + Pid uint32 `field:"pid,opts:gen_getters"` // SECLDoc[pid] Definition:`Process ID of the process (also called thread group ID)` + Tid uint32 `field:"tid"` // SECLDoc[tid] Definition:`Thread ID of the thread` NetNS uint32 `field:"-"` IsKworker bool `field:"is_kworker"` // SECLDoc[is_kworker] Definition:`Indicates whether the process is a kworker` ExecInode uint64 `field:"-"` // used to track exec and event loss diff --git a/pkg/security/secl/model/model_windows.go b/pkg/security/secl/model/model_windows.go index 5305dfee0b71c8..8fe667c85f2a64 100644 --- a/pkg/security/secl/model/model_windows.go +++ b/pkg/security/secl/model/model_windows.go @@ -49,9 +49,9 @@ type Event struct { // FileEvent is the common file event type type FileEvent struct { - FileObject uint64 `field:"-"` // handle numeric value - PathnameStr string `field:"path,handler:ResolveFilePath,opts:length" op_override:"eval.WindowsPathCmp"` // SECLDoc[path] Definition:`File's path` Example:`exec.file.path == "c:\cmd.bat"` Description:`Matches the execution of the file located at c:\cmd.bat` - BasenameStr string `field:"name,handler:ResolveFileBasename,opts:length" op_override:"eval.CaseInsensitiveCmp"` // SECLDoc[name] Definition:`File's basename` Example:`exec.file.name == "cmd.bat"` Description:`Matches the execution of any file named cmd.bat.` + FileObject uint64 `field:"-"` // handle numeric value + PathnameStr string `field:"path,handler:ResolveFilePath,opts:length|gen_getters" op_override:"eval.WindowsPathCmp"` // SECLDoc[path] Definition:`File's path` Example:`exec.file.path == "c:\cmd.bat"` Description:`Matches the execution of the file located at c:\cmd.bat` + BasenameStr string `field:"name,handler:ResolveFileBasename,opts:length" op_override:"eval.CaseInsensitiveCmp"` // SECLDoc[name] Definition:`File's basename` Example:`exec.file.name == "cmd.bat"` Description:`Matches the execution of any file named cmd.bat.` } // FimFileEvent is the common file event type @@ -76,12 +76,12 @@ type Process struct { ContainerID string `field:"container.id"` // SECLDoc[container.id] Definition:`Container ID` - ExitTime time.Time `field:"exit_time,opts:getters_only"` - ExecTime time.Time `field:"exec_time,opts:getters_only"` + ExitTime time.Time `field:"exit_time,opts:getters_only|gen_getters"` + ExecTime time.Time `field:"exec_time,opts:getters_only|gen_getters"` CreatedAt uint64 `field:"created_at,handler:ResolveProcessCreatedAt"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the process` - PPid uint32 `field:"ppid"` // SECLDoc[ppid] Definition:`Parent process ID` + PPid uint32 `field:"ppid,opts:gen_getters"` // SECLDoc[ppid] Definition:`Parent process ID` ArgsEntry *ArgsEntry `field:"-"` EnvsEntry *EnvsEntry `field:"-"` @@ -92,8 +92,8 @@ type Process struct { OwnerSidString string `field:"user_sid"` // SECLDoc[user_sid] Definition:`Sid of the user of the process` User string `field:"user,handler:ResolveUser"` // SECLDoc[user] Definition:`User name` - Envs []string `field:"envs,handler:ResolveProcessEnvs,weight:100"` // SECLDoc[envs] Definition:`Environment variable names of the process` - Envp []string `field:"envp,handler:ResolveProcessEnvp,weight:100"` // SECLDoc[envp] Definition:`Environment variables of the process` // SECLDoc[envp] Definition:`Environment variables of the process` + Envs []string `field:"envs,handler:ResolveProcessEnvs,weight:100"` // SECLDoc[envs] Definition:`Environment variable names of the process` + Envp []string `field:"envp,handler:ResolveProcessEnvp,weight:100,opts:gen_getters"` // SECLDoc[envp] Definition:`Environment variables of the process` // SECLDoc[envp] Definition:`Environment variables of the process` // cache version Variables eval.Variables `field:"-"` @@ -107,7 +107,7 @@ type ExecEvent struct { // PIDContext holds the process context of an kernel event type PIDContext struct { - Pid uint32 `field:"pid"` // SECLDoc[pid] Definition:`Process ID of the process (also called thread group ID)` + Pid uint32 `field:"pid,opts:gen_getters"` // SECLDoc[pid] Definition:`Process ID of the process (also called thread group ID)` } // NetworkDeviceContext defines a network device context diff --git a/pkg/security/seclwin/model/accessors_win.go b/pkg/security/seclwin/model/accessors_win.go index 59657ab46699cd..b9e4ad9b5e0b91 100644 --- a/pkg/security/seclwin/model/accessors_win.go +++ b/pkg/security/seclwin/model/accessors_win.go @@ -10,11 +10,13 @@ import ( "github.com/DataDog/datadog-agent/pkg/security/secl/compiler/eval" "github.com/DataDog/datadog-agent/pkg/security/secl/containerutils" "math" + "net" "reflect" ) // to always require the math package var _ = math.MaxUint16 +var _ = net.IP{} func (m *Model) GetEventTypes() []eval.EventType { return []eval.EventType{ diff --git a/pkg/security/seclwin/model/model.go b/pkg/security/seclwin/model/model.go index 9a6ae500f2d6fa..5669d3d60fb225 100644 --- a/pkg/security/seclwin/model/model.go +++ b/pkg/security/seclwin/model/model.go @@ -72,9 +72,9 @@ func (r *Releasable) AppendReleaseCallback(callback func()) { // ContainerContext holds the container context of an event type ContainerContext struct { Releasable - ContainerID containerutils.ContainerID `field:"id,handler:ResolveContainerID"` // SECLDoc[id] Definition:`ID of the container` - CreatedAt uint64 `field:"created_at,handler:ResolveContainerCreatedAt"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the container`` - Tags []string `field:"tags,handler:ResolveContainerTags,opts:skip_ad,weight:9999"` // SECLDoc[tags] Definition:`Tags of the container` + ContainerID containerutils.ContainerID `field:"id,handler:ResolveContainerID,opts:gen_getters"` // SECLDoc[id] Definition:`ID of the container` + CreatedAt uint64 `field:"created_at,handler:ResolveContainerCreatedAt,opts:gen_getters"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the container`` + Tags []string `field:"tags,handler:ResolveContainerTags,opts:skip_ad,weight:9999"` // SECLDoc[tags] Definition:`Tags of the container` Resolved bool `field:"-"` Runtime string `field:"runtime,handler:ResolveContainerRuntime"` // SECLDoc[runtime] Definition:`Runtime managing the container` } @@ -124,13 +124,13 @@ type BaseEvent struct { Type uint32 `field:"-"` Flags uint32 `field:"-"` TimestampRaw uint64 `field:"event.timestamp,handler:ResolveEventTimestamp"` // SECLDoc[event.timestamp] Definition:`Timestamp of the event` - Timestamp time.Time `field:"timestamp,opts:getters_only,handler:ResolveEventTime"` + Timestamp time.Time `field:"timestamp,opts:getters_only|gen_getters,handler:ResolveEventTime"` Rules []*MatchedRule `field:"-"` ActionReports []ActionReport `field:"-"` - Os string `field:"event.os"` // SECLDoc[event.os] Definition:`Operating system of the event` - Origin string `field:"event.origin"` // SECLDoc[event.origin] Definition:`Origin of the event` - Service string `field:"event.service,handler:ResolveService,opts:skip_ad"` // SECLDoc[event.service] Definition:`Service associated with the event` - Hostname string `field:"event.hostname,handler:ResolveHostname"` // SECLDoc[event.hostname] Definition:`Hostname associated with the event` + Os string `field:"event.os"` // SECLDoc[event.os] Definition:`Operating system of the event` + Origin string `field:"event.origin"` // SECLDoc[event.origin] Definition:`Origin of the event` + Service string `field:"event.service,handler:ResolveService,opts:skip_ad|gen_getters"` // SECLDoc[event.service] Definition:`Service associated with the event` + Hostname string `field:"event.hostname,handler:ResolveHostname"` // SECLDoc[event.hostname] Definition:`Hostname associated with the event` // context shared with all events ProcessContext *ProcessContext `field:"process"` @@ -570,8 +570,8 @@ type ProcessContext struct { // ExitEvent represents a process exit event type ExitEvent struct { *Process - Cause uint32 `field:"cause"` // SECLDoc[cause] Definition:`Cause of the process termination (one of EXITED, SIGNALED, COREDUMPED)` - Code uint32 `field:"code"` // SECLDoc[code] Definition:`Exit code of the process or number of the signal that caused the process to terminate` + Cause uint32 `field:"cause"` // SECLDoc[cause] Definition:`Cause of the process termination (one of EXITED, SIGNALED, COREDUMPED)` + Code uint32 `field:"code,opts:gen_getters"` // SECLDoc[code] Definition:`Exit code of the process or number of the signal that caused the process to terminate` } // DNSEvent represents a DNS event diff --git a/pkg/security/seclwin/model/model_win.go b/pkg/security/seclwin/model/model_win.go index 5305dfee0b71c8..8fe667c85f2a64 100644 --- a/pkg/security/seclwin/model/model_win.go +++ b/pkg/security/seclwin/model/model_win.go @@ -49,9 +49,9 @@ type Event struct { // FileEvent is the common file event type type FileEvent struct { - FileObject uint64 `field:"-"` // handle numeric value - PathnameStr string `field:"path,handler:ResolveFilePath,opts:length" op_override:"eval.WindowsPathCmp"` // SECLDoc[path] Definition:`File's path` Example:`exec.file.path == "c:\cmd.bat"` Description:`Matches the execution of the file located at c:\cmd.bat` - BasenameStr string `field:"name,handler:ResolveFileBasename,opts:length" op_override:"eval.CaseInsensitiveCmp"` // SECLDoc[name] Definition:`File's basename` Example:`exec.file.name == "cmd.bat"` Description:`Matches the execution of any file named cmd.bat.` + FileObject uint64 `field:"-"` // handle numeric value + PathnameStr string `field:"path,handler:ResolveFilePath,opts:length|gen_getters" op_override:"eval.WindowsPathCmp"` // SECLDoc[path] Definition:`File's path` Example:`exec.file.path == "c:\cmd.bat"` Description:`Matches the execution of the file located at c:\cmd.bat` + BasenameStr string `field:"name,handler:ResolveFileBasename,opts:length" op_override:"eval.CaseInsensitiveCmp"` // SECLDoc[name] Definition:`File's basename` Example:`exec.file.name == "cmd.bat"` Description:`Matches the execution of any file named cmd.bat.` } // FimFileEvent is the common file event type @@ -76,12 +76,12 @@ type Process struct { ContainerID string `field:"container.id"` // SECLDoc[container.id] Definition:`Container ID` - ExitTime time.Time `field:"exit_time,opts:getters_only"` - ExecTime time.Time `field:"exec_time,opts:getters_only"` + ExitTime time.Time `field:"exit_time,opts:getters_only|gen_getters"` + ExecTime time.Time `field:"exec_time,opts:getters_only|gen_getters"` CreatedAt uint64 `field:"created_at,handler:ResolveProcessCreatedAt"` // SECLDoc[created_at] Definition:`Timestamp of the creation of the process` - PPid uint32 `field:"ppid"` // SECLDoc[ppid] Definition:`Parent process ID` + PPid uint32 `field:"ppid,opts:gen_getters"` // SECLDoc[ppid] Definition:`Parent process ID` ArgsEntry *ArgsEntry `field:"-"` EnvsEntry *EnvsEntry `field:"-"` @@ -92,8 +92,8 @@ type Process struct { OwnerSidString string `field:"user_sid"` // SECLDoc[user_sid] Definition:`Sid of the user of the process` User string `field:"user,handler:ResolveUser"` // SECLDoc[user] Definition:`User name` - Envs []string `field:"envs,handler:ResolveProcessEnvs,weight:100"` // SECLDoc[envs] Definition:`Environment variable names of the process` - Envp []string `field:"envp,handler:ResolveProcessEnvp,weight:100"` // SECLDoc[envp] Definition:`Environment variables of the process` // SECLDoc[envp] Definition:`Environment variables of the process` + Envs []string `field:"envs,handler:ResolveProcessEnvs,weight:100"` // SECLDoc[envs] Definition:`Environment variable names of the process` + Envp []string `field:"envp,handler:ResolveProcessEnvp,weight:100,opts:gen_getters"` // SECLDoc[envp] Definition:`Environment variables of the process` // SECLDoc[envp] Definition:`Environment variables of the process` // cache version Variables eval.Variables `field:"-"` @@ -107,7 +107,7 @@ type ExecEvent struct { // PIDContext holds the process context of an kernel event type PIDContext struct { - Pid uint32 `field:"pid"` // SECLDoc[pid] Definition:`Process ID of the process (also called thread group ID)` + Pid uint32 `field:"pid,opts:gen_getters"` // SECLDoc[pid] Definition:`Process ID of the process (also called thread group ID)` } // NetworkDeviceContext defines a network device context diff --git a/pkg/security/security_profile/activity_tree/activity_tree_proto_dec_v1.go b/pkg/security/security_profile/activity_tree/activity_tree_proto_dec_v1.go index efa5b301b31fc3..7b06a33a48e75d 100644 --- a/pkg/security/security_profile/activity_tree/activity_tree_proto_dec_v1.go +++ b/pkg/security/security_profile/activity_tree/activity_tree_proto_dec_v1.go @@ -39,7 +39,7 @@ func protoDecodeProcessActivityNode(parent ProcessNodeParent, pan *adproto.Proce DNSNames: make(map[string]*DNSNode, len(pan.DnsNames)), IMDSEvents: make(map[model.IMDSEvent]*IMDSNode, len(pan.ImdsEvents)), Sockets: make([]*SocketNode, 0, len(pan.Sockets)), - Syscalls: make([]*SyscallNode, 0, len(pan.Syscalls)), + Syscalls: make([]*SyscallNode, 0, len(pan.Syscalls)), // nolint:staticcheck // TODO: update syscall functionality ImageTags: pan.ImageTags, } @@ -73,7 +73,7 @@ func protoDecodeProcessActivityNode(parent ProcessNodeParent, pan *adproto.Proce ppan.Sockets = append(ppan.Sockets, protoDecodeProtoSocket(socket)) } - for _, sysc := range pan.Syscalls { + for _, sysc := range pan.Syscalls { // nolint:staticcheck // TODO: update syscall functionality ppan.Syscalls = append(ppan.Syscalls, NewSyscallNode(int(sysc), "", Unknown)) } diff --git a/pkg/security/security_profile/activity_tree/activity_tree_proto_enc_v1.go b/pkg/security/security_profile/activity_tree/activity_tree_proto_enc_v1.go index 3897b5a160fe97..a7b8a7f87cccd1 100644 --- a/pkg/security/security_profile/activity_tree/activity_tree_proto_enc_v1.go +++ b/pkg/security/security_profile/activity_tree/activity_tree_proto_enc_v1.go @@ -71,7 +71,7 @@ func processActivityNodeToProto(pan *ProcessNode) *adproto.ProcessActivityNode { } for _, sysc := range pan.Syscalls { - ppan.Syscalls = append(ppan.Syscalls, uint32(sysc.Syscall)) + ppan.Syscalls = append(ppan.Syscalls, uint32(sysc.Syscall)) // nolint:staticcheck // TODO: update syscall functionality } return ppan diff --git a/pkg/serializer/go.mod b/pkg/serializer/go.mod index ca37d5591bbca9..75b4d887ddb56f 100644 --- a/pkg/serializer/go.mod +++ b/pkg/serializer/go.mod @@ -179,9 +179,9 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/serializer/go.sum b/pkg/serializer/go.sum index 9b5b8346314644..65d7c44ece3191 100644 --- a/pkg/serializer/go.sum +++ b/pkg/serializer/go.sum @@ -300,8 +300,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -322,8 +322,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -347,8 +347,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/pkg/tagger/types/types.go b/pkg/tagger/types/types.go index 24f6d2f9dbcbd7..b3b3777a2521fe 100644 --- a/pkg/tagger/types/types.go +++ b/pkg/tagger/types/types.go @@ -11,7 +11,6 @@ import "github.com/DataDog/datadog-agent/comp/core/tagger/origindetection" // OriginInfo contains the Origin Detection information. type OriginInfo struct { ContainerIDFromSocket string // ContainerIDFromSocket is the origin resolved using Unix Domain Socket. - PodUID string // PodUID is the origin resolved from the Kubernetes Pod UID. LocalData origindetection.LocalData // LocalData is the local data list. ExternalData origindetection.ExternalData // ExternalData is the external data list. Cardinality string // Cardinality is the cardinality of the resolved origin. diff --git a/pkg/telemetry/go.mod b/pkg/telemetry/go.mod index 287d2f7c2d43d9..b5a1cd3acf80d9 100644 --- a/pkg/telemetry/go.mod +++ b/pkg/telemetry/go.mod @@ -36,7 +36,7 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/telemetry/go.sum b/pkg/telemetry/go.sum index 10821baf20ca50..7876379335b72c 100644 --- a/pkg/telemetry/go.sum +++ b/pkg/telemetry/go.sum @@ -50,8 +50,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/trace/go.mod b/pkg/trace/go.mod index d53e52a864f93e..15614e9b06cbd0 100644 --- a/pkg/trace/go.mod +++ b/pkg/trace/go.mod @@ -43,7 +43,7 @@ require ( go.opentelemetry.io/otel v1.33.0 go.opentelemetry.io/otel/metric v1.33.0 go.uber.org/atomic v1.11.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 golang.org/x/time v0.8.0 google.golang.org/grpc v1.69.2 google.golang.org/protobuf v1.36.1 @@ -111,7 +111,7 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect diff --git a/pkg/trace/go.sum b/pkg/trace/go.sum index 99a858e70d43c5..4382033173166b 100644 --- a/pkg/trace/go.sum +++ b/pkg/trace/go.sum @@ -320,8 +320,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f h1:XdNn9LlyWAhLVp6P/i8QYBW+hlyhrhei9uErw2B5GJo= golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod h1:D5SMRVC3C2/4+F/DB1wZsLRnSNimn2Sp/NPsCrsv8ak= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -337,8 +337,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -359,8 +359,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/pkg/trace/stats/oteltest/go.mod b/pkg/trace/stats/oteltest/go.mod index 82a90e30515697..31b9d3ac426625 100644 --- a/pkg/trace/stats/oteltest/go.mod +++ b/pkg/trace/stats/oteltest/go.mod @@ -78,8 +78,8 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.8.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect diff --git a/pkg/trace/stats/oteltest/go.sum b/pkg/trace/stats/oteltest/go.sum index 2c90acfe2d1d45..5a66da74a59599 100644 --- a/pkg/trace/stats/oteltest/go.sum +++ b/pkg/trace/stats/oteltest/go.sum @@ -188,8 +188,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -198,8 +198,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -216,8 +216,8 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/pkg/util/cgroups/go.mod b/pkg/util/cgroups/go.mod index 2c3367685bad25..9fd9c1c327419f 100644 --- a/pkg/util/cgroups/go.mod +++ b/pkg/util/cgroups/go.mod @@ -29,7 +29,7 @@ require ( github.com/opencontainers/runtime-spec v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect google.golang.org/protobuf v1.36.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/util/cgroups/go.sum b/pkg/util/cgroups/go.sum index 5ec885578794e9..bc03edb48a9567 100644 --- a/pkg/util/cgroups/go.sum +++ b/pkg/util/cgroups/go.sum @@ -31,8 +31,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/util/defaultpaths/go.mod b/pkg/util/defaultpaths/go.mod index 0f0c498c8154ef..5bfcfd0b30df44 100644 --- a/pkg/util/defaultpaths/go.mod +++ b/pkg/util/defaultpaths/go.mod @@ -13,7 +13,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/executable v0.56.0-rc.3 github.com/DataDog/datadog-agent/pkg/util/log v0.56.0-rc.3 github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.0-rc.3 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/pkg/util/defaultpaths/go.sum b/pkg/util/defaultpaths/go.sum index 82beecfd023fb3..3053742cabe86e 100644 --- a/pkg/util/defaultpaths/go.sum +++ b/pkg/util/defaultpaths/go.sum @@ -16,8 +16,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/util/filesystem/go.mod b/pkg/util/filesystem/go.mod index 278ca255965580..e5c30b2381b7b4 100644 --- a/pkg/util/filesystem/go.mod +++ b/pkg/util/filesystem/go.mod @@ -15,7 +15,7 @@ require ( github.com/hectane/go-acl v0.0.0-20230122075934-ca0b05cb1adb github.com/shirou/gopsutil/v4 v4.24.11 github.com/stretchr/testify v1.10.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/pkg/util/filesystem/go.sum b/pkg/util/filesystem/go.sum index 7c87d03c256045..e08c5945245cf8 100644 --- a/pkg/util/filesystem/go.sum +++ b/pkg/util/filesystem/go.sum @@ -31,8 +31,8 @@ golang.org/x/sys v0.0.0-20190529164535-6a60838ec259/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/util/flavor/go.mod b/pkg/util/flavor/go.mod index b922ed4d034831..c582fea783d845 100644 --- a/pkg/util/flavor/go.mod +++ b/pkg/util/flavor/go.mod @@ -80,8 +80,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/util/flavor/go.sum b/pkg/util/flavor/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/util/flavor/go.sum +++ b/pkg/util/flavor/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/util/fxutil/go.mod b/pkg/util/fxutil/go.mod index f8497000ef3b33..b5e870c77f0cfc 100644 --- a/pkg/util/fxutil/go.mod +++ b/pkg/util/fxutil/go.mod @@ -24,6 +24,6 @@ require ( go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/util/fxutil/go.sum b/pkg/util/fxutil/go.sum index 3dcc180d9ba1c4..66bf0027fa26bb 100644 --- a/pkg/util/fxutil/go.sum +++ b/pkg/util/fxutil/go.sum @@ -28,8 +28,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/util/grpc/go.mod b/pkg/util/grpc/go.mod index 3845e08522e84c..f98e62c64f498c 100644 --- a/pkg/util/grpc/go.mod +++ b/pkg/util/grpc/go.mod @@ -40,7 +40,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/log v0.59.1 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 github.com/stretchr/testify v1.10.0 - golang.org/x/net v0.33.0 + golang.org/x/net v0.34.0 google.golang.org/grpc v1.69.2 ) @@ -96,9 +96,9 @@ require ( go.opentelemetry.io/otel/metric v1.33.0 // indirect go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect diff --git a/pkg/util/grpc/go.sum b/pkg/util/grpc/go.sum index ec9ca71d0b5b8e..821cbf3a635399 100644 --- a/pkg/util/grpc/go.sum +++ b/pkg/util/grpc/go.sum @@ -287,8 +287,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -311,8 +311,8 @@ golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= @@ -339,8 +339,8 @@ golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= diff --git a/pkg/util/http/go.mod b/pkg/util/http/go.mod index 2fdd45fde405bf..31b552c2253066 100644 --- a/pkg/util/http/go.mod +++ b/pkg/util/http/go.mod @@ -35,7 +35,7 @@ require ( github.com/DataDog/datadog-agent/pkg/config/model v0.59.0 github.com/DataDog/datadog-agent/pkg/util/log v0.59.1 github.com/stretchr/testify v1.10.0 - golang.org/x/net v0.33.0 + golang.org/x/net v0.34.0 ) require ( @@ -82,8 +82,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/util/http/go.sum b/pkg/util/http/go.sum index b3d38a012db24f..50a5cad92768f3 100644 --- a/pkg/util/http/go.sum +++ b/pkg/util/http/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -253,8 +253,8 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -274,8 +274,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/util/kubernetes/apiserver/apiserver.go b/pkg/util/kubernetes/apiserver/apiserver.go index d96a07666fbff3..7e83e31c23925e 100644 --- a/pkg/util/kubernetes/apiserver/apiserver.go +++ b/pkg/util/kubernetes/apiserver/apiserver.go @@ -697,3 +697,18 @@ func (c *APIClient) NewSPDYExecutor(apiPath string, groupVersion *schema.GroupVe return remotecommand.NewSPDYExecutor(clientConfig, method, url) } + +// GetKubeSecret fetches a secret from k8s +func GetKubeSecret(namespace string, name string) (map[string][]byte, error) { + kubeClient, err := GetKubeClient(10*time.Second, 0, 0) // Default QPS and burst to Kube client defaults using 0) + if err != nil { + return nil, err + } + + secret, err := kubeClient.CoreV1().Secrets(namespace).Get(context.TODO(), name, metav1.GetOptions{}) + if err != nil { + return nil, err + } + + return secret.Data, nil +} diff --git a/pkg/util/kubernetes/apiserver/apiserver_nocompile.go b/pkg/util/kubernetes/apiserver/apiserver_nocompile.go index 5c34f2e7105e04..2b17bf65ff3d9d 100644 --- a/pkg/util/kubernetes/apiserver/apiserver_nocompile.go +++ b/pkg/util/kubernetes/apiserver/apiserver_nocompile.go @@ -11,9 +11,6 @@ package apiserver import ( "context" "errors" - "time" - - "k8s.io/client-go/kubernetes" apiv1 "github.com/DataDog/datadog-agent/pkg/clusteragent/api/v1" "github.com/DataDog/datadog-agent/pkg/util/log" @@ -64,9 +61,7 @@ func GetNodeLabels(_ *APIClient, _ string) (map[string]string, error) { return nil, nil } -// GetKubeClient returns a Kubernetes client. -// -//nolint:revive // TODO(CINT) Fix revive linter -func GetKubeClient(_ time.Duration, _ float32, _ int) (kubernetes.Interface, error) { +// GetKubeSecret fetches a secret from k8s +func GetKubeSecret(string, string) (map[string][]byte, error) { return nil, ErrNotCompiled } diff --git a/pkg/util/log/setup/go.mod b/pkg/util/log/setup/go.mod index 6ab67190be58e3..6016b33d8a7d42 100644 --- a/pkg/util/log/setup/go.mod +++ b/pkg/util/log/setup/go.mod @@ -81,8 +81,8 @@ require ( github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/pkg/util/log/setup/go.sum b/pkg/util/log/setup/go.sum index 3e56246473d5fa..d645feab1be0ad 100644 --- a/pkg/util/log/setup/go.sum +++ b/pkg/util/log/setup/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -272,8 +272,8 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/util/system/go.mod b/pkg/util/system/go.mod index e6ad2fcd805ba8..0e8d3e2366cbb4 100644 --- a/pkg/util/system/go.mod +++ b/pkg/util/system/go.mod @@ -20,7 +20,7 @@ require ( github.com/shirou/gopsutil/v4 v4.24.11 github.com/stretchr/testify v1.10.0 go.uber.org/atomic v1.11.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/pkg/util/system/go.sum b/pkg/util/system/go.sum index 30c4f119b4bf32..68f1810caebeb1 100644 --- a/pkg/util/system/go.sum +++ b/pkg/util/system/go.sum @@ -39,8 +39,8 @@ golang.org/x/sys v0.0.0-20190529164535-6a60838ec259/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/util/system/socket/go.mod b/pkg/util/system/socket/go.mod index adca0da3a1292c..3e819eb44b268c 100644 --- a/pkg/util/system/socket/go.mod +++ b/pkg/util/system/socket/go.mod @@ -4,4 +4,4 @@ go 1.22.0 require github.com/Microsoft/go-winio v0.6.2 -require golang.org/x/sys v0.28.0 // indirect +require golang.org/x/sys v0.29.0 // indirect diff --git a/pkg/util/system/socket/go.sum b/pkg/util/system/socket/go.sum index d723dbfa45f9e5..49ae43c226a643 100644 --- a/pkg/util/system/socket/go.sum +++ b/pkg/util/system/socket/go.sum @@ -1,4 +1,4 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= diff --git a/pkg/util/uuid/go.mod b/pkg/util/uuid/go.mod index abfac7302bf9cd..64ceeb0f0b49a3 100644 --- a/pkg/util/uuid/go.mod +++ b/pkg/util/uuid/go.mod @@ -12,7 +12,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/cache v0.56.0-rc.3 github.com/DataDog/datadog-agent/pkg/util/log v0.56.0-rc.3 github.com/shirou/gopsutil/v4 v4.24.11 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/pkg/util/uuid/go.sum b/pkg/util/uuid/go.sum index f3c3cbafaf95a4..3d7e69460b4ca4 100644 --- a/pkg/util/uuid/go.sum +++ b/pkg/util/uuid/go.sum @@ -38,8 +38,8 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/util/winutil/go.mod b/pkg/util/winutil/go.mod index 172db988efae79..4c0f5af1ed70df 100644 --- a/pkg/util/winutil/go.mod +++ b/pkg/util/winutil/go.mod @@ -12,7 +12,7 @@ require ( github.com/fsnotify/fsnotify v1.8.0 github.com/stretchr/testify v1.10.0 go.uber.org/atomic v1.11.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/pkg/util/winutil/go.sum b/pkg/util/winutil/go.sum index 788135f619bbba..00e94596df21d0 100644 --- a/pkg/util/winutil/go.sum +++ b/pkg/util/winutil/go.sum @@ -16,8 +16,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/util/winutil/users.go b/pkg/util/winutil/users.go index be17fe6a7cdb2a..0f341f34f95d4b 100644 --- a/pkg/util/winutil/users.go +++ b/pkg/util/winutil/users.go @@ -43,25 +43,32 @@ func GetSidFromUser() (*windows.SID, error) { } // IsUserAnAdmin returns true is a user is a member of the Administrator's group -// TODO: Microsoft does not recommend using this function, instead CheckTokenMembership should be used. // // https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-isuseranadmin // //revive:disable-next-line:var-naming Name is intended to match the Windows API name func IsUserAnAdmin() (bool, error) { - shell32 := windows.NewLazySystemDLL("Shell32.dll") - defer windows.FreeLibrary(windows.Handle(shell32.Handle())) - - isUserAnAdminProc := shell32.NewProc("IsUserAnAdmin") - ret, _, winError := isUserAnAdminProc.Call() - - if winError != windows.NTE_OP_OK { - return false, fmt.Errorf("IsUserAnAdmin returns error code %d", winError) + var administratorsGroup *windows.SID + err := windows.AllocateAndInitializeSid(&windows.SECURITY_NT_AUTHORITY, + 2, + windows.SECURITY_BUILTIN_DOMAIN_RID, + windows.DOMAIN_ALIAS_RID_ADMINS, + 0, 0, 0, 0, 0, 0, + &administratorsGroup) + if err != nil { + return false, fmt.Errorf("could not get local system SID: %s", err) } - if ret == 0 { - return false, nil + defer windows.FreeSid(administratorsGroup) + + // call CheckTokenMembership to determine if the current user is a member of the administrators group + var isAdmin bool + err = CheckTokenMembership(0, administratorsGroup, &isAdmin) + if err != nil { + return false, fmt.Errorf("could not check token membership: %s", err) } - return true, nil + + return isAdmin, nil + } // GetLocalSystemSID returns the SID of the Local System account diff --git a/pkg/util/winutil/winsec.go b/pkg/util/winutil/winsec.go index e48762e7efe81f..391b986e36fcf2 100644 --- a/pkg/util/winutil/winsec.go +++ b/pkg/util/winutil/winsec.go @@ -21,6 +21,7 @@ var ( procGetAclInformation = advapi32.NewProc("GetAclInformation") procGetNamedSecurityInfo = advapi32.NewProc("GetNamedSecurityInfoW") procGetAce = advapi32.NewProc("GetAce") + procCheckTokenMembership = advapi32.NewProc("CheckTokenMembership") //revive:enable:var-naming ) @@ -133,3 +134,23 @@ func GetAce(acl *ACL, index uint32, ace **ACCESS_ALLOWED_ACE) error { } return nil } + +// CheckTokenMembership calls Windows 'CheckTokenMembership' function to determine +// whether a specified security identifier (SID) is enabled in the access token +// +// https://learn.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-checktokenmembership +// +//revive:disable-next-line:var-naming Name is intended to match the Windows API name +func CheckTokenMembership(token windows.Token, sid *windows.SID, isMember *bool) error { + var isMemberInt int32 + ret, _, _ := procCheckTokenMembership.Call( + uintptr(token), + uintptr(unsafe.Pointer(sid)), + uintptr(unsafe.Pointer(&isMemberInt)), + ) + if int(ret) == 0 { + return windows.GetLastError() + } + *isMember = isMemberInt != 0 + return nil +} diff --git a/releasenotes/notes/agent-tel-default-prom-reg-05cac59d8cfae3cc.yaml b/releasenotes/notes/agent-tel-default-prom-reg-05cac59d8cfae3cc.yaml new file mode 100644 index 00000000000000..cd0c4b432d75d2 --- /dev/null +++ b/releasenotes/notes/agent-tel-default-prom-reg-05cac59d8cfae3cc.yaml @@ -0,0 +1,13 @@ +# Each section from every release note are combined when the +# CHANGELOG.rst is rendered. So the text needs to be worded so that +# it does not depend on any information only available in another +# section. This may mean repeating some details, but each section +# must be readable independently of the other. +# +# Each section note must be formatted as reStructuredText. +--- +enhancements: + - | + Begin collecting metrics from all internal Prometheus registries. Previously, + the default registry was ignored, resulting in the omission of the `point.sent` + and `point.dropped` metrics. This change ensures that all metrics are collected. diff --git a/releasenotes/notes/fix-us-user-admin-86b7a987ea599402.yaml b/releasenotes/notes/fix-us-user-admin-86b7a987ea599402.yaml new file mode 100644 index 00000000000000..8ed2b8b8476f47 --- /dev/null +++ b/releasenotes/notes/fix-us-user-admin-86b7a987ea599402.yaml @@ -0,0 +1,11 @@ +# Each section from every release note are combined when the +# CHANGELOG.rst is rendered. So the text needs to be worded so that +# it does not depend on any information only available in another +# section. This may mean repeating some details, but each section +# must be readable independently of the other. +# +# Each section note must be formatted as reStructuredText. +--- +fixes: + - | + Fix IsUserAnAdmin call on Windows to use correct API. diff --git a/tasks/build_tags.py b/tasks/build_tags.py index 05d6af936959bf..cfcbb3c340ece4 100644 --- a/tasks/build_tags.py +++ b/tasks/build_tags.py @@ -165,6 +165,7 @@ # SYSTEM_PROBE_TAGS lists the tags necessary to build system-probe SYSTEM_PROBE_TAGS = { "datadog.no_waf", + "no_dynamic_plugins", "ec2", "linux_bpf", "netcgo", diff --git a/tasks/components.py b/tasks/components.py index fc5b04806ce04b..0d0c1315179ba7 100644 --- a/tasks/components.py +++ b/tasks/components.py @@ -214,7 +214,7 @@ def check_component_contents_and_file_hiearchy(comp): # Definition file `component.go` (v1) or `def/component.go` (v2) must not contain a mock definition for mock_definition in mock_definitions: if any(line.startswith(mock_definition) for line in def_content): - return f"** {comp.def_file} defines '{mock_definition}' which should be in separate implementation. See docs/components/defining-components.md" + return f"** {comp.def_file} defines '{mock_definition}' which should be in separate implementation. See https://datadoghq.dev/datadog-agent/components/creating-components/" # Allowlist of components that do not use an implementation folder if comp.path in components_missing_implementation_folder: @@ -223,7 +223,7 @@ def check_component_contents_and_file_hiearchy(comp): # Implementation folder or folders must exist impl_folders = locate_implementation_folders(comp) if len(impl_folders) == 0: - return f"** {comp.name} is missing the implementation folder in {comp.path}. See docs/components/defining-components.md" + return f"** {comp.name} is missing the implementation folder in {comp.path}. See https://datadoghq.dev/datadog-agent/components/creating-components/" if comp.version == 2: # Implementation source files should use correct package name, and shouldn't import fx (except tests) diff --git a/tasks/libs/common/git.py b/tasks/libs/common/git.py index 7981c96f4cc4e2..bf6383b103c7fb 100644 --- a/tasks/libs/common/git.py +++ b/tasks/libs/common/git.py @@ -161,7 +161,7 @@ def check_base_branch(branch, release_version): Checks if the given branch is either the default branch or the release branch associated with the given release version. """ - return branch == get_default_branch() or branch == release_version.branch() + return branch == get_default_branch() or branch == release_version def try_git_command(ctx, git_command, non_interactive_retries=2, non_interactive_delay=5): diff --git a/tasks/libs/notify/utils.py b/tasks/libs/notify/utils.py index 7a87085492fe19..a816440b2330ec 100644 --- a/tasks/libs/notify/utils.py +++ b/tasks/libs/notify/utils.py @@ -55,11 +55,7 @@ def should_notify(pipeline_id): from tasks.libs.ciproviders.gitlab_api import get_pipeline pipeline = get_pipeline(PROJECT_NAME, pipeline_id) - return ( - pipeline.source != 'pipeline' - or pipeline.source == 'pipeline' - and all(var in os.environ for var in ['DDR', 'DDR_WORKFLOW_ID']) - ) + return pipeline.source != 'pipeline' or pipeline.source == 'pipeline' and 'DDR_WORKFLOW_ID' in os.environ def get_pipeline_type(pipeline): diff --git a/tasks/release.py b/tasks/release.py index 87295516eeb98a..fe7cc375b756f1 100644 --- a/tasks/release.py +++ b/tasks/release.py @@ -408,10 +408,11 @@ def create_rc(ctx, release_branch, patch_version=False, upstream="origin", slack update_branch = f"release/{new_highest_version}-{int(time.time())}" check_clean_branch_state(ctx, github, update_branch) - if not check_base_branch(release_branch, new_highest_version): + active_releases = [branch.name for branch in github.latest_unreleased_release_branches()] + if not any(check_base_branch(release_branch, unreleased_branch) for unreleased_branch in active_releases): raise Exit( color_message( - f"The branch you are on is neither {get_default_branch()} or the correct release branch ({new_highest_version.branch()}). Aborting.", + f"The branch you are on is neither {get_default_branch()} or amongst the active release branches ({active_releases}). Aborting.", "red", ), code=1, @@ -514,7 +515,7 @@ def build_rc(ctx, release_branch, patch_version=False, k8s_deployments=False): print(color_message("Checking repository state", "bold")) # Check that the base branch is valid - if not check_base_branch(release_branch, new_version): + if not check_base_branch(release_branch, new_version.branch()): raise Exit( color_message( f"The branch you are on is neither {get_default_branch()} or the correct release branch ({new_version.branch()}). Aborting.", diff --git a/tasks/system_probe.py b/tasks/system_probe.py index f0e01e1f4e8dc3..53a25237b7e2a5 100644 --- a/tasks/system_probe.py +++ b/tasks/system_probe.py @@ -1459,6 +1459,7 @@ def validate_object_file_metadata(ctx: Context, build_dir: str | Path = "pkg/ebp print(f"All {total_metadata_files} object files have valid metadata") +@task(aliases=["object-files"]) def build_object_files( ctx, major_version='7', @@ -1580,15 +1581,6 @@ def build_cws_object_files( copy_bundled_ebpf_files(ctx, arch=arch) -@task -def object_files( - ctx, kernel_release=None, with_unit_test=False, arch: str = CURRENT_ARCH, ebpf_compiler: str = 'clang' -): - build_object_files( - ctx, kernel_release=kernel_release, with_unit_test=with_unit_test, arch=arch, ebpf_compiler=ebpf_compiler - ) - - def clean_object_files(ctx, major_version='7', kernel_release=None, debug=False, strip_object_files=False): run_ninja( ctx, diff --git a/tasks/testwasher.py b/tasks/testwasher.py index 6c93e1a99357c0..519d063c0e4607 100644 --- a/tasks/testwasher.py +++ b/tasks/testwasher.py @@ -163,26 +163,37 @@ def generate_flake_finder_pipeline(ctx, n=3, generate_config=False): continue kept_job[job] = job_details - deps_job = copy.deepcopy(config["go_e2e_deps"]) - - # Remove needs, rules, extends and retry from the jobs - for job in [deps_job] + list(kept_job.values()): + # Remove rules, extends and retry from the jobs, update needs to point to parent pipeline + for job in list(kept_job.values()): _clean_job(job) new_jobs = {} - new_jobs["go_e2e_deps"] = deps_job new_jobs['variables'] = copy.deepcopy(config['variables']) new_jobs['variables']['PARENT_PIPELINE_ID'] = 'undefined' new_jobs['variables']['PARENT_COMMIT_SHA'] = 'undefined' - new_jobs['stages'] = [deps_job["stage"]] + [f'flake-finder-{i}' for i in range(n)] + new_jobs['variables']['PARENT_COMMIT_SHORT_SHA'] = 'undefined' + new_jobs['stages'] = [f'flake-finder-{i}' for i in range(n)] # Create n jobs with the same configuration for job in kept_job: for i in range(n): new_job = copy.deepcopy(kept_job[job]) new_job["stage"] = f"flake-finder-{i}" - new_job["dependencies"] = ["go_e2e_deps"] if 'variables' in new_job: + # Variables that reference the parent pipeline should be updated + for key, value in new_job['variables'].items(): + new_value = value + if not isinstance(value, str): + continue + if "CI_PIPELINE_ID" in value: + new_value = new_value.replace("CI_PIPELINE_ID", "PARENT_PIPELINE_ID") + if "CI_COMMIT_SHA" in value: + new_value = new_value.replace("CI_COMMIT_SHA", "PARENT_COMMIT_SHA") + if "CI_COMMIT_SHORT_SHA" in value: + new_value = new_value.replace("CI_COMMIT_SHORT_SHA", "PARENT_COMMIT_SHORT_SHA") + + new_job['variables'][key] = new_value + if ( 'E2E_PIPELINE_ID' in new_job['variables'] and new_job['variables']['E2E_PIPELINE_ID'] == "$CI_PIPELINE_ID" @@ -196,7 +207,8 @@ def generate_flake_finder_pipeline(ctx, n=3, generate_config=False): if 'E2E_PRE_INITIALIZED' in new_job['variables']: del new_job['variables']['E2E_PRE_INITIALIZED'] new_job["rules"] = [{"when": "always"}] - new_job["needs"] = ["go_e2e_deps"] + if i > 0: + new_job["needs"].append(f"{job}-{i - 1}") new_jobs[f"{job}-{i}"] = new_job with open("flake-finder-gitlab-ci.yml", "w") as f: @@ -210,7 +222,36 @@ def _clean_job(job): """ Remove the needs, rules, extends and retry from the job """ - for step in ('needs', 'rules', 'extends', 'retry'): + for step in ('rules', 'extends', 'retry'): if step in job: del job[step] + + if 'needs' in job: + job["needs"] = _add_parent_pipeline(job["needs"]) return job + + +def _add_parent_pipeline(needs): + """ + Add the parent pipeline to the need, only for the jobs that are not the artifacts deploy jobs. + """ + + deps_to_keep = [ + "tests_windows_secagent_x64", + "tests_windows_sysprobe_x64", + "go_e2e_deps", + ] # Needs that should be kept on jobs, because the e2e test actually needs the artifact from these jobs + + new_needs = [] + for need in needs: + if isinstance(need, str): + if need not in deps_to_keep: + continue + new_needs.append({"pipeline": "$PARENT_PIPELINE_ID", "job": need}) + elif isinstance(need, dict): + if "job" in need and need["job"] not in deps_to_keep: + continue + new_needs.append({**need, "pipeline": "$PARENT_PIPELINE_ID"}) + elif isinstance(need, list): + new_needs.extend(_add_parent_pipeline(need)) + return new_needs diff --git a/test/fakeintake/aggregator/servicediscoveryAggregator.go b/test/fakeintake/aggregator/servicediscoveryAggregator.go index 0582205b34b417..258e410fe88108 100644 --- a/test/fakeintake/aggregator/servicediscoveryAggregator.go +++ b/test/fakeintake/aggregator/servicediscoveryAggregator.go @@ -34,6 +34,7 @@ type ServiceDiscoveryPayload struct { ServiceNameSource string `json:"service_name_source,omitempty"` RSSMemory uint64 `json:"rss_memory"` CPUCores float64 `json:"cpu_cores"` + ContainerID string `json:"container_id"` } `json:"payload"` } diff --git a/test/fakeintake/go.mod b/test/fakeintake/go.mod index e45c7f15a45606..9b01c6994ba60b 100644 --- a/test/fakeintake/go.mod +++ b/test/fakeintake/go.mod @@ -54,9 +54,9 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect - golang.org/x/tools v0.28.0 // indirect + golang.org/x/tools v0.29.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect modernc.org/libc v1.55.3 // indirect diff --git a/test/fakeintake/go.sum b/test/fakeintake/go.sum index d6dd0c2049f338..85b23b27d397fd 100644 --- a/test/fakeintake/go.sum +++ b/test/fakeintake/go.sum @@ -117,8 +117,8 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= @@ -127,8 +127,8 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/test/new-e2e/go.mod b/test/new-e2e/go.mod index edd91eae97e122..2d43564fb1e1cb 100644 --- a/test/new-e2e/go.mod +++ b/test/new-e2e/go.mod @@ -60,7 +60,7 @@ require ( // `TEST_INFRA_DEFINITIONS_BUILDIMAGES` matches the commit sha in the module version // Example: github.com/DataDog/test-infra-definitions v0.0.0-YYYYMMDDHHmmSS-0123456789AB // => TEST_INFRA_DEFINITIONS_BUILDIMAGES: 0123456789AB - github.com/DataDog/test-infra-definitions v0.0.0-20250110092528-f1880fef5f48 + github.com/DataDog/test-infra-definitions v0.0.0-20250110142627-9f38bc4eab68 github.com/aws/aws-sdk-go-v2 v1.32.7 github.com/aws/aws-sdk-go-v2/config v1.28.7 github.com/aws/aws-sdk-go-v2/service/ec2 v1.190.0 @@ -77,13 +77,13 @@ require ( github.com/pulumi/pulumi-aws/sdk/v6 v6.66.2 github.com/pulumi/pulumi-awsx/sdk/v2 v2.19.0 github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.19.0 - github.com/pulumi/pulumi/sdk/v3 v3.144.1 + github.com/pulumi/pulumi/sdk/v3 v3.145.0 github.com/samber/lo v1.47.0 github.com/stretchr/testify v1.10.0 github.com/xeipuuv/gojsonschema v1.2.0 - golang.org/x/crypto v0.31.0 - golang.org/x/sys v0.28.0 - golang.org/x/term v0.27.0 + golang.org/x/crypto v0.32.0 + golang.org/x/sys v0.29.0 + golang.org/x/term v0.28.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 k8s.io/api v0.31.4 @@ -117,8 +117,8 @@ require ( github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.53.1 + github.com/aws/aws-sdk-go-v2/service/ecr v1.38.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.53.2 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect @@ -158,7 +158,7 @@ require ( github.com/go-openapi/swag v0.23.0 // indirect github.com/goccy/go-json v0.10.4 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.2.3 // indirect + github.com/golang/glog v1.2.4 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect @@ -250,14 +250,14 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.starlark.net v0.0.0-20231101134539-556fd59b42f6 // indirect go.uber.org/atomic v1.11.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.33.0 + golang.org/x/net v0.34.0 golang.org/x/oauth2 v0.24.0 // indirect golang.org/x/sync v0.10.0 // indirect golang.org/x/text v0.21.0 - golang.org/x/time v0.8.0 // indirect - golang.org/x/tools v0.28.0 // indirect + golang.org/x/time v0.9.0 // indirect + golang.org/x/tools v0.29.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect google.golang.org/grpc v1.69.2 // indirect google.golang.org/protobuf v1.36.1 // indirect @@ -283,7 +283,7 @@ require ( github.com/DataDog/datadog-agent/pkg/trace v0.56.0-rc.3 github.com/DataDog/datadog-go/v5 v5.6.0 github.com/aws/aws-sdk-go v1.55.5 - github.com/aws/aws-sdk-go-v2/service/s3 v1.71.1 + github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0 github.com/aws/session-manager-plugin v0.0.0-20241119210807-82dc72922492 github.com/digitalocean/go-libvirt v0.0.0-20240812180835-9c6c0a310c6c github.com/hairyhenderson/go-codeowners v0.7.0 @@ -300,16 +300,17 @@ require ( github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect + github.com/iwdgo/sigintwindows v0.2.2 // indirect github.com/mmcloughlin/avo v0.6.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/onsi/ginkgo/v2 v2.20.2 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect - github.com/pulumi/pulumi-azure-native-sdk/authorization/v2 v2.80.0 // indirect - github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.80.0 // indirect - github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.80.0 // indirect - github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2 v2.80.0 // indirect - github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.80.0 // indirect - github.com/pulumi/pulumi-azure-native-sdk/v2 v2.80.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/authorization/v2 v2.81.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.81.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.81.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2 v2.81.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.81.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/v2 v2.81.0 // indirect github.com/pulumi/pulumi-eks/sdk/v3 v3.7.0 // indirect github.com/pulumi/pulumi-gcp/sdk/v7 v7.38.0 // indirect github.com/twinj/uuid v0.0.0-20151029044442-89173bcdda19 // indirect diff --git a/test/new-e2e/go.sum b/test/new-e2e/go.sum index 6f8ba76534033a..93792c53d0b97b 100644 --- a/test/new-e2e/go.sum +++ b/test/new-e2e/go.sum @@ -17,8 +17,8 @@ github.com/DataDog/datadog-go/v5 v5.6.0 h1:2oCLxjF/4htd55piM75baflj/KoE6VYS7alEU github.com/DataDog/datadog-go/v5 v5.6.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= github.com/DataDog/mmh3 v0.0.0-20210722141835-012dc69a9e49 h1:EbzDX8HPk5uE2FsJYxD74QmMw0/3CqSKhEr6teh0ncQ= github.com/DataDog/mmh3 v0.0.0-20210722141835-012dc69a9e49/go.mod h1:SvsjzyJlSg0rKsqYgdcFxeEVflx3ZNAyFfkUHP0TxXg= -github.com/DataDog/test-infra-definitions v0.0.0-20250110092528-f1880fef5f48 h1:fy/PFgPtyw5txZAFcLCTHC59gsUH+MVdjQw4sTDQ4Yw= -github.com/DataDog/test-infra-definitions v0.0.0-20250110092528-f1880fef5f48/go.mod h1:eotbmEI8RWRoYeF2PVITWndo5efpq6mRmpw4PXevClk= +github.com/DataDog/test-infra-definitions v0.0.0-20250110142627-9f38bc4eab68 h1:RZkqh0/yL0usvvstP4FNBWZMkJi0pVKn4/4U3uf9p6Q= +github.com/DataDog/test-infra-definitions v0.0.0-20250110142627-9f38bc4eab68/go.mod h1:l+XwYwMuZpin+jhQQZAumCaeqZAz/6b7CJ+8bBmWXYU= github.com/DataDog/zstd v1.5.6 h1:LbEglqepa/ipmmQJUDnSsfvA8e8IStVcGaFWDuxvGOY= github.com/DataDog/zstd v1.5.6/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/DataDog/zstd_0 v0.0.0-20210310093942-586c1286621f h1:5Vuo4niPKFkfwW55jV4vY0ih3VQ9RaQqeqY67fvRn8A= @@ -70,10 +70,10 @@ github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26 h1:GeNJsIFHB+WW5ap2Tec4K6dzcVT github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26/go.mod h1:zfgMpwHDXX2WGoG84xG2H+ZlPTkJUU4YUvx2svLQYWo= github.com/aws/aws-sdk-go-v2/service/ec2 v1.190.0 h1:k97fGog9Tl0woxTiSIHN14Qs5ehqK6GXejUwkhJYyL0= github.com/aws/aws-sdk-go-v2/service/ec2 v1.190.0/go.mod h1:mzj8EEjIHSN2oZRXiw1Dd+uB4HZTl7hC8nBzX9IZMWw= -github.com/aws/aws-sdk-go-v2/service/ecr v1.38.0 h1:+1IqznlfeMCgFWoWAuwRqykVc6gGoUUQFGXai+77KWs= -github.com/aws/aws-sdk-go-v2/service/ecr v1.38.0/go.mod h1:NqKnlZvLl4Tp2UH/GEc/nhbjmPQhwOXmLp2eldiszLM= -github.com/aws/aws-sdk-go-v2/service/ecs v1.53.1 h1:sAT2jzHkds1cv7VvNpzFfCw2w3zAkh306x3MTLPjuoA= -github.com/aws/aws-sdk-go-v2/service/ecs v1.53.1/go.mod h1:YpTRClSDOPvN2e3kiIrYOx1sI+YKTZVmlMiNO2AwYhE= +github.com/aws/aws-sdk-go-v2/service/ecr v1.38.1 h1:pCI3RIJnZEUs0evNm+pdDzvAp+YwpabUyQTPPvxO8oY= +github.com/aws/aws-sdk-go-v2/service/ecr v1.38.1/go.mod h1:NqKnlZvLl4Tp2UH/GEc/nhbjmPQhwOXmLp2eldiszLM= +github.com/aws/aws-sdk-go-v2/service/ecs v1.53.2 h1:o/FdG76sTAoC8h20j6bSBE6MPJYOZhNIh0nJ8Q8druY= +github.com/aws/aws-sdk-go-v2/service/ecs v1.53.2/go.mod h1:YpTRClSDOPvN2e3kiIrYOx1sI+YKTZVmlMiNO2AwYhE= github.com/aws/aws-sdk-go-v2/service/eks v1.51.0 h1:BYyB+byjQ7oyupe3v+YjTp1yfmfNEwChYA2naCc85xI= github.com/aws/aws-sdk-go-v2/service/eks v1.51.0/go.mod h1:oaPCqTzAe8C5RQZJGRD4RENcV7A4n99uGxbD4rULbNg= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= @@ -84,8 +84,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQz github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7 h1:Hi0KGbrnr57bEHWM0bJ1QcBzxLrL/k2DHvGYhb8+W1w= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7/go.mod h1:wKNgWgExdjjrm4qvfbTorkvocEstaoDl4WCvGfeCy9c= -github.com/aws/aws-sdk-go-v2/service/s3 v1.71.1 h1:aOVVZJgWbaH+EJYPvEgkNhCEbXXvH7+oML36oaPK3zE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.71.1/go.mod h1:r+xl5yzMk9083rMR+sJ5TYj9Tihvf/l1oxzZXDgGj2Q= +github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0 h1:SAfh4pNx5LuTafKKWR02Y+hL3A+3TX8cTKG1OIAJaBk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0/go.mod h1:r+xl5yzMk9083rMR+sJ5TYj9Tihvf/l1oxzZXDgGj2Q= github.com/aws/aws-sdk-go-v2/service/ssm v1.55.2 h1:z6Pq4+jtKlhK4wWJGHRGwMLGjC1HZwAO3KJr/Na0tSU= github.com/aws/aws-sdk-go-v2/service/ssm v1.55.2/go.mod h1:DSmu/VZzpQlAubWBbAvNpt+S4k/XweglJi4XaDGyvQk= github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g= @@ -221,8 +221,8 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.3 h1:oDTdz9f5VGVVNGu/Q7UXKWYsD0873HXLHdJUNBsSEKM= -github.com/golang/glog v1.2.3/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= +github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -276,6 +276,8 @@ github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/iwdgo/sigintwindows v0.2.2 h1:P6oWzpvV7MrEAmhUgs+zmarrWkyL77ycZz4v7+1gYAE= +github.com/iwdgo/sigintwindows v0.2.2/go.mod h1:70wPb8oz8OnxPvsj2QMUjgIVhb8hMu5TUgX8KfFl7QY= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= @@ -408,18 +410,18 @@ github.com/pulumi/pulumi-aws/sdk/v6 v6.66.2 h1:mHiPVwdSQp5VjpvCdPy52FeMiNcscKvJP github.com/pulumi/pulumi-aws/sdk/v6 v6.66.2/go.mod h1:C+L8LtajPSwGsZiGgknkCwClUzXk+ZXzSGkOZTQMp3U= github.com/pulumi/pulumi-awsx/sdk/v2 v2.19.0 h1:jil2EBzZnKsRDrLfvx2gnAaq17HQLrTbpPsIb3h+98U= github.com/pulumi/pulumi-awsx/sdk/v2 v2.19.0/go.mod h1:r+K4M7jnLqvvQDeR/0mBRq2EPZaqsDg24Ciy3ml/thA= -github.com/pulumi/pulumi-azure-native-sdk/authorization/v2 v2.80.0 h1:tiAwwy1I65G7D8C06gsF2ZsHzPh/A5FD9+lNBqLk6Lc= -github.com/pulumi/pulumi-azure-native-sdk/authorization/v2 v2.80.0/go.mod h1:lKExDZyoYkj/3T556EPRtyJGbkfgVc7cT/+9WOiOYWQ= -github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.80.0 h1:/3/uBPGRnozYIcMAmc8gesuYCrY0a9H9qh+nmbtL21Q= -github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.80.0/go.mod h1:j9KquaO0SolYvFC/32lvM97dV9R5A5vFHPT6ug7kQJM= -github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.80.0 h1:CgYV+AoO/i8tZCp9tuB7ka7a0R1xF6bWJDYlq4BAfvg= -github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.80.0/go.mod h1:LQRPDTbV23zIrl5K7cj6eqYA5CPOJg3CbqqniEBmZqU= -github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2 v2.80.0 h1:SKKLHaFqRoTuH4uXMnoHzr/rX9zLqMeQhC4Jk7AKNfw= -github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2 v2.80.0/go.mod h1:yFa88/+odl2cd55A4Kh03C9jrWxshavL5DNaLHgf/2M= -github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.80.0 h1:7WL1woXdR2L+q3l74zUr9owGDOfcTEWJ8JH7qe4+Cyk= -github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.80.0/go.mod h1:LJ5aQtGo7fhuAMTxv7IjheDIsiluec8pLzAqaCXKA/Q= -github.com/pulumi/pulumi-azure-native-sdk/v2 v2.80.0 h1:elyaTcl4TMVIyxW1nQVDA2cuBApEuynidFyO2iDwEw8= -github.com/pulumi/pulumi-azure-native-sdk/v2 v2.80.0/go.mod h1:UtcE2JL42940vODuX0oAYmBqWIMRIaRhEDBaQGyr+vA= +github.com/pulumi/pulumi-azure-native-sdk/authorization/v2 v2.81.0 h1:Njext/i2DuW6k9qMj7WJmIBuw7PLZ8ccTYEtU3PbX5s= +github.com/pulumi/pulumi-azure-native-sdk/authorization/v2 v2.81.0/go.mod h1:ef8sOceyTKmnts+QOHAymAVLWXNtKljgl27oOYcq978= +github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.81.0 h1:xvUrVxwjfhaZCeohnMQN/cTSFKfZGIXsneEWFbtdBXY= +github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.81.0/go.mod h1:1HK2Eltgq1lFSts/sI1RZE5Mw12qyKdBsszqcnTpbd4= +github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.81.0 h1:eQ0/SzOhXcKwESbc0Ahujeo4kI/Y88ghAxblRrcYe6U= +github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.81.0/go.mod h1:vsCzO0onkZpFxJWaGsGtFxiD3nV08/P8pNK2wAkTe7w= +github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2 v2.81.0 h1:bA2AUo2Mtpyitew41O24kw7wqBqVAhOkUx9Zj4gkTas= +github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v2 v2.81.0/go.mod h1:cH/JouDXyXfBGvPFBjedwNK9EDYTbWeJmEnoj13Pnpk= +github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.81.0 h1:RST/rJXeyqqedEkYvS3QvipKwfimvfkbYTai51dz+sI= +github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.81.0/go.mod h1:pGBaaI/HvyNybS+QVtr5r96IXMepBJpeKg4cXkcIt7U= +github.com/pulumi/pulumi-azure-native-sdk/v2 v2.81.0 h1:kGzTe5+RY9/i8dqzV5OyUUxkKgFZE2Fc9QR6t48ec7A= +github.com/pulumi/pulumi-azure-native-sdk/v2 v2.81.0/go.mod h1:UtcE2JL42940vODuX0oAYmBqWIMRIaRhEDBaQGyr+vA= github.com/pulumi/pulumi-command/sdk v1.0.1 h1:ZuBSFT57nxg/fs8yBymUhKLkjJ6qmyN3gNvlY/idiN0= github.com/pulumi/pulumi-command/sdk v1.0.1/go.mod h1:C7sfdFbUIoXKoIASfXUbP/U9xnwPfxvz8dBpFodohlA= github.com/pulumi/pulumi-docker/sdk/v4 v4.5.8 h1:rik9L2SIpsoDenY51MkogR6GWgu/0Sy/XmyQmKWNUqU= @@ -436,8 +438,8 @@ github.com/pulumi/pulumi-random/sdk/v4 v4.16.8 h1:ZrVKUJUYgphlD1zY35CiS6hdVN75wu github.com/pulumi/pulumi-random/sdk/v4 v4.16.8/go.mod h1:0xQ8Gg8izJMYYCM6fBLY2TUkmEpaVczAx1yFk5OwuSg= github.com/pulumi/pulumi-tls/sdk/v4 v4.11.1 h1:tXemWrzeVTqG8zq6hBdv1TdPFXjgZ+dob63a/6GlF1o= github.com/pulumi/pulumi-tls/sdk/v4 v4.11.1/go.mod h1:hODo3iEmmXDFOXqPK+V+vwI0a3Ww7BLjs5Tgamp86Ng= -github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= -github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= +github.com/pulumi/pulumi/sdk/v3 v3.145.0 h1:r5iOgz67RElFXJt4GVVY2SBGh5sR24mL9NOcKBiBi/k= +github.com/pulumi/pulumi/sdk/v3 v3.145.0/go.mod h1:5pZySnw3RiQKddx8orThjEFmWsXkGAY3ktKOxZj2Ym4= github.com/pulumiverse/pulumi-time/sdk v0.1.0 h1:xfi9HKDgV+GgDxQ23oSv9KxC3DQqViGTcMrJICRgJv0= github.com/pulumiverse/pulumi-time/sdk v0.1.0/go.mod h1:NUa1zA74DF002WrM6iF111A6UjX9knPpXufVRvBwNyg= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= @@ -565,11 +567,11 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -599,8 +601,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= @@ -642,15 +644,15 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -660,8 +662,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= -golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= +golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -675,8 +677,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE= +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/test/new-e2e/tests/discovery/docker_test.go b/test/new-e2e/tests/discovery/docker_test.go new file mode 100644 index 00000000000000..1d5f0f52475265 --- /dev/null +++ b/test/new-e2e/tests/discovery/docker_test.go @@ -0,0 +1,97 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2024-present Datadog, Inc. + +package discovery + +import ( + _ "embed" + "strings" + "testing" + "time" + + "github.com/DataDog/datadog-agent/test/fakeintake/aggregator" + "github.com/DataDog/datadog-agent/test/new-e2e/pkg/e2e" + "github.com/DataDog/datadog-agent/test/new-e2e/pkg/environments" + awsdocker "github.com/DataDog/datadog-agent/test/new-e2e/pkg/provisioners/aws/docker" + "github.com/DataDog/datadog-agent/test/new-e2e/pkg/utils/e2e/client/agentclient" + "github.com/DataDog/test-infra-definitions/components/datadog/dockeragentparams" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +const ( + pythonImage = "public.ecr.aws/docker/library/python:3" +) + +type dockerDiscoveryTestSuite struct { + e2e.BaseSuite[environments.DockerHost] +} + +func TestDiscoveryDocker(t *testing.T) { + agentOpts := []dockeragentparams.Option{ + dockeragentparams.WithAgentServiceEnvVariable("DD_DISCOVERY_ENABLED", pulumi.StringPtr("true")), + } + + e2e.Run(t, + &dockerDiscoveryTestSuite{}, + e2e.WithProvisioner( + awsdocker.Provisioner( + awsdocker.WithAgentOptions(agentOpts...), + ))) +} + +func (s *dockerDiscoveryTestSuite) TestServiceDiscoveryContainerID() { + t := s.T() + + client := s.Env().FakeIntake.Client() + err := client.FlushServerAndResetAggregators() + require.NoError(t, err) + + s.assertDockerAgentDiscoveryRunning() + + _, err = s.Env().RemoteHost.Execute("docker pull " + pythonImage) + if err != nil { + s.T().Skipf("could not pull docker image for service discovery E2E test: %s", err) + } + + containerID := s.Env().RemoteHost.MustExecute("docker run -d --name e2e-test-python-server --publish 8090:8090 " + pythonImage + " python -m http.server 8090") + t.Cleanup(func() { + s.Env().RemoteHost.MustExecute("docker stop e2e-test-python-server && docker rm e2e-test-python-server") + }) + containerID = strings.TrimSuffix(containerID, "\n") + t.Logf("service container ID: %v", containerID) + + services := s.Env().Docker.Client.ExecuteCommand(s.Env().Agent.ContainerName, "curl", "-s", "--unix-socket", "/opt/datadog-agent/run/sysprobe.sock", "http://unix/discovery/services") + t.Logf("system-probe services: %v", services) + + assert.EventuallyWithT(t, func(c *assert.CollectT) { + payloads, err := client.GetServiceDiscoveries() + require.NoError(t, err) + + foundMap := make(map[string]*aggregator.ServiceDiscoveryPayload) + for _, p := range payloads { + name := p.Payload.ServiceName + t.Log("RequestType", p.RequestType, "ServiceName", name) + + if p.RequestType == "start-service" { + foundMap[name] = p + } + } + + require.NotEmpty(c, foundMap) + require.Contains(c, foundMap, "http.server") + require.Equal(c, containerID, foundMap["http.server"].Payload.ContainerID) + }, 3*time.Minute, 10*time.Second) +} + +func (s *dockerDiscoveryTestSuite) assertDockerAgentDiscoveryRunning() { + t := s.T() + + assert.EventuallyWithT(t, func(c *assert.CollectT) { + statusOutput := s.Env().Agent.Client.Status(agentclient.WithArgs([]string{"collector", "--json"})).Content + assertCollectorStatusFromJSON(c, statusOutput, "service_discovery") + }, 2*time.Minute, 10*time.Second) +} diff --git a/test/new-e2e/tests/discovery/linux_test.go b/test/new-e2e/tests/discovery/linux_test.go index a833bb74573466..f36c9e5d3a9ae3 100644 --- a/test/new-e2e/tests/discovery/linux_test.go +++ b/test/new-e2e/tests/discovery/linux_test.go @@ -156,10 +156,7 @@ type collectorStatus struct { RunnerStats runnerStats `json:"runnerStats"` } -// assertRunningCheck asserts that the given process agent check is running -func assertRunningCheck(t *assert.CollectT, remoteHost *components.RemoteHost, check string) { - statusOutput := remoteHost.MustExecute("sudo datadog-agent status collector --json") - +func assertCollectorStatusFromJSON(t *assert.CollectT, statusOutput, check string) { var status collectorStatus err := json.Unmarshal([]byte(statusOutput), &status) require.NoError(t, err, "failed to unmarshal agent status") @@ -167,6 +164,12 @@ func assertRunningCheck(t *assert.CollectT, remoteHost *components.RemoteHost, c assert.Contains(t, status.RunnerStats.Checks, check) } +// assertRunningCheck asserts that the given process agent check is running +func assertRunningCheck(t *assert.CollectT, remoteHost *components.RemoteHost, check string) { + statusOutput := remoteHost.MustExecute("sudo datadog-agent status collector --json") + assertCollectorStatusFromJSON(t, statusOutput, check) +} + func (s *linuxTestSuite) provisionServer() { err := s.Env().RemoteHost.CopyFolder("testdata/provision", "/home/ubuntu/e2e-test") require.NoError(s.T(), err) diff --git a/test/otel/go.mod b/test/otel/go.mod index b057d1112559fc..f5611d747ace96 100644 --- a/test/otel/go.mod +++ b/test/otel/go.mod @@ -294,11 +294,11 @@ require ( go.uber.org/fx v1.23.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.8.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241230172942-26aa7a208def // indirect diff --git a/test/otel/go.sum b/test/otel/go.sum index 851a8a5c489381..6ffd086d02fce8 100644 --- a/test/otel/go.sum +++ b/test/otel/go.sum @@ -489,11 +489,11 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= -golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -516,8 +516,8 @@ golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -550,11 +550,11 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=