Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvtak <vtak@gitlab.com>2022-03-15 08:56:50 +0300
committervtak <vtak@gitlab.com>2022-03-15 08:56:50 +0300
commit824d87ab55702ae2b65d7f2c04284456dba33e02 (patch)
tree42c55ab85e6c33a52c20cf48354e0056aa0ca051 /internal
parent29cb5da295e31d18c29c544a8f43f8006b3e874d (diff)
parentd71ac3098fec1d7ed54ddd322ff061aaf642ec9b (diff)
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-pages into feature/zip-http-timeout-param
Diffstat (limited to 'internal')
-rw-r--r--internal/auth/auth.go4
-rw-r--r--internal/auth/auth_test.go3
-rw-r--r--internal/config/config.go2
-rw-r--r--internal/config/flags.go1
4 files changed, 7 insertions, 3 deletions
diff --git a/internal/auth/auth.go b/internal/auth/auth.go
index 45b77b4f..a6e1f7e7 100644
--- a/internal/auth/auth.go
+++ b/internal/auth/auth.go
@@ -660,7 +660,7 @@ func generateKeys(secret string, count int) ([][]byte, error) {
}
// New when authentication supported this will be used to create authentication handler
-func New(pagesDomain, storeSecret, clientID, clientSecret, redirectURI, internalGitlabServer, publicGitlabServer, authScope string) (*Auth, error) {
+func New(pagesDomain, storeSecret, clientID, clientSecret, redirectURI, internalGitlabServer, publicGitlabServer, authScope string, authTimeout time.Duration) (*Auth, error) {
// generate 3 keys, 2 for the cookie store and 1 for JWT signing
keys, err := generateKeys(storeSecret, 3)
if err != nil {
@@ -675,7 +675,7 @@ func New(pagesDomain, storeSecret, clientID, clientSecret, redirectURI, internal
internalGitlabServer: strings.TrimRight(internalGitlabServer, "/"),
publicGitlabServer: strings.TrimRight(publicGitlabServer, "/"),
apiClient: &http.Client{
- Timeout: 5 * time.Second,
+ Timeout: authTimeout,
Transport: httptransport.DefaultTransport,
},
store: sessions.NewCookieStore(keys[0], keys[1]),
diff --git a/internal/auth/auth_test.go b/internal/auth/auth_test.go
index 61b4e88a..4b035132 100644
--- a/internal/auth/auth_test.go
+++ b/internal/auth/auth_test.go
@@ -10,6 +10,7 @@ import (
"net/url"
"strings"
"testing"
+ "time"
"github.com/golang/mock/gomock"
"github.com/gorilla/sessions"
@@ -30,7 +31,7 @@ func createTestAuth(t *testing.T, internalServer string, publicServer string) *A
"http://pages.gitlab-example.com/auth",
internalServer,
publicServer,
- "scope")
+ "scope", 5*time.Second)
require.NoError(t, err)
diff --git a/internal/config/config.go b/internal/config/config.go
index 101bc701..48bab76e 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -85,6 +85,7 @@ type Auth struct {
ClientSecret string
RedirectURI string
Scope string
+ Timeout time.Duration
}
// Cache configuration for GitLab API
@@ -220,6 +221,7 @@ func loadConfig() (*Config, error) {
ClientSecret: *clientSecret,
RedirectURI: *redirectURI,
Scope: *authScope,
+ Timeout: *authTimeout,
},
Log: Log{
Format: *logFormat,
diff --git a/internal/config/flags.go b/internal/config/flags.go
index 425e55a2..0e28db73 100644
--- a/internal/config/flags.go
+++ b/internal/config/flags.go
@@ -70,6 +70,7 @@ var (
clientSecret = flag.String("auth-client-secret", "", "GitLab application Client Secret")
redirectURI = flag.String("auth-redirect-uri", "", "GitLab application redirect URI")
authScope = flag.String("auth-scope", "api", "Scope to be used for authentication (must match GitLab Pages OAuth application settings)")
+ authTimeout = flag.Duration("auth-timeout", 5*time.Second, "GitLab application client timeout for authentication")
maxConns = flag.Int("max-conns", 0, "Limit on the number of concurrent connections to the HTTP, HTTPS or proxy listeners, 0 for no limit")
maxURILength = flag.Int("max-uri-length", 1024, "Limit the length of URI, 0 for unlimited.")
insecureCiphers = flag.Bool("insecure-ciphers", false, "Use default list of cipher suites, may contain insecure ones like 3DES and RC4")