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

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion go.work.sum
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ cel.dev/expr v0.23.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=
cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
cloud.google.com/go v0.25.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ=
cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.37.2/go.mod h1:H8IAquKe2L30IxoupDgqTaQvKSwF/c8prYHynGIWQbA=
Expand Down Expand Up @@ -4543,11 +4544,13 @@ go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
go.uber.org/zap v1.18.1 h1:CSUJ2mjFszzEWt4CdKISEuChVIXGBn3lAPwkRGyVrc4=
go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8=
go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
Expand Down Expand Up @@ -4610,6 +4613,7 @@ golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvm
golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8=
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-20190121172915-509febef88a4 h1:c2HOrn5iMezYjSlGPncknSEr/8x5LELb/ilJbXi9DEA=
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/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-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
Expand Down Expand Up @@ -5122,6 +5126,7 @@ golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w=
golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
Expand Down Expand Up @@ -5407,12 +5412,12 @@ google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mR
google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8=
google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y=
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g=
google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk=
google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI=
google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ=
google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY=
google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3/go.mod h1:5RBcpGRxr25RbDzY5w+dmaqpSEvl8Gwl1x2CICf60ic=
google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0vFTBPy+tFSGvXEd3z+BcoG1k7EHbqm+YBsY=
Expand Down
6 changes: 4 additions & 2 deletions sdk/config_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -1082,16 +1082,18 @@ func CheckAllowedFiles(files []*proto.File, allowedDirs map[string]struct{}) err
}

