mirror of https://github.com/minio/minio.git
implement a flag to specify custom crossdomain.xml (#19262)
fixes #16909
This commit is contained in:
parent
a0de56abb6
commit
f168ef9989
|
@ -361,6 +361,14 @@ func buildServerCtxt(ctx *cli.Context, ctxt *serverCtxt) (err error) {
|
||||||
ctxt.ConsoleAddr = ctx.String("console-address")
|
ctxt.ConsoleAddr = ctx.String("console-address")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cxml := ctx.String("crossdomain-xml"); cxml != "" {
|
||||||
|
buf, err := os.ReadFile(cxml)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
ctxt.CrossDomainXML = string(buf)
|
||||||
|
}
|
||||||
|
|
||||||
// Check "no-compat" flag from command line argument.
|
// Check "no-compat" flag from command line argument.
|
||||||
ctxt.StrictS3Compat = !(ctx.IsSet("no-compat") || ctx.GlobalIsSet("no-compat"))
|
ctxt.StrictS3Compat = !(ctx.IsSet("no-compat") || ctx.GlobalIsSet("no-compat"))
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2015-2021 MinIO, Inc.
|
// Copyright (c) 2015-2024 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of MinIO Object Storage stack
|
// This file is part of MinIO Object Storage stack
|
||||||
//
|
//
|
||||||
|
@ -32,10 +32,14 @@ const crossDomainXMLEntity = "/crossdomain.xml"
|
||||||
// policy file that grants access to the source domain, allowing the client to continue the transaction.
|
// policy file that grants access to the source domain, allowing the client to continue the transaction.
|
||||||
func setCrossDomainPolicyMiddleware(h http.Handler) http.Handler {
|
func setCrossDomainPolicyMiddleware(h http.Handler) http.Handler {
|
||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
cxml := crossDomainXML
|
||||||
|
if globalServerCtxt.CrossDomainXML != "" {
|
||||||
|
cxml = globalServerCtxt.CrossDomainXML
|
||||||
|
}
|
||||||
// Look for 'crossdomain.xml' in the incoming request.
|
// Look for 'crossdomain.xml' in the incoming request.
|
||||||
if r.URL.Path == crossDomainXMLEntity {
|
if r.URL.Path == crossDomainXMLEntity {
|
||||||
// Write the standard cross domain policy xml.
|
// Write the standard cross domain policy xml.
|
||||||
w.Write([]byte(crossDomainXML))
|
w.Write([]byte(cxml))
|
||||||
// Request completed, no need to serve to other handlers.
|
// Request completed, no need to serve to other handlers.
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -171,6 +171,7 @@ type serverCtxt struct {
|
||||||
ReadHeaderTimeout time.Duration
|
ReadHeaderTimeout time.Duration
|
||||||
MaxIdleConnsPerHost int
|
MaxIdleConnsPerHost int
|
||||||
|
|
||||||
|
CrossDomainXML string
|
||||||
// The layout of disks as interpreted
|
// The layout of disks as interpreted
|
||||||
Layout disksLayout
|
Layout disksLayout
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2015-2023 MinIO, Inc.
|
// Copyright (c) 2015-2024 MinIO, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of MinIO Object Storage stack
|
// This file is part of MinIO Object Storage stack
|
||||||
//
|
//
|
||||||
|
@ -161,6 +161,12 @@ var ServerFlags = []cli.Flag{
|
||||||
Name: "sftp",
|
Name: "sftp",
|
||||||
Usage: "enable and configure an SFTP server",
|
Usage: "enable and configure an SFTP server",
|
||||||
},
|
},
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "crossdomain-xml",
|
||||||
|
Usage: "provide a custom crossdomain-xml configuration to report at http://endpoint/crossdomain.xml",
|
||||||
|
Hidden: true,
|
||||||
|
EnvVar: "MINIO_CROSSDOMAIN_XML",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var gatewayCmd = cli.Command{
|
var gatewayCmd = cli.Command{
|
||||||
|
|
Loading…
Reference in New Issue