Skip to content

Commit e7048c2

Browse files
committed
fix: possible nil-pointer issue when handling obfuscated secrets
1 parent d7252b6 commit e7048c2

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

internal/provider/platform_resource_obfuscationhandling.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
3737
// SP client secret
3838
if obfuscated.Aks.Replication.ServicePrincipal != nil &&
3939
plain.Aks.Replication.ServicePrincipal != nil &&
40+
obfuscated.Aks.Replication.ServicePrincipal.CredentialsAuthClientSecret != nil &&
41+
plain.Aks.Replication.ServicePrincipal.CredentialsAuthClientSecret != nil &&
4042
*obfuscated.Aks.Replication.ServicePrincipal.CredentialsAuthClientSecret == obfuscatedValue {
4143
obfuscated.Aks.Replication.ServicePrincipal.CredentialsAuthClientSecret = plain.Aks.Replication.ServicePrincipal.CredentialsAuthClientSecret
4244
}
@@ -49,12 +51,16 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
4951
plain.Aws.Replication.AccessConfig != nil &&
5052
obfuscated.Aws.Replication.AccessConfig.ServiceUserConfig != nil &&
5153
plain.Aws.Replication.AccessConfig.ServiceUserConfig != nil &&
54+
obfuscated.Aws.Replication.AccessConfig.ServiceUserConfig.SecretKey != nil &&
55+
plain.Aws.Replication.AccessConfig.ServiceUserConfig.SecretKey != nil &&
5256
*obfuscated.Aws.Replication.AccessConfig.ServiceUserConfig.SecretKey == obfuscatedValue {
5357
obfuscated.Aws.Replication.AccessConfig.ServiceUserConfig.SecretKey = plain.Aws.Replication.AccessConfig.ServiceUserConfig.SecretKey
5458
}
5559
// replication AWS SSO token
5660
if obfuscated.Aws.Replication.AwsSso != nil &&
5761
plain.Aws.Replication.AwsSso != nil &&
62+
obfuscated.Aws.Replication.AwsSso.SsoAccessToken != nil &&
63+
plain.Aws.Replication.AwsSso.SsoAccessToken != nil &&
5864
*obfuscated.Aws.Replication.AwsSso.SsoAccessToken == obfuscatedValue {
5965
obfuscated.Aws.Replication.AwsSso.SsoAccessToken = plain.Aws.Replication.AwsSso.SsoAccessToken
6066
}
@@ -65,6 +71,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
6571
// replication SP client secret
6672
if obfuscated.Azure.Replication.ServicePrincipal != nil &&
6773
plain.Azure.Replication.ServicePrincipal != nil &&
74+
obfuscated.Azure.Replication.ServicePrincipal.CredentialsAuthClientSecret != nil &&
75+
plain.Azure.Replication.ServicePrincipal.CredentialsAuthClientSecret != nil &&
6876
*obfuscated.Azure.Replication.ServicePrincipal.CredentialsAuthClientSecret == obfuscatedValue {
6977
obfuscated.Azure.Replication.ServicePrincipal.CredentialsAuthClientSecret = plain.Azure.Replication.ServicePrincipal.CredentialsAuthClientSecret
7078
}
@@ -73,6 +81,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
7381
plain.Azure.Replication.Provisioning.CustomerAgreement != nil {
7482
if obfuscated.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal != nil &&
7583
plain.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal != nil &&
84+
obfuscated.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal.CredentialsAuthClientSecret != nil &&
85+
plain.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal.CredentialsAuthClientSecret != nil &&
7686
*obfuscated.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal.CredentialsAuthClientSecret == obfuscatedValue {
7787
obfuscated.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal.CredentialsAuthClientSecret = plain.Azure.Replication.Provisioning.CustomerAgreement.SourceServicePrincipal.CredentialsAuthClientSecret
7888
}
@@ -84,6 +94,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
8494
// replication SP client secret
8595
if obfuscated.AzureRg.Replication.ServicePrincipal != nil &&
8696
plain.AzureRg.Replication.ServicePrincipal != nil &&
97+
obfuscated.AzureRg.Replication.ServicePrincipal.CredentialsAuthClientSecret != nil &&
98+
plain.AzureRg.Replication.ServicePrincipal.CredentialsAuthClientSecret != nil &&
8799
*obfuscated.AzureRg.Replication.ServicePrincipal.CredentialsAuthClientSecret == obfuscatedValue {
88100
obfuscated.AzureRg.Replication.ServicePrincipal.CredentialsAuthClientSecret = plain.AzureRg.Replication.ServicePrincipal.CredentialsAuthClientSecret
89101
}
@@ -94,6 +106,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
94106
// access token
95107
if obfuscated.Kubernetes.Replication.ClientConfig != nil &&
96108
plain.Kubernetes.Replication.ClientConfig != nil &&
109+
obfuscated.Kubernetes.Replication.ClientConfig.AccessToken != nil &&
110+
plain.Kubernetes.Replication.ClientConfig.AccessToken != nil &&
97111
*obfuscated.Kubernetes.Replication.ClientConfig.AccessToken == obfuscatedValue {
98112
obfuscated.Kubernetes.Replication.ClientConfig.AccessToken = plain.Kubernetes.Replication.ClientConfig.AccessToken
99113
}
@@ -106,6 +120,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
106120
plain.Gcp.Replication.ServiceAccountConfig != nil &&
107121
obfuscated.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig != nil &&
108122
plain.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig != nil &&
123+
obfuscated.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig.ServiceAccountCredentialsB64 != nil &&
124+
plain.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig.ServiceAccountCredentialsB64 != nil &&
109125
*obfuscated.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig.ServiceAccountCredentialsB64 == obfuscatedValue {
110126
obfuscated.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig = plain.Gcp.Replication.ServiceAccountConfig.ServiceAccountCredentialsConfig
111127
}
@@ -116,6 +132,8 @@ func handleObfuscatedSecrets(obfuscated *client.PlatformConfig, plain *client.Pl
116132
// access token
117133
if obfuscated.OpenShift.Replication.ClientConfig != nil &&
118134
plain.OpenShift.Replication.ClientConfig != nil &&
135+
obfuscated.OpenShift.Replication.ClientConfig.AccessToken != nil &&
136+
plain.OpenShift.Replication.ClientConfig.AccessToken != nil &&
119137
*obfuscated.OpenShift.Replication.ClientConfig.AccessToken == obfuscatedValue {
120138
obfuscated.OpenShift.Replication.ClientConfig.AccessToken = plain.OpenShift.Replication.ClientConfig.AccessToken
121139
}

0 commit comments

Comments
 (0)