func checkDirIsAllowed(path string, allowedDirs []string) bool {
path = filepath.Clean(path)

if slices.Contains(allowedDirs, path) {
return true
}

if path == "/" || !strings.HasPrefix(path, "/") { // root directory reached with no match, path is not allowed
parent := filepath.Dir(path)
if parent == path {
return false
}

return checkDirIsAllowed(filepath.Dir(path), allowedDirs)
return checkDirIsAllowed(parent, allowedDirs)
}

func convertToHexFormat(hexString string) string {
Expand Down
2 changes: 1 addition & 1 deletion sdk/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ require (
go.opentelemetry.io/otel v1.40.0 // indirect
golang.org/x/mod v0.35.0 // indirect
golang.org/x/net v0.55.0 // indirect
golang.org/x/sync v0.20.0 // indirect
golang.org/x/sync v0.22.0 // indirect
golang.org/x/sys v0.45.0 // indirect
golang.org/x/text v0.37.0 // indirect
golang.org/x/tools v0.44.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions sdk/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ
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/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
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=
Expand Down
2 changes: 1 addition & 1 deletion sdk/vendor/golang.org/x/sync/errgroup/errgroup.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion sdk/vendor/modules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ golang.org/x/net/internal/httpcommon
golang.org/x/net/internal/httpsfv
golang.org/x/net/internal/timeseries
golang.org/x/net/trace
# golang.org/x/sync v0.20.0
# golang.org/x/sync v0.22.0
## explicit; go 1.25.0
golang.org/x/sync/errgroup
# golang.org/x/sys v0.45.0
Expand Down
13 changes: 6 additions & 7 deletions sdk/zip/zipped_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,9 @@ func UnPack(zipFile *proto.ZippedFile) ([]*proto.File, error) {
return nil, err
}
defer func() {
if err := zipContentsReader.Close(); err != nil {
log.Errorf("failed to close zip reader: %v", err)
}
if err := zipContentsReader.Close(); err != nil {
log.Errorf("failed to close zip reader: %v", err)
}
}()

rawFiles := make([]*proto.File, 0)
Expand Down Expand Up @@ -233,9 +233,9 @@ func UnPackWithDirCheck(zipFile *proto.ZippedFile, allowedDirs map[string]struct
return nil, err
}
defer func() {
if err := zipContentsReader.Close(); err != nil {
log.Errorf("failed to close zip reader: %v", err)
}
if err := zipContentsReader.Close(); err != nil {
log.Errorf("failed to close zip reader: %v", err)
}
}()

rawFiles := make([]*proto.File, 0)
Expand Down Expand Up @@ -266,7 +266,6 @@ func UnPackWithDirCheck(zipFile *proto.ZippedFile, allowedDirs map[string]struct
}

func checkDirIsAllowed(path string, allowedDirs []string) bool {

if slices.Contains(allowedDirs, path) {
return true
}
Expand Down
1 change: 0 additions & 1 deletion src/core/nginx.go
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,6 @@ func (n *NginxBinaryType) WriteConfig(config *proto.NginxConfig) (*sdk.ConfigApp

if !sdk.CheckAllowedPath(filepath.Dir(details.ConfPath), n.config.AllowedDirectoriesMap) {
return nil, fmt.Errorf("config directory %s not allowed", filepath.Dir(details.ConfPath))

}

n.unpackMutex.Lock()
Expand Down
206 changes: 103 additions & 103 deletions src/core/nginx_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,110 +73,110 @@ func TestGetNginxInfoFromBuffer(t *testing.T) {
built with OpenSSL 1.1.1k 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/Cellar/nginx/1.19.10 --modules-path=/tmp/modules --sbin-path=/usr/local/Cellar/nginx/1.19.10/bin/nginx --with-cc-opt='-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include' --with-ld-opt='-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp --http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp --http-log-path=/usr/local/var/log/nginx/access.log --error-log-path=/usr/local/var/log/nginx/error.log --with-compat --with-debug --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-ipv6 --with-mail --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module`, expectedNginxInfo: &nginxInfo{
prefix: "/usr/local/Cellar/nginx/1.19.10",
confPath: "/usr/local/etc/nginx/nginx.conf",
logPath: "/usr/local/var/log/nginx/access.log",
errorPath: "/usr/local/var/log/nginx/error.log",
version: "1.19.10",
plusver: "",
source: "built by clang 12.0.0 (clang-1200.0.32.29)",
ssl: []string{
"OpenSSL",
"1.1.1k",
"25 Mar 2021",
},
cfgf: map[string]interface{}{
"conf-path": "/usr/local/etc/nginx/nginx.conf",
"error-log-path": "/usr/local/var/log/nginx/error.log",
"modules-path": "/tmp/modules",
"http-client-body-temp-path": "/usr/local/var/run/nginx/client_body_temp",
"http-fastcgi-temp-path": "/usr/local/var/run/nginx/fastcgi_temp",
"http-log-path": "/usr/local/var/log/nginx/access.log",
"http-proxy-temp-path": "/usr/local/var/run/nginx/proxy_temp",
"http-scgi-temp-path": "/usr/local/var/run/nginx/scgi_temp",
"http-uwsgi-temp-path": "/usr/local/var/run/nginx/uwsgi_temp",
"lock-path": "/usr/local/var/run/nginx.lock",
"pid-path": "/usr/local/var/run/nginx.pid",
"prefix": "/usr/local/Cellar/nginx/1.19.10",
"sbin-path": "/usr/local/Cellar/nginx/1.19.10/bin/nginx",
"with-cc-opt": "'-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include'",
"with-compat": true,
"with-debug": true,
"with-http_addition_module": true,
"with-http_auth_request_module": true,
"with-http_dav_module": true,
"with-http_degradation_module": true,
"with-http_flv_module": true,
"with-http_gunzip_module": true,
"with-http_gzip_static_module": true,
"with-http_mp4_module": true,
"with-http_random_index_module": true,
"with-http_realip_module": true,
"with-http_secure_link_module": true,
"with-http_slice_module": true,
"with-http_ssl_module": true,
"with-http_stub_status_module": true,
"with-http_sub_module": true,
"with-http_v2_module": true,
"with-ipv6": true,
"with-ld-opt": "'-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib'",
"with-mail": true,
"with-mail_ssl_module": true,
"with-pcre": true,
"with-pcre-jit": true,
"with-stream": true,
"with-stream_realip_module": true,
"with-stream_ssl_module": true,
"with-stream_ssl_preread_module": true,
},
configureArgs: []string{
"",
"prefix=/usr/local/Cellar/nginx/1.19.10",
"modules-path=/tmp/modules",
"sbin-path=/usr/local/Cellar/nginx/1.19.10/bin/nginx",
"with-cc-opt='-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include'",
"with-ld-opt='-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib'",
"conf-path=/usr/local/etc/nginx/nginx.conf",
"pid-path=/usr/local/var/run/nginx.pid",
"lock-path=/usr/local/var/run/nginx.lock",
"http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp",
"http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp",
"http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp",
"http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp",
"http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp",
"http-log-path=/usr/local/var/log/nginx/access.log",
"error-log-path=/usr/local/var/log/nginx/error.log",
"with-compat",
"with-debug",
"with-http_addition_module",
"with-http_auth_request_module",
"with-http_dav_module",
"with-http_degradation_module",
"with-http_flv_module",
"with-http_gunzip_module",
"with-http_gzip_static_module",
"with-http_mp4_module",
"with-http_random_index_module",
"with-http_realip_module",
"with-http_secure_link_module",
"with-http_slice_module",
"with-http_ssl_module",
"with-http_stub_status_module",
"with-http_sub_module",
"with-http_v2_module",
"with-ipv6",
"with-mail",
"with-mail_ssl_module",
"with-pcre",
"with-pcre-jit",
"with-stream",
"with-stream_realip_module",
"with-stream_ssl_module",
"with-stream_ssl_preread_module",
prefix: "/usr/local/Cellar/nginx/1.19.10",
confPath: "/usr/local/etc/nginx/nginx.conf",
logPath: "/usr/local/var/log/nginx/access.log",
errorPath: "/usr/local/var/log/nginx/error.log",
version: "1.19.10",
plusver: "",
source: "built by clang 12.0.0 (clang-1200.0.32.29)",
ssl: []string{
"OpenSSL",
"1.1.1k",
"25 Mar 2021",
},
cfgf: map[string]interface{}{
"conf-path": "/usr/local/etc/nginx/nginx.conf",
"error-log-path": "/usr/local/var/log/nginx/error.log",
"modules-path": "/tmp/modules",
"http-client-body-temp-path": "/usr/local/var/run/nginx/client_body_temp",
"http-fastcgi-temp-path": "/usr/local/var/run/nginx/fastcgi_temp",
"http-log-path": "/usr/local/var/log/nginx/access.log",
"http-proxy-temp-path": "/usr/local/var/run/nginx/proxy_temp",
"http-scgi-temp-path": "/usr/local/var/run/nginx/scgi_temp",
"http-uwsgi-temp-path": "/usr/local/var/run/nginx/uwsgi_temp",
"lock-path": "/usr/local/var/run/nginx.lock",
"pid-path": "/usr/local/var/run/nginx.pid",
"prefix": "/usr/local/Cellar/nginx/1.19.10",
"sbin-path": "/usr/local/Cellar/nginx/1.19.10/bin/nginx",
"with-cc-opt": "'-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include'",
"with-compat": true,
"with-debug": true,
"with-http_addition_module": true,
"with-http_auth_request_module": true,
"with-http_dav_module": true,
"with-http_degradation_module": true,
"with-http_flv_module": true,
"with-http_gunzip_module": true,
"with-http_gzip_static_module": true,
"with-http_mp4_module": true,
"with-http_random_index_module": true,
"with-http_realip_module": true,
"with-http_secure_link_module": true,
"with-http_slice_module": true,
"with-http_ssl_module": true,
"with-http_stub_status_module": true,
"with-http_sub_module": true,
"with-http_v2_module": true,
"with-ipv6": true,
"with-ld-opt": "'-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib'",
"with-mail": true,
"with-mail_ssl_module": true,
"with-pcre": true,
"with-pcre-jit": true,
"with-stream": true,
"with-stream_realip_module": true,
"with-stream_ssl_module": true,
"with-stream_ssl_preread_module": true,
},
configureArgs: []string{
"",
"prefix=/usr/local/Cellar/nginx/1.19.10",
"modules-path=/tmp/modules",
"sbin-path=/usr/local/Cellar/nginx/1.19.10/bin/nginx",
"with-cc-opt='-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include'",
"with-ld-opt='-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib'",
"conf-path=/usr/local/etc/nginx/nginx.conf",
"pid-path=/usr/local/var/run/nginx.pid",
"lock-path=/usr/local/var/run/nginx.lock",
"http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp",
"http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp",
"http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp",
"http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp",
"http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp",
"http-log-path=/usr/local/var/log/nginx/access.log",
"error-log-path=/usr/local/var/log/nginx/error.log",
"with-compat",
"with-debug",
"with-http_addition_module",
"with-http_auth_request_module",
"with-http_dav_module",
"with-http_degradation_module",
"with-http_flv_module",
"with-http_gunzip_module",
"with-http_gzip_static_module",
"with-http_mp4_module",
"with-http_random_index_module",
"with-http_realip_module",
"with-http_secure_link_module",
"with-http_slice_module",
"with-http_ssl_module",
"with-http_stub_status_module",
"with-http_sub_module",
"with-http_v2_module",
"with-ipv6",
"with-mail",
"with-mail_ssl_module",
"with-pcre",
"with-pcre-jit",
"with-stream",
"with-stream_realip_module",
"with-stream_ssl_module",
"with-stream_ssl_preread_module",
},
loadableModules: nil,
modulesPath: "/tmp/modules",
},
loadableModules: nil,
modulesPath: "/tmp/modules",
},
},
{
name: "custom nginx install",
Expand Down
Loading
Loading