re-use transport and set stronger backwards compatible Ciphers (#19565)

This PR fixes a few things

- FIPS support for missing for remote transports, causing
  MinIO could end up using non-FIPS Ciphers in FIPS mode

- Avoids too many transports, they all do the same thing
  to make connection pooling work properly re-use them.

- globalTCPOptions must be set before setting transport
  to make sure the client conn deadlines are honored properly.

- GCS warm tier must re-use our transport

- Re-enable trailing headers support.
This commit is contained in:
Harshavardhana
2024-04-21 04:43:18 -07:00
committed by GitHub
parent 1aa8896ad6
commit 6bfff7532e
10 changed files with 61 additions and 81 deletions

View File

@@ -18,11 +18,11 @@
package cmd
import (
"bytes"
"context"
"errors"
"fmt"
"io"
"strings"
"github.com/minio/madmin-go/v3"
xhttp "github.com/minio/minio/internal/http"
@@ -48,8 +48,7 @@ const probeObject = "probeobject"
// checkWarmBackend checks if tier config credentials have sufficient privileges
// to perform all operations defined in the WarmBackend interface.
func checkWarmBackend(ctx context.Context, w WarmBackend) error {
var empty bytes.Reader
remoteVersionID, err := w.Put(ctx, probeObject, &empty, 0)
remoteVersionID, err := w.Put(ctx, probeObject, strings.NewReader("MinIO"), 5)
if err != nil {
if _, ok := err.(BackendDown); ok {
return err