Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package minio-client for openSUSE:Factory checked in at 2024-05-09 12:08:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/minio-client (Old) and /work/SRC/openSUSE:Factory/.minio-client.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minio-client" Thu May 9 12:08:16 2024 rev:77 rq:1172691 version:20240503T112107Z Changes: -------- --- /work/SRC/openSUSE:Factory/minio-client/minio-client.changes 2024-05-01 14:56:02.533015739 +0200 +++ /work/SRC/openSUSE:Factory/.minio-client.new.1880/minio-client.changes 2024-05-09 12:08:49.971967350 +0200 @@ -1,0 +2,9 @@ +Wed May 08 10:35:46 UTC 2024 - opensuse_buildserv...@ojkastl.de + +- Update to version 20240503T112107Z: + * Add standard EC setting to admin info (#4918) + * fix: honor S3v2 if configured (#4917) + * make s3Config Transport a roundTripper (#4914) + * updating prefix validation and adding some tests (#4907) + +------------------------------------------------------------------- Old: ---- mc-20240429T095605Z.obscpio New: ---- mc-20240503T112107Z.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ minio-client.spec ++++++ --- /var/tmp/diff_new_pack.Pt1SEa/_old 2024-05-09 12:08:50.851999335 +0200 +++ /var/tmp/diff_new_pack.Pt1SEa/_new 2024-05-09 12:08:50.855999480 +0200 @@ -22,7 +22,7 @@ %define binary_name minio-client Name: minio-client -Version: 20240429T095605Z +Version: 20240503T112107Z Release: 0 Summary: Client for MinIO License: AGPL-3.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Pt1SEa/_old 2024-05-09 12:08:50.896000934 +0200 +++ /var/tmp/diff_new_pack.Pt1SEa/_new 2024-05-09 12:08:50.900001080 +0200 @@ -5,7 +5,7 @@ <param name="exclude">.git</param> <param name="changesgenerate">enable</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">RELEASE.2024-04-29T09-56-05Z</param> + <param name="revision">RELEASE.2024-05-03T11-21-07Z</param> <param name="match-tag">RELEASE.*</param> <param name="versionrewrite-pattern">RELEASE\.(.*)-(.*)-(.*)-(.*)-(.*)</param> <param name="versionrewrite-replacement">\1\2\3\4\5</param> @@ -19,7 +19,7 @@ <param name="compression">gz</param> </service> <service name="go_modules" mode="manual"> - <param name="archive">mc-20240429T095605Z.obscpio</param> + <param name="archive">mc-20240503T112107Z.obscpio</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.Pt1SEa/_old 2024-05-09 12:08:50.920001806 +0200 +++ /var/tmp/diff_new_pack.Pt1SEa/_new 2024-05-09 12:08:50.924001952 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/minio/mc</param> - <param name="changesrevision">5b7b2223717a32ff01d63d57c2d040a719ca581e</param></service></servicedata> + <param name="changesrevision">b471de8d1882cae21ca84e98d56c2a5e2c321164</param></service></servicedata> (No newline at EOF) ++++++ mc-20240429T095605Z.obscpio -> mc-20240503T112107Z.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20240429T095605Z/cmd/admin-info.go new/mc-20240503T112107Z/cmd/admin-info.go --- old/mc-20240429T095605Z/cmd/admin-info.go 2024-04-29 11:56:05.000000000 +0200 +++ new/mc-20240503T112107Z/cmd/admin-info.go 2024-05-03 13:21:07.000000000 +0200 @@ -296,9 +296,10 @@ } // Summary on total no of online and total // number of offline drives at the Cluster level - msg += fmt.Sprintf("%s online, %s offline\n", + msg += fmt.Sprintf("%s online, %s offline, EC:%d\n", english.Plural(u.Info.Backend.OnlineDisks, "drive", ""), - english.Plural(u.Info.Backend.OfflineDisks, "drive", "")) + english.Plural(u.Info.Backend.OfflineDisks, "drive", ""), + u.Info.Backend.StandardSCParity) } // Remove the last new line if any diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20240429T095605Z/cmd/alias-set.go new/mc-20240503T112107Z/cmd/alias-set.go --- old/mc-20240429T095605Z/cmd/alias-set.go 2024-04-29 11:56:05.000000000 +0200 +++ new/mc-20240503T112107Z/cmd/alias-set.go 2024-05-03 13:21:07.000000000 +0200 @@ -363,12 +363,16 @@ // TLS root CAs of s3Config. Once configured, any client // initialized with this config trusts the given peer certificate. func configurePeerCertificate(s3Config *Config, peerCert *x509.Certificate) { + tr, ok := s3Config.Transport.(*http.Transport) + if !ok { + return + } switch { - case s3Config.Transport == nil: + case tr == nil: if globalRootCAs != nil { globalRootCAs.AddCert(peerCert) } - s3Config.Transport = &http.Transport{ + tr = &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 10 * time.Second, @@ -381,12 +385,13 @@ DisableCompression: true, TLSClientConfig: &tls.Config{RootCAs: globalRootCAs}, } - case s3Config.Transport.TLSClientConfig == nil || s3Config.Transport.TLSClientConfig.RootCAs == nil: + case tr.TLSClientConfig == nil || tr.TLSClientConfig.RootCAs == nil: if globalRootCAs != nil { globalRootCAs.AddCert(peerCert) } - s3Config.Transport.TLSClientConfig = &tls.Config{RootCAs: globalRootCAs} + tr.TLSClientConfig = &tls.Config{RootCAs: globalRootCAs} default: - s3Config.Transport.TLSClientConfig.RootCAs.AddCert(peerCert) + tr.TLSClientConfig.RootCAs.AddCert(peerCert) } + s3Config.Transport = tr } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20240429T095605Z/cmd/client-s3.go new/mc-20240503T112107Z/cmd/client-s3.go --- old/mc-20240429T095605Z/cmd/client-s3.go 2024-04-29 11:56:05.000000000 +0200 +++ new/mc-20240503T112107Z/cmd/client-s3.go 2024-05-03 13:21:07.000000000 +0200 @@ -243,16 +243,21 @@ credsChain = append(credsChain, credsSts) } - // V4 Credentials - credsV4 := &credentials.Static{ + signType := credentials.SignatureV4 + if strings.EqualFold(config.Signature, "s3v2") { + signType = credentials.SignatureV2 + } + + // Credentials + creds := &credentials.Static{ Value: credentials.Value{ AccessKeyID: config.AccessKey, SecretAccessKey: config.SecretKey, SessionToken: config.SessionToken, - SignerType: credentials.SignatureV4, + SignerType: signType, }, } - credsChain = append(credsChain, credsV4) + credsChain = append(credsChain, creds) return credsChain, nil } @@ -302,24 +307,10 @@ return nil, err } - // V2 Credentials - credsV2 := &credentials.Static{ - Value: credentials.Value{ - AccessKeyID: config.AccessKey, - SecretAccessKey: config.SecretKey, - SessionToken: "", - SignerType: credentials.SignatureV2, - }, - } - credsChain = append(credsChain, credsV2) - - creds := credentials.NewChainCredentials(credsChain) - - // Not found. Instantiate a new MinIO var e error options := minio.Options{ - Creds: creds, + Creds: credentials.NewChainCredentials(credsChain), Secure: useTLS, Region: env.Get("MC_REGION", env.Get("AWS_REGION", "")), BucketLookup: config.Lookup, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20240429T095605Z/cmd/client.go new/mc-20240503T112107Z/cmd/client.go --- old/mc-20240429T095605Z/cmd/client.go 2024-04-29 11:56:05.000000000 +0200 +++ new/mc-20240503T112107Z/cmd/client.go 2024-05-03 13:21:07.000000000 +0200 @@ -239,7 +239,7 @@ ConnWriteDeadline time.Duration UploadLimit int64 DownloadLimit int64 - Transport *http.Transport + Transport http.RoundTripper } // SelectObjectOpts - opts entered for select API diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20240429T095605Z/cmd/encryption-methods.go new/mc-20240503T112107Z/cmd/encryption-methods.go --- old/mc-20240429T095605Z/cmd/encryption-methods.go 2024-04-29 11:56:05.000000000 +0200 +++ new/mc-20240503T112107Z/cmd/encryption-methods.go 2024-05-03 13:21:07.000000000 +0200 @@ -129,8 +129,12 @@ return nil, "", errSSEClientKeyFormat("SSE-C/KMS key should be of the form alias/prefix=key,... ").Trace(key) } + ssePairPrefix := alias + "/" + prefix + for _, arg := range ctx.Args() { - if strings.HasPrefix(arg, alias+"/"+prefix) { + if strings.HasPrefix(arg, ssePairPrefix) { + matchedCount++ + } else if strings.HasPrefix(ssePairPrefix, arg) { matchedCount++ } } @@ -139,7 +143,6 @@ return nil, "", errSSEPrefixMatch() } - ssePairPrefix := alias + "/" + prefix var sse encrypt.ServerSide var err error diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20240429T095605Z/cmd/suite_test.go new/mc-20240503T112107Z/cmd/suite_test.go --- old/mc-20240429T095605Z/cmd/suite_test.go 2024-04-29 11:56:05.000000000 +0200 +++ new/mc-20240503T112107Z/cmd/suite_test.go 2024-05-03 13:21:07.000000000 +0200 @@ -1,6 +1,22 @@ +// Copyright (c) 2015-2024 MinIO, Inc. +// +// This file is part of MinIO Object Storage stack +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + package cmd -/**/ import ( "bytes" "crypto/md5" @@ -69,6 +85,7 @@ // needs to be set in order to run these tests if protocol == "https://" { PutObjectWithSSEC(t) + PutObjectWithSSECPartialPrefixMatch(t) PutObjectWithSSECMultipart(t) PutObjectWithSSECInvalidKeys(t) GetObjectWithSSEC(t) @@ -87,6 +104,7 @@ if sseKMSKeyName != "" { VerifyKMSKey(t) PutObjectWithSSEKMS(t) + PutObjectWithSSEKMSPartialPrefixMatch(t) PutObjectWithSSEKMSMultipart(t) PutObjectWithSSEKMSInvalidKeys(t) GetObjectWithSSEKMS(t) @@ -103,6 +121,7 @@ // needs to be set to in order to run these tests. if sseS3Enabled { PutObjectWithSSES3(t) + PutObjectWithSSES3PartialPrefixMatch(t) PutObjectWithSSES3Multipart(t) GetObjectWithSSES3(t) CatObjectWithSSES3(t) @@ -858,6 +877,23 @@ } } +func PutObjectWithSSEKMSPartialPrefixMatch(t *testing.T) { + file := createFile(newTestFile{ + addToGlobalFileMap: false, + tag: "encput-kms-prefix-test", + sizeInMBS: 1, + }) + + out, err := RunMC( + "cp", + "--enc-kms", + sseTestBucket+"/"+file.fileNameWithoutPath+"="+sseKMSKeyName, + file.diskFile.Name(), + sseTestBucket, + ) + fatalIfErrorWMsg(err, out, t) +} + func PutObjectWithSSEKMS(t *testing.T) { file := createFile(newTestFile{ addToGlobalFileMap: false, @@ -1102,6 +1138,22 @@ } } +func PutObjectWithSSES3PartialPrefixMatch(t *testing.T) { + file := createFile(newTestFile{ + addToGlobalFileMap: false, + tag: "encput-s3-prefix-test", + sizeInMBS: 1, + }) + + out, err := RunMC( + "cp", + "--enc-s3="+sseTestBucket+"/"+file.fileNameWithoutPath, + file.diskFile.Name(), + sseTestBucket, + ) + fatalIfErrorWMsg(err, out, t) +} + func PutObjectWithSSES3(t *testing.T) { file := createFile(newTestFile{ addToGlobalFileMap: false, @@ -1224,6 +1276,22 @@ ) } +func PutObjectWithSSECPartialPrefixMatch(t *testing.T) { + file := createFile(newTestFile{ + addToGlobalFileMap: false, + tag: "encput-prefix-test", + sizeInMBS: 1, + }) + + out, err := RunMC( + "cp", + "--enc-c="+sseTestBucket+"/"+file.fileNameWithoutPath+"="+sseBaseEncodedKey, + file.diskFile.Name(), + sseTestBucket, + ) + fatalIfErrorWMsg(err, out, t) +} + func PutObjectWithSSEC(t *testing.T) { file := createFile(newTestFile{ addToGlobalFileMap: false, ++++++ mc.obsinfo ++++++ --- /var/tmp/diff_new_pack.Pt1SEa/_old 2024-05-09 12:08:51.196011838 +0200 +++ /var/tmp/diff_new_pack.Pt1SEa/_new 2024-05-09 12:08:51.200011983 +0200 @@ -1,5 +1,5 @@ name: mc -version: 20240429T095605Z -mtime: 1714384565 -commit: 5b7b2223717a32ff01d63d57c2d040a719ca581e +version: 20240503T112107Z +mtime: 1714735267 +commit: b471de8d1882cae21ca84e98d56c2a5e2c321164 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/minio-client/vendor.tar.gz /work/SRC/openSUSE:Factory/.minio-client.new.1880/vendor.tar.gz differ: char 5, line 1