diff options
| author | Jeroen Wijenbergh <jeroen.wijenbergh@geant.org> | 2025-08-25 10:59:37 +0200 |
|---|---|---|
| committer | Jeroen Wijenbergh <jeroen.wijenbergh@geant.org> | 2025-08-25 13:06:41 +0200 |
| commit | 27b95b4911da055fe9b5fb37b5fb4a33eda6b989 (patch) | |
| tree | f6eb1143fa9bd2995d671b71d75c950e2c703660 /internal | |
| parent | b4f4f5600298436c63b89f289c318d777300c499 (diff) | |
All: Remove util packages
Was giving linting errors and it's not a good idea anyways
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/config/config.go | 3 | ||||
| -rw-r--r-- | internal/log/log.go | 4 | ||||
| -rw-r--r-- | internal/server/secureinternet.go | 32 | ||||
| -rw-r--r-- | internal/server/secureinternet_test.go (renamed from internal/util/util_test.go) | 2 | ||||
| -rw-r--r-- | internal/util/util.go | 44 |
5 files changed, 32 insertions, 53 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index 06da9b3..e324ebb 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -12,7 +12,6 @@ import ( "codeberg.org/eduVPN/eduvpn-common/internal/config/v1" "codeberg.org/eduVPN/eduvpn-common/internal/config/v2" "codeberg.org/eduVPN/eduvpn-common/internal/discovery" - "codeberg.org/eduVPN/eduvpn-common/internal/util" ) const stateFile = "state.json" @@ -40,7 +39,7 @@ func (c *Config) HasSecureInternet() bool { // Save saves the state file to disk func (c *Config) Save() error { - if err := util.EnsureDirectory(c.directory); err != nil { + if err := os.MkdirAll(c.directory, 0o700); err != nil { return err } diff --git a/internal/log/log.go b/internal/log/log.go index 47cdcf3..53671b3 100644 --- a/internal/log/log.go +++ b/internal/log/log.go @@ -7,8 +7,6 @@ import ( "log/slog" "os" "path" - - "codeberg.org/eduVPN/eduvpn-common/internal/util" ) // Init initializes the logger by setting a max level 'level' and a directory 'directory' where the log should be stored @@ -17,7 +15,7 @@ import ( // It returns the log file and the error // This log file should be closed at the end func Init(lvl slog.Level, dir string) (*os.File, error) { - err := util.EnsureDirectory(dir) + err := os.MkdirAll(dir, 0o700) if err != nil { return nil, err } diff --git a/internal/server/secureinternet.go b/internal/server/secureinternet.go index f97cef1..e0d081a 100644 --- a/internal/server/secureinternet.go +++ b/internal/server/secureinternet.go @@ -4,16 +4,42 @@ import ( "context" "errors" "log/slog" + "net/url" + "strings" "time" "codeberg.org/eduVPN/eduvpn-common/internal/api" "codeberg.org/eduVPN/eduvpn-common/internal/config/v2" "codeberg.org/eduVPN/eduvpn-common/internal/discovery" - "codeberg.org/eduVPN/eduvpn-common/internal/util" "codeberg.org/eduVPN/eduvpn-common/types/server" "github.com/jwijenbergh/eduoauth-go" ) +// ReplaceWAYF replaces an authorization template containing of @RETURN_TO@ and @ORG_ID@ with the authorization URL and the organization ID +// See https://github.com/eduvpn/documentation/blob/dc4d53c47dd7a69e95d6650eec408e16eaa814a2/SERVER_DISCOVERY_SKIP_WAYF.md +func ReplaceWAYF(template string, authURL string, orgID string) string { + // We just return the authURL in the cases where the template is not given or is invalid + if template == "" { + return authURL + } + if !strings.Contains(template, "@RETURN_TO@") { + return authURL + } + if !strings.Contains(template, "@ORG_ID@") { + return authURL + } + // Replace authURL + template = strings.Replace(template, "@RETURN_TO@", url.QueryEscape(authURL), 1) + + // If now there is no more ORG_ID, return as there weren't enough @ symbols + if !strings.Contains(template, "@ORG_ID@") { + return authURL + } + // Replace ORG ID + template = strings.Replace(template, "@ORG_ID@", url.QueryEscape(orgID), 1) + return template +} + // AddSecure adds a secure internet server // `ctx` is the context used for cancellation // `disco` are the discovery servers @@ -47,7 +73,7 @@ func (s *Servers) AddSecure(ctx context.Context, discom *discovery.Manager, orgI if err != nil { return "", err } - ret := util.ReplaceWAYF(updsrv.AuthenticationURLTemplate, url, updorg.OrgID) + ret := ReplaceWAYF(updsrv.AuthenticationURLTemplate, url, updorg.OrgID) return ret, nil }, } @@ -127,7 +153,7 @@ func (s *Servers) GetSecure(ctx context.Context, orgID string, discom *discovery if err != nil { return "", err } - ret := util.ReplaceWAYF(updsrv.AuthenticationURLTemplate, url, updorg.OrgID) + ret := ReplaceWAYF(updsrv.AuthenticationURLTemplate, url, updorg.OrgID) return ret, nil }, DisableAuthorize: disableAuth, diff --git a/internal/util/util_test.go b/internal/server/secureinternet_test.go index 827fbe1..8a4466e 100644 --- a/internal/util/util_test.go +++ b/internal/server/secureinternet_test.go @@ -1,4 +1,4 @@ -package util +package server import "testing" diff --git a/internal/util/util.go b/internal/util/util.go deleted file mode 100644 index 97b4151..0000000 --- a/internal/util/util.go +++ /dev/null @@ -1,44 +0,0 @@ -// Package util implements several utility functions that are used across the codebase -package util - -import ( - "fmt" - "net/url" - "os" - "strings" -) - -// EnsureDirectory creates a directory with permission 700. -func EnsureDirectory(dir string) error { - // Create with 700 permissions, read, write, execute only for the owner - err := os.MkdirAll(dir, 0o700) - if err != nil { - return fmt.Errorf("failed to create directory '%s' with error: %w", dir, err) - } - return nil -} - -// ReplaceWAYF replaces an authorization template containing of @RETURN_TO@ and @ORG_ID@ with the authorization URL and the organization ID -// See https://github.com/eduvpn/documentation/blob/dc4d53c47dd7a69e95d6650eec408e16eaa814a2/SERVER_DISCOVERY_SKIP_WAYF.md -func ReplaceWAYF(template string, authURL string, orgID string) string { - // We just return the authURL in the cases where the template is not given or is invalid - if template == "" { - return authURL - } - if !strings.Contains(template, "@RETURN_TO@") { - return authURL - } - if !strings.Contains(template, "@ORG_ID@") { - return authURL - } - // Replace authURL - template = strings.Replace(template, "@RETURN_TO@", url.QueryEscape(authURL), 1) - - // If now there is no more ORG_ID, return as there weren't enough @ symbols - if !strings.Contains(template, "@ORG_ID@") { - return authURL - } - // Replace ORG ID - template = strings.Replace(template, "@ORG_ID@", url.QueryEscape(orgID), 1) - return template -} |
