Skip to content

Commit 795c81d

Browse files
committed
Add nil check for SSL certificate file paths
1 parent ad63b2f commit 795c81d

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

internal/watcher/instance/nginx_config_parser.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ func (ncp *NginxConfigParser) createNginxConfigContext(
116116
rootDir := filepath.Dir(instance.GetInstanceRuntime().GetConfigPath())
117117

118118
for _, conf := range payload.Config {
119+
slog.DebugContext(ctx, "Traversing NGINX config file", "config", conf)
119120
if !ncp.agentConfig.IsDirectoryAllowed(conf.File) {
120121
slog.WarnContext(ctx, "File included in NGINX config is outside of allowed directories, "+
121122
"excluding from config",
@@ -148,8 +149,11 @@ func (ncp *NginxConfigParser) createNginxConfigContext(
148149
case "ssl_certificate", "proxy_ssl_certificate", "ssl_client_certificate",
149150
"ssl_trusted_certificate":
150151
sslCertFile := ncp.sslCert(ctx, directive.Args[0], rootDir)
151-
if !ncp.isDuplicateFile(nginxConfigContext.Files, sslCertFile) {
152-
nginxConfigContext.Files = append(nginxConfigContext.Files, sslCertFile)
152+
if sslCertFile != nil {
153+
if !ncp.isDuplicateFile(nginxConfigContext.Files, sslCertFile) {
154+
slog.DebugContext(ctx, "Adding SSL certificate file", "ssl_cert", sslCertFile)
155+
nginxConfigContext.Files = append(nginxConfigContext.Files, sslCertFile)
156+
}
153157
}
154158

155159
case "app_protect_security_log":
@@ -321,7 +325,7 @@ func (ncp *NginxConfigParser) errorLogDirectiveLevel(directive *crossplane.Direc
321325

322326
func (ncp *NginxConfigParser) sslCert(ctx context.Context, file, rootDir string) (sslCertFile *mpi.File) {
323327
if strings.Contains(file, "$") {
324-
// cannot process any filepath with variables
328+
slog.DebugContext(ctx, "Cannot process SSL certificate file path with variables", "file", file)
325329
return nil
326330
}
327331

0 commit comments

Comments
 (0)