package main import ( "errors" "regexp" "time" ) // TODO a bit messy var DefaultCertbotRenewalGap time.Duration = 24*time.Hour var ErrExhaustedRequestChannel = errors.New("ErrExhaustedRequestChannel") var ErrNoLoginAttempted = errors.New("imperium/ssh: no login attempted") var ErrOpenSSHKeyFormat = errors.New("OpenSSH key format: invalid") var ErrOpenSSHKeyFormatCommentWithoutUsername = errors.New("OpenSSH key format: comment without '~username'") var ErrOpenSSHKeyFormatOptionsNotAllowed = errors.New("OpenSSH key format: options not allowed") var ErrOpenSSHKeyFormatSuperfluousBytes = errors.New("OpenSSH key format: superfluous bytes") var ErrPrivateRepository = errors.New("private repository") var ErrServerClosed = errors.New("imperium/ssh: server closed") var ErrUnauthorized = errors.New("ErrUnauthorized") var ErrWIP = errors.New("imperium/ssh: WIP") var DefaultAuthtokenValidity time.Duration = time.Hour var GIT_MAXIMUM_TRANSFER_TIME = time.Hour var reRepo *regexp.Regexp = regexp.MustCompile(`^([0-9a-z_.-]+)\.git$`) var reOwnedRepo *regexp.Regexp = regexp.MustCompile(`^~([0-9a-z_.-]+)/([0-9a-z_.-])\.git$`) var reHomeDirectory *regexp.Regexp = regexp.MustCompile(`^~([0-9a-z_.-]+)$`) var GruauAccountAccessFileName string = "access.cnf" var GruauAuthtokenHeader string = "X-Gruau-Auth" var ErrUnknownUsername = errors.New("unkown username (SSH usernames are used as service selectors)")